:root{--cream: #f2ead8;--cream-2: #e9dfc7;--ink: #221c14;--crimson: #c9332e;--gold: #e9a820;--cyan: #2f8f9d;--lavender: #8a86c2;--border: 3px solid var(--ink);--shadow: 8px 8px 0 var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Space Grotesk,Helvetica Neue,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E")}h1,.kicker,.btn,.banner,.stat-num{font-family:Archivo Black,Arial Black,sans-serif;text-transform:uppercase}em{font-family:Playfair Display,Georgia,serif}.hero{position:relative;padding:9vh 6vw 7vh;text-align:center;border-bottom:var(--border);overflow:hidden}.hero h1{font-size:clamp(2.6rem,9vw,6rem);line-height:.92;margin:1rem 0}.kicker{display:inline-block;font-size:clamp(.65rem,1.4vw,.9rem);letter-spacing:.35em;background:var(--ink);color:var(--cream);padding:.55em 1.2em}.sub{font-size:clamp(1rem,2.4vw,1.5rem);max-width:36em;margin:0 auto}.hero-shape{position:absolute;z-index:0}.hero-shape.circle{border-radius:50%}.hero-shape.crimson{width:30vmin;height:30vmin;background:var(--crimson);top:10%;left:-10vmin}.hero-shape.star{width:26vmin;height:26vmin;top:8%;right:4%;background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.hero>*{position:relative;z-index:1}.hero>.hero-shape{z-index:0}.game{max-width:760px;margin:0 auto;padding:6vh 5vw}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:var(--border);background:var(--cream-2);padding:.8rem 1.1rem;font-size:.95rem;flex-wrap:wrap}.status-bar b{font-family:Archivo Black,sans-serif}.status-actions{display:flex;gap:.5rem}.btn{border:var(--border);background:var(--crimson);color:var(--cream);padding:.45em 1em;font-size:.8rem;cursor:pointer;transition:transform .08s,box-shadow .08s;box-shadow:4px 4px 0 var(--ink)}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:var(--cream);color:var(--ink)}.banner{margin-top:1.5rem;border:var(--border);box-shadow:var(--shadow);padding:1.4rem;text-align:center;font-size:1.05rem;line-height:1.6;background:var(--gold)}.banner.win{background:var(--cyan);color:var(--cream)}.banner.win .secret{color:var(--cream)}.banner .secret{font-family:Playfair Display,Georgia,serif;font-style:italic;text-transform:none;font-size:1.3em;color:var(--crimson)}.guess-form{display:flex;gap:.8rem;margin-top:1.5rem}#guessInput{flex:1;font-family:ui-monospace,monospace;font-size:1.15rem;padding:.8rem 1rem;border:var(--border);background:var(--cream);color:var(--ink);box-shadow:var(--shadow)}#guessInput:focus{outline:3px solid var(--cyan);outline-offset:2px}#guessInput:disabled{opacity:.5}.btn.solve{font-size:1.3rem;padding:.5em 1.1em;box-shadow:var(--shadow)}.error{border-left:4px solid var(--crimson);padding:.4rem 0 .4rem 1rem;color:var(--crimson);font-weight:700}.guesses{margin-top:2rem;display:flex;flex-direction:column;gap:.9rem}.guess-card{border:var(--border);background:var(--cream);padding:.9rem 1.1rem}.guess-card.winner{background:var(--gold)}.guess-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.guess-expr{font-family:ui-monospace,monospace;font-size:1rem;overflow-wrap:anywhere}.guess-num{opacity:.55;margin-right:.5em}.guess-score{font-family:Archivo Black,sans-serif;font-size:1.1rem;white-space:nowrap}.heat-bar{margin-top:.55rem;height:10px;border:2px solid var(--ink);background:var(--cream-2)}.heat-fill{height:100%;transition:width .35s ease}.guess-meta{margin-top:.45rem;display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85;flex-wrap:wrap}.howto{margin-top:3rem;border:var(--border);background:var(--cream-2);padding:1.1rem 1.3rem}.howto summary{cursor:pointer;font-family:Archivo Black,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}.howto div{padding-top:.8rem;line-height:1.7;font-size:.95rem}.expr{font-family:ui-monospace,monospace;font-size:.88em;background:var(--ink);color:var(--cream);padding:.1em .45em;border-radius:3px;white-space:nowrap}.colophon{text-align:center;padding:6vh 6vw 8vh}.ornament{height:26px;margin:0 auto 1.6rem;max-width:480px;background:radial-gradient(circle at 10px 13px,var(--crimson) 6px,transparent 7px),radial-gradient(circle at 30px 13px,var(--gold) 6px,transparent 7px),radial-gradient(circle at 50px 13px,var(--cyan) 6px,transparent 7px),radial-gradient(circle at 70px 13px,var(--lavender) 6px,transparent 7px);background-size:80px 26px;background-repeat:repeat-x;background-position:center}.colo-title{font-family:Archivo Black,sans-serif;letter-spacing:.3em;margin:0 0 .4rem}.colophon p{margin:.3rem 0}.colophon a{color:var(--crimson)}.colo-small{font-size:.8rem;opacity:.7}.loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-size:1.1rem}@media(prefers-reduced-motion:reduce){.grain{display:none}.heat-fill{transition:none}}
