:root{--cream:#f8f6ef;--paper:#fffefa;--off:#eeece4;--ink:#252b28;--ink-soft:#47534e;--muted:#667069;--brand:#5458a7;--brand-deep:#414581;--hot:#b43f64;--teal:#21745b;--sun:#efc969;--mint:#cce5d9;--coral:#e9a987;--shadow:0 8px 26px #252b2808;--shadow-sm:0 2px 0 #252b2815}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--cream);background-image:none;color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif}body{margin:0;padding:0;display:block;overflow-x:visible}body::before{display:none}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #5559ad;outline-offset:4px}button:disabled{opacity:.48}[hidden]{display:none!important}.site-header{position:relative;z-index:3;max-width:1152px;margin:0 auto;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded5;gap:20px}.site-brand{white-space:nowrap;display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Fredoka',system-ui,sans-serif;font-size:22px;font-weight:500;letter-spacing:-.4px}.site-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--ink);color:#fffefa;font-size:29px;line-height:1;transform:rotate(-5deg);padding-bottom:4px}.brand-period{color:var(--teal)}.site-links{display:flex;gap:24px;align-items:center;padding:0;margin:0}.site-links>a{font-size:13px;font-weight:600;text-decoration:none}.site-button{border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--paper);padding:11px 17px;min-height:44px;font-weight:600;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.site-button:hover{background:#3a4540}.site-button.quiet{background:transparent;color:var(--ink);border-color:#cdd1c7}.site-button.quiet:hover{background:var(--off)}.skip-link{position:fixed;top:-80px;left:16px;background:var(--ink);color:white;padding:12px;z-index:1000}.skip-link:focus{top:10px}.site-footer{max-width:1096px;margin:54px auto 0;padding:26px 0 30px;border-top:1px solid #dcded5;display:flex;gap:20px;justify-content:space-between;font-size:12px;color:var(--muted);text-align:left;line-height:1.6}.site-footer a{font-weight:600;color:var(--ink);text-decoration:none}.site-dialog{width:min(92vw,490px);max-height:85vh;overflow:auto;border:1px solid #cdd1c7;border-radius:18px;background:var(--paper);padding:28px;color:var(--ink);box-shadow:0 20px 90px #0003;line-height:1.6}.site-dialog::backdrop{background:#202a2455;backdrop-filter:blur(3px)}.site-dialog h2{font-family:'Fredoka',sans-serif;font-size:28px;font-weight:500;margin:0 0 18px}.site-dialog ol{padding-left:22px}.site-dialog li{margin:14px 0}.site-dialog textarea{width:100%;min-height:180px;padding:12px;border:1px solid #adb6ac;border-radius:8px}.progress-numbers{display:flex;gap:50px;margin:26px 0}.progress-numbers strong{display:block;font-size:40px}.progress-numbers span{display:block;font-size:13px}.site-notice,.new-day{padding:14px 20px;background:#fff0be;color:var(--ink);text-align:center;position:relative;z-index:100}.eyebrow-small{text-transform:uppercase;font-size:11px;letter-spacing:1.6px;font-weight:600;color:var(--muted)}.game-page>.wrap,.game-page>.app{margin:30px auto 0;padding:0 20px;width:100%;max-width:740px;text-align:center}.game-page h1.game-title{font-size:clamp(34px,6vw,48px);font-family:'Fredoka',sans-serif;font-weight:500;line-height:1.1;letter-spacing:-1.5px;text-shadow:none;transform:none;margin:12px 0 9px}.game-page .sub,.game-page .subtitle{font-size:12px;letter-spacing:.3px;text-transform:none;color:var(--muted);margin:0 0 18px;font-weight:400}.game-page header{margin-bottom:0}.game-tools{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0;color:var(--muted);font-size:12px}.game-tools .site-button{font-size:12px;min-height:36px;padding:7px 11px}.game-page .panel,.game-page .stage{border:1px solid #d2d8cc;border-radius:18px;background:var(--paper);box-shadow:var(--shadow);padding:28px;margin-top:0}.game-page .stage::before,.game-page .stage::after{display:none}.game-page .btn{font-family:'Space Grotesk',sans-serif;border:1px solid #cdd1c7;box-shadow:none;border-radius:9px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;min-height:46px;padding:12px 20px;transform:none}.game-page .btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 #252b2812}.game-page .btn.primary,.game-page .btn.go,.game-page .btn.next{background:var(--ink);border-color:var(--ink);color:var(--paper)}.game-page .btn.share{background:#e5ecdf;color:var(--ink);border-color:#c8d6bc}.game-page .btn.ghost{background:transparent;color:var(--ink)}.game-page .btn-row{gap:10px;flex-wrap:wrap}.game-page .prompt{font-size:15px;line-height:1.65;font-weight:400;color:var(--ink-soft)}.game-page .status,.game-page .round-header{font-size:12px;letter-spacing:.1px;font-weight:500;border-bottom:1px solid #e1e5dc;padding-bottom:14px;margin-bottom:20px}.game-page .scoreline{background:transparent;border:0;box-shadow:none;gap:18px;margin:28px 0;font-size:12px;color:var(--muted);flex-wrap:wrap}.game-page .scoreline .num{font-size:29px;font-weight:500;color:var(--ink);text-shadow:none}.game-page .bigscore-card,.game-page .total-card{border:1px solid #cbd8c4;background:#ecf2e7;border-radius:14px;box-shadow:none;transform:none;max-width:100%;padding:22px}.game-page .bigscore,.game-page .total-num{font-size:clamp(28px,7vw,46px);color:var(--ink);text-shadow:none;line-height:1.2}.game-page .final .label{font-size:12px;letter-spacing:1px;color:var(--muted)}.game-page .flavor,.game-page .flavor-sub{color:var(--ink-soft)}.game-page .footer-note,.game-page .footer,.game-page .hint{font-size:12px;color:var(--muted);line-height:1.65}.play-next{display:flex;flex-direction:column;gap:10px;padding:24px 18px;margin:22px 0;border-radius:12px;background:#eeefe7}.play-next a{font-size:15px;font-weight:600;text-decoration:none}.game-page .speech{box-shadow:none;border:1px solid #d2d8cc;background:var(--cream);font-size:14px;line-height:1.65;font-weight:400}.game-page .speech::before,.game-page .speech::after{display:none}.game-page .character{width:130px;height:130px;margin:0 auto 12px}.game-page .tip{font-size:12px;border:0;color:var(--muted)}.game-page .target-display .num{text-shadow:none}.game-page .rounds .r{box-shadow:none;border:1px solid #dde2d7}.game-page input[type=text]{font-size:16px;min-width:0;border:1px solid #b8c3b4;border-radius:8px;box-shadow:none}.game-page .guess-form,.game-page .next-form{flex-wrap:wrap}.game-page .clue,.game-page .chain-pill{box-shadow:none;border-width:1px}.game-page .chain-pill{min-width:0}.game-page .chain-row{min-width:0}.game-page .word-display{overflow-wrap:anywhere}.game-page .cell{border-width:1px;box-shadow:none}.game-page button.cell{padding:0;min-width:0}.game-page .cell.correct::after{content:'✓';color:#102e22}.game-page .cell.wrong::after{content:'×';color:#361413}.game-page .cell.missed::after{content:'·';color:var(--ink)}.game-page .cell.pick{outline:2px solid var(--ink);outline-offset:-3px}.game-page .ngrid{max-width:420px}.game-page button.ncell{font:inherit;font-weight:600;padding:0;min-width:0}.game-page .ncell.adjacent{border:2px solid var(--teal);box-shadow:none}.game-page .ncell.adjacent:focus-visible{outline-offset:2px}.game-page .bisector-canvas{max-height:360px;max-width:360px}.game-page .map-wrap{border-width:1px;box-shadow:none}.game-page .zoom-btn{min-width:38px;min-height:38px}.game-page .color-picker-2d:focus-visible{outline-offset:5px}.game-page .signal{box-shadow:none}.game-page .panel .display .box{box-shadow:none;border-width:1px}.pin-actions{display:flex;justify-content:center;margin:18px 0}.map-cursor{fill:none;stroke:#252b28;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.game-page .keyboard-hint{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0}.game-page .final .rounds{flex-wrap:wrap}
@media(max-width:650px){.site-header{padding:18px 18px;gap:10px}.site-brand{font-size:18px;gap:8px}.site-mark{width:30px;height:30px;font-size:25px}.site-links{gap:9px}.home-page .site-links>a{display:none}.nav-long{display:none}.site-links .site-button{white-space:nowrap}.site-links>a{font-size:12px;white-space:nowrap}.site-links .site-button{font-size:11px;padding:8px 10px;min-height:38px}.site-footer{margin:35px 20px 0;flex-direction:column;gap:8px;padding-top:20px}.game-page>.wrap,.game-page>.app{padding:0 14px;margin-top:25px}.game-page .panel,.game-page .stage{padding:20px 14px}.game-page .scoreline{gap:14px}.game-page .scoreline .num{font-size:23px}.game-page .btn{padding:11px 15px}.game-page .chain-pill .meta{font-size:9px}.game-page .word-display{font-size:21px}.game-page .chain-num{width:24px;flex-shrink:0}.game-page .guess-form>input{width:100%}.game-page .rounds .r{min-width:48px}.game-page .bisector-canvas{max-width:100%}.game-page .btn-row{margin-top:18px}.game-page .signal{max-width:100%}.game-page .panel .display .val{font-size:36px}}
@media(max-width:370px){.game-page .site-brand>span:last-child{display:none}.site-header{padding:16px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#confetti{display:none}}


/* Keep the game surface quiet and the puzzle's own signals prominent. */
.game-page .panel::before,.game-page .panel::after{display:none}
.game-page .bisector-canvas,.game-page .world-map{box-shadow:none;border:1px solid #a9b5a1;border-radius:12px}
.game-page .target-card{box-shadow:none;transform:none;border-radius:12px}
.game-page .target-card .tc-cat{color:#c8dcca}
.game-page .chain-pill.current{color:var(--paper);background:var(--ink)}
.game-page .chain-pill.current .meta{color:#c7d7c1}
.game-page .chain-pill.solved{background:#e3edde;color:var(--ink)}
.game-page .chain-pill.start{background:#e5e7f0;color:var(--ink)}
.game-page .chain-pill.solved .meta,.game-page .chain-pill.start .meta{color:#53634d}
.game-page .clue-reveal-btn{min-height:40px;font-size:11px;border-width:1px;box-shadow:none}
.game-page .intro-startword{box-shadow:none;transform:none;background:#e3edde;color:var(--ink);border:1px solid #c0ceb6}
.game-page .bigscore-card .stars{color:#785b16}
.game-page .toast{pointer-events:none}
.game-page .ncell:disabled{opacity:1;cursor:default}
.new-game .result-board button:disabled{opacity:1}
.game-page .signal .signal-label{color:var(--paper)}
