: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:#0B120E;
  --ws-card:#16221B;
  --ws-line:#263A2E;
  --ws-txt:#E6EFE8;
  --ws-txt-2:#9FB4A6;
  --ws-tile-bg:#223428;
  --ws-tile-txt:#DDEBDF;
  --ws-chip-soft:#16221B;
  --ws-leaf:#7FC79A;
  --ws-leaf-hover:#A8DDBD;
  --ws-ink:#DDEBDF;
}
[data-theme="dark"] a { color:#7FC79A; }
[data-theme="dark"] a:hover { color:#A8DDBD; }
/* Icon visibility - CSS only */
#icon-sun { display:none }
#icon-moon { display:inline-block }
[data-theme="dark"] #icon-sun { display:inline-block }
[data-theme="dark"] #icon-moon { display:none }
/* Dark hero gradient */
[data-theme="dark"] .hero { background:linear-gradient(135deg,#0B120E 0%,#14251B 50%,#1C3A28 100%) }
[data-theme="dark"] .lv-hero { background:linear-gradient(135deg,#0B120E 0%,#14251B 100%) }
/* Dark table headers */
[data-theme="dark"] .ws-table thead th { background:#1B2A20 }
[data-theme="dark"] .ws-table tbody tr:hover { background:#1A2820 }
/* Dark tier badges */
[data-theme="dark"] .tier-badge.hard { background:#3A1F1F;color:#F2B8B5 }
[data-theme="dark"] .tier-badge.medium { background:#3A2F1A;color:#F2D8A7 }
[data-theme="dark"] .tier-badge.easy { background:#1E3326;color:#B8E0C2 }
[data-theme="dark"] .tier.tier-hard { background:#3A1F1F;color:#F2B8B5 }
[data-theme="dark"] .tier.tier-medium { background:#3A2F1A;color:#F2D8A7 }
[data-theme="dark"] .tier.tier-easy { background:#1E3326;color:#B8E0C2 }
/* Dark inputs */
[data-theme="dark"] .inp { background:#121D16;border-color:#2C4234;color:#E6EFE8 }
[data-theme="dark"] .inp::placeholder { color:#9FB4A6 }
/* Dark footer */
[data-theme="dark"] .site-footer { background:#0A100C;color:#C9D6CC }
/* Dark toc chips */
[data-theme="dark"] .toc-chip { background:#16221B;border-color:#263A2E;color:#C9D6CC }
[data-theme="dark"] .toc-chip:hover,[data-theme="dark"] .toc-chip.on { background:#223428 }

*,*::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,#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}

/* ── LEVEL HERO ──────────────────────────────────────────────────────────── */
.lv-hero{padding:28px 0 22px;background:linear-gradient(135deg,var(--ws-ink) 0%,#1e3a2a 100%)}
.lv-hero .wrap{max-width:960px}
.kicker-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.tier-badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.tier-badge.easy{background:#2F9E62;color:#fff}
.tier-badge.medium{background:#C77A2A;color:#fff}
.tier-badge.hard{background:#C94C3A;color:#fff}
.cat-chip{display:inline-flex;align-items:center;padding:4px 11px;border-radius:20px;background:rgba(168,217,60,.14);color:var(--ws-lime);font-size:12px;font-weight:600;text-decoration:none;border:1px solid rgba(168,217,60,.28);transition:background .15s}
.cat-chip:hover{background:rgba(168,217,60,.22);text-decoration:none}
.lv-hero h1{font-size:clamp(21px,4vw,32px);color:#fff;margin:0 0 10px;line-height:1.2}
.lv-mini-ribbon{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.lv-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:6px 12px;font-size:13px;color:#d8efd0}
.lv-chip strong{color:#A8D93C}

/* ── BYLINE ROW ──────────────────────────────────────────────────────────── */
.byline-row{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:10px;margin-bottom:16px}
.byline-av{width:36px;height:36px;border-radius:50%;background:var(--ws-leaf);display:flex;align-items:center;justify-content:center;font-family:Figtree,sans-serif;font-weight:800;font-size:13px;color:#fff;flex-shrink:0;letter-spacing:.02em}
.byline-name{font-weight:600;font-size:13.5px;color:var(--ws-txt)}
.byline-meta{font-size:12px;color:var(--ws-txt-2)}

/* ── LETTER GRID 4x4 ─────────────────────────────────────────────────────── */
.grid16{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:300px;margin:0 auto 0}
.tile-row-flex{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.grid-tile{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--ws-tile-bg,#f0f4ed);border:2px solid var(--ws-line);border-radius:10px;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:22px;color:var(--ws-ink);text-transform:uppercase;box-shadow:0 2px 5px rgba(0,0,0,.07)}
.grid-hint{text-align:center;font-size:12.5px;color:var(--ws-txt-2);margin-top:10px}
[data-theme="dark"] .grid-tile{background:rgba(168,217,60,.08);border-color:var(--ws-line);color:var(--ws-txt)}

/* ── ANSWER CARDS ────────────────────────────────────────────────────────── */
.ans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.ans-card{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:12px 14px 10px;cursor:pointer;transition:border-color .15s,transform .1s;position:relative;overflow:hidden;user-select:none}
.ans-card:hover{border-color:var(--ws-lime);transform:translateY(-1px)}
.ans-card:active{transform:translateY(0)}
.ans-word{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:17px;color:var(--ws-ink);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}
.ans-tiles{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:6px}
.ans-tiles .tile-sm{min-width:22px;height:24px;font-size:11px;font-weight:700;background:var(--ws-tile-bg,#f0f4ed);border:1.5px solid var(--ws-line);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:var(--ws-ink);padding:0 3px}
.len-pill{display:inline-flex;align-items:center;padding:2px 8px;background:var(--ws-chip-soft);border-radius:10px;font-size:11px;font-weight:600;color:var(--ws-leaf)}
.copy-icon{position:absolute;top:8px;right:9px;font-size:13px;opacity:.35;pointer-events:none}
[data-theme="dark"] .ans-word{color:var(--ws-txt)}

/* ── TABLE WRAPPER ───────────────────────────────────────────────────────── */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ── PREV / NEXT CARDS ───────────────────────────────────────────────────── */
.pn-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
@media(max-width:500px){.pn-cards{grid-template-columns:1fr}}
.pn-card{display:flex;flex-direction:column;gap:3px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:14px 16px;text-decoration:none;transition:border-color .15s}
.pn-card:hover{border-color:var(--ws-lime);text-decoration:none}
.pn-off{opacity:.38;pointer-events:none}
.pn-dir{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ws-txt-2)}
.pn-title{font-size:15px;font-weight:700;color:var(--ws-ink)}
.pn-meta{font-size:12px;color:var(--ws-txt-2)}
[data-theme="dark"] .pn-title{color:var(--ws-txt)}

/* ── RANGE CHIP ACTIVE (current level, unlinked) ─────────────────────────── */
.range-chip.on{background:var(--ws-leaf);border-color:var(--ws-leaf);color:#fff;cursor:default;pointer-events:none}
.range-chip.on:hover{transform:none}


/* ── WS2-DAILY-POLISH-2 additions ─────────────────────────────── */

/* FIX2: Breadcrumb */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:16px 0 4px;padding:10px 16px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;font-family:Figtree,system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.01em}
.breadcrumb a{color:var(--ws-leaf);text-decoration:none;padding:2px 6px;border-radius:6px;transition:background .15s,color .15s}
.breadcrumb a:hover{background:var(--ws-chip-soft);text-decoration:underline}
.breadcrumb .crumb-sep{color:var(--ws-txt-2);opacity:.6;font-weight:400}
.breadcrumb [aria-current=page]{color:var(--ws-txt-2);font-weight:600}

/* FIX3a: Hero ribbon upgraded chips */
.lv-mini-ribbon{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.lv-chip{display:flex;flex-direction:column;align-items:center;gap:3px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 20px}
.lv-chip strong{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:26px;line-height:1.1;color:#A8D93C}
.lv-chip-label{font-family:Figtree,system-ui,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:rgba(216,239,208,.75)}

/* FIX3b: Stat grid */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:8px 0 28px}
.stat-card{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:14px;padding:18px 20px;transition:transform .15s,box-shadow .15s,border-color .15s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.10);border-color:var(--ws-leaf)}
.stat-card .sc-v{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:26px;color:var(--ws-leaf);display:block;word-break:break-word}
.stat-card .sc-l{font-family:Figtree,system-ui,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.10em;color:var(--ws-txt-2);margin-top:6px;display:block}
@media(max-width:480px){.stat-grid{grid-template-columns:1fr 1fr}}

/* FIX4a: Answer pills */
.ans-row{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 20px}
.ans-pill{background:var(--ws-chip-soft);border:1px solid var(--ws-line);border-radius:10px;padding:8px 16px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:16px;letter-spacing:.05em;color:var(--ws-ink);transition:border-color .15s,transform .15s;display:inline-block}
.ans-pill:hover{border-color:var(--ws-leaf);transform:translateY(-1px)}

/* FIX5: Nearby cal strip */
.cal-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}

/* FIX6: pn-cards update */
.pn-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
@media(max-width:640px){.pn-cards{grid-template-columns:1fr}}
.pn-card{display:flex;flex-direction:column;gap:5px;background:var(--ws-card);border:1px solid var(--ws-line);border-radius:14px;padding:16px 18px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;color:inherit}
a.pn-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12);border-color:var(--ws-leaf);text-decoration:none}
.pn-dir{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ws-leaf)}
.pn-title{font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--ws-ink)}
.pn-meta{font-family:Figtree,system-ui,sans-serif;font-size:12.5px;color:var(--ws-txt-2)}
.pn-off{opacity:.55;border-style:dashed;pointer-events:none}
.pn-off:hover{transform:none;box-shadow:none;border-color:var(--ws-line)}
.pn-browse{margin-top:12px}

/* FIX9e: tier-badge variants */
.tier-badge--today{background:rgba(168,217,60,.18);color:#A8D93C;margin-bottom:10px}
.tier-badge--num{background:rgba(183,226,107,.15);color:#B7E26B;margin-bottom:10px}

/* HowTo section */
.howto-ol{margin:0;padding-left:20px;line-height:1.8}
.sec-h--mt{margin-top:32px}


/* ── WS2-DAILY-HUB-POLISH-3 ─────────────────────────────────── */

/* A1: Date page hero ribbon */
.hero-ribbon{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.hero-st{padding:12px 20px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(2px)}
[data-theme='light'] .hero--daily .hero-st{background:rgba(255,255,255,.10)}
.hero-st .v{display:block;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:26px;line-height:1.1;color:#B7E26B}
.hero-st .l{display:block;font-family:Figtree,system-ui,sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(230,239,232,.75);margin-top:4px}
@media(max-width:640px){.hero-ribbon{gap:10px} .hero-st .v{font-size:22px} .hero-st{padding:10px 16px}}

/* B4: Year strip */
.year-strip{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px;position:sticky;top:0;z-index:5;background:var(--ws-cream);padding:10px 0}
.year-chip{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:14px;padding:8px 18px;border-radius:999px;background:var(--ws-card);border:1px solid var(--ws-line);color:var(--ws-ink);text-decoration:none;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.year-chip:hover{border-color:var(--ws-leaf);color:var(--ws-leaf);text-decoration:none}
.year-chip .yc-n{font-size:11px;color:var(--ws-txt-2)}

/* B2: Hub month grid + cal-cell upgrades */
.hub-month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin:12px 0 8px}
a.cal-cell:hover{transform:translateY(-2px);border-color:var(--ws-leaf);box-shadow:0 6px 14px rgba(0,0,0,.10)}
.cal-void{opacity:.35;cursor:default;pointer-events:none}

/* B3: Month section spacing */
.hub-month{margin-bottom:36px}

/* B6: Newsletter band */
.newsletter-band{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:16px;padding:28px 32px;margin:36px 0;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.nl-left{flex:1;min-width:200px}
.nl-left h2{margin:0 0 6px;font-size:18px}
.nl-left p{font-size:13.5px;color:var(--ws-txt-2);margin:0}
.newsletter-band form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.newsletter-band .inp{flex:1;min-width:240px}

/* WS2-CAT-MASTER-1: Category page additions */
.rc-long{min-width:110px}
.rc-top{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;color:var(--ws-leaf);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-tile--cur{border-color:var(--ws-leaf);background:var(--ws-chip-soft);cursor:default;pointer-events:none;color:var(--ws-leaf);font-weight:700}
.cat-tile--cur:hover{transform:none;box-shadow:none}
[data-theme="dark"] .rc-top{color:var(--ws-lime)}
[data-theme="dark"] .cat-tile--cur{color:var(--ws-lime);border-color:var(--ws-lime)}

/* WS2-CAT-PATCH-2: hero--cat + misc */
.hero--cat{text-align:left;padding:28px 20px 22px}
.hero--cat h1{font-size:clamp(22px,4vw,34px);text-align:left}
.hero--cat .hero-sub{margin:0;text-align:left;max-width:none}
.hero--cat .hero-ribbon{justify-content:flex-start}
[data-theme='light'] .hero--cat .hero-st{background:rgba(255,255,255,.10)}
[data-theme='dark'] .hero--cat{background:linear-gradient(135deg,#0B120E 0%,#14251B 50%,#1C3A28 100%)}

/* WS2-CAT-POLISH-3: hero--cat centering */
.hero--cat{text-align:center;padding:32px 20px 28px}
.hero--cat .kicker-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.hero--cat h1{text-align:center;max-width:820px;margin:0 auto 12px}
.hero--cat .hero-sub{text-align:center;max-width:680px;margin:0 auto 20px}
.hero--cat .hero-ribbon{justify-content:center}
.hero--cat .hero-st .l{white-space:nowrap}
@media(max-width:640px){
  .hero--cat{padding:32px 16px 24px}
  .hero--cat .hero-ribbon{display:flex;flex-wrap:wrap;justify-content:center;max-width:420px;margin:0 auto}
}
/* WS2-DEBT-HONESTY-1: unverified pool label */
.pool-unv{font-family:Figtree,system-ui,sans-serif;font-size:12px;color:var(--ws-txt-2);font-style:italic}

/* WS2-LEVEL-MASTER-1: hero--level centering (mirrors hero--cat scoped rules) */
.hero--level{text-align:center;padding:32px 20px 28px}
.hero--level .kicker-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.hero--level h1{text-align:center;max-width:820px;margin:0 auto 12px;color:#fff;font-size:clamp(21px,4vw,32px);line-height:1.2}
.hero--level .hero-sub{text-align:center;max-width:680px;margin:0 auto 20px}
.hero--level .hero-ribbon{justify-content:center}
.hero--level .hero-st .l{white-space:nowrap}
[data-theme='dark'] .hero--level{background:linear-gradient(135deg,#0B120E 0%,#14251B 50%,#1C3A28 100%)}
[data-theme='light'] .hero--level .hero-st{background:rgba(255,255,255,.10)}
@media(max-width:640px){
  .hero--level{padding:32px 16px 24px}
  .hero--level .hero-ribbon{display:flex;flex-wrap:wrap;justify-content:center;max-width:420px;margin:0 auto}
}
/* tier badge base (light-mode, mirrors tier-badge styles) */
.tier{display:inline-flex;align-items:center;padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.tier.tier-hard{background:#C94C3A;color:#fff}
.tier.tier-medium{background:#C77A2A;color:#fff}
.tier.tier-easy{background:#2F9E62;color:#fff}
/* ans-card focus-visible outline */
.ans-card:focus-visible{outline:2px solid var(--ws-lime);outline-offset:2px}
/* cross-nav row */
.cross-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0}


/* WS2-SEARCH-STYLE-3: /search/ visual hierarchy + zone rhythm */
:root { --ws-bg:var(--ws-cream); --ws-accent:var(--ws-lime); }

/* Zone 1: hero depth */
.hero--search{position:relative}
.hero--search::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:32px;background:linear-gradient(180deg,transparent,var(--ws-bg));pointer-events:none;z-index:1}
.hero--search .hero-sub{max-width:680px;margin-left:auto;margin-right:auto}
.sb-hint{color:rgba(230,239,232,.75)}

/* zone rhythm */
.page-search .byline-row{margin-top:26px;margin-bottom:0}
.page-search .sr-zone,.page-search .example-zone{margin-top:26px}
.page-search .how-band,.page-search .faq-zone,.page-search .cmt-section{margin-top:32px}

/* Zone 2: results */
.page-search .sr-zone{padding:24px 26px}
.sr-zone-hd{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sr-zone-left{display:flex;align-items:center;gap:10px}
.sr-zone-left .bar{display:block;width:4px;height:22px;border-radius:2px;background:var(--ws-accent);flex-shrink:0}
.sr-msg{font-size:14.5px;color:var(--ws-txt-2);padding:16px 0}

/* Zone 3: example cards */
.page-search .example-zone{padding:24px 26px}
.zone-sub{font-family:Figtree,system-ui,sans-serif;font-size:13.5px;color:var(--ws-txt-2);margin:6px 0 0}
.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.ex-card{display:flex;flex-direction:column;gap:10px;background:var(--ws-chip-soft);border:1px solid var(--ws-line);border-radius:14px;padding:16px 18px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;color:var(--ws-ink)}
.ex-card:hover{transform:translateY(-2px);border-color:var(--ws-accent);box-shadow:0 8px 18px rgba(0,0,0,.10);text-decoration:none;color:var(--ws-ink)}
.ex-k{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--ws-ink)}
.ex-tiles{display:flex;flex-wrap:wrap;gap:4px}
.ex-t{font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:14px;color:var(--ws-ink)}

/* Zone 4: how band */
.how-band{background:var(--ws-card);border-top:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:36px calc(50vw - 50%)}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:16px}
.how-step{padding:18px;background:var(--ws-bg);border:1px solid var(--ws-line);border-radius:14px}
.how-n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--ws-accent);color:var(--ws-ink);font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:14px;align-items:center;justify-content:center;margin-bottom:10px}
.how-step h3{font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:15px;margin-bottom:8px;color:var(--ws-ink)}
.how-step p{font-size:14px;color:var(--ws-txt-2);margin:0}

/* Zone 5: FAQ card */
.page-search .faq-zone{padding:24px 26px}
.faq-zone .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:8px;transition:color .15s}
.faq-zone .faq-item summary:hover{color:var(--ws-accent)}
.faq-zone details[open]>summary{color:var(--ws-accent)}
.faq-zone .faq-a{padding:4px 0 10px;font-size:14px;color:var(--ws-txt-2)}
.faq-zone .faq-item summary::after{content:'';display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;transition:transform .2s;margin-bottom:2px}
.faq-zone details[open]>summary::after{transform:rotate(225deg)}

/* Zone 6: comments */
.page-search .comments-section{padding:24px 26px}

/* search bar in hero */
.search-bar{display:flex;gap:10px;max-width:640px;margin:0 auto;width:100%}
.sb-field{position:relative;flex:1;display:flex}
.sb-input{flex:1;height:56px;padding:0 88px 0 18px;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ws-ink);background:var(--ws-card);border:2px solid var(--ws-line);border-radius:14px;transition:border-color .15s,box-shadow .15s}
.sb-input:focus{outline:none;border-color:var(--ws-accent);box-shadow:0 0 0 4px rgba(127,199,154,.18)}
.sb-input::placeholder{letter-spacing:.06em;font-size:14px;font-weight:400;color:var(--ws-txt-2);text-transform:none}
#sb-count{position:absolute;right:52px;top:50%;transform:translateY(-50%);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--ws-txt-2);pointer-events:none}
#sb-count.full{color:var(--ws-accent)}
#sb-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;border-radius:50%;background:var(--ws-chip-soft);color:var(--ws-txt-2);cursor:pointer;align-items:center;justify-content:center}
#sb-clear:not([hidden]){display:flex}
.sb-go{height:56px;padding:0 26px;flex:0 0 auto;font-family:Figtree,system-ui,sans-serif;font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--ws-ink);background:var(--ws-accent);border:none;border-radius:14px;cursor:pointer;transition:transform .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:8px}
.sb-go:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.sb-go svg{width:16px;height:16px;flex-shrink:0}

/* tile preview */
.tile-preview{min-height:44px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:14px auto 0;max-width:640px}
.tile-preview .tile{animation:tilePop .18s ease-out}
@keyframes tilePop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.tile-preview .tile{animation:none}}
.tp-ready{font-family:Figtree,system-ui,sans-serif;font-weight:600;font-size:12px;color:var(--ws-accent);align-self:center;margin-left:6px}

/* sr-card styles */
.sr-count{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12px;padding:4px 12px;border-radius:999px;background:var(--ws-chip-soft);border:1px solid var(--ws-line);white-space:nowrap}
.sr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:4px}
.sr-card{background:var(--ws-card);border:1px solid var(--ws-line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s,border-color .15s}
.sr-card:hover{border-color:var(--ws-leaf);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.sr-exact{border-color:var(--ws-accent);background:linear-gradient(0deg,rgba(127,199,154,.06),rgba(127,199,154,.06)),var(--ws-card)}
.sr-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sr-badge--exact{background:var(--ws-leaf);color:#fff}
.sr-badge--partial{background:var(--ws-chip-soft);color:var(--ws-leaf);border:1px solid var(--ws-leaf)}
.sr-title{font-size:15px;font-weight:700;color:var(--ws-ink);text-decoration:none;line-height:1.3}
.sr-title:hover{color:var(--ws-leaf);text-decoration:none}
.sr-meta{font-size:12.5px;color:var(--ws-txt-2)}
.sr-pool{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.tile-hit{background:var(--ws-lime) !important;border-color:var(--ws-leaf) !important;color:var(--ws-tile-txt) !important;font-weight:800 !important}
.sr-more{margin-top:16px;font-size:14px;color:var(--ws-txt-2)}

/* dark mode */
[data-theme='dark'] .hero--search{background:linear-gradient(135deg,#0B120E 0%,#14251B 50%,#1C3A28 100%)}
[data-theme='dark'] .how-step{background:var(--ws-cream)}
[data-theme='dark'] .ex-card{background:var(--ws-chip-soft)}
[data-theme='dark'] .ex-k{color:var(--ws-ink)}

/* mobile */
@media(max-width:560px){
  .page-search .sr-zone,.page-search .example-zone,.page-search .faq-zone{padding:18px 16px}
  .page-search .comments-section{padding:18px 16px}
  .how-band{padding:28px 16px}
  .ex-grid{grid-template-columns:1fr}
  .sb-go{width:100%;height:52px;justify-content:center}
  .sb-input{height:52px;font-size:16px;padding-right:80px}
  .hero--search{padding:28px 16px 24px}
  .search-bar{flex-direction:column}
  .sr-grid{grid-template-columns:1fr}
}

/* WS2-SEARCH-FINAL-4: functional proof + final polish */

/* B1 - dim non-hit tiles, restore on hover */
.sr-pool .tile:not(.tile-hit){opacity:.45;transition:opacity .15s}
.sr-card:hover .sr-pool .tile:not(.tile-hit){opacity:.75}
.sr-pool .tile.tile-hit{opacity:1}

/* B2 - result title hover + right-edge arrow */
.sr-title:hover,.sr-title:focus{color:var(--ws-accent);text-decoration:underline}
.sr-arrow{display:inline-flex;align-items:center;justify-content:center;
  color:var(--ws-txt-2);flex-shrink:0;transition:color .15s,transform .15s;
  align-self:flex-end;margin-top:auto}
.sr-card:hover .sr-arrow,.sr-card:focus-within .sr-arrow{color:var(--ws-accent);transform:translateX(2px)}

/* B3 - no-match branded tiles */
.nm-tiles{display:flex;flex-wrap:wrap;gap:4px;opacity:.35;
  margin-bottom:14px;justify-content:center;padding:6px 0}

/* B4 - kbd example in hero hint */
.kbd{font-family:'IBM Plex Mono',monospace;font-size:12px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  border-radius:6px;padding:2px 8px;letter-spacing:.08em;white-space:nowrap;
  display:inline-block}

/* B6 - print styles */
@media print{
  .topbar,.site-footer,.back-to-top,#comments,.search-bar,.tile-preview,
  .example-zone,.how-band,.sr-arrow,.cmt-section{display:none}
  .card{border:none!important;box-shadow:none!important}
  .hero--search{background:none!important;color:var(--ws-ink)!important}
  .hero--search h1,.hero--search .hero-sub{color:var(--ws-ink)!important}
}
/* tips-page */
.hero--guide{position:relative}
.hero--guide::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:32px;background:linear-gradient(180deg,transparent,var(--ws-bg));pointer-events:none;z-index:1}
.hero--guide .hero-sub{max-width:680px;margin-left:auto;margin-right:auto}
.tip-card{background:var(--card-bg,#FFFFFF);border:1px solid var(--card-border,rgba(22,40,30,.10));border-radius:14px;padding:24px 24px 20px 24px;margin:0 0 16px 0;box-shadow:0 1px 3px rgba(22,40,30,.06);transition:box-shadow .15s ease,transform .15s ease}
.tip-card:hover{box-shadow:0 4px 14px rgba(22,40,30,.12);transform:translateY(-2px)}
.tip-head{display:flex;align-items:center;gap:12px;margin:0 0 10px 0}
.tip-n{width:32px;height:32px;border-radius:50%;background:#B7E26B;color:#14251B;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tip-head h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:20px;line-height:1.3;margin:0}
.tip-card p{font-size:16px;line-height:1.65;margin:0 0 10px 0}
.tip-card p:last-child{margin-bottom:0}
[data-theme='dark'] .tip-card{--card-bg:var(--ws-card);--card-border:rgba(100,140,110,.15)}
/* htp-page */
.htp-step-big{border-left:4px solid var(--ws-leaf);padding:4px 0 4px 18px;margin:0 0 22px 0}
.htp-step-big strong{color:var(--ws-ink)}
.page-tips .byline-row,.page-htp .byline-row{margin-top:26px;margin-bottom:0}
.page-tips .card,.page-htp .card{margin-top:26px}
.page-tips .faq-zone,.page-htp .faq-zone{padding:24px 26px}
.page-tips .cmt-section,.page-htp .cmt-section{margin-top:32px}
.page-tips .how-band,.page-htp .how-band{margin-top:32px}

/* search-intro */
.intro-zone{margin:0 0 24px 0}
.intro-prose p{font-family:'Figtree',system-ui,sans-serif;font-weight:400;font-size:16px;line-height:1.7;margin:0 0 14px 0}
.intro-prose p:last-child{margin-bottom:0}
.intro-prose a{font-weight:600;text-decoration:underline;text-underline-offset:2px}
.intro-prose strong{font-weight:700}

/* identity-pages */
.author-hero{display:flex;align-items:center;gap:20px}
.author-av-lg{width:96px;height:96px;border-radius:50%;background:#B7E26B;color:#14251B;
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:34px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  border:3px solid #7FC79A}
.cred-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:18px 0 0 0}
.cred-item{border:1px solid rgba(22,40,30,.10);border-radius:12px;padding:16px}
.cred-item .cred-n{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:22px;color:#2E5A3C;display:block;margin:0 0 4px 0}
.cred-item .cred-l{font-size:14px;color:inherit;opacity:.8}
.contact-block{border-left:4px solid #7FC79A;padding:4px 0 4px 18px;margin:0 0 18px 0}
[data-theme="dark"] .author-av-lg{background:#2E5A3C;color:#B7E26B;border-color:#4A7A5C}
[data-theme="dark"] .cred-item{border-color:rgba(183,226,107,.12)}
[data-theme="dark"] .cred-item .cred-n{color:#B7E26B}
[data-theme="dark"] .contact-block{border-color:#4A7A5C}
