:root{--cream:#fbf7ef;--cream-2:#f4ecdd;--paper:#fff;--ink:#2b2622;--ink-soft:#6b6258;--ink-faint:#97907f;--coral:#f26449;--coral-dark:#d94e34;--coral-soft:#fde7e1;--teal:#2f8f83;--gold:#e8b53d;--line:#e7ddcb;--line-strong:#d8cbb2;--tile-bg:#fdf6e3;--tile-line:#e0d2ae;--shadow:0 1px 2px #2b26220f, 0 6px 20px #2b26220f;--shadow-lift:0 2px 4px #2b262214, 0 12px 32px #2b26221a;--radius:14px;--radius-sm:10px;--maxw:1080px;--font:ui-rounded, "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace}[data-theme=dark]{--cream:#1c1a17;--cream-2:#24211d;--paper:#26231f;--ink:#f2ece1;--ink-soft:#b9b0a1;--ink-faint:#8c8578;--coral:#ff7a5f;--coral-dark:#ff9077;--coral-soft:#3a2521;--teal:#4fb3a4;--gold:#f0c052;--line:#37322b;--line-strong:#48413a;--tile-bg:#322c24;--tile-line:#4b4235;--shadow:0 1px 2px #0000004d, 0 6px 20px #0000004d;--shadow-lift:0 2px 4px #0006, 0 12px 32px #00000073}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}a{color:var(--coral-dark);text-decoration:none}a:hover{text-decoration:underline}[data-theme=dark] a{color:var(--coral)}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{z-index:20;background:color-mix(in srgb, var(--cream) 88%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(8px);backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:800;display:inline-flex}.brand:hover{text-decoration:none}.brand-tiles{gap:3px;display:inline-flex}.brand-tile{background:var(--tile-bg);border:1px solid var(--tile-line);width:26px;height:26px;color:var(--coral-dark);border-bottom-width:3px;border-radius:6px;place-items:center;font-size:14px;font-weight:800;display:grid}.header-right{align-items:center;gap:6px;display:flex}.nav-links{gap:4px;display:flex}.nav-links a{min-height:44px;color:var(--ink-soft);border-radius:999px;align-items:center;padding:8px 12px;font-size:15px;font-weight:700;display:inline-flex}.nav-links a:hover{color:var(--ink);background:var(--cream-2);text-decoration:none}.nav-toggle-btn{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;border-radius:999px;place-items:center;display:none}.nav-toggle-btn:hover{color:var(--coral-dark);border-color:var(--line-strong)}.nav-links-mobile{background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lift);flex-direction:column;gap:2px;padding:8px 20px 16px;display:flex;position:absolute;top:100%;left:0;right:0}.nav-links-mobile a{min-height:44px;color:var(--ink-soft);border-radius:10px;align-items:center;padding:0 10px;font-size:15px;font-weight:700;display:flex}.nav-links-mobile a:hover{color:var(--ink);background:var(--cream-2);text-decoration:none}.theme-toggle{border:1px solid var(--line);background:var(--paper);width:40px;height:40px;color:var(--ink-soft);cursor:pointer;border-radius:999px;place-items:center;display:grid}.theme-toggle:hover{color:var(--coral-dark);border-color:var(--line-strong)}main.container{padding-top:28px;padding-bottom:64px}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;line-height:1.2}h1{margin:0 0 12px;font-size:clamp(28px,4.5vw,40px);font-weight:900}h2{margin:40px 0 12px;font-size:24px;font-weight:800}h3{margin:24px 0 8px;font-size:18px;font-weight:800}.hero{text-align:center;padding:8px 0 4px}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--teal);background:color-mix(in srgb, var(--teal) 12%, transparent);border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.hero p.lead{color:var(--ink-soft);max-width:620px;margin:0 auto 8px;font-size:18px}.solver{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:24px 0;padding:22px}.solver-row{flex-wrap:wrap;gap:10px;display:flex}.letters-input{min-width:0;font-family:var(--font);letter-spacing:.18em;text-transform:uppercase;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--cream);color:var(--ink);flex:260px;padding:14px 16px;font-size:22px;font-weight:800}.letters-input:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft);outline:none}.letters-input::placeholder{color:var(--ink-faint);letter-spacing:.06em;font-weight:700}.btn{font-family:var(--font);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:16px;font-weight:800;display:inline-flex}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 2px 0 var(--coral-dark)}.btn-primary:hover{background:var(--coral-dark);text-decoration:none}.btn-primary:active{box-shadow:0 1px 0 var(--coral-dark);transform:translateY(1px)}.btn-ghost{background:var(--paper);border-color:var(--line-strong);color:var(--ink-soft)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.solver-controls{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;font-size:14px;display:flex}.control{align-items:center;gap:7px;font-weight:700;display:inline-flex}.control select,.mini-input{font-family:var(--font);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:14px;font-weight:700}.mini-input{text-transform:uppercase;width:66px}.hint{color:var(--ink-faint);margin-top:10px;font-size:13px}.result-summary{flex-wrap:wrap;align-items:baseline;gap:12px;margin:24px 0 8px;display:flex}.result-summary .count{color:var(--ink);font-size:22px;font-weight:900}.result-group{margin:20px 0}.result-group h3{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:10px;margin:0 0 12px;font-size:16px;display:flex}.result-group h3 .pill{background:var(--cream-2);color:var(--ink-soft);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800}.word-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.word-chip{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:9px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.word-chip:hover{border-color:var(--coral);box-shadow:var(--shadow);text-decoration:none}.word-chip .w{letter-spacing:.02em;color:var(--ink);font-weight:800}.word-chip .s{color:var(--coral-dark);background:var(--coral-soft);border-radius:6px;padding:1px 7px;font-size:12px;font-weight:800}.tiles{flex-wrap:wrap;gap:3px;display:inline-flex}.tile{background:var(--tile-bg);border:1px solid var(--tile-line);text-transform:uppercase;width:34px;height:34px;color:var(--ink);border-bottom-width:3px;border-radius:7px;place-items:center;font-size:17px;font-weight:800;display:grid;position:relative}.tile .sub{color:var(--ink-faint);font-size:9px;font-weight:700;position:absolute;bottom:1px;right:3px}.section{margin:44px 0}.section-sub{color:var(--ink-soft);margin:-6px 0 18px}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:12px;padding:16px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.card:hover{box-shadow:var(--shadow-lift);border-color:var(--line-strong);text-decoration:none;transform:translateY(-2px)}.card-icon{background:var(--coral-soft);width:40px;height:40px;color:var(--coral-dark);border-radius:10px;flex:none;place-items:center;display:grid}.card-body{flex-direction:column;gap:2px;display:flex}.card-body strong{color:var(--ink);font-size:16px;font-weight:800}.card-body small{color:var(--ink-soft);font-size:13px}.letter-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.letter-tile{aspect-ratio:1;background:var(--tile-bg);border:1px solid var(--tile-line);text-transform:uppercase;color:var(--ink);border-bottom-width:3px;border-radius:9px;place-items:center;font-size:20px;font-weight:900;transition:transform .1s,border-color .1s,color .1s;display:grid}.letter-tile:hover{color:var(--coral-dark);border-color:var(--coral);text-decoration:none;transform:translateY(-2px)}.prose{max-width:760px}.prose p,.prose li{color:var(--ink)}.prose h2{margin-top:40px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;margin:14px 0;padding-left:44px;position:relative}.steps li:before{content:counter(step);background:var(--coral-soft);width:30px;height:30px;color:var(--coral-dark);border-radius:8px;place-items:center;font-weight:900;display:grid;position:absolute;top:-2px;left:0}.crumbs{color:var(--ink-faint);margin-bottom:16px;font-size:14px;font-weight:700}.crumbs a{color:var(--ink-soft)}.page-head{margin-bottom:8px}.page-head p.lead{color:var(--ink-soft);max-width:720px;font-size:18px}.taglist{flex-wrap:wrap;gap:8px;display:flex}.taglist a{color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:700}.taglist a:hover{color:var(--coral-dark);border-color:var(--coral);text-decoration:none}.stats{flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0;display:flex}.stat{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.stat b{color:var(--ink)}.note{background:var(--cream-2);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius-sm);color:var(--ink);margin:20px 0;padding:14px 18px}.data-table{border-collapse:collapse;width:100%;font-size:15px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.data-table th{color:var(--ink-soft);font-weight:800}.table-scroll{overflow-x:auto}code,pre{font-family:var(--mono);font-size:14px}pre{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;overflow-x:auto}code:not(pre code){background:var(--cream-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px}.wordle-grid{flex-wrap:wrap;gap:8px;display:flex}.wordle-cell{text-align:center;width:52px;height:52px;font-family:var(--font);text-transform:uppercase;border:2px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:10px;font-size:24px;font-weight:900}.wordle-cell:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft);outline:none}.site-footer{border-top:1px solid var(--line);background:var(--cream-2);margin-top:40px;padding:40px 0 32px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}.footer-brand{max-width:320px}.footer-brand p{color:var(--ink-soft);font-size:15px}.footer-cols{flex-wrap:wrap;gap:48px;display:flex}.footer-col{flex-direction:column;gap:8px;display:flex}.footer-col h4{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin:0 0 4px;font-size:13px}.footer-col a{color:var(--ink-soft);font-size:15px;font-weight:600}.footer-col a:hover{color:var(--coral-dark)}.footer-note{border-top:1px solid var(--line);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;font-size:14px;display:flex}.footer-note a{color:var(--ink-soft);font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.empty{text-align:center;color:var(--ink-faint);padding:32px 0;font-weight:700}.contact-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow);flex-direction:column;gap:16px;margin:24px 0;padding:22px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--ink-soft);font-size:14px;font-weight:700}.form-input{width:100%;font-family:var(--font);border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--cream);color:var(--ink);padding:12px 14px;font-size:16px}.form-input:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft);outline:none}.form-textarea{resize:vertical;min-height:120px;font-family:var(--font)}.form-status{border-radius:var(--radius-sm);padding:14px 16px;font-size:14px}.form-status strong{color:var(--ink);display:block}.form-status p{color:var(--ink-soft);margin:4px 0 0}.form-status-success{background:color-mix(in srgb, var(--teal) 14%, transparent);max-width:560px}.form-status-error{background:var(--coral-soft);color:var(--coral-dark);font-weight:700}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.ad-slot{background:var(--cream-2);border:1px dashed var(--line-strong);border-radius:var(--radius);justify-content:center;align-items:center;margin:28px 0;display:flex}.ad-slot-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:12px;font-weight:800}.consent-banner{z-index:50;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow-lift);color:var(--ink);margin:0 auto;padding:18px 20px;position:fixed;bottom:16px;left:16px;right:16px}.consent-banner p{color:var(--ink-soft);margin:0 0 12px;font-size:14px}.consent-actions{align-items:center;gap:16px;display:flex}.consent-actions a{font-size:14px;font-weight:700}@media (max-width:640px){body{font-size:16px}.nav-links{display:none}.nav-toggle-btn{display:grid}.footer-cols{gap:28px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
