:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0a0a0a;--color-surface:#111;--color-surface-alt:#151515;--color-primary:#0f8;--color-secondary:#0cf;--color-text:#e0e0e0;--color-text-soft:#a7b2ad;--color-text-muted:#444;--color-border:#1e2d26;--color-border-strong:#295744;--shadow-glow:0 0 24px #00ff881f;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}*{box-sizing:border-box}html{scrollbar-color:var(--color-primary) var(--color-surface);scrollbar-width:thin}body{background:radial-gradient(circle at top, #00ccff14, transparent 30%), var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);text-rendering:optimizelegibility;margin:0;font-family:inherit}body::selection{color:var(--color-text);background:#00ff884d}a{color:var(--color-primary);text-decoration:none;transition:color .15s,border-color .15s,background-color .15s}a:hover,a:focus-visible{color:var(--color-secondary)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}::-webkit-scrollbar{width:.75rem;height:.75rem}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--color-primary), var(--color-secondary));border:2px solid var(--color-surface);border-radius:999px}.terminal-panel{border:1px solid var(--color-border);box-shadow:var(--shadow-glow);background:linear-gradient(#111111f0,#0a0a0afa);border-radius:1rem;padding:1.25rem}.prompt{color:var(--color-primary);margin:0}@media (width<=640px){.terminal-panel{padding:1rem}}button{cursor:pointer}.layout{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.layout .shell-header,.layout .shell-footer{width:min(1100px,100% - 2rem);margin:0 auto}.layout .shell-header nav{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0 1rem;display:flex}.layout main{width:min(1100px,100% - 2rem);margin:0 auto;padding:2rem 0 4rem}.layout .logo{color:var(--color-primary);text-shadow:0 0 24px color-mix(in srgb, var(--color-primary) 35%, transparent);font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1}.layout .logo:hover{color:var(--color-secondary)}.layout .nav-links{flex-wrap:wrap;justify-content:flex-end;gap:1rem;display:flex}.layout .menu-link{color:var(--color-text);border:1px solid #0000;border-radius:999px;padding:.35rem .65rem;transition:transform .13s,border-color .13s,box-shadow .13s,color .13s,background .13s;position:relative;overflow:hidden}.layout .menu-link:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#00ff88b3 0%,#0f80 68%);position:absolute;inset:-180% -40%}.layout .menu-link:hover,.layout .menu-link:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface)}.layout .menu-link:active{border-color:var(--color-primary);box-shadow:0 0 18px color-mix(in srgb, var(--color-primary) 45%, transparent);transform:translateY(1px)scale(.96)}.layout .menu-link:active:after{animation:.26s ease-out nav-click}.layout .menu-link.active{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 65%, transparent);background:color-mix(in srgb, var(--color-primary) 14%, transparent);text-shadow:0 0 12px color-mix(in srgb, var(--color-primary) 45%, transparent);font-weight:700}.layout .shell-footer{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 2rem;font-size:.9rem;display:flex}@media (width<=640px){.layout .shell-header nav{flex-direction:column;align-items:flex-start}.layout .nav-links{justify-content:flex-start}}.home-page .hero{grid-template-columns:1fr 1.15fr;align-items:center;gap:2rem;padding:2rem;display:grid}.home-page .intro{gap:1.25rem;min-width:0;display:grid}.home-page h1,.home-page h2,.home-page p{margin:0}.home-page h1{letter-spacing:-.06em;font-size:clamp(2.5rem,5vw,4rem);line-height:1.2}.home-page h1 span{color:var(--color-primary);text-shadow:0 0 24px #00ff8840}.home-page .tagline{color:var(--color-secondary);font-size:1.1rem}.home-page .description{color:var(--color-text-soft);font-size:.9rem;line-height:1.8}.home-page .actions{flex-wrap:wrap;gap:.65rem;margin-top:.5rem;display:flex}.home-page .primary{background:var(--color-primary);color:#052116;border-radius:.4rem;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;padding:.8rem 1rem;font-size:.85rem;font-weight:700;display:inline-flex}.home-page .primary:hover{background:var(--color-secondary)}.home-page a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px}.home-page .catalog{color:var(--color-text-soft);width:fit-content;padding-block:.5rem;font-size:.8rem}.home-page .discovery{margin-top:3rem}.home-page .section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.home-page .section-head :where(.prompt){margin-bottom:.6rem;font-size:.8rem}.home-page .section-head a{font-size:.8rem}.home-page h2{font-size:clamp(1.1rem,2vw,1.4rem)}.home-page .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.home-page .note{color:var(--color-text-soft);margin-top:1.2rem;font-size:.75rem}@media (width<=800px){.home-page .hero{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.home-page .project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}.catalog-page .page-head{gap:1rem;margin-bottom:1.5rem;display:grid}.catalog-page h1,.catalog-page p{margin:0}.catalog-page .page-head>p:not(.prompt){max-width:65ch;color:var(--color-text-soft);line-height:1.7}.catalog-page .filters{flex-wrap:wrap;gap:.6rem;display:flex}.catalog-page button{background:var(--color-surface);min-height:44px;color:var(--color-text-soft);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:.4rem;padding:.6rem .9rem;font-size:.8rem}.catalog-page button[aria-pressed=true]{color:var(--color-primary);border-color:var(--color-primary);background:#0a251a}.catalog-page button:hover{color:var(--color-secondary);border-color:var(--color-secondary)}.catalog-page button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.catalog-page .count{color:var(--color-text-soft);margin:1rem 0;font-size:.75rem}.catalog-page .project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;display:grid}.project-card>img{aspect-ratio:360/160;width:100%;height:auto}.project-card{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:.75rem;flex-direction:column;height:100%;transition:border-color .14s,transform .14s;display:flex;overflow:hidden}.project-card:hover,.project-card:focus-visible{border-color:var(--color-secondary);transform:translateY(-3px)}.project-card:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px}.project-card .body{flex-direction:column;flex:1;gap:.75rem;padding:1.1rem;display:flex}.project-card .meta,.project-card .foot{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-card .meta{color:var(--color-secondary);flex-wrap:wrap;font-size:.7rem}.project-card h2,.project-card p{margin:0}.project-card h2{color:var(--color-text);font-size:1.1rem}.project-card p{color:var(--color-text-soft);font-size:.85rem;line-height:1.6}.project-card .status{color:#ffd166}.project-card .foot{color:var(--color-text-soft);margin-top:auto;padding-top:.75rem;font-size:.7rem}.project-card .arrow{color:var(--color-primary);font-size:1.5rem}@media (prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover,.project-card:focus-visible{transform:none}}.home-preview .preview{border:1px solid var(--color-border-strong);background:#0a100f;border-radius:.8rem;overflow:hidden}.home-preview .preview-head,.home-preview .preview-foot{padding:.9rem 1rem}.home-preview .preview-head{color:var(--color-primary);border-bottom:1px solid var(--color-border);justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.home-preview .preview-head span:last-child{color:var(--color-text-soft)}.home-preview .art{height:clamp(220px,27vw,320px);position:relative}.home-preview canvas,.home-preview .fallback{width:100%;height:100%;position:absolute}.home-preview canvas{opacity:0}.home-preview canvas.ready{opacity:1}.home-preview .fallback{fill:none;stroke:var(--color-primary);stroke-width:1px;opacity:.65}.home-preview .preview-foot{border-top:1px solid var(--color-border)}.home-preview p{color:var(--color-text-soft);margin:0 0 .8rem;font-size:.78rem;line-height:1.5}.home-preview .controls{flex-wrap:wrap;gap:.5rem;display:flex}.home-preview button{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:.35rem;padding:.55rem .7rem;font-size:.75rem}.home-preview button:hover,.home-preview button:focus-visible{border-color:var(--color-secondary);color:var(--color-secondary)}.home-preview button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.home-preview button:disabled{opacity:.5;cursor:default}.onward-wrapper{gap:1.2rem;margin-top:2rem;display:grid}.onward-wrapper .head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.onward-wrapper .prompt,.onward-wrapper .catalog{font-size:.8rem}.onward-wrapper h2{margin:.6rem 0 0;font-size:1.2rem}.onward-wrapper .choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;display:grid}.onward-wrapper .suggestion{border:1px solid var(--color-border-strong);border-radius:.5rem;gap:.65rem;padding:1rem;display:grid}.onward-wrapper .suggestion:hover{border-color:var(--color-secondary)}.onward-wrapper .suggestion span{color:var(--color-text-soft);font-size:.8rem;line-height:1.5}.onward-wrapper .suggestion span:first-child{color:var(--color-secondary);font-size:.7rem}.onward-wrapper a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.about-page .about{gap:1rem;display:grid}.about-page h1,.about-page p{margin:0}.about-page :where(.about) p{max-width:65ch;color:var(--color-text-soft)}.placeholder-page .project-page,.placeholder-page .construction{gap:1rem;display:grid}.placeholder-page .project-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.placeholder-page h1,.placeholder-page h2,.placeholder-page p{margin:0}.placeholder-page .description{max-width:65ch;color:var(--color-text-soft)}.placeholder-page .tags{color:var(--color-secondary);flex-wrap:wrap;gap:.65rem;display:flex}.placeholder-page .notice{align-items:center;gap:1rem;display:flex}.placeholder-page .signal{color:var(--color-primary);font-size:clamp(2.5rem,8vw,4rem);line-height:1}.placeholder-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.placeholder-page .status.active{color:var(--color-primary)}.placeholder-page .status.wip{color:#ffd166}.placeholder-page .status.idea{color:var(--color-secondary)}@media (width<=640px){.placeholder-page .notice{flex-direction:column;align-items:flex-start}}.deploy-status .status{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.85rem;text-decoration:none;display:inline-flex}.deploy-status a.status:hover,.deploy-status a.status:focus-visible{color:var(--color-text)}.deploy-status .dot{background:var(--color-text-muted);border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem}.deploy-status .dot.live{background:#ffd166;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 8px #ffd166}.deploy-status .dot.ok{background:var(--color-primary);box-shadow:0 0 6px color-mix(in srgb, var(--color-primary) 60%, transparent)}.deploy-status .dot.fail{background:#ff6b6b;box-shadow:0 0 6px #ff6b6b99}.deploy-status .dot.idle{background:var(--color-text-muted)}.surprise{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:.4rem;min-height:44px;padding:.65rem .9rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@keyframes nav-click{0%{opacity:.75;transform:scale(.15)}to{opacity:0;transform:scale(1.2)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.morse-page .head{gap:.75rem;margin-bottom:1rem;display:grid}.morse-page h1,.morse-page p{margin:0}.morse-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.morse-page .status{color:var(--color-primary);border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.morse-page .desc{max-width:65ch;color:var(--color-text-soft)}.morse-page .subpage-group{border:1px solid var(--color-border-strong);border-radius:.5rem;gap:0;width:fit-content;display:inline-flex;overflow:hidden}.morse-page .subpage-group a{color:var(--color-text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;padding:.45rem 1rem}.morse-page .subpage-group a.active{background:var(--color-surface);color:var(--color-primary)}.morse-page button{font:inherit;background:color-mix(in oklab, var(--color-primary) 15%, transparent);color:var(--color-primary);border:1px solid var(--color-primary);cursor:pointer;border-radius:.45rem;padding:.45rem .85rem}.morse-page button.ghost{color:var(--color-text-soft);border-color:var(--color-text-soft);background:0 0}.morse-page button.primary{background:color-mix(in oklab, var(--color-primary) 22%, transparent);font-weight:700}.morse-page button.small{padding:.3rem .6rem;font-size:.85rem}.morse-page button:disabled{opacity:.5;cursor:not-allowed}.morse-page .game{gap:1rem;display:grid}.morse-page .settings{gap:.35rem;max-width:20rem;display:grid}.morse-page .settings label{color:var(--color-text-soft);font-size:.95rem}.morse-page .wpm-value{color:var(--color-primary);font-size:.9rem}.morse-page input[type=range]{width:100%;accent-color:var(--color-primary)}.morse-page .start-area{place-items:start;gap:.75rem;display:grid}.morse-page .hint{color:var(--color-text-soft)}.morse-page .target-area{gap:.5rem;display:grid}.morse-page .target-label{color:var(--color-text-soft);font-size:.95rem}.morse-page .target-card{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:.75rem;place-items:center;gap:.75rem;padding:1.5rem;display:grid}.morse-page .target-letter{color:var(--color-secondary);text-shadow:0 0 24px color-mix(in srgb, var(--color-secondary) 40%, transparent);font-size:5rem;font-weight:800;line-height:1}.morse-page .morse-hint{color:var(--color-primary);letter-spacing:.25em;margin:0;font-size:2rem}.morse-page .signal-light{border:2px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;border-radius:50%;place-items:center;width:5rem;height:5rem;padding:0;display:grid;position:relative}.morse-page .light-core{background:var(--color-text-muted);border-radius:50%;width:2.5rem;height:2.5rem;transition:background 60ms,box-shadow 60ms}.morse-page .light-glow{background:radial-gradient(circle, var(--color-primary) 0%, transparent 65%);opacity:0;pointer-events:none;border-radius:50%;transition:opacity 60ms;position:absolute;inset:-20%}.morse-page .signal-light.active .light-core{background:var(--color-primary);box-shadow:0 0 30px var(--color-primary)}.morse-page .signal-light.active .light-glow{opacity:.35}.morse-page .answer-form{gap:.45rem;max-width:20rem;display:grid}.morse-page .answer-form label{color:var(--color-text-soft);font-size:.95rem}.morse-page .answer-form input{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-text);font:inherit;text-transform:uppercase;border-radius:.45rem;padding:.55rem .75rem}.morse-page .answer-form input:focus-visible{border-color:var(--color-secondary);outline:none}.morse-page .form-actions{flex-wrap:wrap;gap:.6rem;display:flex}.morse-page .key-area{border:2px solid var(--color-border-strong);background:var(--color-surface-alt);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:1rem;place-items:center;gap:.25rem;padding:2rem;transition:border-color 80ms,background 80ms,transform 80ms;display:grid}.morse-page .key-area:active,.morse-page .key-area:focus-visible:active{border-color:var(--color-primary);background:color-mix(in oklab, var(--color-primary) 12%, transparent);transform:scale(.98)}.morse-page .key-area:focus-visible{border-color:var(--color-secondary);outline:none}.morse-page .key-label{color:var(--color-text);font-size:1.25rem;font-weight:700}.morse-page .key-hint{color:var(--color-text-soft);font-size:.85rem}.morse-page .manual-controls{flex-wrap:wrap;gap:.6rem;display:flex}.morse-page .manual-controls button{min-width:3rem;font-size:1.4rem}.morse-page .send-buffer{border:1px dashed var(--color-border-strong);border-radius:.45rem;align-items:center;gap:.75rem;min-height:3rem;padding:.75rem 1rem;display:flex}.morse-page .buffer-chars{color:var(--color-secondary);letter-spacing:.15em;font-size:1.8rem}.morse-page .buffer-guess{color:var(--color-text-soft);font-size:1.1rem}.morse-page .buffer-empty{color:var(--color-text-muted)}.morse-page .feedback{color:var(--color-text-soft);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:.45rem;padding:.6rem .75rem}.morse-page .stats{color:var(--color-text-soft);flex-wrap:wrap;gap:.75rem;font-size:.9rem;display:flex}.morse-page .stat{border:1px solid var(--color-border);border-radius:.35rem;padding:.25rem .55rem}.morse-page .history{gap:.75rem;margin-top:1rem;display:grid}.morse-page .history h2{color:var(--color-text-soft);margin:0;font-size:1rem}.morse-page .empty{color:var(--color-text-soft)}.morse-page .history-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.morse-page .history-item{border:1px solid var(--color-border);border-radius:.35rem;grid-template-columns:5rem 3rem 3rem 2rem;align-items:center;gap:.5rem;padding:.45rem .6rem;display:grid}.morse-page .history-item.correct{background:color-mix(in oklab, var(--color-primary) 10%, transparent)}.morse-page .history-item.wrong{background:oklab(75.9375% .128903 .063089/.1)}.morse-page .history-subpage{color:var(--color-text-soft);font-size:.85rem}.morse-page .history-target,.morse-page .history-answer{font-weight:700}.morse-page .history-result{color:var(--color-primary)}.morse-page .history-item.wrong .history-result{color:#ff8a80}.morse-page .letter-grid{grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.6rem;display:grid}.morse-page .letter-tile{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-text);font:inherit;cursor:pointer;border-radius:.5rem;place-items:center;gap:.25rem;min-height:5rem;padding:.6rem;display:grid}.morse-page .letter-tile:hover,.morse-page .letter-tile:focus-visible{border-color:var(--color-secondary);color:var(--color-secondary)}.morse-page .letter-tile:disabled{opacity:.5;cursor:not-allowed}.morse-page .letter-tile.playing{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in oklab, var(--color-primary) 18%, transparent);box-shadow:0 0 24px color-mix(in oklab, var(--color-primary) 40%, transparent);opacity:1}.morse-page .letter-tile-char{font-size:1.4rem;font-weight:700}.morse-page .letter-tile-morse{color:var(--color-primary);letter-spacing:.12em;white-space:nowrap;font-size:.75rem}.morse-page .signal-preview{place-items:center;padding:1rem;display:grid}.nato-page .head,.nato-page .game{gap:.85rem;display:grid}.nato-page .game{margin-top:1rem}.nato-page h1,.nato-page p{margin:0}.nato-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.nato-page .description{max-width:68ch;color:var(--color-text-soft)}.nato-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.nato-page .status.active{color:var(--color-primary)}.nato-page .actions{flex-wrap:wrap;gap:.6rem;display:flex}.nato-page .game-layout{grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);align-items:start;gap:1rem;display:grid}.nato-page .game-main{gap:.85rem;display:grid}.nato-page .history-panel{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:.45rem;gap:.6rem;padding:.7rem;display:grid}.nato-page .history-panel h2{color:var(--color-text-soft);margin:0;font-size:1rem}.nato-page .history-empty{color:var(--color-text-soft);font-size:.9rem}.nato-page .history-summary{color:var(--color-primary);font-size:.9rem}.nato-page .history-list{gap:.55rem;display:grid}.nato-page .history-item{border:1px solid var(--color-border);border-radius:.4rem;gap:.35rem;padding:.5rem;display:grid}.nato-page .history-round{color:var(--color-text-soft);font-size:.85rem}.nato-page .history-letters{flex-wrap:wrap;gap:.35rem;display:flex}.nato-page button{border:1px solid var(--color-primary);background:color-mix(in oklab, var(--color-primary) 15%, transparent);color:var(--color-primary);font:inherit;cursor:pointer;border-radius:.45rem;padding:.45rem .75rem}.nato-page button.ghost{border-color:var(--color-text-soft);color:var(--color-text-soft);background:0 0}.nato-page button.ghost.ready{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in oklab, var(--color-primary) 16%, transparent);box-shadow:0 0 12px color-mix(in oklab, var(--color-primary) 30%, transparent)}.nato-page button:disabled{opacity:.5;cursor:not-allowed}.nato-page .answer-form{gap:.45rem;max-width:24rem;display:grid}.nato-page .answer-form label{color:var(--color-text-soft);font-size:.95rem}.nato-page .voice-settings{gap:.45rem;max-width:24rem;display:grid}.nato-page .voice-settings label{color:var(--color-text-soft);font-size:.95rem}.nato-page .round-settings{gap:.45rem;max-width:24rem;display:grid}.nato-page .settings-title{color:var(--color-text-soft);font-size:.95rem}.nato-page .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.nato-page .settings-grid label{color:var(--color-text-soft);gap:.3rem;font-size:.9rem;display:grid}.nato-page .settings-hint{color:var(--color-text-soft);font-size:.85rem}.nato-page input,.nato-page select{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-text);font:inherit;border-radius:.45rem;padding:.5rem .65rem}.nato-page input:focus-visible,.nato-page select:focus-visible{border-color:var(--color-secondary);outline:none}.nato-page .round-words{border:1px dashed var(--color-border-strong);color:var(--color-secondary);background:color-mix(in oklab, var(--color-secondary) 8%, transparent);border-radius:.45rem;flex-wrap:wrap;gap:.5rem;padding:.55rem .7rem;display:flex}.nato-page .round-word{border-radius:.35rem;padding:.15rem .35rem}.nato-page .round-word.correct{color:var(--color-primary);background:color-mix(in oklab, var(--color-primary) 14%, transparent)}.nato-page .round-word.wrong{color:#ff8a80;background:oklab(75.9375% .128903 .063089/.14)}.nato-page .submitted-letter{border:1px solid var(--color-border);text-align:center;border-radius:.35rem;min-width:1.75rem;padding:.15rem .4rem}.nato-page .submitted-letter.correct{color:var(--color-primary);border-color:color-mix(in oklab, var(--color-primary) 55%, var(--color-border));background:color-mix(in oklab, var(--color-primary) 14%, transparent)}.nato-page .submitted-letter.wrong{color:#ff8a80;border-color:color-mix(in oklab, #ff8a80 65%, var(--color-border));background:oklab(75.9375% .128903 .063089/.14)}.nato-page .feedback{color:var(--color-text-soft)}@media (width<=900px){.nato-page .game-layout{grid-template-columns:minmax(0,1fr)}}.morse-page .key-area{touch-action:none}.morse-page .key-area.pressed{border-color:var(--color-primary);background:color-mix(in oklab, var(--color-primary) 12%, transparent);transform:scale(.98)}.robot-page h1,.robot-page p,.falling-page h1,.falling-page p{margin:0}.flow-page .head{gap:.65rem;margin-bottom:1.5rem;display:grid}.flow-page .head-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.flow-page h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,3rem)}.flow-page .desc{max-width:75ch;color:var(--color-text-soft);margin:0;line-height:1.65}.flow-page .status{border:1px solid var(--color-border-strong);color:var(--color-text-soft);border-radius:999px;padding:.3rem .65rem;font-size:.75rem}.flow-page .status.active{color:var(--color-primary)}.flow-page .canvas-wrap{aspect-ratio:16/9;border:1px solid var(--color-border-strong);background:#0a0a0a;border-radius:.8rem .8rem 0 0;width:100%;position:relative;overflow:hidden}.flow-page canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.flow-page .keyboard-pointer{border:1px solid var(--color-secondary);pointer-events:none;border-radius:50%;width:1rem;height:1rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #0a0a0a}.flow-page canvas:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-4px}.flow-page .canvas-footer{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-soft);border-top:0;border-radius:0 0 .8rem .8rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.flow-page .toolbar{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.flow-page button{background:var(--color-surface-alt);min-height:44px;color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:.5rem;padding:.65rem .9rem;font-size:.85rem}.flow-page button:hover{border-color:var(--color-secondary)}.flow-page button:focus-visible,.flow-page input:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.flow-page button:disabled{cursor:wait;opacity:.5}.flow-page button.primary{color:var(--color-primary);border-color:var(--color-primary);min-width:7rem}.flow-page .help,.flow-page .motion-note{color:var(--color-text-soft);max-width:95ch;font-size:.8rem;line-height:1.7}.flow-page .motion-note{color:var(--color-secondary)}.flow-page .settings{gap:1.5rem;margin-top:1.5rem;display:grid}.flow-page fieldset{border:0;min-width:0;margin:0;padding:0}.flow-page legend{color:var(--color-primary);margin-bottom:.9rem;font-size:.8rem}.flow-page .preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.flow-page .preset{text-align:left;gap:.5rem;padding:1rem;display:grid}.flow-page .preset[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.flow-page .preset-name{color:var(--color-text);font-size:1rem}.flow-page .preset[aria-pressed=true] .preset-name{color:var(--color-primary)}.flow-page .preset-description{color:var(--color-text-soft);font-size:.75rem;line-height:1.7}.flow-page .slider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2rem;display:grid}.flow-page .slider-grid label{gap:.5rem;font-size:.85rem;display:grid}.flow-page .slider-grid label>span{justify-content:space-between;gap:1rem;display:flex}.flow-page output{color:var(--color-primary);font-variant-numeric:tabular-nums}.flow-page input[type=range]{width:100%;min-height:32px;accent-color:var(--color-primary);cursor:pointer;margin:0}.flow-page small{color:var(--color-text-soft);font-size:.7rem}.flow-page .settings-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.flow-page .settings-footer p{color:var(--color-text-soft);margin:0;font-size:.75rem;line-height:1.6}.flow-page .sharing{margin-top:1rem;font-size:.8rem}.flow-page .feedback{min-height:1.5em;color:var(--color-secondary);line-height:1.6}.flow-page input[type=url]{border:1px solid var(--color-border-strong);width:100%;color:var(--color-text);background:var(--color-surface);border-radius:.5rem;margin-top:.5rem;padding:.8rem}@media (width<=600px){.flow-page .preset-grid{grid-template-columns:1fr}.flow-page .preset{gap:.25rem;padding:.8rem}.flow-page .slider-grid{grid-template-columns:1fr}.flow-page .canvas-footer{padding:.7rem;font-size:.65rem}.flow-page .toolbar button{flex:auto}}.robot-page .head{gap:.75rem;margin-bottom:1.25rem;display:grid}.robot-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.robot-page .desc{max-width:65ch;color:var(--color-text-soft)}.robot-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.robot-page .status.active{color:var(--color-primary)}.robot-page .world{aspect-ratio:16/10;min-height:430px;padding:0;overflow:hidden}.robot-page .world canvas{cursor:grab;width:100%;height:100%;display:block}@media (width<=780px){.robot-page .world{aspect-ratio:4/3;min-height:360px}}.falling-page .head{gap:.75rem;margin-bottom:1.25rem;display:grid}.falling-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.falling-page .desc{max-width:65ch;color:var(--color-text-soft)}.falling-page .meta{color:var(--color-text-muted);font-size:.86rem}.falling-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.falling-page .status.active{color:var(--color-primary)}.falling-page .controls{flex-wrap:wrap;gap:.6rem;display:flex}.falling-page .dock{gap:.7rem;display:grid}.falling-page .reset-wrap{z-index:10001;position:fixed;bottom:1rem;right:1rem}.falling-page .reset-fixed{box-shadow:0 0 18px color-mix(in srgb, var(--color-primary) 30%, transparent)}.falling-page button{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:.5rem;padding:.4rem .85rem;font-family:inherit;font-size:.9rem}.falling-page button:hover,.falling-page button:focus-visible{border-color:var(--color-secondary);color:var(--color-secondary)}.falling-page button:disabled{opacity:.55;cursor:wait}.robot-page .robot-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.robot-page button{font:inherit;border:1px solid var(--color-border-strong);min-width:44px;min-height:44px;color:var(--color-text);background:var(--color-surface-alt);cursor:pointer;border-radius:.5rem;padding:.5rem .8rem}.robot-page button:focus-visible,.robot-page .world:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.robot-page button:disabled{opacity:.5;cursor:default}.robot-page .direction{touch-action:none;-webkit-user-select:none;user-select:none}.robot-page .direction[aria-pressed=true]{color:var(--color-primary);border-color:var(--color-primary)}.robot-page .motion-note,.robot-page .error{color:var(--color-secondary);margin-top:1rem;font-size:.8rem}.falling-layer{pointer-events:none;z-index:9999;position:fixed;inset:0}.diff-page .head{gap:.75rem;margin-bottom:1.25rem;display:grid}.diff-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.diff-page h1{margin:0}.diff-page .desc{max-width:65ch;color:var(--color-text-soft);margin:0}.diff-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.diff-page .status.active{color:var(--color-primary)}.diff-page .controls{flex-wrap:wrap;gap:.5rem;display:flex}.diff-page .mode{border:1px solid var(--color-border-strong);border-radius:.5rem;gap:0;display:inline-flex;overflow:hidden}.diff-page .mode button{border:none;border-radius:0}.diff-page .mode button.active{background:var(--color-surface);color:var(--color-primary)}.diff-page button{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:.5rem;padding:.4rem .85rem;font-family:inherit;font-size:.9rem}.diff-page button:hover,.diff-page button:focus-visible{border-color:var(--color-secondary);color:var(--color-secondary)}.diff-page .inputs{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.diff-page .pane{gap:.5rem;display:grid}.diff-page .pane-head{color:var(--color-text-muted);font-size:.9rem}.diff-page textarea{background:var(--color-surface-alt);min-height:240px;color:var(--color-text);border:1px solid var(--color-border);resize:vertical;border-radius:.6rem;padding:.85rem;font-family:inherit;font-size:.95rem;line-height:1.5}.diff-page textarea:focus-visible{border-color:var(--color-secondary);outline:none}.diff-page .diff-output{gap:.75rem;display:grid}.diff-page .diff-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.diff-page .stats{gap:.75rem;font-size:.9rem;display:flex}.diff-page .added{color:var(--color-primary)}.diff-page .removed{color:#ff6b6b}.diff-page .empty{color:var(--color-text-muted);margin:0}.diff-page .diff{border:1px solid var(--color-border);white-space:pre-wrap;word-break:break-word;background:#050505;border-radius:.5rem;max-height:60vh;margin:0;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.55;overflow-x:auto}.diff-page .line.added{color:var(--color-primary);background:#00ff8826}.diff-page .line.removed{color:#ff6b6b;background:#ff6b6b26;-webkit-text-decoration:line-through #ff6b6b80;text-decoration:line-through #ff6b6b80}.diff-page .line.context{color:var(--color-text-soft)}.screen-page .head,.screen-page .controls{gap:.85rem;display:grid}.screen-page .controls{margin-top:1rem}.screen-page h1,.screen-page p{margin:0}.screen-page .head-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.screen-page .description{max-width:68ch;color:var(--color-text-soft)}.screen-page .actions{flex-wrap:wrap;gap:.6rem;display:flex}.screen-page button{border:1px solid var(--color-primary);background:color-mix(in oklab, var(--color-primary) 15%, transparent);color:var(--color-primary);font:inherit;cursor:pointer;border-radius:.45rem;padding:.45rem .75rem}.screen-page button.ghost{border-color:var(--color-text-soft);color:var(--color-text-soft);background:0 0}.screen-page button:disabled{opacity:.45;cursor:not-allowed}.screen-page .option{color:var(--color-text-soft);align-items:center;gap:.5rem;display:inline-flex}.screen-page .status{border:1px solid;border-radius:999px;padding:.25rem .55rem;font-size:.8rem}.screen-page .status.idle,.screen-page .status.sharing{color:var(--color-primary)}.screen-page .status.error{color:#ff8a80}.screen-page .status-line{font-size:.95rem}.screen-page .status-line.idle{color:var(--color-text-soft)}.screen-page .status-line.sharing{color:var(--color-primary)}.screen-page .status-line.error{color:#ff8a80}.screen-page .source{color:var(--color-secondary);font-size:.9rem}.screen-page .preview{border:1px dashed var(--color-border);background:color-mix(in oklab, var(--color-bg-panel) 82%, black);border-radius:.7rem;padding:.5rem}.screen-page .preview video{background:#000;border-radius:.45rem;width:100%;max-height:min(64vh,580px);display:block}.screen-page .preview[data-active=false] video{min-height:220px}.illusions-page.experiment{gap:1.2rem;display:grid}.illusions-page .heading,.illusions-page .question,.illusions-page .bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.illusions-page .heading .prompt{font-size:.75rem}.illusions-page h1{margin:.6rem 0 0;font-size:clamp(2rem,6vw,3.5rem)}.illusions-page .heading>p{color:var(--color-text-soft);font-size:.85rem}.illusions-page .heading>p span{color:var(--color-primary)}.illusions-page .choices{flex-wrap:wrap;gap:.6rem;display:flex}.illusions-page button{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:.4rem;padding:.7rem 1rem;font-size:.8rem}.illusions-page button:hover{border-color:var(--color-secondary)}.illusions-page button:disabled{opacity:.55;cursor:default}.illusions-page .choices button[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary);background:#0a251a}.illusions-page .choices span{color:var(--color-text-soft);margin-right:.4rem;font-size:.7rem}.illusions-page .question h2{margin:0;font-size:clamp(1rem,2.5vw,1.35rem);line-height:1.5}.illusions-page .question>span{color:var(--color-text-soft);font-size:.75rem}.illusions-page .stage{border:1px solid var(--color-border-strong);background:#171e1a;border-radius:.65rem;overflow:hidden}.illusions-page svg{width:100%;height:auto;display:block}.illusions-page svg text{fill:#e0e0e0;text-anchor:middle;font:22px monospace}.illusions-page .measure{fill:none;stroke:#0cf;stroke-width:2px;stroke-dasharray:5 5}.illusions-page .controls{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.illusions-page .reveal{background:var(--color-primary);color:#052116;border-color:var(--color-primary);font-weight:700}.illusions-page .reveal:hover{background:var(--color-secondary)}.illusions-page .slider{gap:.35rem;min-width:min(100%,260px);margin-left:auto;display:grid}.illusions-page label{justify-content:space-between;gap:1rem;font-size:.8rem;display:flex}.illusions-page output{color:var(--color-secondary)}.illusions-page input{width:100%;height:24px;accent-color:var(--color-primary);margin:0}.illusions-page #slider-help{color:var(--color-text-soft);font-size:.7rem}.illusions-page button:focus-visible,.illusions-page input:focus-visible,.illusions-page a:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px}.illusions-page .answer{border-left:2px solid var(--color-primary);background:#101713;padding:1.2rem;line-height:1.7}.illusions-page .answer strong{font-size:.95rem}.illusions-page p{margin:0}.illusions-page .answer p{max-width:80ch;color:var(--color-text-soft);margin-top:.5rem;font-size:.85rem}.illusions-page .bottom{align-items:start;font-size:.7rem;line-height:1.7}.illusions-page .bottom p{max-width:55ch;color:var(--color-text-soft)}.illusions-page .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.illusions-page .slider{width:100%;margin-top:.5rem;margin-left:0}.illusions-page .choices{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.illusions-page .choices button{padding:.65rem .4rem;font-size:.72rem}.illusions-page .choices span{margin:0 0 .35rem;display:block}}
