:root{color-scheme:dark;--bg:#090e1c;--panel:#111b2d;--panel-soft:#16233a;--ink:#f2f5ff;--muted:#b0bdd4;--accent:#82e8de;--blue:#b3c6ff;--line:#7183a5;--focus:#ffda8a;--button-ink:#081624;--shadow:0 24px 70px #0003;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#f3f6fc;--panel:#fff;--panel-soft:#e8eef9;--ink:#13223c;--muted:#455773;--accent:#075e65;--blue:#344d9a;--line:#6c7d9d;--focus:#734400;--button-ink:#fff;--shadow:0 24px 70px #17315312}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:radial-gradient(ellipse at 90% 5%,#5067c01c,transparent 35rem),var(--bg);color:var(--ink);line-height:1.7;font-size:16px}img,svg{max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button[aria-disabled=true]{cursor:default}h1,h2,h3,h4{line-height:1.13;letter-spacing:-.035em;margin:0 0 1rem}h1{font-size:clamp(2.5rem,5.4vw,4.75rem);font-weight:760}h2{font-size:clamp(1.65rem,3.2vw,2.65rem)}h3{font-size:1.45rem}p{margin:0 0 1.2rem;color:var(--muted)}[hidden]{display:none!important}.section-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.section-block{margin-top:100px}.small{font-size:.875rem}.skip-link{position:absolute;top:10px;left:10px;transform:translateY(-160%);padding:12px 18px;background:var(--accent);color:var(--button-ink);z-index:20;border-radius:8px}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.header-inner{display:flex;align-items:center;gap:28px;min-height:96px;flex-wrap:wrap;padding-block:18px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.16em;font-size:1rem;white-space:nowrap}.brand img{flex:none;width:34px;height:34px;background:#090e1c;border-radius:7px;padding:2px}.primary-nav{display:flex;gap:22px;margin-left:auto}.primary-nav a,.language-switch a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:.875rem;color:var(--muted)}.primary-nav a:hover,.primary-nav [aria-current=page],.language-switch [aria-current=page]{color:var(--accent)}.header-tools{display:flex;gap:18px;align-items:center}.language-switch{display:flex;gap:12px}.language-switch [aria-current=page]{font-weight:800;text-decoration:underline}.icon-button{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:8px;min-height:44px;padding:8px 12px;font-size:.8rem}.menu-toggle{display:none}.eyebrow{display:block;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:50px;padding-block:84px 66px}.hero h1 span{color:var(--blue)}.hero-lede,.page-lede{font-size:1.125rem;line-height:1.8;max-width:720px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;border:1px solid transparent;padding:12px 22px;border-radius:8px;font-weight:750;font-size:.9rem;line-height:1.3;text-decoration:none;transition:transform .18s ease,background-color .18s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--button-ink)}.button-quiet{border-color:var(--line);color:var(--ink);background:var(--panel)}.button:disabled{opacity:.65}.hero-note{font-size:.875rem;margin-top:24px}.status-dot{display:inline-block;width:7px;height:7px;margin-right:10px;vertical-align:2px;border-radius:50%;background:var(--accent)}.hero-art{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#7894ff15,transparent 68%)}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;opacity:.65}.orbit-one{width:95%;height:61%;transform:rotate(-27deg)}.orbit-two{width:80%;height:45%;transform:rotate(32deg)}.orbit-three{width:66%;height:66%;border-color:var(--accent);animation:orbit-breathe 12s ease-in-out infinite}.planet{display:grid;place-items:center;width:38%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 27% 23%,#bfd4ff,#4a62b1 48%,#182248);box-shadow:0 0 70px #8facff30,inset -14px -16px 25px #050b2f80}.planet img{width:65%}.star{position:absolute;color:var(--accent)}.star-one{top:18%;right:18%;font-size:42px}.star-two{bottom:24%;left:13%;font-size:32px}.star-three{right:11%;bottom:25%;font-size:16px}.art-caption{position:absolute;bottom:9%;right:11%;letter-spacing:.2em;font-size:.65rem;color:var(--muted)}@keyframes orbit-breathe{50%{transform:rotate(15deg) scale(1.04);opacity:.4}}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);gap:32px;padding-block:24px}.principles>div{display:grid;grid-template-columns:32px 1fr;gap:0 12px}.principles span{grid-row:span 2;color:var(--accent);font-size:.8rem;padding-top:4px}.principles h2{font-size:1.25rem;margin-bottom:5px}.principles p{font-size:.875rem;margin:0}.section-heading{display:flex;gap:40px;align-items:end;justify-content:space-between;margin-bottom:30px}.section-heading>p{max-width:420px;margin:0}.section-heading h2{margin-bottom:0}.game-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.game-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.game-art-link{display:block;background:#101a30}.game-art-link img{display:block;width:100%;aspect-ratio:5/3;object-fit:cover}.game-card-body{padding:26px;flex:1;display:flex;flex-direction:column;align-items:start}.game-card h3 a{text-decoration:none}.game-card h3 a:hover{color:var(--accent)}.game-card p{font-size:.95rem}.game-card .eyebrow{font-size:.7rem}.card-detail{font-size:.8rem!important;color:var(--blue);margin-top:auto}.game-card .button{width:100%}.area-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.area-card{grid-column:span 2;border:1px solid var(--line);border-radius:12px;padding:28px;text-decoration:none;background:var(--panel);display:flex;flex-direction:column}.area-card:nth-child(n+4){grid-column:span 3}.area-card h3{font-size:1.55rem;max-width:360px}.area-card p{max-width:420px;font-size:.95rem}.area-card .text-link{margin-top:auto}.area-card:hover{border-color:var(--accent);background:var(--panel-soft)}.text-link,.back-link{color:var(--accent);font-weight:700;text-decoration:none;display:inline-flex;min-height:44px;align-items:center;gap:8px}.text-link:hover,.back-link:hover{text-decoration:underline}.how-band{display:grid;grid-template-columns:1fr 1fr;gap:60px}.quiet-panel{background:var(--panel-soft);padding:32px;border:1px solid var(--line);border-radius:12px}.update-band{background:linear-gradient(130deg,var(--panel-soft),var(--panel));border:1px solid var(--line);border-radius:14px;padding:44px}.update-band time{display:block;font-size:.85rem;color:var(--muted);margin-bottom:14px}.update-band h2{max-width:740px}.update-band p:not(.eyebrow){max-width:780px}.site-footer{margin-top:100px;padding-top:55px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:32px}.footer-grid p{max-width:310px;font-size:.9rem;margin-top:18px}.footer-grid h2{font-size:.85rem;letter-spacing:0;margin:0 0 12px}.footer-grid nav a{display:block;text-decoration:none;min-height:44px;color:var(--muted);font-size:.875rem;padding-block:7px}.footer-grid nav a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-block:22px;color:var(--muted);font-size:.8rem}.content-page,.game-page{padding-top:52px}.content-page>.eyebrow,.game-page>.eyebrow{margin-top:30px}.content-page>.page-lede{margin-bottom:38px}.content-sections{max-width:800px}.content-sections section{margin-top:38px}.content-sections h2{font-size:1.5rem}.content-sections p{font-size:1.02rem}.media-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-block:40px}.media-gallery figure{margin:0}.media-gallery img{display:block;border-radius:12px}.media-gallery figcaption{margin-top:12px;color:var(--muted)}.game-page{max-width:900px}.game-guide{border-left:3px solid var(--accent);padding-left:24px;margin-block:25px 30px}.game-guide h2{font-size:1.2rem}.game-guide p{font-size:.95rem;margin-bottom:10px}.game-settings{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.game-settings label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.875rem;font-weight:700}select{min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:8px 36px 8px 14px;max-width:100%}.game-toolbar{display:flex;gap:24px;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 24px;margin-block:22px}.game-stat span{display:block;color:var(--muted);font-size:.8rem}.game-stat strong{font-variant-numeric:tabular-nums;font-size:1.3rem}.play-surface{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:24px;text-align:center}.game-board{container-type:inline-size;position:relative;width:min(100%,640px);margin-inline:auto;aspect-ratio:720/546.5;border-radius:14px;background:var(--panel-soft);overflow:hidden}.game-board[data-pairs="8"]{aspect-ratio:1}.phaser-shell{position:absolute;inset:0;pointer-events:none}.phaser-shell canvas{display:block!important;width:100%!important;height:100%!important;margin:0!important}.memory-hit-grid{position:absolute;inset:0;padding:2.777778cqw;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.944444cqw;grid-auto-rows:1fr}.memory-card-button{border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:0;padding:8px}.memory-card-button svg{width:55%;max-height:65%}.symbol-label{font-size:clamp(.6rem,1.8vw,.82rem);line-height:1.2}.memory-card-button:hover:not(:disabled){border-color:var(--accent)}.memory-card-button.is-revealed{background:var(--panel-soft);color:var(--accent);border-color:var(--accent)}.memory-card-button.is-matched{opacity:1;background:var(--panel-soft);color:var(--accent);border:2px solid var(--accent)}.memory-card-button:focus-visible{outline-offset:-5px;outline-width:3px}.game-status{min-height:52px;margin:22px 0 12px;color:var(--ink)}.game-result{margin-top:22px;padding:28px;background:var(--panel-soft);border:1px solid var(--accent);border-radius:10px}.game-result h2{font-size:1.8rem}.game-result p{color:var(--ink)}.game-footnote{font-size:.85rem;margin-top:22px}.game-links{display:flex;gap:24px;flex-wrap:wrap}.game-links a{color:var(--accent);min-height:44px}.target-label{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px}.target-label h2{font-size:1.3rem;margin:0}.target-label svg{width:50px;height:50px;color:var(--accent)}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:600px;margin:0 auto 22px}.choice-button{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:105px;gap:8px;border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);border-radius:10px;padding:16px;font-size:1.125rem;font-weight:700}.choice-button svg{width:50px;height:50px;color:var(--blue)}.choice-button span{font-size:.85rem;line-height:1.3}.choice-button:hover:not(:disabled){border-color:var(--accent)}.choice-button.is-wrong::after{content:"×";line-height:1}.choice-button.is-correct::after{content:"✓";line-height:1}.choice-button.is-correct{border:2px solid var(--accent)}.choice-button:disabled{opacity:.65}.pattern-sequence{list-style:none;padding:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-block:22px}.pattern-sequence li{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-width:65px;min-height:85px;padding:10px;border-bottom:2px solid var(--line);font-size:1.7rem;font-weight:700}.pattern-sequence svg{width:44px;height:44px;color:var(--blue)}.pattern-sequence span{font-size:.8rem;font-weight:500}.pattern-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:500px;margin:0 auto 22px}.hint-text{margin-top:18px;color:var(--ink)}.notice{border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:20px;color:var(--ink)}
@media(max-width:1100px){.header-inner{gap:18px}.primary-nav{gap:16px}.header-tools{gap:12px}.brand{font-size:.9rem}.hero{gap:28px}.game-card-body{padding:22px}}
@media(max-width:960px){.header-inner{justify-content:space-between}.primary-nav{order:3;flex-basis:100%;margin:0;justify-content:center}.hero{grid-template-columns:1.2fr .8fr;gap:10px}.hero-art{align-self:start;margin-top:30px}.hero h1{font-size:clamp(2.8rem,5.8vw,4rem)}.game-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-cards>.game-card:last-child{grid-column:1/-1;max-width:550px;width:100%;justify-self:center}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-card,.area-card:nth-child(n+4){grid-column:auto}.area-card:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid nav:last-child{grid-column:2/4}.how-band{gap:30px}.media-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.section-wrap{width:calc(100% - 36px)}.header-inner{gap:12px;padding-block:14px;min-height:80px}.brand{font-size:.85rem;letter-spacing:.12em;gap:8px}.brand img{width:29px;height:29px}.header-tools{order:4;flex-basis:100%;justify-content:space-between}.has-menu .menu-toggle{display:block}.has-menu .primary-nav{display:none}.has-menu .primary-nav.is-open{display:flex}.primary-nav{gap:6px;justify-content:space-between;flex-wrap:wrap}.primary-nav a{padding:6px;font-size:.85rem}.hero{grid-template-columns:1fr;padding-block:48px 30px;gap:12px}.hero h1{font-size:clamp(2.6rem,10.5vw,3.6rem)}.hero-lede{font-size:1rem}.hero-art{width:min(340px,90%);justify-self:center;margin-top:8px}.hero-actions{gap:12px}.button{padding:12px 16px;font-size:.85rem}.principles{gap:20px;grid-template-columns:1fr;padding-block:24px}.principles>div{grid-template-columns:32px 1fr}.section-block{margin-top:64px}.section-heading{display:block}.section-heading>p{margin-top:20px}.game-cards{grid-template-columns:1fr}.game-cards>.game-card:last-child{grid-column:auto;max-width:none}.area-grid{grid-template-columns:1fr}.area-card:last-child{grid-column:auto}.how-band{grid-template-columns:1fr;gap:28px}.quiet-panel,.update-band{padding:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div{grid-column:1/-1}.footer-grid nav:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:6px}.content-page,.game-page{padding-top:32px}.content-page h1,.game-page h1{font-size:2.5rem}.page-lede{font-size:1rem}.media-gallery{grid-template-columns:1fr}.game-settings{gap:14px}.game-settings label{flex:1;min-width:140px}.game-settings select{width:100%}.game-toolbar{gap:12px;padding:14px}.game-stat strong{font-size:1.15rem}.game-stat span{font-size:.72rem}.play-surface{padding:14px}.memory-card-button{border-radius:7px;padding:4px;gap:2px}.symbol-label{font-size:.6rem}.focus-grid,.pattern-options{gap:9px}.choice-button{padding:10px 4px;min-height:94px}.choice-button svg{width:38px;height:38px}.choice-button span{font-size:.75rem}.pattern-sequence{gap:7px}.pattern-sequence li{min-width:58px}.target-label{gap:10px}.target-label h2{font-size:1.15rem}.game-guide{padding-left:16px}.site-footer{margin-top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.game-card,.area-card,.memory-card-button,.choice-button{border:2px solid ButtonText}.brand img{background:Canvas}.hero-art{display:none}}

/* Four-stage connected workshop: existing color tokens and responsive patterns. */
.workshop{padding-top:42px;max-width:1180px}
.workshop h1{max-width:860px}
.workshop-privacy,.workshop-feature{padding:22px 26px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-top:24px}
.workshop-privacy{max-width:840px}
.workshop-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px 0 50px}
.workshop-steps a{display:grid;place-items:center;text-align:center;min-height:52px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);text-decoration:none;font-weight:700}
.workshop-steps a:hover{border-color:var(--accent);color:var(--accent)}
.workshop-stage{border-top:1px solid var(--line);padding:38px 0 28px;scroll-margin-top:30px}
.workshop-stage>p{max-width:830px}
.workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.workshop-panel{min-width:0;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px}
.workshop-panel h3{margin-bottom:6px}
.workshop label{display:block;font-weight:700;margin:12px 0 4px}
.workshop input,.workshop textarea,.workshop select{min-width:0;max-width:100%;width:100%;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);font:inherit}
.workshop input[type=file]{overflow-wrap:anywhere}
.workshop .button{align-self:flex-start;margin-top:8px}
.workshop-output{display:block;white-space:pre-wrap;overflow-wrap:anywhere;min-height:32px;margin:12px 0;font-size:.86rem;line-height:1.6}
.workshop textarea{display:block;min-height:160px;resize:vertical}
.workshop-case{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.workshop-case button{min-height:72px;padding:14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--ink);font:inherit}
.workshop-case button:not(:disabled):hover{border-color:var(--accent)}
.workshop-case button:disabled{opacity:.65;border-color:var(--accent);cursor:default}
.workshop-bottom{margin-top:24px}
@media(max-width:700px){.workshop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-grid,.workshop-case{grid-template-columns:1fr}.workshop-panel{padding:20px}}

/* Topic hubs, local synthetic case materials and five-format studio. */
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.resource-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;text-decoration:none;display:flex;flex-direction:column;gap:8px;min-width:0}
.resource-card strong{font-size:1.3rem;color:var(--accent)}
.resource-card span{color:var(--muted)}
.resource-card:hover{border-color:var(--accent)}
.hash-sample{display:block;padding:14px 18px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere;max-width:100%;font-size:.9rem;line-height:1.6;margin-bottom:16px}
.studio-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
.studio-results .workshop-panel:last-child{grid-column:1/-1}
.studio-results textarea{min-height:220px}
.topic-section{scroll-margin-top:24px}
.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.glossary-grid .workshop-panel{gap:8px}
.glossary-grid dt{font-weight:750;font-size:1.15rem}
.glossary-grid dd{margin:0;color:var(--muted)}
.workshop input:focus-visible,.workshop textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.workshop .workshop-case button{overflow-wrap:anywhere;min-width:0}
@media(max-width:700px){.resource-grid,.studio-results,.glossary-grid{grid-template-columns:1fr}.studio-results .workshop-panel:last-child{grid-column:auto}.hash-sample{font-size:.8rem}}
