:root{--bg:#f5f1e8;--surface:#fff;--ink:#22252b;--muted:#6b6f76;--line:#e2dccf;--accent:#d9481c;--accent-strong:#b93a12;--wrong:#d64541;--near:#e6b11e;--skip:#b5aea2;--correct:#2f9e55;--far:#3d7cc9;--closer:#ec7a1c;--hot:#d64541;--raised:#faf7f1;--correct-bg:#e8f5ec;--banner-bg:#fff4cc;--glass:#ffffffd9;--stage-1:#fff;--stage-2:#f1ece2;--stage-3:#e6dfd2;--radius:.875rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16181c;--surface:#23262c;--raised:#2c3037;--ink:#ecebe6;--muted:#a2a6ad;--line:#3a3e46;--accent:#ec5b2c;--accent-strong:#ff7448;--wrong:#ec5f5b;--near:#f0c040;--skip:#6c6f76;--correct:#3fb768;--far:#5b98e0;--closer:#f28c3a;--hot:#ec5f5b;--correct-bg:#1d3526;--banner-bg:#3a3320;--glass:#23262cd9;--stage-1:#30343c;--stage-2:#24272d;--stage-3:#1b1d22;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#16181c;--surface:#23262c;--raised:#2c3037;--ink:#ecebe6;--muted:#a2a6ad;--line:#3a3e46;--accent:#ec5b2c;--accent-strong:#ff7448;--wrong:#ec5f5b;--near:#f0c040;--skip:#6c6f76;--correct:#3fb768;--far:#5b98e0;--closer:#f28c3a;--hot:#ec5f5b;--correct-bg:#1d3526;--banner-bg:#3a3320;--glass:#23262cd9;--stage-1:#30343c;--stage-2:#24272d;--stage-3:#1b1d22;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);margin:0}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{max-width:30rem;min-height:100svh;padding:max(.5rem, env(safe-area-inset-top)) 1rem max(.5rem, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.brand{align-items:center;gap:.5rem;min-width:0;display:flex}.brand h1{letter-spacing:-.02em;min-width:0;margin:0;font-size:1.5rem}.brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:2rem;display:block}:root[data-theme=dark] .brand-logo{filter:drop-shadow(0 0 1px #ffffff8c)}.puzzle-number{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.logo{background:var(--accent);width:1.6rem;height:.95rem;box-shadow:inset 0 -.18rem 0 var(--accent-strong);border-radius:.2rem;margin-top:.3rem;position:relative}.logo:before,.logo:after{content:"";background:var(--accent);border-radius:.12rem .12rem 0 0;width:.5rem;height:.3rem;position:absolute;top:-.28rem}.logo:before{left:.2rem}.logo:after{right:.2rem}.actions{gap:.4rem;display:flex}.icon-button{border:2px solid var(--line);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.icon-button svg{fill:currentColor}.icon-button svg.stroke,.icon-button .stroke{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.icon-button.small{width:2.1rem;height:2.1rem}.theme-sun,:root[data-theme=dark] .theme-moon{display:none}:root[data-theme=dark] .theme-sun{display:block}@media (width<=24rem){.icon-button{width:2.2rem;height:2.2rem}.actions{gap:.3rem}}.day-banner{border-radius:var(--radius);background:var(--banner-bg);justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .5rem;padding:.4rem .4rem .4rem .75rem;font-size:.85rem;display:flex}.day-banner p{margin:0}.button.small{flex:none;padding:.4rem .7rem;font-size:.85rem;text-decoration:none}.play{--play-gap:.5rem;gap:var(--play-gap);flex-direction:column;flex:auto;display:flex}.stage{background:radial-gradient(circle at 50% 30%, var(--stage-1) 0%, var(--stage-2) 55%, var(--stage-3) 100%);border-radius:1.25rem;flex:1 1 0;width:100%;min-height:8rem;position:relative;overflow:hidden}.stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage.turnable canvas{cursor:grab;touch-action:none}.stage.turnable canvas:active{cursor:grabbing}.stage-cover{background:radial-gradient(circle at 50% 30%, var(--stage-1) 0%, var(--stage-2) 55%, var(--stage-3) 100%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex;position:absolute;inset:0}.cover-title{margin:0;font-size:1.5rem;font-weight:800}.cover-text{max-width:18rem;color:var(--muted);margin:0 0 .5rem}.turn-button{border:2px solid var(--line);background:var(--glass);width:2.5rem;height:2.5rem;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.75rem}.turn-button.left{left:.75rem}.turn-button.right{right:.75rem}.turn-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.turn-button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.turn-hint{background:var(--glass);color:var(--muted);white-space:nowrap;pointer-events:none;border-radius:999px;margin:0;padding:.2rem .7rem;font-size:.8rem;position:absolute;bottom:1.35rem;left:50%;transform:translate(-50%)}.stage-message{color:var(--muted);text-align:center;place-items:center;margin:0;padding:1.5rem;display:grid;position:absolute;inset:0}.meter{align-items:center;gap:.75rem;display:flex}.meter-bar{background:var(--line);border-radius:999px;flex:1;height:.5rem;overflow:hidden}.meter-fill{border-radius:inherit;background:var(--accent);width:0;height:100%}.meter-label{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;min-width:7.5rem;font-size:.9rem;font-weight:600}.hints{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex;container-type:inline-size}@container (width<=25rem){.hint-label{display:none}}.hint{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:.45rem;min-height:2.25rem;padding:.3rem .8rem;font-size:.9rem;display:flex}.hint-category{border-color:color-mix(in srgb, var(--cat) 45%, transparent);background:color-mix(in srgb, var(--cat) 14%, var(--surface))}.hint-dot{background:var(--cat);border-radius:.2rem;flex:none;width:.7rem;height:.7rem;box-shadow:inset 0 -2px #0003}.hint-label{color:var(--muted);font-size:.8rem}.hint-category .hint-value{color:color-mix(in srgb, var(--cat) 70%, var(--ink))}.hint-value{white-space:nowrap;font-weight:800}.hint-letters{flex:auto;justify-content:space-between}.hint-letters.is-waiting{visibility:hidden}.letter-tiles{flex-wrap:wrap;align-items:flex-end;gap:.3rem;display:flex}.letter-group{gap:2px;display:flex}.letter-tile{background:var(--tile);border-radius:3px;width:.85rem;height:.95rem;margin-top:.25rem;position:relative;box-shadow:inset 0 -3px #00000038}.letter-tile:before{content:"";background:var(--tile);border-radius:1px 1px 0 0;width:.51rem;height:.25rem;position:absolute;top:-.25rem;left:.17rem}.letter-gap{width:.2rem}.letter-dash{color:var(--muted);font-weight:800;line-height:.9}.feedback{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-height:1.35em;margin:0;font-size:.95rem;font-weight:700;line-height:1.35;overflow:hidden}.feedback.collapsible:empty{display:none}.guess-form{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;display:grid}.guess-form.is-waiting{visibility:hidden}.guess-form .button{padding:.7rem .9rem}.guess-form input{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;color:var(--ink);font:inherit;padding:.7rem .85rem;font-size:1.1rem}.guess-form input:focus{border-color:var(--ink);outline:none}.button{border-radius:var(--radius);font:inherit;cursor:pointer;border:2px solid #0000;padding:.75rem 1.1rem;font-weight:700}.button.primary{background:var(--accent);color:#fff}.button.primary:active{background:var(--accent-strong)}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button:focus-visible,.icon-button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.result{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:1rem;padding:.5rem .75rem .6rem}.result-head{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .4rem;display:flex}.result-head h2{margin:0;font-size:1.15rem}.result-head p{margin:0}.result-info{color:var(--muted);font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:.85rem}.result-actions{justify-content:center;gap:.5rem;margin:.5rem 0 0;display:flex}.result-actions .button{padding:.55rem .9rem}.share-fallback{width:100%;min-height:5.5rem;font:inherit;margin-top:.5rem}.guesses{--guess-row:2.75rem;--guess-gap:.375rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:var(--guess-row);gap:var(--guess-gap);min-height:calc(2 * var(--guess-row) + var(--guess-gap));max-height:calc(2 * var(--guess-row) + var(--guess-gap));margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.guesses:empty{border:2px dashed var(--line);border-radius:.6rem;align-content:center}.guesses:empty:before{content:attr(data-empty);color:var(--muted);text-align:center;grid-column:1/-1;padding:0 .75rem;font-size:.85rem}.guess{background:var(--surface);--band:var(--skip);border:2px solid #0000;border-radius:.6rem;flex-direction:column;justify-content:center;gap:.1rem;min-width:0;padding:.2rem .5rem;display:flex;position:relative}.guess.latest{border-color:var(--ink)}.guess.far{--band:var(--far)}.guess.near{--band:var(--near)}.guess.closer{--band:var(--closer)}.guess.hot{--band:var(--hot)}.guess.correct{--band:var(--correct);background:var(--correct-bg)}.guess-text{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;line-height:1.2;overflow:hidden}.guess-detail{align-items:center;gap:.3rem;min-height:.95rem;display:flex}.guess-band{color:var(--muted);font-size:.75rem;line-height:1.2}.guess.correct .guess-band{color:var(--correct);font-weight:700}.proximity-bar{flex:1;gap:1px;min-width:0;display:flex}.proximity-bar span{background:var(--line);border-radius:2px;flex:1;max-width:.55rem;height:.7rem}.proximity-bar span.on{background:var(--band);box-shadow:inset 0 -2px #0000002e}.guess-score{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:800;line-height:1.2}.site-footer{text-align:center;margin-top:.5rem;font-size:.85rem}@media (height<=37.5rem){.app{padding-top:max(.35rem, env(safe-area-inset-top));padding-bottom:max(.35rem, env(safe-area-inset-bottom))}.topbar,.day-banner{margin-bottom:.35rem}.day-banner{padding-block:.25rem}.day-banner .button.small{padding-block:.3rem}.play{--play-gap:.35rem}.icon-button{width:2.1rem;height:2.1rem}.hint{min-height:2.1rem}.guesses{--guess-row:2.5rem}.guess{gap:0;padding-block:.1rem}.guess-form input,.guess-form .button{padding-block:.55rem}.result{padding-block:.35rem .45rem}.result-info{margin-top:0}.result-actions,.site-footer{margin-top:.35rem}}@media (width>=40rem) and (height<=40rem){.app{max-width:60rem}.play{grid-template-rows:repeat(5,auto) 1fr;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);gap:0 1rem;display:grid}.stage{grid-area:1/1/-1}.play>:not(.stage){grid-column:2}.play>:not(.stage)+:not(.stage){margin-top:var(--play-gap)}}.link-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.credits a{color:var(--accent-strong)}dialog{background:var(--surface);width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ink);border:0;border-radius:1.25rem;padding:1.25rem;overflow-y:auto}dialog::backdrop{background:#14141873}dialog h2{margin-top:0}dialog h3{margin:1.25rem 0 .5rem;font-size:1rem}dialog ul{padding-left:1.2rem}dialog li{margin:.3rem 0}dialog form{text-align:right;margin-top:1rem}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.stat{flex-direction:column;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:800}.stat-label{color:var(--muted);font-size:.75rem}.distribution{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.bar-row{align-items:center;gap:.5rem;display:flex}.bar-label{font-variant-numeric:tabular-nums;flex:none;width:4.5rem;font-size:.85rem;font-weight:700}.bar{background:var(--skip);color:#fff;text-align:right;border-radius:.3rem;padding:.1rem .5rem;font-size:.85rem;font-weight:700}.bar.today{background:var(--correct)}.summary{padding-top:1rem}.summary form.dialog-close{z-index:1;justify-content:flex-end;height:0;margin:0;display:flex;position:sticky;top:0}.summary h2{margin:1.25rem 0 .75rem}.summary-result{text-align:center;margin:.5rem 0 0;padding:.25rem 2.25rem 0}.summary-badge{margin:0 0 .35rem;font-size:1.6rem;font-weight:800}.summary-badge.lost{color:var(--wrong)}.summary-badge.won{color:var(--correct)}.summary-result p{margin:.25rem 0}.summary-detail{color:var(--muted)}.summary-result .button{margin-top:.75rem}.countdown{background:var(--raised);text-align:center;border-radius:1rem;margin:1rem 0 0;padding:.85rem 1rem 1rem}.countdown-label{color:var(--muted);margin:0 0 .4rem;font-weight:700}.countdown-clock{justify-content:center;gap:.5rem;display:flex}.countdown-unit{border:1px solid var(--line);background:var(--surface);border-radius:.7rem;flex-direction:column;align-items:center;min-width:4.6rem;padding:.4rem .3rem;display:flex}.countdown-value{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1.1}.countdown-name{color:var(--muted);font-size:.75rem}.countdown .button{text-decoration:none;display:inline-block}.archive-note{color:var(--muted);margin:0 0 .6rem;font-size:.85rem}.archive{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=22rem){.archive{grid-template-columns:repeat(2,1fr)}.countdown-unit{min-width:3.9rem}}.day-tile{border:1px solid var(--line);border-top:4px solid var(--cat);background:var(--surface);height:100%;color:var(--ink);border-radius:.6rem;flex-direction:column;gap:.15rem;padding:.5rem .55rem .45rem;text-decoration:none;display:flex}a.day-tile:hover{background:var(--raised)}a.day-tile:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.day-tile[aria-current=page]{border-color:var(--ink);border-top-color:var(--cat);background:var(--raised)}.day-top{justify-content:space-between;gap:.25rem;font-size:.75rem;display:flex}.day-number{font-variant-numeric:tabular-nums;font-weight:800}.day-date{color:var(--muted)}.day-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;overflow:hidden}.day-status{color:var(--accent-strong);font-size:.78rem;font-weight:700}.day-tile.won .day-status{color:var(--correct)}.day-tile.lost .day-status{color:var(--wrong)}.archive-more{width:100%;margin-top:.6rem}.confetti{pointer-events:none;z-index:10;width:100%;height:100%;position:fixed;inset:0}
