:root{--bg:#fff;--text:#111;--muted:#6b6b6b;--line:#d9d9d9;--line-strong:#111;--fill:#f4f4f4;--green:#6aaa64;--yellow:#c9b458;--gray:#787c7e;--font:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;padding:0;font-size:16px;line-height:1.5}a{color:inherit}button{font-family:inherit;font-size:inherit}.shell{max-width:720px;margin:0 auto;padding:32px 20px 64px}.nav{border-bottom:1px solid var(--line);gap:20px;margin-bottom:48px;padding-bottom:12px;font-size:.95rem;display:flex}.nav-link{color:var(--muted);text-decoration:none}.nav-link.active{color:var(--text);text-underline-offset:4px;text-decoration:underline}.page{flex-direction:column;gap:32px;display:flex}.hero h1{letter-spacing:-.01em;margin:0 0 6px;font-size:1.6rem;font-weight:600}.tagline{color:var(--muted);max-width:560px;margin:0}.machine{border:1px solid var(--line);flex-direction:column;gap:20px;padding:24px;display:flex}.counter{color:var(--muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.counter-value{border:1px solid var(--line);width:32px;height:32px;color:var(--text);font-family:var(--mono);place-items:center;font-size:1rem;display:inline-grid}.counter-value.rolling{color:var(--muted)}.reels{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reel{flex-direction:column;gap:6px;display:flex}.reel-off{opacity:.3}.reel-window{border:1px solid var(--line);background:var(--fill);place-items:center;height:64px;display:grid;overflow:hidden}.reel-text{font-family:var(--mono);text-align:center;overflow-wrap:anywhere;padding:0 8px;font-size:clamp(.85rem,2.4vw,1.05rem);line-height:1.2}.reel-spinning .reel-text{color:var(--muted)}.reel-locked .reel-window{border-color:var(--line-strong);background:var(--bg)}.reel-cat{color:var(--muted);min-height:1em;font-size:.7rem}.lever{appearance:none;cursor:pointer;background:var(--text);color:var(--bg);border:1px solid var(--text);align-self:flex-start;padding:10px 18px;font-size:.95rem}.lever:hover:not(:disabled){background:#333}.lever:disabled{cursor:wait;background:var(--muted);border-color:var(--muted)}.result{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.result-name{letter-spacing:-.01em;font-size:1.8rem;font-weight:600;line-height:1.2}.result-actions{flex-wrap:wrap;gap:8px;display:flex}.result-note{color:var(--muted);margin:0;font-size:.9rem}.result-note strong{color:var(--text);font-weight:500}.btn{appearance:none;cursor:pointer;border:1px solid var(--text);background:var(--bg);color:var(--text);padding:7px 14px;font-size:.9rem;line-height:1.2;text-decoration:none}.btn:hover{background:var(--fill)}.btn-ghost{border-color:var(--line);color:var(--muted)}.btn-ghost:hover{color:var(--text);border-color:var(--text);background:var(--bg)}.btn-sm{padding:5px 10px;font-size:.85rem}.history h2{color:var(--muted);margin:0 0 8px;font-size:.85rem;font-weight:500}.history ul{flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.history-item{appearance:none;cursor:pointer;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.95rem}.history-item:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.meta{color:var(--muted);margin:0;font-size:.8rem}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding-top:12px;font-size:.85rem}.mordle-bar{flex-wrap:wrap;align-items:center;gap:16px;font-size:.9rem;display:flex}.spacer{flex:1}.pill{color:var(--text)}.pill-muted{color:var(--muted)}.board{flex-direction:column;gap:8px;display:flex}.guess{grid-template-columns:120px 1fr;align-items:start;gap:8px;display:grid}.tokens{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);min-width:56px;color:var(--text);justify-content:center;align-items:center;padding:8px 12px;font-size:.9rem;font-style:normal;font-weight:500;display:inline-flex}.chip-provider{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;width:100%;font-size:.8rem;line-height:1.5;display:block;overflow:hidden}.chip-empty{color:var(--line);background:0 0}.chip.hit{background:var(--green);border-color:var(--green);color:#fff}.chip.near{background:var(--yellow);border-color:var(--yellow);color:#fff}.chip.miss{background:var(--gray);border-color:var(--gray);color:#fff}.chip-delta{border-color:var(--line);color:var(--muted);background:0 0;font-size:.8rem;font-weight:400}.guess-input{position:relative}.guess-input input{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);outline:none;padding:12px 14px;font-family:inherit;font-size:1rem}.guess-input input:focus{border-color:var(--text)}.suggestions{background:var(--bg);border:1px solid var(--text);z-index:10;margin:-1px 0 0;padding:0;list-style:none;position:absolute;left:0;right:0}.suggestion{appearance:none;text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;padding:8px 14px;font-size:.95rem;display:grid}.suggestion.active{background:var(--fill)}.suggestion-provider{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.suggestion-count{color:var(--muted);font-size:.75rem;font-family:var(--mono)}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 20px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .chip{width:auto;min-width:0;padding:2px 6px;font-size:.7rem;display:inline-flex}.shake{animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}@media (width<=560px){.reels{grid-template-columns:repeat(2,minmax(0,1fr))}.guess{grid-template-columns:1fr;gap:6px}.chip-provider{width:auto;max-width:100%}.suggestion{grid-template-columns:1fr auto}.suggestion-provider{display:none}}
