@font-face {font-family: 'Archivo';src: url('/assets/fonts/archivo-wdth.woff2?v=12020a6fdc') format('woff2-variations'), url('../fonts/archivo-wdth.woff2') format('woff2');font-weight: 100 900;font-stretch: 62% 125%;font-style: normal;font-display: swap;}:root {--bg: #EDF1F0;--surface: #FFFFFF;--sunk: #E3E9E8;--ink: #15232B;--muted: #56666E;--line: #D3DCDB;--line-strong: #AFBDBB;--link: #1F6B47;--focus: #2F67D8;--tile-g: #267A52;--tile-g-ink: #FFFFFF;--tile-y: #D9A21F;--tile-y-ink: #2A1F00;--tile-x: #75838A;--tile-x-ink: #FFFFFF;--shadow-pop: 0 1px 0 rgba(21, 35, 43, .04), 0 10px 30px -12px rgba(21, 35, 43, .28);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--r-tile: 10px;--r-panel: 22px;--r-pill: 999px;color-scheme: light;}@media (prefers-color-scheme: dark) {:root:not([data-theme="light"]) {--bg: #13202A;--surface: #1A2B37;--sunk: #102029;--ink: #E4ECEE;--muted: #9AABB3;--line: #2B3F4C;--line-strong: #44606F;--link: #74D3A3;--focus: #8AB4FF;--tile-g: #287F55;--tile-y: #E2B03A;--tile-x: #536570;--shadow-pop: 0 1px 0 rgba(0, 0, 0, .2), 0 14px 34px -14px rgba(0, 0, 0, .7);color-scheme: dark;}}:root[data-theme="dark"] {--bg: #13202A;--surface: #1A2B37;--sunk: #102029;--ink: #E4ECEE;--muted: #9AABB3;--line: #2B3F4C;--line-strong: #44606F;--link: #74D3A3;--focus: #8AB4FF;--tile-g: #287F55;--tile-y: #E2B03A;--tile-x: #536570;--shadow-pop: 0 1px 0 rgba(0, 0, 0, .2), 0 14px 34px -14px rgba(0, 0, 0, .7);color-scheme: dark;}*, *::before, *::after { box-sizing: border-box; }[hidden] { display: none !important; }html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }body {margin: 0;background: var(--bg);color: var(--ink);font: 400 1.0625rem/1.6 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;font-stretch: 100%;-webkit-font-smoothing: antialiased;overflow-x: hidden;}img, svg { display: block; }a { color: var(--link); text-underline-offset: .18em; text-decoration-thickness: 1px; }a:hover { text-decoration-thickness: 2px; }button, input, select { font: inherit; color: inherit; }button { cursor: pointer; }:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }::selection { background: var(--tile-y); color: var(--tile-y-ink); }h1, h2, h3 { line-height: 1.12; margin: 0; text-wrap: balance; }h1 {font-size: clamp(2.1rem, 1.4rem + 3.4vw, 3.6rem);font-weight: 820;font-stretch: 118%;letter-spacing: -.025em;}h2 {font-size: clamp(1.3rem, 1.1rem + .8vw, 1.65rem);font-weight: 750;font-stretch: 110%;letter-spacing: -.01em;}p { margin: 0; }.sr-only {position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}.skip-link {position: absolute; left: 12px; top: -60px; z-index: 50;background: var(--ink); color: var(--bg); padding: 10px 14px; border-radius: 10px;text-decoration: none; font-weight: 600; transition: top .15s;}.skip-link:focus { top: 12px; }.wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }@media (min-width: 600px) { .wrap { padding: 0 24px; } }.site-header {position: sticky; top: 0; z-index: 20;background: color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter: saturate(1.4) blur(12px);backdrop-filter: saturate(1.4) blur(12px);border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent);}.header-inner { display: flex; align-items: center; gap: 12px; height: 62px; }.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }.brand-name { font-weight: 850; font-stretch: 122%; font-size: 1.2rem; letter-spacing: -.02em; }.nav { margin-left: auto; }.nav ul { list-style: none; margin: 0; padding: 0; }.nav a {display: block; color: var(--muted); text-decoration: none; font-weight: 560;padding: 8px 12px; border-radius: var(--r-pill); transition: color .15s, background-color .15s;}.nav a:hover { color: var(--ink); background: var(--sunk); }.nav a[aria-current="page"] { color: var(--ink); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }.nav-inline { display: none; gap: 2px; }.nav-menu { position: relative; }.nav-menu summary {list-style: none; width: 42px; height: 42px; display: grid; place-items: center;border-radius: 12px; cursor: pointer;}.nav-menu summary::-webkit-details-marker { display: none; }.nav-menu summary svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }.nav-menu summary:hover { background: var(--sunk); }.nav-menu ul {position: absolute; right: 0; top: calc(100% + 8px); min-width: 210px; padding: 6px;background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-pop);transform-origin: top right; animation: pop-in .18s var(--ease-out);}.nav-menu ul a { border-radius: 10px; padding: 10px 12px; color: var(--ink); }@media (min-width: 860px) {.nav-inline { display: flex; }.nav-menu { display: none; }}.theme-toggle {width: 42px; height: 42px; display: grid; place-items: center; flex: none;background: none; border: 0; border-radius: 12px; color: var(--ink);}.theme-toggle:hover { background: var(--sunk); }.theme-toggle svg { width: 21px; height: 21px; grid-area: 1 / 1; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; transition: transform .45s var(--ease-spring), opacity .25s; }.theme-toggle .i-moon { fill: currentColor; stroke: none; opacity: 0; transform: rotate(-70deg) scale(.5); }:root[data-theme="dark"] .theme-toggle .i-sun { opacity: 0; transform: rotate(70deg) scale(.5); }:root[data-theme="dark"] .theme-toggle .i-moon { opacity: 1; transform: none; }@media (prefers-color-scheme: dark) {:root:not([data-theme="light"]) .theme-toggle .i-sun { opacity: 0; transform: rotate(70deg) scale(.5); }:root:not([data-theme="light"]) .theme-toggle .i-moon { opacity: 1; transform: none; }}main { padding-bottom: 72px; }.crumbs { padding-top: 18px; font-size: .9rem; }.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; color: var(--muted); }.crumbs li + li::before { content: '/'; margin-right: 4px; color: var(--line-strong); }.crumbs a { color: var(--muted); text-decoration: none; }.crumbs a:hover { color: var(--ink); text-decoration: underline; }.intro { padding: 28px 0 22px; max-width: 760px; }.crumbs + .intro { padding-top: 14px; }.lede { margin-top: 12px; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: var(--muted); max-width: 58ch; }.tool { display: grid; gap: 22px; align-items: start; }@media (min-width: 960px) {.tool { grid-template-columns: minmax(380px, 450px) minmax(0, 1fr); gap: 36px; }.tool-panel { position: sticky; top: 82px; }}.tool-panel {background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-panel);padding: 18px;box-shadow: 0 1px 0 rgba(21, 35, 43, .03);}@media (min-width: 600px) { .tool-panel { padding: 22px; } }.lengths { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; }.len {width: 38px; height: 38px; display: grid; place-items: center;border-radius: 9px; font-weight: 800; font-stretch: 125%; text-decoration: none;color: var(--muted); border: 1.5px solid var(--line);transition: border-color .15s, color .15s, transform .15s;}a.len:hover { color: var(--ink); border-color: var(--line-strong); transform: translateY(-1px); }.len[aria-current] { background: var(--ink); border-color: var(--ink); color: var(--surface); }.len-label { margin-left: 4px; color: var(--muted); font-size: .92rem; }.tabs {position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;background: var(--sunk); border-radius: 14px; padding: 4px; margin-bottom: 20px;}.tab {position: relative; z-index: 1; border: 0; background: none; padding: 9px 6px;border-radius: 10px; font-weight: 620; font-size: .95rem; color: var(--muted);transition: color .2s;white-space: nowrap;}.tab[aria-selected="true"] { color: var(--ink); }.tab-ink {position: absolute; top: 4px; bottom: 4px; left: 0; width: var(--w, 0);transform: translateX(var(--x, 0)); border-radius: 10px;background: var(--surface); box-shadow: 0 1px 2px rgba(21, 35, 43, .12), 0 0 0 1px var(--line);transition: transform .32s var(--ease-out), width .32s var(--ease-out);}.no-ink .tab-ink { display: none; }.no-ink .tab[aria-selected="true"] { background: var(--surface); }.row { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }.row legend, .legend {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;padding: 0; margin-bottom: 9px; font-weight: 650; font-size: .95rem;}.legend-note { font-weight: 400; color: var(--muted); font-size: .85rem; }.key { width: 12px; height: 12px; border-radius: 4px; flex: none; }.key-g { background: var(--tile-g); }.key-y { background: var(--tile-y); }.key-x { background: var(--tile-x); }.tiles {display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr));gap: 8px; max-width: calc(var(--n) * 66px);}.tile {width: 100%; aspect-ratio: 1; min-width: 0; padding: 0;text-align: center; text-transform: uppercase;font-size: clamp(1.25rem, 5.6vw, 1.75rem); font-weight: 820; font-stretch: 125%;background: var(--surface); color: var(--ink);border: 2px solid var(--line-strong); border-radius: var(--r-tile);caret-color: var(--focus);transition: background-color .18s, border-color .18s, color .18s;}.tile:hover { border-color: var(--muted); }.tile:focus-visible { outline-offset: 1px; }.tile.is-filled { animation: tile-pop .16s var(--ease-out); }.tile-g.is-filled { background: var(--tile-g); border-color: var(--tile-g); color: var(--tile-g-ink); }.tile-y.is-filled { background: var(--tile-y); border-color: var(--tile-y); color: var(--tile-y-ink); }.tile-y.is-multi { font-size: clamp(.8rem, 3vw, 1rem); letter-spacing: .02em; font-stretch: 100%; }.tile.is-conflict { border-color: #D2453B; box-shadow: 0 0 0 3px color-mix(in srgb, #D2453B 25%, transparent); }.js .tile-g { animation: tile-in .6s var(--ease-out) both; }.js .tile-g:nth-child(2) { animation-delay: .07s; }.js .tile-g:nth-child(3) { animation-delay: .14s; }.js .tile-g:nth-child(4) { animation-delay: .21s; }.js .tile-g:nth-child(5) { animation-delay: .28s; }.js .tile-g:nth-child(6) { animation-delay: .35s; }.js .tile-g:nth-child(7) { animation-delay: .42s; }.js .tile-g.is-filled { animation: tile-pop .16s var(--ease-out); }.js .tool.is-ready .tile-g:not(.is-filled) { animation: none; }.field {width: 100%; height: 50px; padding: 0 14px;background: var(--surface); border: 2px solid var(--line-strong); border-radius: 12px;font-weight: 700; font-stretch: 112%; letter-spacing: .18em; text-transform: uppercase;transition: border-color .18s;}.field::placeholder { color: var(--muted); opacity: .75; letter-spacing: 0; text-transform: none; font-weight: 400; font-stretch: 100%; }.field:hover { border-color: var(--muted); }#gray:not(:placeholder-shown) { text-decoration: line-through; text-decoration-color: var(--tile-x); text-decoration-thickness: 2px; color: var(--muted); }.field-note { margin-top: 8px; font-size: .88rem; color: var(--muted); }.btn, .btn-quiet, .btn-more {display: inline-flex; align-items: center; justify-content: center; gap: 8px;border-radius: 12px; font-weight: 650; text-decoration: none;transition: background-color .15s, border-color .15s, transform .12s;}.btn { height: 50px; padding: 0 20px; background: var(--ink); color: var(--surface); border: 0; }.btn:hover { background: color-mix(in srgb, var(--ink) 86%, var(--tile-g)); }.btn:active, .btn-quiet:active, .btn-more:active { transform: scale(.97); }a.btn { color: var(--surface); }.btn-quiet { padding: 8px 12px; margin-left: -12px; background: none; border: 0; color: var(--muted); font-size: .93rem; }.btn-quiet:hover { color: var(--ink); background: var(--sunk); }.input-row { display: flex; gap: 8px; }.input-row .field { flex: 1; min-width: 0; }.msg { min-height: 1.3em; margin-top: 6px; font-size: .88rem; color: #B2382F; }:root[data-theme="dark"] .msg { color: #FF8A80; }@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .msg { color: #FF8A80; } }.board { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }.board-row { display: flex; align-items: center; gap: 8px; animation: row-in .28s var(--ease-out); }.board-tiles { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 6px; flex: 1; max-width: calc(var(--n) * 60px); }.btile {aspect-ratio: 1; min-width: 0; padding: 0; border: 0; border-radius: var(--r-tile);font-size: clamp(1.15rem, 5vw, 1.55rem); font-weight: 820; font-stretch: 125%; text-transform: uppercase;background: var(--tile-x); color: var(--tile-x-ink);transition: background-color .01s .16s, color .01s .16s;-webkit-tap-highlight-color: transparent;}.btile[data-mark="y"] { background: var(--tile-y); color: var(--tile-y-ink); }.btile[data-mark="g"] { background: var(--tile-g); color: var(--tile-g-ink); }.btile.is-flipping { animation: flip .34s ease-in-out; }.row-remove {width: 36px; height: 36px; flex: none; display: grid; place-items: center;background: none; border: 0; border-radius: 10px; color: var(--muted);}.row-remove:hover { background: var(--sunk); color: var(--ink); }.row-remove svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; stroke-linecap: round; fill: none; }.board-hint { margin-top: 10px; font-size: .88rem; color: var(--muted); }.field-rack { height: 58px; font-size: 1.35rem; letter-spacing: .3em; }.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }.chip {min-width: 46px; height: 36px; padding: 0 14px; border-radius: var(--r-pill);background: none; border: 1.5px solid var(--line); font-weight: 650; color: var(--muted);transition: background-color .15s, color .15s, border-color .15s;}.chip:hover { border-color: var(--line-strong); color: var(--ink); }.chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--surface); }.results { min-width: 0; }.results-bar {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;padding-bottom: 14px; margin-bottom: 8px; border-bottom: 1px solid var(--line);}.count { font-size: 1.02rem; color: var(--muted); }.count strong { color: var(--ink); font-weight: 800; font-stretch: 115%; font-size: 1.5rem; font-variant-numeric: tabular-nums; margin-right: 2px; }.count-note { font-size: .9rem; }.controls { display: flex; align-items: center; gap: 14px; }.select select {appearance: none; -webkit-appearance: none; height: 38px; padding: 0 34px 0 12px;background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356666E' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 9px center / 16px;border: 1.5px solid var(--line); border-radius: 10px; font-weight: 600; font-size: .93rem;}.select select:hover { border-color: var(--line-strong); }.switch { display: inline-flex; align-items: center; gap: 8px; font-size: .93rem; font-weight: 600; color: var(--muted); cursor: pointer; user-select: none; }.switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }.switch-track { width: 36px; height: 22px; border-radius: 99px; background: var(--line-strong); position: relative; transition: background-color .2s; }.switch-track::after {content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: transform .25s var(--ease-spring);}.switch input:checked + .switch-track { background: var(--tile-g); }.switch input:checked + .switch-track::after { transform: translateX(14px); }.switch input:focus-visible + .switch-track { outline: 3px solid var(--focus); outline-offset: 2px; }.notice { margin: 10px 0; padding: 12px 14px; border-radius: 12px; background: var(--sunk); color: var(--ink); font-size: .95rem; }.notice strong { font-weight: 700; }.words {--cell: 104px;list-style: none; margin: 0; padding: 6px 0 0;display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--cell), 1fr)); gap: 2px 6px;}.tool[data-n="3"] .words { --cell: 72px; }.tool[data-n="4"] .words { --cell: 86px; }.tool[data-n="6"] .words { --cell: 118px; }.tool[data-n="7"] .words, .tool[data-n="0"] .words { --cell: 130px; }.w {width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 6px;padding: 8px 10px; background: none; border: 1px solid transparent; border-radius: 10px;text-align: left; text-transform: uppercase; font-weight: 640; font-stretch: 112%; letter-spacing: .06em;font-size: 1rem; color: var(--ink);transition: background-color .12s, border-color .12s;}.w:hover { background: var(--surface); border-color: var(--line); }.w:active { transform: scale(.97); }.w::after { content: attr(data-p); display: none; font-size: .72rem; font-weight: 600; letter-spacing: 0; color: var(--muted); font-variant-numeric: tabular-nums; }.show-points .w::after { display: inline; }.w.is-copied { background: var(--tile-g); border-color: var(--tile-g); color: var(--tile-g-ink); }.w.is-copied::after { color: inherit; }.words.is-fresh li { animation: settle .32s var(--ease-out) both; animation-delay: calc(var(--d, 0) * 14ms); }.group-h { margin: 22px 0 4px; font-size: 1rem; font-weight: 700; font-stretch: 100%; letter-spacing: 0; color: var(--muted); }.group-h:first-child { margin-top: 10px; }.btn-more { margin-top: 16px; height: 44px; padding: 0 18px; background: var(--surface); border: 1.5px solid var(--line); color: var(--ink); }.btn-more:hover { border-color: var(--line-strong); }.empty-state { padding: 26px 0 8px; color: var(--muted); max-width: 46ch; }.empty-state strong { display: block; color: var(--ink); font-size: 1.1rem; margin-bottom: 4px; }.results { scroll-margin-top: 74px; }.jump {position: fixed; left: 50%; bottom: 18px; z-index: 30;transform: translateX(-50%); padding: 12px 20px; border-radius: var(--r-pill);background: var(--tile-g); color: var(--tile-g-ink); font-weight: 700; text-decoration: none;box-shadow: var(--shadow-pop); animation: jump-in .3s var(--ease-spring);white-space: nowrap;}.jump:hover { filter: brightness(1.06); }@media (min-width: 960px) { .jump { display: none; } }@keyframes jump-in { from { opacity: 0; transform: translate(-50%, 16px); } to { opacity: 1; transform: translateX(-50%); } }.toast {position: fixed; left: 50%; bottom: 22px; z-index: 60;transform: translate(-50%, 140%); opacity: 0;padding: 11px 18px; border-radius: var(--r-pill); background: var(--ink); color: var(--bg);font-weight: 650; font-size: .95rem; box-shadow: var(--shadow-pop);transition: transform .35s var(--ease-spring), opacity .2s; pointer-events: none;max-width: calc(100vw - 32px); text-align: center;}.toast.is-on { transform: translate(-50%, 0); opacity: 1; }.content { margin-top: 56px; display: grid; gap: 44px; }.kind-hub .content, .kind-info .content { margin-top: 8px; }.prose { max-width: 70ch; }.prose h2 + p, .prose h2 + ul, .prose h2 + ol { margin-top: 12px; }.prose p + p { margin-top: 14px; }.prose ul:not([class]) { padding-left: 1.2em; }article.prose { padding-top: 26px; display: block; }article.prose h1 { margin-bottom: 18px; }article.prose h2 { margin: 34px 0 10px; }.updated { color: var(--muted); font-size: .93rem; }.score-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; max-width: 420px; }.score-list li { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--line); }.sw { font-weight: 700; font-stretch: 115%; letter-spacing: .06em; }.sp { color: var(--muted); font-variant-numeric: tabular-nums; }.words-static { margin-top: 14px; }.letter-grid {list-style: none; margin: 14px 0 0; padding: 0;display: grid; grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)); gap: 6px;}.lt {aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;border-radius: var(--r-tile); border: 1.5px solid var(--line); background: var(--surface);color: var(--ink); text-decoration: none; line-height: 1;transition: background-color .15s, border-color .15s, color .15s, transform .15s var(--ease-out);}.lt b { font-size: 1.3rem; font-weight: 820; font-stretch: 125%; text-transform: uppercase; }.lt small { margin-top: 4px; font-size: .7rem; color: var(--muted); font-variant-numeric: tabular-nums; }a.lt:hover { background: var(--tile-g); border-color: var(--tile-g); color: var(--tile-g-ink); transform: translateY(-2px); }a.lt:hover small { color: inherit; }.lt.is-current { background: var(--tile-g); border-color: var(--tile-g); color: var(--tile-g-ink); }.lt.is-current small { color: inherit; }.lt.is-empty { background: transparent; border-style: dashed; color: var(--line-strong); }.hub h2 + .letter-grid { margin-bottom: 30px; }.letter-nav .link-list { margin-top: 18px; }.sub-h { margin-top: 24px; font-size: 1rem; font-weight: 700; color: var(--muted); }.sub-h + .link-list { margin-top: 10px; }.chip-count { margin-left: 4px; font-size: .8rem; color: var(--muted); font-variant-numeric: tabular-nums; }.hub .link-list { margin-bottom: 30px; }.link-list { list-style: none; padding: 0; margin: 12px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }.link-list a, .related a {display: inline-block; padding: 8px 14px; border-radius: var(--r-pill);border: 1.5px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 560; font-size: .95rem;transition: border-color .15s, background-color .15s;}.link-list a:hover, .related a:hover { border-color: var(--line-strong); background: var(--surface); }.related ul { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }.faq { max-width: 70ch; }.faq h2 { margin-bottom: 8px; }.faq details { border-bottom: 1px solid var(--line); }.faq summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;padding: 16px 0; font-weight: 650; font-size: 1.05rem;}.faq summary::-webkit-details-marker { display: none; }.faq summary::after {content: ''; flex: none; width: 14px; height: 14px;background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;transition: transform .25s var(--ease-out); color: var(--muted);}.faq details[open] summary::after { transform: rotate(45deg); }.faq details p { padding: 0 0 18px; color: var(--muted); max-width: 64ch; }.faq details[open] p { animation: settle .25s var(--ease-out); }.ad-slot { margin: 28px 0; min-height: 120px; text-align: center; }.ad-label { display: block; font-size: .75rem; color: var(--muted); margin-bottom: 4px; }.site-footer { border-top: 1px solid var(--line); padding: 44px 0 32px; background: var(--sunk); font-size: .95rem; }.foot-grid { display: grid; gap: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.foot-brand { grid-column: 1 / -1; }.foot-brand p { margin-top: 10px; color: var(--muted); }.foot-col h2 { font-size: .95rem; font-stretch: 100%; font-weight: 700; margin-bottom: 10px; }.foot-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }.foot-col a { color: var(--muted); text-decoration: none; }.foot-col a:hover { color: var(--ink); text-decoration: underline; }.foot-note { margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .85rem; }@media (min-width: 760px) {.foot-grid { grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); }.foot-brand { grid-column: auto; }}@keyframes tile-in {0% { transform: perspective(400px) rotateX(-90deg); opacity: 0; }60% { transform: perspective(400px) rotateX(12deg); opacity: 1; }100% { transform: none; opacity: 1; }}@keyframes tile-pop { 0% { transform: scale(.9); } 60% { transform: scale(1.07); } 100% { transform: scale(1); } }@keyframes flip { 0% { transform: rotateX(0); } 50% { transform: rotateX(90deg); } 100% { transform: rotateX(0); } }@keyframes settle { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }@keyframes row-in { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }@keyframes pop-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: .01ms !important; animation-iteration-count: 1 !important;animation-delay: 0s !important; transition-duration: .01ms !important; scroll-behavior: auto !important;}}@media print {.site-header, .site-footer, .tool-panel, .controls, .btn-more, .toast, .ad-slot { display: none !important; }body { background: #fff; color: #000; }}