@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500&family=Share+Tech+Mono&display=swap";:root{--ink:#12151a;--ink-soft:#3a4250;--wash:#dfe6ee;--wash-deep:#c5d0dc;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(120% 80% at 10% 0%, #eef3f8 0%, transparent 55%), radial-gradient(90% 70% at 100% 20%, #d8e2ec 0%, transparent 50%), linear-gradient(180deg, var(--wash) 0%, var(--wash-deep) 100%);font-family:"Source Serif 4",Georgia,serif}main{min-height:100vh}.hero{min-height:50vh;display:grid;position:relative;overflow:hidden}.hero__image{object-fit:cover;object-position:center;width:100%;height:100%;animation:hero-image-settle 2.4s var(--ease-out) forwards;position:absolute;inset:0;transform:scale(1.06)}.hero__content{z-index:1;background:linear-gradient(#0000 35%,#12151a73 70%,#12151ab8 100%);flex-direction:column;justify-content:flex-end;gap:.75rem;padding:clamp(1.5rem,5vw,4rem);display:flex;position:relative}.hero__title{color:#f7f9fb;letter-spacing:-.04em;opacity:0;max-width:12ch;animation:hero-rise .9s var(--ease-out) .2s forwards;margin:0;font-family:Sora,sans-serif;font-size:clamp(3.5rem,12vw,7.5rem);font-weight:700;line-height:.95;transform:translateY(1.25rem)}.hero__subtitle{color:#f7f9fbdb;opacity:0;animation:hero-rise .9s var(--ease-out) .4s forwards;margin:0;font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:400;line-height:1.45;transform:translateY(1rem)}@keyframes hero-rise{to{opacity:1;transform:translateY(0)}}@keyframes hero-image-settle{to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hero__image,.hero__title,.hero__subtitle{opacity:1;animation:none;transform:none}}.info{min-height:20vh;padding:5% 10%;font-family:Sora,sans-serif;position:relative;overflow:hidden}.scene{--board:#d7c4a3;--board-deep:#c4ad86;--hole:#2a241c;--glow:#f0c36a;background:linear-gradient(165deg,#ffffff73,#ffffff26),#d5dee8;border:1px solid #12151a1f;flex-direction:column;min-height:0;padding:1rem 1.1rem 1.15rem;display:flex;position:relative}.scene__intro{margin-bottom:.65rem}.scene__title{letter-spacing:-.03em;margin:0;font-family:Sora,sans-serif;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.scene__subtitle{color:var(--ink-soft);margin:.35rem 0 0;font-size:.92rem;line-height:1.4}.scene__bench{flex-direction:column;flex:1;gap:.55rem;min-height:0;display:flex}.component-box--toolbar{background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.45rem;padding:0;display:flex}.component-box--toolbar .component-box__tools,.component-box--toolbar .component-box__actions{flex-wrap:wrap;gap:.35rem;margin:0;display:flex}.component-box--toolbar .component-box__tool,.component-box--toolbar .component-box__action{width:auto;color:var(--ink);cursor:pointer;background:#f4f7fa;border:1px solid #12151a2e;padding:.35rem .55rem;font-family:Sora,sans-serif;font-size:.72rem}.component-box--toolbar .component-box__tool.is-active{border-color:var(--ink);background:#e8eef5;font-weight:700}.component-box--toolbar .component-box__action:disabled{opacity:.45;cursor:not-allowed}.scene__board-wrap{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.scene__status-bar{align-items:center;gap:.5rem;margin-bottom:.4rem;font-family:Sora,sans-serif;display:flex}.scene__led-dot{background:#64748b;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}.scene__led-dot--on{background:#22c55e;box-shadow:0 0 10px #22c55eb3}.scene__status{color:var(--ink-soft);flex:1;margin:0;font-size:.75rem;line-height:1.3}.scene__live{letter-spacing:.08em;text-transform:uppercase;color:#166534;font-size:.65rem;font-weight:700}.bb-svg{aspect-ratio:1;background:linear-gradient(180deg, #e7d7b8, var(--board));-webkit-user-select:none;user-select:none;border:1px solid #12151a24;width:100%;max-width:28rem;height:auto;margin:0 auto;display:block}.bb-body{fill:var(--board-deep);stroke:#8a7352;stroke-width:2px}.bb-trench{fill:#9a8463;opacity:.85}.bb-hole{fill:var(--hole);stroke:#1a1510;stroke-width:1px;cursor:crosshair;transition:fill .15s,r .15s}.bb-hole:hover{fill:#4a3f32}.bb-hole--pending{fill:#f0c36a;stroke:#8a6a20}.bb-rail-label{text-anchor:middle;font-family:Sora,sans-serif;font-size:14px;font-weight:700}.bb-rail-label--pos{fill:#b91c1c}.bb-rail-label--neg{fill:#1d4ed8}.bb-col-label{fill:#12151a73;text-anchor:middle;font-family:Sora,sans-serif;font-size:10px}.bb-resistor{fill:tan;stroke:#5c4a32;stroke-width:1.5px}.bb-battery{fill:#1e293b;stroke:#0f172a;stroke-width:1.5px}.bb-led{fill:#64748b;stroke:#334155;stroke-width:1.5px}.bb-led--on{fill:#f87171;filter:drop-shadow(0 0 8px #f87171e6)}.bb-part-label{fill:#f8fafc;pointer-events:none;font-family:Sora,sans-serif;font-size:8px;font-weight:700}.bb-part--selected .bb-resistor,.bb-part--selected .bb-battery,.bb-part--selected .bb-led{stroke:#0ea5e9;stroke-width:2.5px}.floppy-wire--selected path:last-child{filter:drop-shadow(0 0 4px #0ea5e98c)}.power-trail{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.power-trail__path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-dasharray:8 10;animation:trail-run 1.4s var(--ease-out) forwards}.scene__skip{color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #12151a40;margin-top:1rem;padding:.55rem .9rem;font-family:Sora,sans-serif;font-size:.85rem}.scene__skip:hover,.scene__skip:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}.scene__done{color:var(--ink-soft);margin-top:1rem;font-family:Sora,sans-serif}.unlock-page{max-width:42rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) clamp(1.25rem,4vw,2rem) 4rem}.unlock-page__back{color:var(--ink-soft);margin-bottom:2rem;font-family:Sora,sans-serif;font-size:.9rem;text-decoration:none;display:inline-block}.unlock-page__back:hover,.unlock-page__back:focus-visible{color:var(--ink);outline:none}.unlock-page__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5rem;font-family:Sora,sans-serif;font-size:.75rem;font-weight:700}.unlock-page__title{letter-spacing:-.03em;margin:0 0 .75rem;font-family:Sora,sans-serif;font-size:clamp(2.25rem,6vw,3.5rem);font-weight:700;line-height:1}.unlock-page__intro{color:var(--ink-soft);margin:0 0 2rem;font-size:1.15rem;line-height:1.55}.unlock-page__sections{gap:1.75rem;display:grid}.unlock-page__section h2{margin:0 0 .5rem;font-family:Sora,sans-serif;font-size:1.1rem;font-weight:700}.unlock-page__section p{color:var(--ink-soft);margin:0;line-height:1.6}@keyframes window-pulse{0%,to{filter:drop-shadow(0 0 4px #f0c36a8c)}50%{filter:drop-shadow(0 0 10px #f0c36af2)}}@keyframes trail-run{0%{stroke-dashoffset:120px;opacity:0}20%{opacity:1}to{stroke-dashoffset:0;opacity:.15}}@media (width<=720px){.scene__buildings{grid-template-columns:1fr;justify-items:center}.building{width:min(100%,14rem)}}@media (prefers-reduced-motion:reduce){.building--powered .building__window,.power-trail__path,.building,.travel__pulse{transition:none;animation:none}}.site-links{flex-wrap:wrap;gap:1rem 1.5rem;margin:-1rem 0 0;padding:0 clamp(1.25rem,4vw,3.5rem) 1rem;font-family:Sora,sans-serif;display:flex}.site-links a{color:var(--ink-soft);font-size:.95rem;font-weight:500;text-decoration:none}.site-links a:hover,.site-links a:focus-visible{color:var(--ink);outline:none}.travel{padding:clamp(2.5rem,7vw,5rem) clamp(1.25rem,4vw,3.5rem) 4.5rem}.travel__intro{max-width:36rem;margin-bottom:1.5rem}.travel__title{letter-spacing:-.03em;margin:0 0 .5rem;font-family:Sora,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.travel__subtitle{color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.5}.travel__legend{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.travel__chip{color:var(--ink);cursor:pointer;background:#ffffff73;border:1px solid #12151a2e;padding:.4rem .75rem;font-family:Sora,sans-serif;font-size:.82rem}.travel__chip.is-active{border-color:var(--ink);color:#f7f9fb;background:#1f3a34}.travel__map-wrap{background:radial-gradient(80% 60% at 50% 40%,#eef4f8 0%,#0000 70%),#c5d0dc;border:1px solid #12151a1f;overflow:hidden}.travel__svg{width:100%;height:auto;display:block}.travel__sphere{fill:#d9e3ec}.travel__graticule{fill:none;stroke:#12151a14;stroke-width:.6px}.travel__country{fill:#9aabba;stroke:#eef3f7;stroke-width:.4px;transition:fill .25s}.travel__country--visited{fill:#1f3a34;cursor:pointer}.travel__country--guest{fill:#c45c26;cursor:pointer}.travel__country--both{fill:#7a5a2e;cursor:pointer}.travel__country--pickable{cursor:pointer}.travel__country--pickable:hover{fill:#6b7f90}.travel__country--active{fill:#2f6f5e}.travel__stats{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.travel__pct{flex-wrap:wrap;align-items:baseline;gap:.65rem;margin:0;display:flex}.travel__pct-value{letter-spacing:-.04em;font-family:Sora,sans-serif;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1}.travel__pct-meta{color:var(--ink-soft);font-family:Sora,sans-serif;font-size:.92rem}.travel__cta,.travel__ghost{cursor:pointer;padding:.6rem 1rem;font-family:Sora,sans-serif;font-size:.9rem}.travel__cta{border:1px solid var(--ink);background:var(--ink);color:#f7f9fb}.travel__cta:hover,.travel__cta:focus-visible{background:#2a3340;outline:none}.travel__ghost{color:var(--ink-soft);background:0 0;border:1px solid #12151a40}.travel__ghost:hover,.travel__ghost:focus-visible{color:var(--ink);border-color:var(--ink);outline:none}.travel__picker-actions{flex-wrap:wrap;gap:.6rem;display:flex}.travel__picker{margin-bottom:1.25rem}.travel__search{gap:.35rem;margin-bottom:.75rem;font-family:Sora,sans-serif;display:grid}.travel__search-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem;font-weight:700}.travel__search input{width:min(100%,28rem);color:var(--ink);font:inherit;background:#ffffffb3;border:1px solid #12151a33;padding:.65rem .8rem;font-size:.95rem}.travel__search input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.travel__search-results{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem;max-height:11rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid;overflow:auto}.travel__check{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff80;border:1px solid #12151a24;align-items:center;gap:.45rem;padding:.45rem .55rem;font-family:Sora,sans-serif;font-size:.82rem;display:flex}.travel__check.is-on{background:#c45c261f;border-color:#c45c26}.travel__check-box{border:1px solid #12151a59;flex-shrink:0;place-items:center;width:1rem;height:1rem;font-size:.7rem;line-height:1;display:grid}.travel__check.is-on .travel__check-box{color:#fff;background:#c45c26;border-color:#c45c26}.travel__compare{gap:1rem;max-width:40rem;margin-bottom:1.5rem;display:grid}.travel__bar-head{justify-content:space-between;gap:1rem;margin-bottom:.4rem;font-family:Sora,sans-serif;font-size:.9rem;display:flex}.travel__bar-label{font-weight:700}.travel__bar-value{color:var(--ink-soft)}.travel__bar-track{background:#12151a1a;height:.85rem;overflow:hidden}.travel__bar-fill{width:0;height:100%;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.travel__bar--owner .travel__bar-fill{background:#1f3a34}.travel__bar--guest .travel__bar-fill{background:#c45c26}.travel__map-wrap.is-picking{box-shadow:inset 0 0 0 2px #c45c2659}.travel__marker{cursor:pointer}.travel__marker circle{fill:#c45c26;stroke:#f7f9fb;stroke-width:1.5px}.travel__marker.is-active circle{fill:#e07a3d}.travel__pulse{fill:none;stroke:#f0c36a;stroke-width:2px;animation:1.4s ease-out infinite travel-pulse}.travel__loading,.travel__error{color:var(--ink-soft);margin:0;padding:2rem;font-family:Sora,sans-serif}@keyframes travel-pulse{0%{opacity:.9;r:5}to{opacity:0;r:18}}.modules{grid-template-rows:repeat(6,minmax(11rem,auto));grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,3.5rem) 3.5rem;display:grid}.modules__edu{flex-direction:column;grid-area:1/1/4/3;gap:1rem;min-height:0;display:flex}.modules__edu .timeline{flex:1;height:auto;min-height:0}.modules__simon{grid-area:4/1/7/3;min-height:0}.modules__board{flex-direction:column;grid-area:1/3/4/7;gap:1rem;min-height:0;display:flex}.modules__board .scene{flex:1;min-height:18rem}.modules__map{grid-area:4/3/7/7}.edu-timeline,.timeline{background:linear-gradient(165deg,#ffffff8c,#fff3),#d5dee8;border:1px solid #12151a1f;flex-direction:column;height:100%;min-height:0;padding:1rem 1.1rem 1.15rem;font-family:Sora,sans-serif;display:flex}.timeline__title{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.timeline__list{flex:1;gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.timeline__item{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.timeline__logo{object-fit:contain;background:#fff;border-radius:.4rem;width:5rem;height:5rem;padding:.15rem;box-shadow:0 0 0 1px #12151a14}.timeline__year{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.15rem;font-size:.68rem;font-weight:700;display:block}.timeline__item-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700}.timeline__detail{color:var(--ink-soft);margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:.88rem;line-height:1.45}.timeline__more{color:var(--ink-soft);margin-top:auto;padding-top:.75rem;font-size:.85rem;text-decoration:none}.timeline__more:hover,.timeline__more:focus-visible{color:var(--ink);outline:none}.links{background:linear-gradient(165deg,#ffffff8c,#fff3),#d5dee8;border:1px solid #12151a1f;flex-shrink:0;padding:1rem 1.1rem 1.15rem;font-family:Sora,sans-serif}.links__title{letter-spacing:-.03em;margin:0 0 .85rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.links__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.links__item{color:var(--ink);letter-spacing:-.01em;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out), transform .2s var(--ease-out);background:#ffffff73;border:1px solid #12151a24;align-items:center;gap:.55rem;padding:.65rem .7rem;font-size:.82rem;font-weight:700;text-decoration:none;display:flex}.links__item:hover,.links__item:focus-visible{background:var(--ink);border-color:var(--ink);color:#f7f9fb;outline:none;transform:translateY(-1px)}.links__item svg{flex-shrink:0}.links__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.projects{background:linear-gradient(165deg,#ffffff8c,#fff3),#d5dee8;border:1px solid #12151a1f;flex-shrink:0;padding:1rem 1.1rem 1.15rem;font-family:Sora,sans-serif}.projects__title{letter-spacing:-.03em;margin:0 0 .85rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.projects__list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.projects__item{border-bottom:1px solid #12151a1a;padding-bottom:.75rem}.projects__item:last-child{border-bottom:none;padding-bottom:0}.projects__head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.projects__item-title{letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:700}.projects__link{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:.72rem;font-weight:700;text-decoration:none}.projects__link:hover,.projects__link:focus-visible{color:var(--ink);outline:none}.projects__detail{max-width:80%;color:var(--ink-soft);margin:.3rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:.88rem;line-height:1.45}.projects__tags{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;margin:.35rem 0 0;font-size:.68rem;font-weight:700}.modules__map.travel{background:linear-gradient(165deg,#ffffff73,#ffffff26),#d5dee8;border:1px solid #12151a1f;flex-direction:column;min-height:0;padding:1rem 1.1rem 1.15rem;display:flex;overflow:auto}.modules__map .travel__intro{margin-bottom:.75rem}.modules__map .travel__title{font-size:clamp(1.15rem,2vw,1.45rem)}.modules__map .travel__subtitle{font-size:.88rem}.modules__map .travel__pct-value{font-size:clamp(1.5rem,3vw,2rem)}.modules__map .travel__map-wrap{flex:1;min-height:0}.modules__map .travel__search-results{max-height:6.5rem}.simon{background:linear-gradient(165deg,#ffffff8c,#fff3),#d5dee8;border:1px solid #12151a1f;flex-direction:column;height:100%;min-height:32rem;padding:1.15rem 1.2rem 1.35rem;scroll-margin-top:1.25rem;font-family:Sora,sans-serif;display:flex}.simon__intro{margin-bottom:.75rem}.simon__title{letter-spacing:-.03em;margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.simon__status{color:var(--ink-soft);margin:.35rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:.84rem;line-height:1.4}.simon__cabinet{flex:1;gap:.85rem;display:grid}.simon__bezel{background:radial-gradient(120% 80% at 50% 0,#ffffff1f,#0000 55%),linear-gradient(160deg,#2a3038 0%,#171b21 55%,#101317 100%);border:1px solid #12151a59;border-radius:1rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.85rem;padding:1rem .85rem 1.15rem;display:flex;box-shadow:inset 0 1px #ffffff2e,inset 0 -2px 6px #00000073}.simon__readouts{justify-content:space-between;gap:.75rem;width:min(100%,18rem);display:flex}.simon__led{background:linear-gradient(#0c1610 0%,#050a07 100%);border:1px solid #0000008c;border-radius:.25rem;flex-direction:column;flex:1;gap:.2rem;padding:.35rem .45rem .4rem;display:flex;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #00000080,0 .15rem .35rem #00000059}.simon__led-label{letter-spacing:.18em;color:#46a05f8c;font-family:Share Tech Mono,ui-monospace,monospace;font-size:.58rem}.simon__led-value{letter-spacing:.12em;color:#5dff7a;text-shadow:0 0 .35rem #5dff7ad9,0 0 .85rem #5dff7a59;font-family:Share Tech Mono,ui-monospace,monospace;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:400;line-height:1}.simon__led--score .simon__led-value,.simon__led--score .simon__led-label{text-align:right}.simon__pads{--pad-size:clamp(4.1rem, 8vw, 5.4rem);grid-template-columns:repeat(3, var(--pad-size));grid-template-rows:repeat(3, var(--pad-size));justify-content:center;place-items:center;gap:.85rem;display:grid}.simon__hub{color:#f7f9fbb8;letter-spacing:.14em;background:radial-gradient(circle at 40% 30%,#3a424c 0%,#15191f 70%);border-radius:50%;grid-area:2/2;place-items:center;width:72%;height:72%;font-size:.58rem;font-weight:700;display:grid;box-shadow:inset 0 1px #fff3,0 .2rem .4rem #00000059}.simon__pad--0{grid-area:1/2}.simon__pad--1{grid-area:2/1}.simon__pad--2{grid-area:2/3}.simon__pad--3{grid-area:3/1}.simon__pad--4{grid-area:3/3}.simon__pad{width:var(--pad-size);height:var(--pad-size);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:relative}.simon__pad:disabled{cursor:default}.simon__pad-shell{transition:transform 80ms var(--ease-out);background:radial-gradient(circle at 50% 18%,#f2f4f7 0%,#9aa3af 18%,#4a5360 42%,#1c222b 72%),#222831;border-radius:50%;position:absolute;inset:0;box-shadow:0 .35rem .15rem #00000059,0 .55rem .9rem #00000059,inset 0 .08rem .12rem #ffffff73,inset 0 -.18rem .25rem #0000008c}.simon__pad-shell:before{content:"";background:radial-gradient(circle at 35% 28%, hsla(var(--pad-hue), 90%, 78%, .95) 0%, hsla(var(--pad-hue), 85%, 52%, .95) 38%, hsla(var(--pad-hue), 75%, 32%, .98) 72%, hsla(var(--pad-hue), 70%, 18%, 1) 100%);border-radius:50%;position:absolute;inset:11%;box-shadow:inset 0 .18rem .35rem #ffffff59,inset 0 -.25rem .4rem #00000073}.simon__pad-lens{background:radial-gradient(circle at 32% 26%, hsla(var(--pad-hue), 100%, 92%, .55) 0%, hsla(var(--pad-hue), 90%, 60%, .18) 32%, hsla(var(--pad-hue), 80%, 40%, .08) 58%, transparent 70%), radial-gradient(circle at 50% 60%, hsla(var(--pad-hue), 95%, 55%, .35) 0%, transparent 55%);box-shadow:inset 0 0 0 1px hsla(var(--pad-hue), 80%, 70%, .2);opacity:.72;transition:opacity .12s var(--ease-out), filter .12s var(--ease-out);border-radius:50%;position:absolute;inset:18%}.simon__pad-glow{background:radial-gradient(circle, hsla(var(--pad-hue), 100%, 70%, .55) 0%, hsla(var(--pad-hue), 100%, 55%, .15) 45%, transparent 70%);opacity:0;filter:blur(2px);transition:opacity .1s var(--ease-out);pointer-events:none;border-radius:50%;position:absolute;inset:8%}.simon__pad.is-lit .simon__pad-shell,.simon__pad:not(:disabled):active .simon__pad-shell{transform:translateY(.12rem);box-shadow:0 .12rem .08rem #00000059,0 .2rem .45rem #0000004d,inset 0 .08rem .12rem #ffffff59,inset 0 -.12rem .2rem #00000080}.simon__pad.is-lit .simon__pad-shell:before{background:radial-gradient(circle at 35% 28%, hsla(var(--pad-hue), 100%, 92%, 1) 0%, hsla(var(--pad-hue), 100%, 68%, 1) 36%, hsla(var(--pad-hue), 95%, 48%, 1) 68%, hsla(var(--pad-hue), 85%, 28%, 1) 100%);box-shadow:inset 0 .2rem .4rem #ffffff8c, inset 0 -.15rem .3rem #00000040, 0 0 1.1rem hsla(var(--pad-hue), 100%, 55%, .75), 0 0 2rem hsla(var(--pad-hue), 100%, 50%, .4)}.simon__pad.is-lit .simon__pad-lens{opacity:1;filter:brightness(1.35)}.simon__pad.is-lit .simon__pad-glow{opacity:1}.simon__pad:focus-visible .simon__pad-shell{outline-offset:3px;outline:2px solid #f7f9fb}.simon__controls{flex-direction:column;align-items:center;gap:.85rem;display:flex}.simon__pot-face{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 35% 28%,#6a7380 0%,#2d343e 55%,#15191f 100%);border-radius:50%;flex-shrink:0;width:4.1rem;height:4.1rem;position:relative;box-shadow:inset 0 1px #ffffff40,0 .3rem .55rem #00000040}.simon__pot-face:active{cursor:grabbing}.simon__pot-face:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.simon__pot-ticks{pointer-events:none;background:conic-gradient(from -135deg,#0000 0deg,#f7f9fb73 0deg 2deg,#0000 2deg 66deg,#f7f9fb59 66deg 68deg,#0000 68deg 134deg,#f7f9fb59 134deg 136deg,#0000 136deg 202deg,#f7f9fb59 202deg 204deg,#0000 204deg 270deg,#f7f9fb73 270deg 272deg,#0000 272deg 360deg);border-radius:50%;position:absolute;inset:.2rem;-webkit-mask:radial-gradient(circle,#0000 62%,#000 63%);mask:radial-gradient(circle,#0000 62%,#000 63%)}.simon__pot-knob{background:radial-gradient(circle at 40% 30%,#c5ccd6 0%,#5d6672 45%,#1e242c 100%);border-radius:50%;transition:transform 80ms linear;position:absolute;inset:.55rem;box-shadow:inset 0 1px #fff6,0 .2rem .35rem #00000059}.simon__pot-marker{background:#f0c36a;border-radius:999px;width:.18rem;height:.7rem;position:absolute;top:.28rem;left:50%;transform:translate(-50%);box-shadow:0 0 .35rem #f0c36a8c}.simon__pad.is-locked{opacity:.28;filter:grayscale(.85);cursor:not-allowed}.simon__pad.is-locked .simon__pad-shell{box-shadow:0 .2rem .1rem #00000040,inset 0 .08rem .12rem #fff3}.simon__start{border:1px solid var(--ink);background:var(--ink);color:#f7f9fb;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s var(--ease-out), color .2s var(--ease-out), transform .2s var(--ease-out);padding:.55rem 1.25rem;font-family:Sora,sans-serif;font-size:.82rem;font-weight:700}.simon__start:hover:not(:disabled),.simon__start:focus-visible:not(:disabled){color:var(--ink);background:0 0;outline:none;transform:translateY(-1px)}.simon__start:disabled{opacity:.45;cursor:default}@media (width<=960px){.modules{grid-template-rows:none;grid-template-columns:1fr}.modules__edu,.modules__simon,.modules__board,.modules__map{grid-area:auto/1}}
