:root{--canvas:#f7f7f2;--surface:#ffffff;--ink:#1d2520;--muted:#627068;--line:#dce2da;--accent:#286145;--accent-strong:#17432f;--error:#a63d34;--radius:20px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid #e0ae37;outline-offset:3px}.page-shell{width:min(100%,32rem);margin:0 auto;padding:.8rem .8rem 3rem}.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.brand{margin:0;color:var(--accent);font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.day-label{margin:0;color:var(--muted);font-size:.75rem}.intro{margin:1rem 0 .8rem}.intro h1{margin:0;font-size:clamp(1.65rem,7vw,2.5rem);line-height:1;letter-spacing:-.055em}.intro p{margin:.45rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.4}.game-placeholder{min-height:22rem;display:grid;place-items:center;padding:1rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:var(--surface)}.error-page{display:grid;place-content:center;min-height:100vh;padding:1.5rem;text-align:center}.error-page p{max-width:28rem;color:var(--muted);line-height:1.5}.error-page button{justify-self:center;border:0;border-radius:999px;padding:.65rem 1rem;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.unavailable-state{text-align:center}.unavailable-state h2{color:var(--ink)}.unavailable-state button{border:0;border-radius:999px;padding:.6rem .9rem;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.game-board{padding:.9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 18px 50px rgba(29,37,32,.06)}.puzzle-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;font-weight:700}.game-board>h2{margin:.55rem 0 0;font-size:1.45rem;letter-spacing:-.04em}.clue{margin:.4rem 0;color:var(--muted);line-height:1.45}.disclosure{margin:.55rem 0 .65rem;color:var(--accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.picker{display:grid;grid-gap:.6rem;gap:.6rem}.sv-surface{position:relative;height:min(32vh,230px);min-height:190px;overflow:hidden;border-radius:14px;touch-action:none}.picker-marker{position:absolute;width:1.15rem;height:1.15rem;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.35);transform:translate(-50%,50%)}.surface-guidance{position:absolute;z-index:2;padding:.2rem .4rem;border-radius:999px;background:rgba(24,67,47,.9);color:#fff;font-size:.65rem;font-weight:800}.surface-guidance.horizontal{right:.45rem;top:50%;transform:translateY(-50%)}.surface-guidance.vertical{left:.45rem;top:.45rem}.hue-guidance{font-size:.68rem}.close-summary,.hue-guidance{display:block;color:var(--accent);font-weight:800}.close-summary{margin-top:.2rem;font-size:.72rem}.guess-marker{position:absolute;display:grid;place-items:center;width:1.25rem;height:1.25rem;border:1px solid #fff;border-radius:50%;background:rgba(20,20,20,.72);color:#fff;font-size:.65rem;font-weight:800;transform:translate(-50%,50%)}.picker-controls{display:grid;grid-gap:.65rem;gap:.65rem}.picker-controls label{display:grid;grid-template-columns:7.5rem 1fr;align-items:center;grid-gap:.5rem;gap:.5rem;color:var(--muted);font-size:.82rem;font-weight:700}.picker-controls label span{display:grid}.picker-controls label small{font-size:.65rem;font-weight:400}.picker-controls input{width:100%;accent-color:var(--accent)}.answer-row,.selected-color{display:flex;align-items:center;gap:.7rem}.answer-swatch,.history-swatch,.selected-swatch{display:inline-block;width:1.65rem;height:1.65rem;border:1px solid rgba(0,0,0,.12);border-radius:50%}.answer-row code,.selected-color output{font-weight:800;letter-spacing:.04em}.lock-button{width:100%;min-height:3rem;margin-top:.75rem;border:0;border-radius:999px;background:var(--accent);color:#fff;cursor:pointer;font-weight:800}.lock-button:hover:not(:disabled){background:var(--accent-strong)}.lock-button:disabled{cursor:not-allowed;opacity:.55}.inline-error{color:var(--error);line-height:1.4}.duplicate-note{margin:.35rem 0 0;color:var(--error);text-align:center;font-size:.75rem}.how-to-play{border:0;padding:0;background:transparent;color:var(--accent);font-size:.76rem;font-weight:800;text-decoration:underline;cursor:pointer}.onboarding{margin:.45rem 0 .65rem;padding:.85rem;border:1px solid #d5d9c6;border-radius:12px;background:#f2f0df}.onboarding h3,.onboarding p{margin:0}.onboarding h3{margin-top:.15rem;font-size:1rem}.onboarding>p:not(.onboarding-progress){margin-top:.35rem;color:var(--muted);font-size:.8rem;line-height:1.4}.onboarding-progress{color:var(--accent);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.onboarding-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.7rem}.onboarding-actions button{border:0;border-radius:8px;padding:.38rem .65rem;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.onboarding-actions button:first-child{background:transparent;color:var(--accent);text-decoration:underline}.latest-feedback{display:flex;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding:.7rem .8rem;border-radius:12px;background:#edf3e9;font-size:.8rem}.latest-feedback span{color:var(--accent-strong);font-weight:700}.history{margin-top:1.5rem}.history h2,.result-panel h2{margin:0;font-size:1rem}.history ol{display:grid;grid-gap:.6rem;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none}.history li{color:var(--muted);font-size:.8rem}.history-row{display:grid;width:100%;grid-template-columns:2rem 1fr auto;align-items:center;grid-gap:.55rem;gap:.55rem;border:0;padding:.45rem;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}.history li[data-expanded] .history-row{background:#edf3e9}.history li strong{color:var(--ink)}.history-details{display:grid;grid-gap:.45rem;gap:.45rem;padding:.3rem .45rem .55rem 2.55rem}.history-details button,.review-history{width:-moz-fit-content;width:fit-content;border:0;padding:0;background:transparent;color:var(--accent);font-weight:800;text-decoration:underline;cursor:pointer}.review-history{margin-top:1.25rem}.score-delta{grid-column:3;color:var(--accent);font-size:.7rem;font-style:normal;font-weight:800}.result-space{min-height:2rem;margin-top:1.25rem}.result-panel{padding:1.25rem;border-radius:14px;background:#edf3e9}.result-kicker{margin:0 0 .25rem;color:var(--accent);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.result-panel h2{font-size:1.35rem}.result-panel>p{color:var(--muted);line-height:1.5}.rationale{font-weight:700}.result-comparison{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;margin:1rem 0}.result-comparison div{display:grid;grid-template-columns:2.75rem 1fr;align-items:center;grid-gap:.25rem .6rem;gap:.25rem .6rem}.result-comparison span{grid-column:1/-1;color:var(--muted);font-size:.72rem;font-weight:700}.result-comparison i{grid-row:2/4;width:2.75rem;height:2.75rem;border-radius:10px;border:1px solid rgba(0,0,0,.12)}.share-button{width:100%;min-height:2.75rem;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font-weight:800;cursor:pointer}.countdown{margin-bottom:0;text-align:center;font-size:.8rem}.practice-mode{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.practice-mode h3{margin:0}.practice-mode label,.practice-mode>p:not(.result-kicker){color:var(--muted);font-size:.8rem}.practice-mode label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.practice-mode input{width:100%;accent-color:var(--accent)}.practice-surface{position:relative;height:9rem;margin:.65rem 0;overflow:hidden;border-radius:12px}.practice-preview{display:flex;align-items:center;gap:.5rem;margin:.65rem 0}.practice-preview i{width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.practice-mode button{width:100%;min-height:2.5rem;border:0;border-radius:999px;background:var(--accent);color:white;font-weight:800}.practice-mode>strong{display:block;margin-top:.6rem;text-align:center}.practice-stats{margin:.35rem 0 0;color:var(--muted);text-align:center;font-size:.75rem}@media (min-width:640px){.page-shell{padding-top:2rem}}