:root{--paper:#fbf8f1;--paper-2:#f3eee2;--ink:#1c2840;--ink-2:#3a4560;--muted:#5d6676;--rule:#ddd5c4;--accent:#e8a33d;--accent-ink:#9a5800;--accent-wash:#fbecd0;--error:#a3261c;--logo-bg:#1c2840;--logo-cell:#fbf8f1;--radius:10px;--serif:Charter, "Bitstream Charter", "Iowan Old Style", "Sitka Text", Cambria, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--paper:#12161e;--paper-2:#1a202b;--ink:#ece7dc;--ink-2:#cfc9bd;--muted:#9aa1ad;--rule:#2c3442;--accent-ink:#f0b552;--accent-wash:#3a2e17;--error:#ff8a7a;--logo-bg:#fbf8f1;--logo-cell:#1c2840}}:root[data-theme=dark]{--paper:#12161e;--paper-2:#1a202b;--ink:#ece7dc;--ink-2:#cfc9bd;--muted:#9aa1ad;--rule:#2c3442;--accent-ink:#f0b552;--accent-wash:#3a2e17;--error:#ff8a7a;--logo-bg:#fbf8f1;--logo-cell:#1c2840}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);text-rendering:optimizelegibility;margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:1.6em 0 .5em;line-height:1.2}h1{margin-top:.4em;font-size:clamp(1.9rem,4vw,2.6rem)}h2{font-size:1.45rem}h3{font-size:1.15rem}p,ul,ol{margin:0 0 1em}a{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.muted{color:var(--muted)}.small{font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.header-inner{flex-wrap:wrap;align-items:center;gap:24px;min-height:64px;padding-top:8px;padding-bottom:8px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-word{font:700 1.3rem/1 var(--serif);letter-spacing:-.01em}.logo-accent{color:var(--accent-ink)}.main-nav{flex-wrap:wrap;gap:18px;margin-right:auto;font-size:.95rem;display:flex}.main-nav a{color:var(--ink-2);border-bottom:2px solid #0000;padding:4px 0;text-decoration:none}.main-nav a.active,.main-nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}.locale-toggle{border:1px solid var(--rule);border-radius:999px;display:inline-flex;overflow:hidden}.locale-toggle button{color:var(--muted);font:600 .8rem var(--sans);cursor:pointer;background:0 0;border:0;padding:5px 11px}.locale-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.boost-pill{border:1px solid var(--accent);background:var(--accent-wash);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.boost-pill:hover{color:var(--ink);border-color:var(--accent-ink)}.boost-pill svg{color:var(--accent-ink)}@media (max-width:420px){.boost-pill-label{display:none}}.theme-toggle{border:1px solid var(--rule);width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;place-items:center;padding:0;display:grid}.theme-toggle:hover{border-color:var(--ink-2)}@media (max-width:720px){.main-nav{flex-wrap:nowrap;order:3;gap:16px;width:100%;padding-bottom:4px;overflow-x:auto}.main-nav a{white-space:nowrap}}.hero{padding:36px 0 8px;position:relative}.hero:before{content:"";z-index:-1;background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);opacity:.55;background-size:32px 32px;height:260px;position:absolute;inset:0 -20px auto;-webkit-mask-image:radial-gradient(at 20% 0,#000 0%,#0000 70%);mask-image:radial-gradient(at 20% 0,#000 0%,#0000 70%)}.hero p.lede{color:var(--ink-2);max-width:40em;font-size:1.1rem}.btn{font:600 1rem var(--sans);border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;padding:10px 18px}.btn:hover{border-color:var(--ink-2)}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:var(--ink-2)}.btn-primary:disabled{opacity:.7;cursor:progress}.btn-small{padding:4px 12px;font-size:.85rem}.icon-btn{border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);width:44px;height:44px;color:var(--ink-2);cursor:pointer;flex:none;place-items:center;display:grid}.icon-btn.listening{color:var(--paper);background:var(--error);border-color:var(--error)}.solver{margin:8px 0 32px}.solver-form{background:var(--paper-2);border:1px solid var(--rule);border-radius:14px;padding:18px}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.clue-row{align-items:flex-start;gap:8px;display:flex}textarea,input{width:100%;font:1.05rem/1.4 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 12px}textarea{font-family:var(--serif);resize:vertical;min-height:64px;font-size:1.2rem}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash);outline:none}.field-row{grid-template-columns:130px 1fr auto;align-items:end;gap:12px;margin-top:14px;display:grid}.field-row input{font-family:var(--mono);letter-spacing:.08em}@media (max-width:560px){.field-row{grid-template-columns:1fr 1fr}.solve-btn{grid-column:1/-1}}.error{color:var(--error);margin:12px 0 0}.notice{background:var(--accent-wash);border-left:3px solid var(--accent);border-radius:6px;padding:10px 14px}.thinking{color:var(--muted);align-items:center;gap:10px;margin:20px 0;display:flex}.thinking-grid{gap:3px;display:inline-flex}.thinking-grid i{border:1.5px solid var(--ink-2);border-radius:2px;width:12px;height:12px;animation:1.2s ease-in-out infinite pulse}.thinking-grid i:nth-child(2){animation-delay:.2s}.thinking-grid i:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{background:var(--accent);border-color:var(--accent)}}@media (prefers-reduced-motion:reduce){.thinking-grid i{animation:none}}.reveal{margin-top:24px;scroll-margin-top:16px}.clue-line{font:1.35rem/1.45 var(--serif);margin:0 0 16px}.clue-line .enum{color:var(--muted)}mark.definition{color:inherit;border-bottom:3px solid var(--accent);background:0 0;padding:0 1px}.steps{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.step{border-bottom:1px solid var(--rule);padding:12px 0}.step-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.step-label{font:600 .82rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0}.step-body{margin-top:8px}.step-body p:last-child{margin-bottom:0}.explain-head{margin-top:16px}.answer-grid{flex-wrap:wrap;align-items:center;gap:0;margin:6px 0 4px;display:flex}.cell{border:1.5px solid var(--ink);background:var(--paper);width:42px;height:42px;color:var(--ink);font:700 1.3rem/1 var(--sans);text-transform:uppercase;cursor:pointer;margin-right:-1px;padding:0;position:relative}.cell:hover:not(:disabled){background:var(--accent-wash)}.cell:disabled{cursor:default}.cell.shown{background:var(--paper);animation:.25s ease-out pop}.cell.word-end{margin-right:10px}.cell-num{font:600 9px/1 var(--sans);color:var(--muted);position:absolute;top:2px;left:3px}.cell-hyphen{margin:0 4px 0 3px;font-weight:700}@keyframes pop{0%{color:#0000;background:var(--accent-wash)}}@media (max-width:420px){.cell{width:34px;height:34px;font-size:1.1rem}}.prose{max-width:42em}.prose h2{border-top:1px solid var(--rule);padding-top:1.1em}.layout{grid-template-columns:minmax(0,1fr);gap:40px;display:grid}@media (min-width:1000px){.layout.with-rail{grid-template-columns:minmax(0,1fr) 300px}}.rail{align-self:start;position:sticky;top:16px}@media (max-width:999px){.rail{display:none}}.card-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:0;list-style:none;display:grid}.card-list li{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);padding:14px 16px}.card-list a{font:700 1.05rem var(--serif)}.card-list p{color:var(--muted);margin:4px 0 0;font-size:.93rem}.example{border-left:3px solid var(--accent);margin:0 0 18px;padding:4px 0 4px 14px}.example .clue-text{font:1.15rem var(--serif);margin:0}.example .answer{font-family:var(--mono);letter-spacing:.08em;font-weight:700}.tags{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.tags li{background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:2px 10px;font-size:.9rem}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:8px 10px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem}td.letters{font-family:var(--mono);white-space:nowrap;font-weight:700}dl.glossary dt{font:700 1.05rem var(--serif);margin-top:14px}dl.glossary dd{margin:2px 0 0}.breadcrumbs{color:var(--muted);margin-top:18px;font-size:.88rem}.breadcrumbs a{color:var(--muted)}details.faq{border-bottom:1px solid var(--rule);padding:10px 0}details.faq summary{cursor:pointer;font-weight:600}.ad-slot{background:var(--paper-2);border-radius:8px;justify-content:center;align-items:center;margin:28px 0;display:flex;position:relative;overflow:hidden}.ad-slot[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;position:absolute;top:4px;left:8px}.ad-fill{text-align:center;width:100%}.house-ad{font:600 1.05rem var(--serif);padding:24px;text-decoration:none;display:block}.interstitial{z-index:50;background:#0c1018d9;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.interstitial-card{background:var(--paper);text-align:center;border-radius:14px;flex-direction:column;gap:14px;width:min(100%,640px);min-height:min(80vh,520px);padding:20px;display:flex}.interstitial-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.75rem}.interstitial-fill{background:var(--paper-2);border-radius:8px;flex:1;place-items:center;min-height:300px;display:grid}.interstitial-wait{color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.install-card{border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--paper-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 0;padding:14px 16px;display:flex}.install-card p{margin:0}.install-title{font:700 1.05rem var(--serif)}.install-actions{gap:8px;display:flex}.inline-icon{vertical-align:-3px}.link-btn{font:inherit;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.consent-banner{z-index:40;background:var(--paper-2);border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px max(20px,50vw - 540px);animation:.35s ease-out consent-in;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}.consent-banner p{max-width:46em;margin:0;font-size:.95rem}.consent-actions{gap:10px;display:flex}@keyframes consent-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.consent-banner{animation:none}}.site-footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:56px;padding:24px 0 40px;font-size:.9rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.site-footer nav{flex-wrap:wrap;gap:18px;display:flex}.site-footer a{color:var(--muted)}
