:root{--bg:#eef5f8;--surface:#fff;--surface-2:#e3eef3;--text:#0f2531;--muted:#4f6573;--border:#c9d9e1;--accent:#0e6a8f;--accent-text:#fff;--match:#0b6fb0;--match-text:#fff;--partial:#f0954e;--partial-text:#1f1205;--miss:#46576a;--miss-text:#fff;--empty:#dbe7ed;--shadow:0 1px 3px #0f25311f;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a1820;--surface:#10242f;--surface-2:#163140;--text:#e4eef3;--muted:#9fb4c0;--border:#27414f;--accent:#3fa7d1;--accent-text:#04131b;--match:#1b78b8;--partial:#e8894a;--miss:#34424f;--empty:#182e3b;--shadow:0 1px 3px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.hc{--match:#004e85;--match-text:#fff;--partial:#ffb000;--partial-text:#000;--miss:#1c252e;--miss-text:#fff}:root.hc .tile:not(.empty){outline:2px solid var(--text);outline-offset:-2px}:root.hc .tile-mark{opacity:1;font-size:.85rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}button,input{font:inherit;color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.logo{letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:800}.puzzle-no{color:var(--muted);font-size:.9rem;font-weight:600}.icon-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:inline-grid}.icon-btn:hover{border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:16px}.footer{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:16px;font-size:.8rem;display:flex}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:4px;text-decoration:underline}.credits{max-height:40vh;padding-left:1.2em;font-size:.85rem;overflow-y:auto}.credits li{margin:3px 0}.status{text-align:center;color:var(--muted)}.small{color:var(--muted);font-size:.85rem}.silhouette-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;max-width:360px;margin:0 auto 16px;padding:12px;overflow:hidden}.silhouette{aspect-ratio:2;object-fit:contain;width:100%;height:auto;transition:filter .6s;display:block}.blur-0{filter:blur(24px)}.blur-1{filter:blur(16px)}.blur-2{filter:blur(10px)}.blur-3{filter:blur(6px)}.blur-4{filter:blur(3px)}.blur-5{filter:none}.silhouette-caption{color:#4f6573;min-height:1em;margin:6px 0 0;font-size:.8rem}.silhouette-caption:empty{display:none}.guess-form{gap:8px;max-width:520px;margin:0 auto;display:flex}.guess-form[hidden]{display:none}.combo{flex:1;min-width:0;position:relative}#guess-input{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;padding:12px 14px}#guess-input:focus{border-color:var(--accent);outline:none}.guess-list{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:290px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.option{cursor:pointer;border-radius:6px;flex-direction:column;padding:8px 10px;display:flex}.option.active,.option:hover{background:var(--surface-2)}.option-name{font-weight:600}.option-sci{color:var(--muted);font-size:.8rem;font-style:italic}.primary-btn,.secondary-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:10px 18px;font-weight:700}.primary-btn{background:var(--accent);color:var(--accent-text)}.secondary-btn{background:var(--surface-2);border:1px solid var(--border)}.primary-btn:hover,.secondary-btn:hover{filter:brightness(1.08)}.guess-count{text-align:center;color:var(--muted);min-height:1.2em;margin:10px 0 4px;font-size:.9rem}.board{flex-direction:column;gap:10px;margin-top:8px;display:flex}.tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.tile-head{text-transform:uppercase;letter-spacing:.04em;text-align:center;color:var(--muted);font-size:.7rem;font-weight:700}.row-name{align-items:baseline;gap:6px;min-height:1.2em;margin-bottom:4px;font-size:.9rem;font-weight:700;display:flex}.row-num{color:var(--muted);font-size:.75rem}.tile{text-align:center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:64px;padding:15px 4px 6px;font-size:.78rem;font-weight:600;line-height:1.2;display:flex;position:relative}.tile.match{background:var(--match);color:var(--match-text)}.tile.partial{background:var(--partial);color:var(--partial-text)}.tile.miss{background:var(--miss);color:var(--miss-text)}.tile-mark{opacity:.85;font-size:.7rem;font-weight:800;line-height:1;position:absolute;top:2px;right:5px}.tile.empty{background:var(--empty)}.tile-sub{opacity:.9;margin-top:2px;font-size:.65rem;font-weight:500}.tile-arrow{margin-top:2px;font-size:.85rem}.reveal{animation:.5s both flip}.reveal.d1{animation-delay:.15s}.reveal.d2{animation-delay:.3s}.reveal.d3{animation-delay:.45s}.reveal.d4{animation-delay:.6s}.reveal.d5{animation-delay:.75s}@keyframes flip{0%{opacity:0;transform:rotateX(90deg)}to{opacity:1;transform:rotateX(0)}}.board.example{margin:8px 0}@media (width<=480px){main{padding:12px 16px}.tile{min-height:60px;padding:14px 2px 4px;font-size:.68rem}.tile-sub{display:none}.tile-head{font-size:.6rem}}.result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;margin-top:20px;padding:16px}.result[hidden]{display:none}.result h2{margin:0 0 6px}.answer{margin:6px 0;font-size:1.1rem}.result-actions{justify-content:center;gap:10px;margin:12px 0;display:flex}.countdown{font-variant-numeric:tabular-nums;margin:8px 0}.countdown span{font-weight:700}a{color:var(--accent)}.dialog{border:1px solid var(--border);background:var(--surface);width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);border-radius:14px;padding:16px 20px 20px;box-shadow:0 20px 60px #00000059}.dialog::backdrop{background:#05141c8c}.dialog-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialog h2{margin:0}.dialog h3{margin:18px 0 8px;font-size:1rem}.rules{padding-left:1.2em}.rules li{margin:4px 0}.legend{flex-wrap:wrap;gap:12px;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:4px;place-items:center;width:16px;height:16px;font-size:.7rem;font-weight:800;display:inline-grid}.swatch.match{background:var(--match);color:var(--match-text)}.swatch.partial{background:var(--partial);color:var(--partial-text)}.swatch.miss{background:var(--miss);color:var(--miss-text)}.toggle{cursor:pointer;align-items:center;gap:8px;margin-top:16px;font-size:.9rem;display:flex}.stat-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.stat-value{font-size:1.8rem;font-weight:800;display:block}.stat-label{color:var(--muted);font-size:.75rem}.dist{flex-direction:column;gap:4px;display:flex}.dist-row{align-items:center;gap:6px;display:flex}.dist-label{text-align:right;width:1em;font-weight:700}.dist-bar{background:var(--miss);color:var(--miss-text);text-align:right;border-radius:4px;padding:2px 6px;font-size:.85rem;font-weight:700}.dist-bar.current{background:var(--match);color:var(--match-text)}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius);opacity:0;pointer-events:none;z-index:20;text-align:center;max-width:calc(100vw - 32px);padding:10px 16px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;top:72px;left:50%;transform:translate(-50%,-8px)}.toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.reveal{animation:none}.silhouette,.toast{transition:none}}
