:root{--color-correct: #4a8046;--color-present: #c9b458;--color-absent: #6e7274;--on-correct: #ffffff;--on-present: #101010;--on-absent: #ffffff;--bg: #ffffff;--bg-muted: #f6f6f3;--text: #1a1a1b;--text-muted: #6e6e73;--border: #e3e3e0;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-title: 20px;--font-size-header: 16px;--font-size-body: 16px;--font-size-secondary: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--radius-tile: 10px;--radius-panel: 12px;--radius-chip: 999px;--radius-popover: 12px;--tile-size: 48px;--tap-target: 44px;--motion-fast: .15s;--motion-normal: .2s;--motion-reshuffle: .3s;--motion-easing: ease-out;--shadow-popover: 0 4px 16px rgb(0 0 0 / .15)}@media(prefers-color-scheme:dark){:root{--color-correct: #538d4e;--color-present: #b59f3b;--color-absent: #3a3a3c;--on-correct: #101010;--on-present: #101010;--on-absent: #ffffff;--bg: #121213;--bg-muted: #1e1e20;--text: #f5f5f5;--text-muted: #9a9aa0;--border: #3a3a3c}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-body);line-height:1.5;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--color-correct);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.tabular-nums{font-variant-numeric:tabular-nums}.tap-target{min-width:var(--tap-target);min-height:var(--tap-target)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--header-height: 61px}.app{min-height:100dvh}.skip-link{position:fixed;top:var(--space-2);left:-9999px;z-index:100;padding:var(--space-2) var(--space-4);background:var(--bg);border:1px solid var(--color-correct);border-radius:var(--radius-panel);color:var(--color-correct);font-weight:600}.skip-link:focus{left:var(--space-4)}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);height:var(--header-height);padding:0 var(--space-4);background:var(--bg);border-bottom:1px solid var(--border)}.app-header .brand-title{font-size:var(--font-size-title);font-weight:700}.mount-language{margin-left:auto}.search-pane{display:grid;gap:var(--space-4);padding:var(--space-4);min-width:0}.strip-scroll{position:relative;overflow-x:auto;min-width:0}.entry-points{display:flex;flex-wrap:wrap;gap:var(--space-2)}.entry-trigger{min-height:var(--tap-target);padding:0 var(--space-3);background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-panel);font-size:var(--font-size-body);cursor:pointer}.entry-trigger:disabled{color:var(--text-muted);cursor:default}.results-bar{position:sticky;top:var(--header-height);z-index:5;display:grid;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--bg);border-bottom:1px solid var(--border)}.results-bar:empty{display:none}.results{display:grid;gap:var(--space-6);padding:var(--space-4);min-width:0}@media(min-width:640px){.search-pane{gap:var(--space-6);padding:var(--space-6)}.results{padding:var(--space-6)}}@media(min-width:1024px){.app-main{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:start;gap:var(--space-6);max-width:1280px;margin:0 auto;padding:var(--space-6)}.search-pane{position:sticky;top:calc(var(--header-height) + var(--space-6));max-height:calc(100dvh - var(--header-height) - 2 * var(--space-6));overflow-y:auto;background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-panel)}}.segmented{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-panel)}.segmented-option{min-height:var(--tap-target);padding:0 var(--space-3);border:none;border-radius:var(--radius-tile);background:transparent;color:var(--text);font-size:var(--font-size-body);font-weight:600;cursor:pointer}.segmented-option.is-active{background:var(--color-correct);color:var(--on-correct)}.segmented-option:not(.is-active):hover{background:var(--bg)}.tile-strip{display:flex;gap:var(--space-2);padding-block:var(--space-1)}.tile-strip.is-end{justify-content:safe flex-end}.tile{position:relative;flex:0 0 auto;width:var(--tile-size);height:var(--tile-size);padding:0;display:grid;place-items:center;border:2px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);color:var(--text);font-weight:700;cursor:pointer}.tile-empty{border-color:var(--border);background:var(--bg)}.tile-fixed,.tile-allow{border-color:var(--color-correct);background:var(--color-correct);color:var(--on-correct)}.tile-not{border-color:var(--color-present);background:var(--color-present);color:var(--on-present)}.tile-not .tile-letters{text-decoration:line-through 2px}.tile-letters{font-size:20px;line-height:1}.tile-letters.is-multi{font-size:15px;letter-spacing:-.5px}.tile-badge{position:absolute;bottom:3px;right:5px;font-size:var(--font-size-secondary);font-weight:600}.tile-pos{position:absolute;top:3px;left:5px;font-size:var(--font-size-secondary);font-weight:600;opacity:1}.tile-empty .tile-pos{color:var(--text-muted);opacity:1}.length-control{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2) var(--space-3)}.control-label{font-weight:600}.length-values{grid-column:1 / -1;display:grid;gap:var(--space-2)}.stepper-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-left:calc(var(--font-size-body) + var(--space-3))}.stepper{display:inline-flex;align-items:center;gap:var(--space-1)}.stepper-btn{min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg-muted);font-size:18px;font-weight:700;cursor:pointer}.stepper-btn:disabled{color:var(--text-muted);cursor:default}.stepper-input{width:56px;height:var(--tap-target);text-align:center;border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);font-size:var(--font-size-body);font-weight:600}.stepper-label{color:var(--text-muted)}.letter-picker{position:fixed;z-index:50;display:grid;gap:var(--space-3);padding:var(--space-3);width:min(360px,calc(100vw - 2 * var(--space-4)));background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-popover);box-shadow:var(--shadow-popover)}.picker-title{font-size:var(--font-size-header);font-weight:700}.picker-section-label{font-size:var(--font-size-secondary);font-weight:600;color:var(--text-muted)}.picker-divider{border:none;border-top:1px solid var(--border);margin:0;width:100%}.picker-footer{display:flex;gap:var(--space-2)}.picker-footer .picker-action:first-child{margin-right:auto}.picker-action{min-height:var(--tap-target);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--bg-muted);font-size:var(--font-size-body);cursor:pointer}.picker-action.primary{background:var(--color-correct);border-color:var(--color-correct);color:var(--on-correct)}.letter-bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--space-1)}.letter-key{min-width:var(--tap-target);min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);font-size:var(--font-size-body);font-weight:600;cursor:pointer}.letter-key:disabled{cursor:default;opacity:.5}.style-green .letter-key.is-on{background:var(--color-correct);border-color:var(--color-correct);color:var(--on-correct)}.style-yellow .letter-key.is-on{background:var(--color-present);border-color:var(--color-present);color:var(--on-present);text-decoration:line-through 2px}.style-grey .letter-key.is-on{background:var(--bg-muted);color:var(--text);opacity:.65}.end-anchored-summary,.pattern-summary,.extended-summary,.wordle-summary{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--tap-target);padding:0 var(--space-3);border-radius:var(--radius-panel);font-size:var(--font-size-body);font-weight:600;color:var(--text);cursor:pointer;list-style:none}.end-anchored-summary::-webkit-details-marker{display:none}.end-anchored-summary:hover{background:var(--bg-muted)}.end-anchored-body,.pattern-body{padding-top:var(--space-2);animation:disclosure-reveal var(--motion-normal) var(--motion-easing)}@keyframes disclosure-reveal{0%{opacity:0;transform:translateY(-4px)}}.pattern-body,.pattern-segments{display:grid;gap:var(--space-3)}.pattern-segment{display:grid;gap:var(--space-2);align-content:start}.pattern-segment .stepper-row{padding-left:0}.pattern-lock{font-size:var(--font-size-secondary)}.pattern-seq-row{display:flex;align-items:center;gap:var(--space-2)}.pattern-seq{display:flex;gap:var(--space-1);align-items:center;padding:var(--space-1);border-radius:var(--radius-panel);cursor:text}.pattern-seq:focus-visible{outline:2px solid var(--color-correct);outline-offset:2px}.mini-tile{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);font-weight:700;line-height:1}.mini-tile.is-letter{border-color:var(--color-correct);background:var(--color-correct);color:var(--on-correct)}.mini-tile.is-gap{border-style:dashed;color:var(--text-muted)}.mini-tile.is-ellipsis{border:none;color:var(--text-muted)}.mini-tile.pattern-seq-tile.is-empty{border-style:dashed}.pattern-preview{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius-panel)}.pattern-preview-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pattern-preview-strip{display:flex;flex-wrap:wrap;gap:var(--space-1)}.pattern-window{color:var(--text);font-weight:600}.pattern-footer{display:flex}@media(min-width:640px){.pattern-segments{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr)}}.extended-body,.wordle-body{display:grid;gap:var(--space-3);animation:disclosure-reveal var(--motion-normal) var(--motion-easing)}.extended-body{padding-top:var(--space-2)}.ext-section{display:grid;gap:var(--space-2);align-content:start}.ext-modes{display:grid;gap:var(--space-2)}.ext-tabs:empty,.ext-panel:empty{display:none}.ext-panel{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius-panel)}.ext-letters-box{display:flex;align-items:center;min-height:var(--tap-target);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-tile);background:var(--bg);font-weight:600;letter-spacing:2px;overflow-x:auto;cursor:text}.wordle-body{padding-top:var(--space-2)}.tile-present{border-color:var(--color-present);background:var(--color-present);color:var(--on-present)}.tile-absent{border-color:var(--color-absent);background:var(--color-absent);color:var(--on-absent)}.letter-key.is-armed,.stats-toggle.is-active{background:var(--color-correct);border-color:var(--color-correct);color:var(--on-correct)}.stats-group{display:grid;gap:var(--space-2)}.stats-heading{font-size:var(--font-size-header);font-weight:700}.stats-scroll{min-width:0}.stats-table{border-collapse:collapse;font-size:var(--font-size-secondary)}.stats-table th,.stats-table td{min-width:var(--tap-target);padding:var(--space-1) var(--space-2);border:1px solid var(--border);text-align:center}.stats-table th{background:var(--bg-muted);font-weight:600}.stats-table .stats-letter{font-weight:700}.stats-table .heat-cell{font-weight:600}.results-bar-inner{display:flex;align-items:center;gap:var(--space-3);min-width:0}.results-count{font-size:var(--font-size-header);font-weight:700}.results-stats{display:flex;align-items:center;margin-left:auto}.results-stats:empty{display:none}.reshuffle-btn{min-height:var(--tap-target);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--bg-muted);font-size:var(--font-size-body);cursor:pointer}.reshuffle-btn:hover:not(:disabled){border-color:var(--color-correct)}.reshuffle-btn:disabled{color:var(--text-muted);cursor:default}.dict-progress{position:relative;height:3px;overflow:hidden;margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-2));background:var(--bg-muted)}.dict-progress:after{content:"";position:absolute;inset-block:0;left:-40%;width:40%;background:var(--color-correct);animation:dict-progress-slide 1.1s var(--motion-easing) infinite}@keyframes dict-progress-slide{to{left:100%}}.results-state{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);color:var(--text-muted)}.link-btn{min-height:var(--tap-target);padding:0 var(--space-2);border:none;background:none;color:var(--color-correct);font-size:inherit;text-decoration:underline;cursor:pointer}.word-group{display:grid;gap:var(--space-2)}.word-group-header{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-1) var(--space-2);background:var(--bg-muted);border-radius:var(--radius-panel)}.word-group-toggle{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-2);border:none;border-radius:var(--radius-panel);color:var(--text);font-size:var(--font-size-header);font-weight:700;cursor:pointer}.word-group-toggle:hover{background:var(--bg)}.word-group-count{color:var(--text-muted);font-weight:600}.group-chevron{display:inline-block;color:var(--text-muted);transition:transform var(--motion-fast) var(--motion-easing)}.word-group-toggle[aria-expanded=false] .group-chevron{transform:rotate(-90deg)}.reshuffle-group{margin-left:auto;min-width:var(--tap-target);padding:0}.word-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);overflow:hidden;transition:height var(--motion-normal) var(--motion-easing)}.word-chips.is-collapsed{height:0}.word-chip{min-height:var(--tap-target);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--bg);font-size:var(--font-size-body);cursor:pointer}.word-chip:hover{border-color:var(--color-correct)}.word-chip:active{background:var(--bg-muted)}.sample-note{margin:0;color:var(--text-muted);font-size:var(--font-size-secondary)}.toast-host{position:fixed;bottom:var(--space-4);left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:60}.toast{padding:var(--space-2) var(--space-4);border-radius:var(--radius-chip);background:var(--color-absent);color:var(--on-absent);font-weight:600;opacity:0;transform:translateY(var(--space-1));transition:opacity var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing)}.toast-host.is-visible .toast{opacity:1;transform:none}.word-chips.is-fading{animation:chips-fade var(--motion-reshuffle) var(--motion-easing)}@keyframes chips-fade{0%{opacity:0}}.is-shaking{animation:shake .1s var(--motion-easing)}@keyframes shake{20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.feedback-hint{font-weight:600}.demo-page{display:grid;gap:var(--space-4);padding:var(--space-4);max-width:720px;margin:0 auto}.demo-page h1{font-size:var(--font-size-title)}.demo-page h2{font-size:var(--font-size-header)}.demo-rules{margin:0;padding:var(--space-3);background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-panel);font-size:var(--font-size-secondary);overflow-x:auto}.hint{color:var(--text-muted);font-size:var(--font-size-secondary)}
