:root {
  --ws-ink:#16281E; --ws-deep:#1E4D33; --ws-leaf:#2F9E62; --ws-leaf-hover:#257F4E;
  --ws-lime:#A8D93C; --ws-lime-soft:#C9E88A; --ws-tomato:#E4572E; --ws-amber:#E5A50A;
  --ws-cream:#F7F9F3; --ws-card:#FFFFFF; --ws-line:#E2EAD9; --ws-txt:#21302A;
  --ws-txt-2:#51645A; --ws-tile-bg:#F0F7DC; --ws-tile-border:#6BA82F;
  --ws-tile-txt:#3A5A14; --ws-chip-soft:#E9F4E0;
}
[data-theme="dark"] {
  --ws-cream:#0D1912; --ws-card:#12241A; --ws-line:#1E3A2A;
  --ws-txt:#DCE8DE; --ws-txt-2:#93A89A; --ws-tile-bg:#1E3312; --ws-tile-txt:#C3E86A;
}
[data-theme="dark"] a { color:#7FCF9E; }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,sans-serif;font-size:15.5px;line-height:1.7;color:var(--ws-txt);background:var(--ws-cream)}
a{color:var(--ws-leaf);text-decoration:none}
a:hover{text-decoration:underline}
p{margin-bottom:.85rem}
img{vertical-align:middle;max-width:100%}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;line-height:1.2;margin-bottom:.5rem;color:var(--ws-ink)}
h1{font-size:clamp(22px,4vw,34px)}
h2{font-size:clamp(18px,3vw,22px)}
h3{font-size:18px}
.fh{font-family:'Bricolage Grotesque',system-ui,sans-serif}

/* LAYOUT */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.page-wrap{max-width:1200px;margin:0 auto;padding:20px 20px 40px}

/* SKIP LINK */
.skip-link{position:absolute;top:-40px;left:0;background:var(--ws-leaf);color:#fff;padding:8px 12px;z-index:10000;font-size:.9rem;font-weight:700;text-decoration:none;border-radius:0 0 6px 0;transition:top .1s}
.skip-link:focus{top:0}

/* TOPBAR */
.topbar{position:sticky;top:0;z-index:100;background:var(--ws-ink);border-bottom:1px solid rgba(255,255,255,0.06)}
.topbar .wrap{display:flex;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 20px;min-height:60px;flex-wrap:nowrap}
.topbar .logo{display:flex;align-items:center;gap:9px;flex-shrink:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:19px;color:#fff;white-space:nowrap;text-decoration:none}
.topbar .logo:hover{text-decoration:none}
.topbar .logo em{color:var(--ws-lime);font-style:normal}
.topbar .logo img{width:32px;height:32px;border-radius:7px}
.topbar .nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;min-width:0}
.topbar .nav a{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:8px;font-weight:600;font-size:14.5px;line-height:1;color:#C3CFC4;text-decoration:none;transition:background .15s,color .15s}
.topbar .nav a:hover{background:rgba(255,255,255,0.07);color:#fff;text-decoration:none}
.topbar .nav a.on{background:rgba(168,217,60,0.12);color:var(--ws-lime)}
.dark-toggle{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#C3CFC4;border-radius:7px;padding:6px 11px;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;font-family:inherit;transition:background .15s}
.dark-toggle:hover{background:rgba(255,255,255,.14);color:#fff}

/* HERO */
.hero{background:linear-gradient(135deg,#16281E 0%,#1E4D33 55%,#2F9E62 100%);text-align:center;padding:44px 20px 34px;position:relative;overflow:hidden}
.mesh{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.05) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.orb{position:absolute;width:320px;height:320px;background:#A8D93C;filter:blur(90px);opacity:.22;pointer-events:none;top:-80px;right:-60px;border-radius:50%}
.badge-pill{display:inline-flex;align-items:center;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ws-lime-soft);background:rgba(168,217,60,.15);border:1px solid rgba(168,217,60,.35);margin-bottom:12px;position:relative;z-index:1}
.hero h1{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:clamp(30px,5vw,46px);color:#fff;margin:0 0 10px;position:relative;z-index:1}
.hl{color:var(--ws-lime)}
.hero-sub{font-size:15.5px;color:rgba(255,255,255,.75);max-width:560px;margin:0 auto;position:relative;z-index:1}

/* RIBBON */
.ribbon{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px;position:relative;z-index:1}
.st{background:rgba(255,255,255,0.06);border-radius:12px;padding:10px 18px;text-align:center}
.st .v{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:22px;color:#fff;display:block}
.st .l{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,0.65);display:block}

/* CARDS */
.card{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:14px;box-shadow:0 1px 3px rgba(22,40,30,0.06);padding:20px}
.lv-card{background:var(--ws-card);border:1px solid var(--ws-line);border-left:4px solid var(--ws-leaf);border-radius:0 14px 14px 0;padding:18px 20px;box-shadow:0 1px 3px rgba(22,40,30,0.06)}

/* SECTION HEADERS */
.sec-h{display:flex;align-items:center;gap:10px;margin:26px 0 14px}
.bar{width:4px;height:18px;background:var(--ws-leaf);border-radius:2px;flex-shrink:0}
.sec-h h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:20px;color:var(--ws-ink);margin:0}
.pill-count{font-size:11px;font-weight:700;color:var(--ws-leaf);background:var(--ws-chip-soft);padding:3px 10px;border-radius:12px;margin-left:auto}

/* LEVEL CHIPS */
.range-chip{display:flex;flex-direction:column;gap:2px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:10px;padding:9px 14px;text-decoration:none;transition:transform .15s,border-color .15s}
.range-chip:hover{transform:translateY(-2px);border-color:var(--ws-leaf);text-decoration:none}
.rc-lv{font-size:13.5px;font-weight:700;color:var(--ws-ink)}
.rc-wc{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ws-txt-2)}
.lvl-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}

/* LETTER TILES */
.tile{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:36px;padding:0 4px;background:var(--ws-tile-bg);border:1.5px solid var(--ws-tile-border);border-radius:5px;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:16px;color:var(--ws-tile-txt);text-transform:uppercase;box-shadow:0 1px 2px rgba(22,40,30,0.08)}
.tile-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}

/* WORD LIST */
.word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0}
.word-pill{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--ws-chip-soft);border-radius:8px;font-size:14px;font-weight:600;color:var(--ws-tile-txt);text-transform:uppercase;border:1px solid var(--ws-line);cursor:pointer;user-select:none}
.word-len{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ws-txt-2);margin-left:auto}

/* TIER BADGES */
.tier{padding:3px 10px;border-radius:11px;font-size:10.5px;font-weight:700;letter-spacing:.03em;color:#fff;display:inline-block}
.tier-easy{background:var(--ws-leaf)}
.tier-med{background:var(--ws-amber)}
.tier-hard{background:var(--ws-tomato)}

/* BUTTONS + INPUTS */
.btn{background:var(--ws-leaf);color:#fff;border:none;border-radius:9px;padding:11px 22px;font-family:'Figtree',system-ui,sans-serif;font-weight:700;font-size:15px;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px}
.btn:hover{background:var(--ws-leaf-hover)}
.btn-sm{padding:7px 14px;font-size:13.5px}
.inp{border:1px solid var(--ws-line);border-radius:8px;padding:11px 13px;font-size:15px;background:var(--ws-card);color:var(--ws-txt);font-family:inherit;outline:none;transition:border-color .15s}
.inp:focus{border-color:var(--ws-leaf)}
.form-row{display:flex;gap:8px;flex-wrap:wrap}
.form-row .inp{flex:1;min-width:0}

/* FAQ */
.faq-block{margin:10px 0}
.faq-item{border-bottom:1px solid var(--ws-line);padding:12px 0}
.faq-item summary{font-size:15px;font-weight:600;color:var(--ws-ink);cursor:pointer;list-style:none;user-select:none}
.faq-item summary::-webkit-details-marker{display:none}
details[open] .faq-item,.faq-item details[open]>summary,.faq-item:has(details[open]) summary,.faq-item details[open] summary{border-left:3px solid var(--ws-lime);padding-left:12px}
.faq-item details[open] p,.faq-item p{font-size:14.5px;color:var(--ws-txt-2);line-height:1.7;margin-top:8px}

/* TABLE */
.data-table{width:100%;border-collapse:collapse;font-size:14px}
.data-table th{background:var(--ws-chip-soft);font-weight:700;padding:8px 12px;text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ws-leaf);white-space:nowrap}
.data-table td{padding:8px 12px;border-bottom:1px solid var(--ws-line);vertical-align:top}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--ws-chip-soft)}

/* BREADCRUMB */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;margin-bottom:16px;padding:10px 0}
.crumb a{color:var(--ws-leaf);font-weight:500}
.crumb a:hover{text-decoration:underline}
.crumb-sep{color:var(--ws-txt-2)}
.crumb-cur{color:var(--ws-txt-2)}

/* BYLINE */
.byline{font-size:13px;color:var(--ws-txt-2);margin-bottom:16px;padding:10px 14px;background:var(--ws-chip-soft);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.byline a{color:var(--ws-leaf);font-weight:600}

/* PAGER NAV */
.pager{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}
.pager-card{flex:1;min-width:140px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:10px;padding:12px 16px;text-decoration:none;transition:border-color .15s,transform .15s}
.pager-card:hover{border-color:var(--ws-leaf);transform:translateY(-1px);text-decoration:none}
.pager-card .dir{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--ws-txt-2)}
.pager-card .target{font-size:14.5px;font-weight:700;color:var(--ws-ink);display:block;margin-top:2px}
.pager-card.next{text-align:right}

/* DATE CHIPS */
.date-chip{display:inline-flex;align-items:center;padding:6px 12px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:8px;font-size:13px;font-weight:600;color:var(--ws-ink);text-decoration:none;transition:border-color .15s}
.date-chip:hover{border-color:var(--ws-leaf);text-decoration:none}
.date-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}

/* CATEGORY GRID */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:16px 0}
.cat-tile{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:16px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.cat-tile:hover{transform:translateY(-2px);border-color:var(--ws-leaf);box-shadow:0 4px 14px rgba(47,158,98,.12);text-decoration:none}
.cat-tile .ct-name{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--ws-ink);display:block;margin-bottom:4px}
.cat-tile .ct-count{font-size:12px;color:var(--ws-txt-2);font-family:'IBM Plex Mono',monospace}

/* JUMP BOX */
.jump-box{display:flex;gap:8px;margin:16px 0;max-width:320px}
.jump-box .inp{width:100px;text-align:center;font-weight:700}

/* FOOTER */
.site-footer{background:var(--ws-ink);color:#8FA396;padding:28px 20px;margin-top:40px}
.site-footer strong{color:#fff}
.site-footer em{color:var(--ws-lime);font-style:normal}
.footer-brand{font-size:14.5px;margin-bottom:12px}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;font-size:13.5px}
.footer-nav a{color:#C3CFC4;text-decoration:none}
.footer-nav a:hover{color:#fff}
.footer-also{font-size:13px;margin-bottom:10px}
.footer-also a{color:#8FA396;text-decoration:none;margin:0 4px}
.footer-also a:hover{color:#fff}
.footer-copy{font-size:12px;color:#5F7266;margin-top:8px}

/* BACK TO TOP */
.back-to-top{position:fixed;bottom:24px;right:24px;width:40px;height:40px;background:var(--ws-leaf);color:#fff;border:none;border-radius:50%;font-size:18px;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s;z-index:50;display:flex;align-items:center;justify-content:center}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--ws-leaf-hover)}

/* COPY TOAST */
.copy-toast{position:fixed;bottom:70px;right:24px;background:var(--ws-ink);color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none;z-index:51}
.copy-toast.show{opacity:1;transform:translateY(0)}

/* SEARCH */
.srch-hero{padding:32px 20px 28px}
.srch-form{display:flex;gap:8px;max-width:480px;margin:16px auto 0}
.srch-form .inp{flex:1;font-size:18px;font-family:'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.srch-empty{text-align:center;padding:32px 20px;color:var(--ws-txt-2)}
.srch-empty .big{font-size:40px;margin-bottom:8px}

/* PROSE SECTIONS */
.prose h2{margin-top:1.4rem}
.prose p{color:var(--ws-txt);line-height:1.75}
.prose strong{color:var(--ws-ink)}
.prose ul{padding-left:1.4rem;margin-bottom:.85rem}
.prose li{margin-bottom:.3rem;color:var(--ws-txt)}
.prose ol{padding-left:1.4rem;margin-bottom:.85rem}

/* TIPS PAGE */
.tip-block{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.tip-num{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;color:var(--ws-leaf);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.tip-block h3{margin-bottom:6px;font-size:16px}

/* DAILY PAGE */
.daily-meta{font-size:14px;color:var(--ws-txt-2);margin-bottom:14px}
.theme-badge{display:inline-flex;align-items:center;padding:4px 12px;background:var(--ws-chip-soft);border-radius:16px;font-size:13px;font-weight:600;color:var(--ws-leaf);margin-bottom:12px}

/* MISC */
.note{font-size:13px;color:var(--ws-txt-2);font-style:italic;margin-top:4px}
.divider{height:1px;background:var(--ws-line);margin:20px 0}
.text-center{text-align:center}
.mt-4{margin-top:16px}
.mt-6{margin-top:24px}
.mt-8{margin-top:32px}
.mb-4{margin-bottom:16px}
.sibling-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}

/* HIGHLIGHT ANIMATION */
@keyframes ws-flash{0%{background:rgba(168,217,60,.35)}100%{background:transparent}}
.flash{animation:ws-flash .6s ease-out}

/* SKELETON LOADER */
.skel{background:linear-gradient(90deg,var(--ws-line) 25%,var(--ws-chip-soft) 50%,var(--ws-line) 75%);background-size:200% 100%;animation:skel-shimmer 1.4s infinite}
@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel-line{height:14px;border-radius:4px;margin-bottom:8px}
.skel-title{height:22px;border-radius:4px;margin-bottom:12px;width:60%}

/* WORD GAME BOARD */
.ws-board{display:grid;gap:4px;margin:16px 0;width:fit-content}
.ws-cell{width:38px;height:38px;border:2px solid var(--ws-line);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:16px;color:var(--ws-tile-txt);background:var(--ws-tile-bg);text-transform:uppercase;transition:border-color .15s,background .15s}
.ws-cell.found{background:var(--ws-leaf);border-color:var(--ws-leaf);color:#fff}
.ws-cell.hint{background:var(--ws-amber);border-color:var(--ws-amber);color:#fff}
.ws-cell.selected{border-color:var(--ws-leaf);box-shadow:0 0 0 2px rgba(47,158,98,.3)}

/* SCORE RING */
.score-ring{position:relative;width:80px;height:80px;margin:0 auto}
.score-ring svg{width:80px;height:80px;transform:rotate(-90deg)}
.score-ring .track{fill:none;stroke:var(--ws-line);stroke-width:6}
.score-ring .fill{fill:none;stroke:var(--ws-leaf);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.score-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:18px;color:var(--ws-ink)}

/* MODAL OVERLAY */
.ws-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s;pointer-events:none}
.ws-modal-bg.open{opacity:1;pointer-events:auto}
.ws-modal{background:var(--ws-card);border-radius:16px;padding:28px 24px;max-width:480px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,.25);transform:translateY(12px);transition:transform .2s}
.ws-modal-bg.open .ws-modal{transform:translateY(0)}
.ws-modal h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:20px;font-weight:800;color:var(--ws-ink);margin-bottom:12px}
.ws-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--ws-txt-2);line-height:1}
.ws-modal-close:hover{color:var(--ws-ink)}

/* ALERT BANNERS */
.alert{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:14px;display:flex;gap:10px;align-items:flex-start}
.alert-info{background:rgba(47,158,98,.1);border:1px solid rgba(47,158,98,.3);color:var(--ws-leaf)}
.alert-warn{background:rgba(229,165,10,.1);border:1px solid rgba(229,165,10,.3);color:#a07500}
.alert-err{background:rgba(228,87,46,.1);border:1px solid rgba(228,87,46,.3);color:#c04020}
[data-theme="dark"] .alert-warn{color:#e5c85a}
[data-theme="dark"] .alert-err{color:#f08060}

/* PROGRESS BAR */
.prog-bar{height:8px;background:var(--ws-line);border-radius:4px;overflow:hidden;margin:8px 0}
.prog-fill{height:100%;background:var(--ws-leaf);border-radius:4px;transition:width .4s ease}

/* TAGS / CHIPS ROW */
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.tag{padding:4px 10px;border-radius:16px;font-size:12px;font-weight:600;background:var(--ws-chip-soft);color:var(--ws-leaf);border:1px solid rgba(47,158,98,.2)}
.tag-active{background:var(--ws-leaf);color:#fff;border-color:var(--ws-leaf)}

/* STAT CARDS GRID */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:14px 0}
.stat-card{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:10px;padding:14px 12px;text-align:center}
.stat-val{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:700;color:var(--ws-leaf);display:block;line-height:1.1}
.stat-lbl{font-size:11px;color:var(--ws-txt-2);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;display:block}

/* TWO-COLUMN LAYOUT */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:680px){.two-col,.three-col{grid-template-columns:1fr}}

/* SIDEBAR LAYOUT */
.with-sidebar{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}
.sidebar{display:flex;flex-direction:column;gap:16px}
@media(max-width:860px){.with-sidebar{grid-template-columns:1fr}}

/* STICKY SIDEBAR WIDGET */
.sticky-widget{position:sticky;top:76px}

/* COMPACT LIST */
.compact-list{display:flex;flex-direction:column;gap:6px}
.compact-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:8px;font-size:14px;text-decoration:none;transition:border-color .15s}
.compact-row:hover{border-color:var(--ws-leaf);text-decoration:none}
.compact-row .cr-word{font-weight:700;color:var(--ws-ink);text-transform:uppercase;font-family:'IBM Plex Mono',monospace}
.compact-row .cr-def{color:var(--ws-txt-2);font-size:13px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ALPHABET NAV */
.alpha-nav{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}
.alpha-nav a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:13px;color:var(--ws-leaf);background:var(--ws-chip-soft);text-decoration:none;transition:background .15s,color .15s}
.alpha-nav a:hover,.alpha-nav a.on{background:var(--ws-leaf);color:#fff;text-decoration:none}
.alpha-nav a.dim{color:var(--ws-txt-2);background:transparent}

/* ACCORDION */
.accordion{border:1px solid var(--ws-line);border-radius:12px;overflow:hidden}
.accordion details{border-bottom:1px solid var(--ws-line)}
.accordion details:last-child{border-bottom:none}
.accordion summary{padding:14px 16px;font-weight:600;cursor:pointer;font-size:15px;color:var(--ws-ink);list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:'+';font-size:18px;color:var(--ws-leaf);font-weight:400;transition:transform .2s}
.accordion details[open] summary::after{content:'-'}
.accordion .acc-body{padding:0 16px 14px;font-size:14.5px;color:var(--ws-txt-2);line-height:1.7}

/* NOTICE BOX */
.notice{background:var(--ws-chip-soft);border-left:4px solid var(--ws-leaf);border-radius:0 10px 10px 0;padding:14px 16px;margin:16px 0;font-size:14.5px;color:var(--ws-txt)}
.notice strong{color:var(--ws-ink)}

/* INLINE CODE */
code{font-family:'IBM Plex Mono',monospace;font-size:.88em;background:var(--ws-chip-soft);padding:2px 6px;border-radius:4px;color:var(--ws-leaf)}
pre{background:var(--ws-ink);color:#C3E86A;padding:16px;border-radius:10px;overflow-x:auto;font-family:'IBM Plex Mono',monospace;font-size:13.5px;line-height:1.6;margin:12px 0}
pre code{background:none;padding:0;color:inherit;font-size:inherit}

/* TOOLTIP */
.tooltip-wrap{position:relative;display:inline-block}
.tooltip-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ws-ink);color:#fff;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:30}
.tooltip-wrap:hover .tooltip-tip{opacity:1}
.tooltip-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ws-ink)}

/* RESPONSIVE */
@media(max-width:1080px){
  .topbar .nav a{font-size:13.5px;padding:7px 9px}
  .topbar .logo{font-size:17px}
}
@media(max-width:880px){
  .lang-label{display:none}
}
@media(max-width:760px){
  .topbar .wrap{gap:10px;min-height:54px}
  .topbar .nav a{font-size:12.5px;padding:6px 7px}
  .topbar .logo{font-size:0}
  .topbar .logo img{width:30px;height:30px}
  .topbar .logo em,.topbar .logo span.fh{font-size:0}
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .stat-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
}
@media(max-width:480px){
  .tile{min-width:28px;height:32px;font-size:14px}
  .pager{flex-direction:column}
  .hero{padding:32px 16px 24px}
  .ws-cell{width:32px;height:32px;font-size:14px}
}

/* DARK MODE COMPONENT OVERRIDES */
[data-theme="dark"] .card,[data-theme="dark"] .lv-card{box-shadow:0 1px 3px rgba(0,0,0,.3)}
[data-theme="dark"] .cat-tile:hover,[data-theme="dark"] .range-chip:hover{box-shadow:0 4px 14px rgba(168,217,60,.08)}
[data-theme="dark"] .data-table th{background:rgba(168,217,60,.1)}
[data-theme="dark"] .data-table tr:hover td{background:rgba(255,255,255,.04)}
[data-theme="dark"] .byline{background:rgba(168,217,60,.07)}
[data-theme="dark"] .word-pill{background:rgba(168,217,60,.1)}
[data-theme="dark"] .back-to-top{background:var(--ws-leaf)}
[data-theme="dark"] .inp{border-color:var(--ws-line)}
[data-theme="dark"] .sec-h h2{color:var(--ws-txt)}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3{color:var(--ws-txt)}
[data-theme="dark"] .rc-lv{color:var(--ws-txt)}
[data-theme="dark"] .cat-tile .ct-name{color:var(--ws-txt)}
[data-theme="dark"] .pager-card .target{color:var(--ws-txt)}
[data-theme="dark"] .faq-item summary{color:var(--ws-txt)}
[data-theme="dark"] .ws-modal{box-shadow:0 8px 40px rgba(0,0,0,.55)}
[data-theme="dark"] .ws-cell{border-color:var(--ws-line)}
[data-theme="dark"] .score-val{color:var(--ws-txt)}
[data-theme="dark"] .compact-row .cr-word{color:var(--ws-txt)}
[data-theme="dark"] .accordion summary{color:var(--ws-txt)}
[data-theme="dark"] .notice{color:var(--ws-txt)}
[data-theme="dark"] .notice strong{color:var(--ws-txt)}
[data-theme="dark"] code{background:rgba(168,217,60,.12);color:#C3E86A}
[data-theme="dark"] .stat-card{border-color:var(--ws-line)}
[data-theme="dark"] .tag{background:rgba(168,217,60,.1)}
[data-theme="dark"] .alpha-nav a{background:rgba(168,217,60,.1)}
[data-theme="dark"] .alpha-nav a.dim{background:transparent;color:var(--ws-txt-2)}
[data-theme="dark"] .alert-info{background:rgba(47,158,98,.15)}
[data-theme="dark"] .pager-card .dir{color:var(--ws-txt-2)}
[data-theme="dark"] .daily-meta{color:var(--ws-txt-2)}
[data-theme="dark"] .crumb-sep,[data-theme="dark"] .crumb-cur{color:var(--ws-txt-2)}

/* JUMP BOX ADDITIONS */
.jump-num{width:110px}
.jump-err{color:var(--ws-tomato);font-size:12.5px;font-weight:600}

/* COOKIE CONSENT BRAND COLORS */
.ccb-bg{background:var(--ws-ink)}
.ccb-btn-accept{background:var(--ws-lime);color:#16281E}
.ccb-btn-necessary{background:#1E4D33;color:#DCE8DE;border:1px solid var(--ws-leaf)}
.ccb-btn-customize{background:transparent;color:var(--ws-lime-soft);border:1px solid rgba(168,217,60,.45)}
.ccb-btn-save{background:var(--ws-leaf)}
.ccb-panel{background:#1E4D33}
.ccb-pill-always{background:var(--ws-leaf)}
.ccb-bg,.ccb-panel{font-family:'Figtree',system-ui,sans-serif}

/* Hide duplicate back-to-top from shared footer */
#back-to-top:not(.back-to-top){display:none!important}

/* ── TODAY'S DAILY CARD ─────────────────────────────────────────────────────── */
.today-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:linear-gradient(135deg,#16281E 0%,#1E4D33 100%);border-radius:16px;padding:26px 28px;margin:26px 0}
.td-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ws-lime-soft);text-transform:uppercase;margin-bottom:8px}
.td-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:24px;color:#fff;margin:0 0 10px}
.td-theme{font-size:14.5px;color:rgba(255,255,255,.8);margin:0 0 16px}
.td-left .btn{margin-top:4px}
.tile-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.tile-row{display:flex;gap:6px}
.tile-dark{background:#243D1A;border-color:#A8D93C;color:#DCE8DE}
.td-chips{display:flex;gap:10px;flex-wrap:wrap}
.st-sm{padding:7px 12px}
.st-sm .v{font-size:16px}

/* ── SECTION SPACING ─────────────────────────────────────────────────────────── */
.sec{margin-top:34px}
@media(max-width:760px){.sec{margin-top:26px}}

/* ── QUICK TIPS ──────────────────────────────────────────────────────────────── */
.tips3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:960px){.tips3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tips3{grid-template-columns:1fr}}
.tip-card{position:relative;padding:18px 18px 16px;overflow:hidden}
.tip-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.tip-c1::before{background:var(--ws-leaf)}
.tip-c2::before{background:var(--ws-lime)}
.tip-c3::before{background:var(--ws-amber)}
.tip-c4::before{background:var(--ws-tomato)}
.tip-c5::before{background:var(--ws-leaf)}
.tip-c6::before{background:var(--ws-lime)}
.tip-icon{width:34px;height:34px;border-radius:50%;background:var(--ws-chip-soft);display:flex;align-items:center;justify-content:center;color:var(--ws-leaf)}
.tip-title{font-family:'Figtree',sans-serif;font-weight:700;font-size:15px;color:var(--ws-ink);margin:10px 0 6px}
.tip-body{font-size:13.5px;color:var(--ws-txt-2);line-height:1.65;margin:0}

/* ── CATEGORY LEADERBOARD TABLE ──────────────────────────────────────────────── */
.tbl-intro{font-size:13.5px;color:var(--ws-txt-2);margin:6px 0 14px}
.tbl-scroll{overflow-x:auto}
.cat-table{width:100%;border-collapse:collapse;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:14px;overflow:hidden;min-width:640px}
.cat-table thead th{background:var(--ws-ink);color:#fff;font-family:'Figtree',sans-serif;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;text-align:left}
.cat-table tbody td{padding:10px 14px;font-size:13.5px;border-top:1px solid var(--ws-line);color:var(--ws-txt)}
.cat-table tbody tr:nth-child(even){background:var(--ws-cream)}
.cat-table tbody tr:hover{background:var(--ws-chip-soft)}
.rank-cell{font-family:'IBM Plex Mono',monospace;font-weight:600}
.cat-table td a{color:var(--ws-leaf);font-weight:600}
.cat-table td a:hover{text-decoration:underline}
.avg-cell{font-family:'IBM Plex Mono',monospace}
.tile-word{background:var(--ws-tile-bg);border:1px solid var(--ws-tile-border);border-radius:4px;padding:2px 7px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ws-tile-txt)}
.lvl-ref{font-size:12px;color:var(--ws-txt-2)}
.tier{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tier-hard{background:#FEE2E2;color:#B91C1C}
.tier-medium{background:#FEF3C7;color:#92400E}
.tier-easy{background:#D1FAE5;color:#065F46}

/* ── BY THE NUMBERS BAND ─────────────────────────────────────────────────────── */
.numbers-band{background:var(--ws-ink);border-radius:16px;padding:24px 28px;margin:26px 0}
.nb-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.nb-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;color:#fff;margin:0}
.bar-lime{background:var(--ws-lime)}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
@media(max-width:760px){.num-grid{grid-template-columns:repeat(2,1fr)}}
.num-cell{display:flex;flex-direction:column;gap:4px}
.num-val{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:26px;color:var(--ws-lime)}
.num-lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.65)}
.nb-foot{font-size:12.5px;color:rgba(255,255,255,.55);text-align:center;margin:16px 0 0}

/* ── LETTER FREQUENCY ────────────────────────────────────────────────────────── */
.freq-intro{font-size:13.5px;color:var(--ws-txt-2);margin:6px 0 14px}
.freq-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.freq-chip{display:inline-flex;align-items:center;gap:6px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:8px;padding:6px 10px}
.freq-top{border-color:var(--ws-leaf)}
.freq-top .freq-pct{color:var(--ws-leaf)}
.tile-sm{min-width:24px;height:26px;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.freq-pct{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12px;color:var(--ws-txt-2)}
.freq-seo{font-size:13.5px;color:var(--ws-txt-2);line-height:1.7;margin:0}

/* ── COMMENTS ────────────────────────────────────────────────────────────────── */
.comments-section{padding:24px}
.cmt-empty{font-size:14px;color:var(--ws-txt-2);margin:0 0 20px}
.cmt-form{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.cmt-row{display:flex;flex-direction:column;gap:4px}
.cmt-name{max-width:240px}
.cmt-text{width:100%;resize:vertical}
.cmt-counter{font-size:12px;color:var(--ws-txt-2);text-align:right}
.cmt-notify{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ws-txt)}
.cmt-submit-row{flex-direction:row;align-items:center;gap:14px}
.cmt-note{font-size:12.5px;color:var(--ws-txt-2)}
.hp-field{position:absolute;left:-9999px;top:-9999px;opacity:0;pointer-events:none}

/* ── SKIP LINK A11Y ──────────────────────────────────────────────────────────── */
.skip-link{position:absolute;top:-40px;left:0;background:var(--ws-ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:200;font-size:14px;font-weight:600;text-decoration:none}
.skip-link:focus{top:8px;left:8px}

/* ── STICKY TOC ──────────────────────────────────────────────────────────────── */
.toc-nav{position:sticky;top:60px;z-index:90;background:var(--ws-cream);border-bottom:1px solid var(--ws-line);padding:9px 0;margin:0 -20px 18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.toc-nav .row{display:flex;gap:7px;max-width:1200px;margin:0 auto;padding:0 20px;white-space:nowrap}
.toc-chip{display:inline-flex;align-items:center;padding:6px 13px;border-radius:18px;background:var(--ws-card);border:1px solid var(--ws-line);font-size:12.5px;font-weight:600;color:var(--ws-txt-2);text-decoration:none;transition:all .15s;flex-shrink:0}
.toc-chip:hover{border-color:var(--ws-leaf);color:var(--ws-leaf);text-decoration:none}
.toc-chip.on{background:var(--ws-leaf);border-color:var(--ws-leaf);color:#fff}
[data-theme="dark"] .toc-nav{background:var(--ws-cream)}
[data-theme="dark"] .toc-chip{background:var(--ws-card);border-color:var(--ws-line);color:var(--ws-txt-2)}

/* ── SCROLL MARGIN ───────────────────────────────────────────────────────────── */
section[id],main[id]{scroll-margin-top:110px}

/* ── FIND WIDGET ─────────────────────────────────────────────────────────────── */
.find-widget{background:var(--ws-card);border:1px solid var(--ws-line);border-left:4px solid var(--ws-lime);border-radius:0 14px 14px 0;padding:20px 22px}
.find-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.find-row .inp{flex:1;min-width:200px}
.find-hint{font-size:12.5px;color:var(--ws-txt-2)}

/* ── HALL OF FAME ────────────────────────────────────────────────────────────── */
.fame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:680px){.fame-grid{grid-template-columns:1fr}}
.fame-card{display:flex;align-items:center;gap:12px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:12px 14px}
.fame-rank{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-weight:600;font-size:14px;flex-shrink:0}
.fame-rank.r1{background:var(--ws-lime);color:var(--ws-ink)}
.fame-rank.r2{background:#C8D6CB;color:var(--ws-ink)}
.fame-rank.r3{background:#D9A66C;color:#fff}
.fame-rank.rx{background:var(--ws-chip-soft);color:var(--ws-leaf)}
.fame-body{min-width:0}
.fame-tiles{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}
.fame-meta{font-size:12px;color:var(--ws-txt-2)}
.fame-meta a{color:var(--ws-leaf)}
.fame-seo{font-size:13.5px;color:var(--ws-txt-2);line-height:1.7;margin-top:14px}

/* ── HARDEST LEVELS TABLE ────────────────────────────────────────────────────── */
.ws-table{width:100%;border-collapse:collapse;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:14px;overflow:hidden;min-width:620px}
.ws-table thead th{background:var(--ws-ink);color:#fff;font-family:Figtree,sans-serif;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;text-align:left}
.ws-table tbody td{padding:10px 14px;font-size:13.5px;border-top:1px solid var(--ws-line);color:var(--ws-txt)}
.ws-table tbody tr:nth-child(even){background:var(--ws-cream)}
.ws-table tbody tr:hover{background:var(--ws-chip-soft)}
.ws-table td a{color:var(--ws-leaf);font-weight:600}
.ws-table td a:hover{text-decoration:underline}
.letters-cell{font-family:IBM Plex Mono,monospace;font-size:11.5px;letter-spacing:.06em;color:var(--ws-txt-2)}
.hard-foot{font-size:13px;color:var(--ws-txt-2);margin-top:10px}
.hard-foot a{color:var(--ws-leaf)}

/* ── DAILY CALENDAR ──────────────────────────────────────────────────────────── */
.cal-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media(max-width:560px){.cal-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cal-cell{display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:10px;padding:10px 6px;text-decoration:none;transition:all .15s}
.cal-cell:hover{border-color:var(--ws-leaf);transform:translateY(-2px);text-decoration:none}
.cal-cell.cal-today{border-color:var(--ws-lime);border-width:2px}
.cal-cell.cal-today .cal-wd{color:var(--ws-leaf)}
.cal-wd{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--ws-txt-2)}
.cal-day{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:20px;color:var(--ws-ink)}
.cal-mo{font-size:10px;color:var(--ws-txt-2)}
.cal-wc{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ws-leaf);font-weight:600}
.btn-ghost{display:inline-flex;align-items:center;border:1.5px solid var(--ws-leaf);color:var(--ws-leaf);border-radius:9px;padding:10px 20px;font-weight:700;font-size:14.5px;background:transparent;text-decoration:none;transition:background .15s;margin-top:14px;cursor:pointer}
.btn-ghost:hover{background:var(--ws-chip-soft);text-decoration:none}
[data-theme="dark"] .cal-day{color:var(--ws-txt)}

/* ── THREE-STEP GUIDE ────────────────────────────────────────────────────────── */
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:640px){.steps3{grid-template-columns:1fr}}
.step-card{position:relative;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:20px 18px 16px;margin-top:14px}
.step-num{position:absolute;top:-12px;left:16px;width:26px;height:26px;border-radius:50%;background:var(--ws-leaf);color:#fff;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(22,40,30,.25)}
.step-title{font-family:Figtree,sans-serif;font-weight:700;font-size:15px;color:var(--ws-ink);margin:6px 0 6px}
.step-body{font-size:13.5px;color:var(--ws-txt-2);line-height:1.65;margin:0}
[data-theme="dark"] .step-title{color:var(--ws-txt)}

/* ── MEGA FOOTER GRID ────────────────────────────────────────────────────────── */
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px;max-width:1200px;margin:0 auto;padding:30px 20px 22px}
@media(max-width:860px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#C9E88A;margin-bottom:10px;font-family:Figtree,sans-serif}
.foot-col a{display:block;font-size:13.5px;color:#C3CFC4;padding:3px 0;text-decoration:none;transition:color .15s}
.foot-col a:hover{color:#fff;text-decoration:none}
.foot-brand-name{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:16px;color:#fff;margin-bottom:8px;display:block}
.foot-brand-name em{color:var(--ws-lime);font-style:normal}
.foot-desc{font-size:13px;color:#8FA396;line-height:1.65;margin-bottom:12px}
.foot-also{font-size:12.5px;color:#8FA396}
.foot-also a{display:inline;font-size:12.5px;color:#8FA396;padding:0}
.foot-also a:hover{color:#C3CFC4}
.foot-bar-sep{border-top:1px solid rgba(255,255,255,.08);max-width:1200px;margin:0 auto}

/* ── JUMP BOX SPACING (remove inline) ───────────────────────────────────────── */
.jump-box-home{margin:18px 0 10px}
