/* Both themes share one template. Native links retain the mode in the URL. */
.main-nav{margin-right:10px}
.theme-switch{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--line);border-radius:99px;flex-shrink:0;background:var(--surface)}
.theme-switch a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 10px;border-radius:99px;font-size:11px;color:var(--muted);white-space:nowrap}
.theme-switch svg{width:15px;height:15px;flex-shrink:0}
.theme-switch a:hover{color:var(--ink)}
.theme-switch a[aria-current]{background:#353b51;color:var(--ink)}
.theme-switch a:focus-visible{outline-offset:2px}

:root.theme-light{color-scheme:light;--bg:#f7f8f2;--surface:#fff;--ink:#222d32;--muted:#5d6871;--lime:#dbfa86;--lavender:#7461a7;--line:#dce1da;--green:#3e623d}
.theme-light body{background:radial-gradient(ellipse at 88% 12%,#e8e4f43b,transparent 36%),var(--bg)}
.theme-light a:focus-visible,.theme-light summary:focus-visible{outline-color:var(--green)}
.theme-light .skip{color:#1d2611}
.theme-light .brand-mark{color:var(--green)}
.theme-light .brand-mark circle{fill:var(--bg)}
.theme-light .main-nav a:hover,.theme-light .text-link:hover,.theme-light .footer-links a:hover{color:var(--green)}
.theme-light .nav-active::before{background:var(--green)}
.theme-light .header-action{border-color:#cfd6cb}
.theme-light .theme-switch{background:#ecefe7;border-color:#d8dfd2}
.theme-light .theme-switch a[aria-current]{background:white;color:var(--green);box-shadow:0 1px 5px #293a1914}
.theme-light .spark,.theme-light .hero h1>span{color:var(--green)}
.theme-light .text-link{color:#4b5661}
.theme-light .hero-note,.theme-light .section-note{color:#68737a}
.theme-light .note-line{background:#929f92}
.theme-light .button-primary{box-shadow:0 5px 18px #6380410d}
.theme-light .experience-strip{background:#edf1e7}
.theme-light .strip-inner{color:#536259}
.theme-light .strip-inner .strip-plus{color:#7a867c}
.theme-light .strip-result,.theme-light .strip-inner .strip-result b{color:var(--green)}
.theme-light .section-head h2>span{color:#637168}
.theme-light .game-card{box-shadow:0 8px 28px #263b2c05}
.theme-light .game-card:hover{border-color:#9aa98e;box-shadow:0 12px 32px #263b2c0b}
.theme-light .game-featured{border-color:#b7c8a2}
.theme-light .cover-community{background:linear-gradient(125deg,#2a3e3b,#1c2931)}
.theme-light .cover-category{color:#3b514c;background:#f7f8f2db;padding:4px 7px;border-radius:4px;top:16px;left:14px}
.theme-light .cover-word{color:#283f37;text-shadow:0 2px 12px #eef4dd80}
.theme-light .cover-community .cover-word{color:#f5f8dd;text-shadow:0 2px 20px #1115}
.theme-light .status{background:#f9faf2ed;border-color:#ffffffb3;color:#485744;backdrop-filter:blur(8px)}
.theme-light .status-muted{color:#695b67}
.theme-light .cover-line{background:#f1dcd2}
.theme-light .line-shadow{stroke:#c49790;stroke-width:25px}
.theme-light .line-main{stroke:#b77262}
.theme-light .small-word{color:#653c38;text-shadow:0 2px 12px #f1dcd27d}
.theme-light .cover-resonance{background:#e5dff1}
.theme-light .cover-resonance .cover-word{color:#584976;text-shadow:0 2px 12px #e5dff199}
.theme-light .resonance-art span{border-color:#a395c7;box-shadow:5px 8px 0 #c1b5d6,inset 4px 4px 0 #f6f0ff}
.theme-light .resonance-art i{background:#dcfa86;box-shadow:0 0 0 1px #c8df8f,0 0 22px #dbfa8655}
.theme-light .game-index,.theme-light .coming-note,.theme-light .coming-note .coming-label{color:#697769}
.theme-light .game-tagline{color:#42554b}
.theme-light .game-description,.theme-light .step p{color:#65716c}
.theme-light .tags li{color:#536444;background:#f0f4e8;border-color:#dce5cf}
.theme-light .project-entry{color:var(--green)}
.theme-light .project-entry p{border-top-color:#dce5cf}
.theme-light .step:nth-child(2) .step-icon{color:var(--green)}
.theme-light .step:nth-child(3) .step-icon{color:#aa6553}
.theme-light .step-number{color:#67756c}
.theme-light .start-banner{background:#dfedc3}
.theme-light .guide summary{color:#49564e}
.theme-light .footer-brand>span,.theme-light .footer>div>p,.theme-light .footer-meta,.theme-light .back-top{color:#67756e}

/* The map keeps its material palette; only ambient and UI colors change. */
.theme-light .scene-invitation,.theme-light .motion-toggle,.theme-light .code-world figcaption,.theme-light .reduced-motion-note{color:#65716b}
.theme-light .role-options{background:#ecefe7;border-color:#d5ddce}
.theme-light .role-options label{color:#596650}
.theme-light .role-options label:hover,.theme-light .motion-toggle:hover{background:#dce4d3;color:#314c31}
.theme-light #role-worker:checked~.scene-toolbar label[for="role-worker"],.theme-light #role-elder:checked~.scene-toolbar label[for="role-elder"],.theme-light #role-family:checked~.scene-toolbar label[for="role-family"]{background:#405b3d;color:#fff}
.theme-light #role-worker:focus-visible~.scene-toolbar label[for="role-worker"],.theme-light #role-elder:focus-visible~.scene-toolbar label[for="role-elder"],.theme-light #role-family:focus-visible~.scene-toolbar label[for="role-family"],.theme-light #scene-paused:focus-visible~.scene-toolbar label[for="scene-paused"]{outline-color:var(--green)}
.theme-light .scene-canvas::before{background:radial-gradient(ellipse,#c7c1e12e,transparent 68%)}
.theme-light .island-shadow{fill:#727e75;opacity:.13}
.theme-light .scene-orbit{stroke:#9a94b2;opacity:.45}
.theme-light .scene-pin text{fill:#71618a}
.theme-light .scene-insight{background:#fffffff2;border-color:#d6ddd1;color:#4a5a50;box-shadow:0 6px 24px #30431e08}
.theme-light .scene-insight p>span{color:var(--green);font-weight:600}
.theme-light #role-worker:checked~.scene-canvas .building-worker,.theme-light #role-elder:checked~.scene-canvas .building-elder,.theme-light #role-family:checked~.scene-canvas .building-family{filter:brightness(1.03)}
.theme-light .halo-pulse{stroke:#547849}

@media(max-width:1150px){.header{gap:18px}.main-nav{gap:24px;margin-right:0}.header-action{gap:14px;padding-inline:13px}}
@media(max-width:850px){.header{gap:16px}.theme-switch a{padding-inline:8px}}
@media(max-width:560px){.header{height:112px;display:grid;grid-template-columns:1fr auto;column-gap:10px;row-gap:0;padding-top:15px;padding-bottom:6px}.main-nav{grid-column:1/-1;grid-row:2;justify-content:center;margin:0;gap:28px}.main-nav a{padding:10px 5px}.theme-switch{grid-column:2;grid-row:1;padding:3px;gap:1px}.theme-switch a{min-height:34px;padding:7px;gap:4px;font-size:10px}.theme-switch svg{width:13px;height:13px}}
