:root{color-scheme:light dark;--bg:light-dark(#fbfbfa,#121316);--surface:light-dark(#fff,#191b1f);--surface-2:light-dark(#f3f3f2,#212429);--ink:light-dark(#17181a,#eceef2);--ink-soft:light-dark(#5c6068,#a8adb7);--ink-faint:light-dark(#676c74,#949aa4);--line:light-dark(#e4e4e3,#2a2d33);--line-strong:light-dark(#cfd0cf,#3b3f47);--accent:light-dark(#c8442c,#ff8a70);--accent-ink:light-dark(#fff,#121316);--accent-soft:light-dark(#fdeeea,#2a1a15);--ok:light-dark(#1f6b4a,#5fd39c);--warn:light-dark(#8a6d12,#e0b341);--shadow-color:light-dark(#17181a1a,#00000080);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--r-sm:6px;--r:10px;--r-lg:14px;--r-full:999px;--shadow-1:0 1px 2px var(--shadow-color);--shadow-2:0 4px 16px var(--shadow-color);--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:clamp(2rem, 1.4rem + 2.4vw, 2.75rem);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--maxw:1060px;--measure:68ch;--header-h:56px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s4))}body{font-family:var(--font);font-size:var(--text-base);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.015em;text-wrap:balance;line-height:1.2}h1{font-size:var(--text-2xl);margin:0 0 var(--s3);font-weight:700}h2{font-size:var(--text-xl);margin:var(--s12) 0 var(--s3);font-weight:650}h3{font-size:var(--text-md);margin:var(--s6) 0 var(--s2);font-weight:650}h4{font-size:var(--text-base);margin:var(--s4) 0 var(--s2);font-weight:650}p{margin:0 0 var(--s4)}img,svg{max-width:100%}.container{max-width:var(--maxw);padding:0 var(--s5);margin:0 auto}main.container{padding-top:var(--s8);padding-bottom:var(--s16)}.section{margin:var(--s12) 0}.section-sub{color:var(--ink-soft);max-width:var(--measure);margin:calc(var(--s2) * -1) 0 var(--s5)}.prose{max-width:var(--measure)}.prose p,.prose li{color:var(--ink)}.prose ul,.prose ol{padding-left:var(--s5);margin:0 0 var(--s4)}.prose li{margin:var(--s2) 0}.page-head{margin-bottom:var(--s5)}.page-head p.lead,.hero p.lead{font-size:var(--text-md);color:var(--ink-soft);max-width:var(--measure);margin:0}.hero{padding:var(--s2) 0 0}.hero p.lead{margin-bottom:var(--s2)}.eyebrow{align-items:center;gap:var(--s2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:var(--s3);font-weight:600;display:inline-flex}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;gap:var(--s4);height:var(--header-h);display:flex}.brand{align-items:center;gap:var(--s2);font-weight:650;font-size:var(--text-md);color:var(--ink);letter-spacing:-.02em;min-height:44px;text-decoration:none;display:inline-flex}.brand:hover{text-decoration:none}.brand-tiles{gap:2px;display:inline-flex}.brand-tile:before{content:attr(data-letter)}.brand-tile{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:22px;height:22px;font-size:var(--text-xs);color:var(--accent);place-items:center;font-weight:700;display:grid}.header-right{align-items:center;gap:var(--s1);display:flex}.nav-links{gap:var(--s1);display:flex}.nav-links a,.nav-links-mobile a{min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--r);color:var(--ink-soft);font-size:var(--text-sm);align-items:center;font-weight:550;text-decoration:none;display:inline-flex}.nav-links a:hover,.nav-links-mobile a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}.nav-links a[aria-current=page],.nav-links-mobile a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);font-weight:650}.nav-toggle-btn{border-radius:var(--r);border:1px solid var(--line);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;place-items:center;display:none}.nav-toggle-btn:hover,.theme-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.nav-links-mobile{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);padding:var(--s2) var(--s5) var(--s4);max-height:calc(100dvh - var(--header-h));flex-direction:column;gap:2px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.nav-trigger{align-items:center;gap:var(--s1);min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--r);font-family:inherit;font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-weight:550;display:inline-flex}.nav-trigger:hover{color:var(--ink);background:var(--surface-2)}.nav-trigger[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);font-weight:650}.nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.nav-panel{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);padding:var(--s5) 0 var(--s6);position:absolute;top:100%;left:0;right:0}.nav-panel-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:var(--s3) 0 var(--s2);font-weight:600}.nav-panel-grid{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.nav-panel-grid a{padding:var(--s3);border-radius:var(--r);color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}.nav-panel-grid a:hover{background:var(--surface-2);text-decoration:none}.nav-panel-grid a[aria-current=page]{box-shadow:inset 2px 0 0 var(--accent);background:var(--surface-2)}.nav-panel-grid strong{font-weight:600;font-size:var(--text-base)}.nav-panel-grid small{color:var(--ink-soft);font-size:var(--text-sm)}.nav-panel-all{margin-top:var(--s4);font-size:var(--text-sm);font-weight:550;display:inline-block}.theme-toggle{border-radius:var(--r);border:1px solid var(--line);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;place-items:center;display:grid}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s3) var(--s5);font-family:inherit;font-size:var(--text-base);border-radius:var(--r);cursor:pointer;border:1px solid #0000;max-width:100%;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.solver-row .btn,.segmented button{white-space:nowrap}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:color-mix(in srgb, var(--accent) 85%, var(--ink));text-decoration:none}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover{border-color:var(--ink-faint);text-decoration:none}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.btn-sm{min-height:44px;padding:var(--s2) var(--s3);font-size:var(--text-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-input,.mini-input,.control select,.filter-input{font-family:inherit;font-size:var(--text-base);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:var(--s3) var(--s4);min-height:44px}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.mini-input{text-transform:uppercase;width:96px;font-size:var(--text-sm);padding:var(--s2) var(--s3)}.mini-input::placeholder{text-transform:none}.control select{padding:var(--s2) var(--s3);font-size:var(--text-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.solver{margin:var(--s6) 0 var(--s8)}.solver-row{gap:var(--s3);flex-wrap:wrap;align-items:stretch;display:flex}.letters-field{flex:280px;align-items:center;min-width:0;display:flex;position:relative}.letters-input{width:100%;min-width:0;font-family:inherit;font-size:var(--text-lg);letter-spacing:.1em;text-transform:uppercase;padding:var(--s4) 92px var(--s4) var(--s4);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);min-height:60px;color:var(--ink);flex:280px;font-weight:600}.letters-input::placeholder{color:var(--ink-faint);letter-spacing:.02em;text-transform:none;font-weight:400}.letters-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field-adornments{right:var(--s2);align-items:center;gap:var(--s1);pointer-events:none;display:flex;position:absolute}.letter-count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-faint)}.letter-count.is-full{color:var(--accent);font-weight:600}.field-clear{pointer-events:auto;border-radius:var(--r-full);width:32px;height:32px;color:var(--ink-faint);cursor:pointer;font-size:var(--text-md);background:0 0;border:0;place-items:center;line-height:1;display:grid}.field-clear:hover{background:var(--surface-2);color:var(--ink)}.solver-controls{align-items:center;gap:var(--s4);margin-top:var(--s4);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.control{align-items:center;gap:var(--s2);font-weight:550;display:inline-flex}.segmented{background:var(--surface-2);border-radius:var(--r);gap:2px;padding:2px;display:inline-flex}.segmented button{appearance:none;font-family:inherit;font-size:var(--text-sm);color:var(--ink-soft);padding:var(--s2) var(--s3);border-radius:calc(var(--r) - 2px);cursor:pointer;white-space:nowrap;background:0 0;border:0;min-width:44px;min-height:44px;font-weight:550}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:650}.filters-panel{gap:var(--s4);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.filters-panel .control{align-items:stretch;gap:var(--s1);font-size:var(--text-sm);color:var(--ink-soft);flex-direction:column}.filters-panel .mini-input,.filters-panel .control select{width:100%}.filter-chips{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.filter-chip{align-items:center;gap:var(--s2);padding:var(--s1) var(--s1) var(--s1) var(--s3);background:var(--accent-soft);color:var(--ink);border-radius:var(--r-full);font-size:var(--text-sm);font-weight:550;display:inline-flex}.filter-chip button{appearance:none;color:var(--ink-soft);cursor:pointer;border-radius:var(--r-full);width:24px;height:24px;font-size:var(--text-base);background:0 0;border:0;place-items:center;line-height:1;display:grid}.filter-chip button:hover{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}.hint{font-size:var(--text-sm);color:var(--ink-faint);margin:var(--s3) 0 0;max-width:var(--measure)}.hint b{color:var(--ink-soft);font-weight:650}.ignored-badge{font-size:var(--text-xs);color:var(--warn);white-space:nowrap;text-overflow:ellipsis;max-width:96px;font-weight:650;overflow:hidden}.quick-filters{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.quick-filters-label{font-size:var(--text-sm);color:var(--ink-faint)}.quick-chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:var(--r-full);min-width:44px;min-height:44px;padding:var(--s1) var(--s4);font-size:var(--text-sm);cursor:pointer;font-weight:600}.quick-chip:hover{border-color:var(--accent);color:var(--accent)}.quick-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.recent-searches{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.recent-searches-label{font-size:var(--text-sm);color:var(--ink-faint)}.recent-chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-full);min-height:44px;padding:var(--s1) var(--s4);font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer;font-weight:600}.recent-chip:hover{border-color:var(--accent);color:var(--accent)}.saved-words{margin-top:var(--s4);padding:var(--s3) var(--s4);background:var(--surface-2);border-radius:var(--r)}.saved-words-head{align-items:center;gap:var(--s2);font-size:var(--text-sm);color:var(--ink-soft);font-weight:650;display:flex}.saved-words-head .btn{margin-left:auto}.saved-words-list{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.saved-word-chip{align-items:center;gap:var(--s2);padding:var(--s1) var(--s1) var(--s1) var(--s3);background:var(--accent-soft);color:var(--ink);border-radius:var(--r-full);font-size:var(--text-sm);min-height:36px;font-weight:650;display:inline-flex}.saved-word-chip button{appearance:none;color:var(--ink-soft);cursor:pointer;border-radius:var(--r-full);background:0 0;border:0;place-items:center;width:28px;height:28px;display:grid}.saved-word-chip button:hover{background:color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}.copy-link-btn{margin-left:auto}.result-summary{align-items:baseline;gap:var(--s3);margin:var(--s8) 0 var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.result-summary .count{font-size:var(--text-lg);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.result-summary .from{color:var(--ink-soft);font-size:var(--text-sm)}.result-group{margin:var(--s6) 0}.result-group h3{top:var(--header-h);z-index:5;align-items:center;gap:var(--s2);margin:0 0 var(--s3);padding:var(--s2) 0;background:var(--bg);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:650;display:flex;position:sticky}.pill{font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--ink-soft);border-radius:var(--r-full);padding:2px var(--s2);letter-spacing:0;font-weight:600}.word-grid{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));display:grid}.word-chip{justify-content:space-between;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-family:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;text-decoration:none;transition:border-color .12s,background-color .12s;display:flex}.word-chip:hover{border-color:var(--accent);text-decoration:none}.word-chip .w{letter-spacing:.01em;font-weight:600}.word-chip .s{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-faint);font-weight:600}.word-chip.is-copied{border-color:var(--ok)}.word-chip.is-copied .s{color:var(--ok);font-weight:650}.word-cell{align-items:stretch;gap:2px;display:flex}.word-save{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink-faint);cursor:pointer;flex:0 0 44px;place-items:center;display:grid}.word-save:hover{border-color:var(--accent);color:var(--accent)}.word-save.is-saved{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.word-cell .word-chip{flex:auto;min-width:0}.group-more{margin-top:var(--s3)}.list-controls{align-items:center;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.filter-field{flex:220px;min-width:0}.filter-input{width:100%}.empty{max-width:var(--measure);margin:var(--s6) 0;padding:var(--s5) 0;color:var(--ink-soft);border-top:1px solid var(--line)}.empty strong{color:var(--ink);margin-bottom:var(--s2);display:block}.empty ul{margin:var(--s2) 0 0;padding-left:var(--s5)}.wordle-board{gap:var(--s2);margin:var(--s5) 0;flex-direction:column;display:flex}.wordle-grid{grid-template-columns:repeat(var(--cols,5), minmax(0, 1fr));gap:var(--s2);max-width:calc(var(--cols,5) * 60px);display:grid}.wordle-cell{aspect-ratio:1;text-align:center;width:100%;max-height:60px;font-family:inherit;font-weight:650;font-size:var(--text-lg);text-transform:uppercase;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}input.wordle-cell{cursor:text}.wordle-cell.is-absent{background:var(--surface-2);color:var(--ink-faint);border-style:dashed}.wordle-cell.is-present{border-width:3px;border-color:var(--warn);color:var(--ink)}.wordle-cell.is-correct{border-width:3px;border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ink)}.pattern-fields{gap:var(--s5);margin-top:var(--s5);flex-wrap:wrap;display:flex}.pattern-fields .control{align-items:flex-start;gap:var(--s1);font-size:var(--text-sm);color:var(--ink-soft);flex-direction:column}.pattern-fields .mini-input{width:160px}.wordle-cell.is-known{border-width:3px;border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.field-label{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 var(--s2);font-weight:600}.tile-mark{font-size:10px;font-weight:700;line-height:1;position:absolute;top:1px;right:4px}.wordle-cell.is-absent .tile-mark{color:var(--ink-faint)}.wordle-cell.is-present .tile-mark{color:var(--warn)}.wordle-cell.is-correct .tile-mark{color:var(--ok)}.grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.card{align-items:flex-start;gap:var(--s3);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;transition:border-color .12s;display:flex}.card:hover{border-color:var(--accent);text-decoration:none}.card-icon{width:32px;height:32px;color:var(--accent);flex:none;place-items:center;display:grid}.card-body{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.card-body strong{font-weight:600;font-size:var(--text-base)}.card-body small{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.4}.letter-grid{gap:var(--s2);grid-template-columns:repeat(13,minmax(0,1fr));display:grid}@media (max-width:720px){.letter-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}.letter-tile{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:44px;font-weight:600;font-size:var(--text-md);text-transform:uppercase;color:var(--ink);place-items:center;text-decoration:none;display:grid}.letter-tile:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.tiles{gap:var(--s1);flex-wrap:wrap;display:inline-flex}.tile{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:34px;height:34px;font-weight:600;font-size:var(--text-base);text-transform:uppercase;color:var(--ink);place-items:center;display:grid;position:relative}.tile .sub{color:var(--ink-faint);font-size:9px;position:absolute;bottom:0;right:2px}.tool-switch{margin:var(--s8) 0;padding-top:var(--s5);border-top:1px solid var(--line)}.tool-switch p{max-width:var(--measure);color:var(--ink-soft);margin:0 0 var(--s3)}.word-cloud{gap:var(--s1);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.word-cloud a{min-height:44px;padding:var(--s1) var(--s2);border-radius:var(--r-sm);color:var(--ink);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:550;text-decoration:none;display:flex}.word-cloud a:hover{background:var(--surface-2);color:var(--accent);text-decoration:none}@media (max-width:720px){.word-cloud{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}}.taglist{gap:var(--s2);flex-wrap:wrap;display:flex}.taglist a{min-height:44px;font-size:var(--text-sm);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:var(--s2) var(--s4);align-items:center;font-weight:550;text-decoration:none;display:inline-flex}.taglist a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.stats{gap:var(--s5);margin:var(--s5) 0;font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.stat{gap:var(--s2);align-items:center;display:inline-flex}.stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.note{max-width:var(--measure);border-left:2px solid var(--line-strong);padding:0 0 0 var(--s4);margin:var(--s5) 0;color:var(--ink-soft)}.crumbs{font-size:var(--text-sm);color:var(--ink-faint);margin-bottom:var(--s4)}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs ol{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:var(--s2);color:var(--line-strong)}.steps{counter-reset:step;max-width:var(--measure);padding:0;list-style:none}.steps li{counter-increment:step;padding-left:var(--s8);margin:var(--s4) 0;position:relative}.steps li:before{content:counter(step);border:1px solid var(--line-strong);border-radius:var(--r-full);width:24px;height:24px;font-size:var(--text-xs);color:var(--ink-soft);place-items:center;font-weight:600;display:grid;position:absolute;top:0;left:0}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:left;padding:var(--s3);border-bottom:1px solid var(--line)}.data-table th{color:var(--ink-soft);white-space:nowrap;font-weight:600}.data-table td a{min-width:44px;min-height:44px;margin:calc(var(--s3) * -1) 0;align-items:center;display:inline-flex}.data-table tbody tr:hover{background:var(--surface-2)}.table-scroll{overscroll-behavior-x:contain;overflow-x:auto}@media (max-width:719px){.table-scroll{background-image:radial-gradient(farthest-side at 0 50%, var(--shadow-color), transparent), radial-gradient(farthest-side at 100% 50%, var(--shadow-color), transparent), linear-gradient(to right, var(--bg), var(--bg)), linear-gradient(to left, var(--bg), var(--bg));background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:10px 100%,10px 100%,24px 100%,24px 100%;background-attachment:scroll,scroll,local,local}}@media (min-width:720px){.table-scroll{overflow:visible}.data-table thead th{top:calc(var(--header-h) - 1px);z-index:2;background:var(--bg);box-shadow:inset 0 -1px 0 var(--line);position:sticky}}.toc{gap:var(--s2);margin:var(--s5) 0 var(--s8);padding-bottom:var(--s5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.toc a{min-height:44px;font-size:var(--text-sm);color:var(--ink-soft);align-items:center;font-weight:550;text-decoration:none;display:inline-flex}.toc a:hover{color:var(--accent);text-decoration:underline}.toc a+a:before{content:""}.accordion{max-width:var(--measure);border-top:1px solid var(--line)}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{justify-content:space-between;align-items:center;gap:var(--s4);min-height:44px;padding:var(--s4) 0;font-size:var(--text-base);color:var(--ink);cursor:pointer;font-weight:600;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.accordion summary h3{font-size:var(--text-base);color:inherit;margin:0;font-weight:600}.accordion summary:after{content:"+";font-size:var(--text-md);color:var(--ink-faint);flex:none;font-weight:400}.accordion details[open] summary:after{content:"−"}.accordion summary:hover{color:var(--accent)}.accordion .answer{padding:0 0 var(--s4);color:var(--ink)}.accordion .answer>:last-child{margin-bottom:0}code,pre{font-family:var(--mono);font-size:var(--text-sm)}pre{background:var(--surface-2);border-radius:var(--r);padding:var(--s4);overflow-x:auto}code:not(pre code){background:var(--surface-2);border-radius:var(--r-sm);padding:1px var(--s1)}.contact-form{gap:var(--s4);max-width:560px;margin:var(--s6) 0;flex-direction:column;display:flex}.form-field{gap:var(--s2);flex-direction:column;display:flex}.form-field label{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.form-input{width:100%}.form-status{border-radius:var(--r);padding:var(--s4);font-size:var(--text-sm);border:1px solid var(--line)}.form-status strong{color:var(--ink);display:block}.form-status p{margin:var(--s1) 0 0;color:var(--ink-soft)}.form-status-success{border-color:var(--ok);max-width:560px}.form-status-error{border-color:var(--accent);color:var(--ink)}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.site-footer{border-top:1px solid var(--line);padding:var(--s12) 0 var(--s8);margin-top:var(--s16);font-size:var(--text-sm)}.footer-top{gap:var(--s12);flex-wrap:wrap;justify-content:space-between;display:flex}.footer-brand{max-width:300px}.footer-brand p{color:var(--ink-soft)}.footer-cols{gap:var(--s12);flex-wrap:wrap;display:flex}.footer-col{flex-direction:column;display:flex}.footer-col h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 var(--s1);font-weight:600}.footer-col a{min-height:44px;color:var(--ink-soft);align-items:center;text-decoration:none;display:flex}.footer-col a:hover{color:var(--ink);text-decoration:underline}.footer-note{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;gap:var(--s4);flex-wrap:wrap;display:flex}.footer-note a{min-height:44px;color:var(--ink-soft);align-items:center;display:inline-flex}.ad-slot{background:var(--surface-2);border-radius:var(--r);margin:var(--s8) 0;justify-content:center;align-items:center;display:flex}.ad-slot-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.consent-banner{left:var(--s4);right:var(--s4);bottom:var(--s4);z-index:50;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);max-width:560px;box-shadow:var(--shadow-2);padding:var(--s5);margin:0 auto;position:fixed}.consent-banner p{margin:0 0 var(--s3);font-size:var(--text-sm);color:var(--ink-soft)}.consent-actions{align-items:center;gap:var(--s4);display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s4);top:calc(var(--s4) * -4);z-index:100;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r);color:var(--ink);text-decoration:none;position:absolute}.skip-link:focus{top:var(--s2)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media (max-width:720px){:root{--s12:36px;--s16:44px}.nav-links{display:none}.nav-toggle-btn{display:grid}.site-header{transition:transform .2s}.site-header.is-hidden{transform:translateY(-100%)}.footer-top,.footer-cols{gap:var(--s8)}.container{padding:0 var(--s4)}.word-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.stats{gap:var(--s3);margin:var(--s4) 0;font-size:var(--text-xs)}.wordle-grid{gap:var(--s1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root{color-scheme:light}.site-header,.site-footer,.ad-slot,.consent-banner,.solver,.taglist,.skip-link{display:none!important}body{color:#000;background:#fff;font-size:11pt}main.container{max-width:none;padding:0}.table-scroll{overflow:visible}.data-table thead{display:table-header-group}.data-table tr{break-inside:avoid}a{color:#000;text-decoration:underline}.accordion details{break-inside:avoid}.accordion .answer{display:block!important}}.list-stats{gap:var(--s3);margin:0 0 var(--s6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.list-stat{min-width:0;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.list-stat dt{margin:0 0 var(--s1);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.list-stat dd{font-size:var(--text-lg);color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.25}.list-stat dd small{font-size:var(--text-sm);color:var(--ink-soft);font-weight:500}.list-dist{margin:0}.list-dist figcaption{margin:0 0 var(--s3);font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.list-dist-rows{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--rows,13), auto);column-gap:var(--s8);row-gap:var(--s1);grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid}.list-dist-rows li{align-items:center;gap:var(--s2);min-height:24px;font-size:var(--text-sm);grid-template-columns:2em minmax(0,1fr) 4.5em;display:grid}.list-dist-key{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.list-dist-track{background:var(--surface-2);border-radius:var(--r-full);height:10px;overflow:hidden}.list-dist-fill{background:var(--accent);border-radius:inherit;min-width:2px;height:100%;display:block}.list-dist-n{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.list-downloads{gap:var(--s2);margin:0 0 var(--s3);flex-wrap:wrap;display:flex}.list-download-json{padding:8px 14px;font-size:14px}.letter-index-group+.letter-index-group{margin-top:var(--s5)}.letter-index-group h3{margin:0 0 var(--s2);font-size:var(--text-base)}.letter-index-grid{gap:var(--s2);grid-template-columns:repeat(13,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.letter-index-link{min-height:52px;padding:var(--s1) 2px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;justify-content:center;align-items:center;line-height:1.15;text-decoration:none;transition:border-color .12s;display:flex}.letter-index-link b{font-size:var(--text-md);font-weight:700}.letter-index-link small{font-size:var(--text-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums}.letter-index-link:hover{border-color:var(--accent);text-decoration:none}.letter-index-link:hover b{color:var(--accent)}@media (max-width:720px){.list-stats{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr))}.list-stat{padding:var(--s2) var(--s3)}.list-stat dd{font-size:var(--text-md)}.list-dist-rows{column-gap:var(--s4)}.list-dist-rows li{font-size:var(--text-xs);grid-template-columns:1.6em minmax(0,1fr) 3.8em}.letter-index-grid{gap:var(--s1);flex-wrap:wrap;display:flex}.letter-index-grid li{flex:1 0 calc((100% - 6 * var(--s1)) / 7)}}@media print{.list-controls,.list-downloads,.letter-index{display:none!important}.list-stat{break-inside:avoid}.list-dist-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--tile-bg:light-dark(#f8f2e7,#24221e);--tile-edge:light-dark(#ddd1bc,#423d34);--solver-row-h:77px}.tile-grid{--col:calc(var(--wl,6) * .6em + 3.75rem);grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--col)), 1fr));gap:var(--s2);display:grid}.tile-grid.has-star{--col:calc(var(--wl,6) * .6em + 3.75rem + 44px)}.word-tile{background:var(--tile-bg);border:1px solid var(--tile-edge);border-radius:var(--r-sm);border-bottom-width:2px;align-items:stretch;min-width:0;min-height:44px;transition:border-color .12s;display:flex}.word-tile:hover{border-color:var(--accent)}.word-main{appearance:none;justify-content:space-between;align-items:center;gap:var(--s2);min-width:0;padding:var(--s2) var(--s3);border-radius:inherit;color:var(--ink);font-family:inherit;font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;line-height:1.25;display:flex}.word-main .w{letter-spacing:.02em;overflow-wrap:anywhere;min-width:0;font-weight:650}.word-main .s{font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-soft);flex:none;font-weight:600}.word-main:focus-visible,.word-star:focus-visible,.tile-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.word-star{appearance:none;border:0;border-left:1px solid var(--tile-edge);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-faint);cursor:pointer;background:0 0;flex:0 0 44px;place-items:center;padding:0;display:grid}.word-star:hover,.word-tile.is-saved .word-star{color:var(--accent)}.pair-grid .word-main .w{white-space:nowrap}.word-tile.is-copied{border-color:var(--ok)}.word-tile.is-copied .s{color:var(--ok);font-weight:650}.word-tiles{--t:min(var(--t-max,40px), calc((100cqi - (var(--n) - 1) * 3px) / var(--n)));gap:3px;display:flex}.word-tiles .tile{width:var(--t);height:var(--t);font-size:calc(var(--t) * .5);background:var(--tile-bg);border-color:var(--tile-edge);border-bottom-width:2px;flex:none;line-height:1}.word-tiles .tile .sub{font-size:max(8px, calc(var(--t) * .24));line-height:1;bottom:1px;right:2px}.tile-button{appearance:none;border-radius:var(--r-sm);max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}span.tile-button{cursor:default}button.tile-button:hover .tile{border-color:var(--accent)}.best-word{gap:var(--s3);margin:0 0 var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}.best-card{gap:var(--s2);min-width:0;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;display:flex;container-type:inline-size}.best-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:650}.best-meta{align-items:baseline;gap:var(--s1) var(--s3);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.best-meta b{font-size:var(--text-md);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.best-all{color:var(--accent);font-weight:650}.jumble-answer{margin:0 0 var(--s5);padding:var(--s4);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:var(--r-lg);container-type:inline-size}.answer-label{margin:0 0 var(--s3);color:var(--ink);font-weight:650}.answer-label.is-none{color:var(--ink-soft);font-weight:600}.answer-main .word-tiles{--t-max:52px}.answer-more{gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap;display:flex}.answer-more .word-tiles{--t-max:30px}.result-actions{gap:var(--s1);flex-wrap:wrap;margin-left:auto;display:flex}.empty-blurb{margin:0}.empty-actions{gap:var(--s2);margin:var(--s3) 0;flex-wrap:wrap;display:flex}.solver-loading{margin:var(--s6) 0}.solver-loading p{margin:0 0 var(--s3);font-size:var(--text-sm);color:var(--ink-soft)}.skeleton-row{gap:var(--s1);margin-bottom:var(--s2);display:flex}.skeleton-tile{background:var(--tile-bg);border:1px solid var(--tile-edge);border-radius:var(--r-sm);width:34px;height:34px;animation:1.2s ease-in-out infinite tile-deal;animation-delay:calc(var(--i,0) * 70ms);border-bottom-width:2px}@keyframes tile-deal{0%,to{opacity:.4}50%{opacity:1}}.solver-error{align-items:center;gap:var(--s3);margin:var(--s6) 0;padding:var(--s4);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r);color:var(--ink);flex-wrap:wrap;display:flex}.solver-error p{flex:240px;margin:0;font-weight:600}.switch-btn{appearance:none;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3) var(--s2) var(--s2);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-full);color:var(--ink);font-family:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;font-weight:600;display:inline-flex}.switch-btn:hover{border-color:var(--accent)}.switch-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch-track{background:var(--ink-faint);border-radius:var(--r-full);flex:none;width:36px;height:22px;transition:background-color .15s;position:relative}.switch-track:after{content:"";background:var(--surface);width:16px;height:16px;box-shadow:var(--shadow-1);border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch-btn[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent)}.switch-btn[aria-checked=true] .switch-track{background:var(--accent)}.switch-btn[aria-checked=true] .switch-track:after{transform:translate(14px)}.filters-panel .control-wide{grid-column:span 2}.control-hint{font-size:var(--text-xs);color:var(--ink-faint);font-weight:400}.pattern-input{letter-spacing:.18em}.filters-panel .board-chips{align-items:center;gap:var(--s2);flex-wrap:wrap;grid-column:1/-1;display:flex}.saved-words>summary{align-items:center;gap:var(--s2);min-height:44px;margin:calc(-1 * var(--s3)) 0;font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;font-weight:650;list-style:none;display:flex}.saved-words>summary::-webkit-details-marker{display:none}.saved-words>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.saved-words-chevron{margin-left:auto;transition:transform .15s}.saved-words[open] .saved-words-chevron{transform:rotate(180deg)}.saved-words[open]>summary{margin-bottom:0}.saved-words-actions{gap:var(--s1);margin-top:var(--s2);flex-wrap:wrap;display:flex}.saved-words-list{margin:var(--s2) 0 0;padding:0;list-style:none}.saved-word-chip{gap:0;min-height:44px;padding:0}.saved-word-chip .saved-word-open{width:auto;height:auto;min-height:44px;padding:0 var(--s1) 0 var(--s4);color:var(--ink);font-family:inherit;font-size:var(--text-sm);letter-spacing:.04em;align-items:center;font-weight:650;display:inline-flex}.saved-word-chip .saved-word-open:hover{color:var(--accent);background:0 0}.saved-word-chip .saved-word-remove{width:44px;height:44px}.shortcut-help{width:min(460px, calc(100% - 2 * var(--s4)));max-height:calc(100dvh - 2 * var(--s8));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:0}.shortcut-help::backdrop{background:#00000073}.shortcut-help-panel{padding:var(--s4) var(--s5) var(--s5)}.shortcut-help-head{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3);display:flex}.shortcut-help-head h2{font-size:var(--text-md);margin:0}.shortcut-help-close{appearance:none;width:44px;height:44px;margin-right:calc(-1 * var(--s2));border-radius:var(--r-full);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.shortcut-help-close:hover{background:var(--surface-2);color:var(--ink)}.shortcut-list{gap:var(--s3);margin:0;display:grid}.shortcut-list>div{align-items:baseline;gap:var(--s3);grid-template-columns:7em minmax(0,1fr);display:grid}.shortcut-list dt{white-space:nowrap;margin:0}.shortcut-list dd{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.shortcut-or{font-size:var(--text-xs);color:var(--ink-faint)}.shortcut-list kbd{min-width:1.9em;padding:1px var(--s2);font-family:var(--mono);font-size:var(--text-sm);text-align:center;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);border-bottom-width:2px;display:inline-block}@media (hover:none),(pointer:coarse){.shortcut-btn{display:none}}@media (max-width:720px){.solver-submit{flex:0 0 60px;padding:0}.solver-submit-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filters-panel .control-wide{grid-column:1/-1}.solver .result-summary{gap:0 var(--s3);margin:var(--s3) 0 var(--s3);padding-bottom:var(--s2)}.solver .result-summary .result-actions{order:1}.solver .result-summary .from{flex-basis:100%;order:2}body:has(.solver[data-primary][data-filled]) .hero .eyebrow{display:none}body:has(.solver[data-primary][data-filled]) .hero p.lead{display:none}body:has(.solver[data-primary][data-filled]) .page-head p.lead{display:none}body:has(.solver[data-primary][data-filled]) .hero h1{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body:has(.solver[data-primary][data-filled]) .page-head{margin-bottom:var(--s2)}body:has(.solver[data-primary][data-filled]) .page-head h1{font-size:var(--text-xl);margin-bottom:0}body:has(.solver[data-primary][data-filled]) main{padding-top:var(--s3)}body:has(.solver[data-primary][data-filled]) .hero{padding:0}.solver[data-primary][data-filled]{margin-top:0}.solver[data-primary][data-filled] .letters-input{padding-top:var(--s3);padding-bottom:var(--s3)}.solver[data-primary][data-filled] #letters-hint{display:none}body:has(.site-header.is-hidden){--stick-top:0px}.solver[data-primary][data-filled] .solver-row{top:var(--stick-top,var(--header-h));z-index:10;margin-inline:calc(-1 * var(--s4));padding:var(--s2) var(--s4);background:var(--bg);border-bottom:1px solid var(--line);transition:top .2s;position:sticky}.solver[data-primary][data-filled] .result-group h3{top:calc(var(--stick-top,var(--header-h)) + var(--solver-row-h))}html:has(.solver[data-primary][data-filled]){scroll-padding-top:calc(var(--header-h) + var(--solver-row-h) + var(--s4))}.best-word{gap:var(--s2);margin-bottom:var(--s4)}.best-card{padding:var(--s2) var(--s3)}.best-word:has(.best-card+.best-card){grid-template-columns:repeat(2,minmax(0,1fr))}.best-word:has(.best-card+.best-card) .word-tiles{--t-max:30px}}@media (prefers-reduced-motion:reduce){.skeleton-tile{opacity:.7;animation:none}.switch-track,.switch-track:after,.saved-words-chevron,.solver[data-primary][data-filled] .solver-row{transition:none}}@media print{.result-actions,.shortcut-help,.word-star{display:none!important}}
