/* Puzzle Solved - Premium Design System */

/* -- Reset ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit}

/* -- Tokens ----------------------------------------------------------------- */
:root{
  --ps-ink:#141B2D; --ps-paper:#F4F2EC; --ps-panel:#FFFFFF; --ps-line:#DCD8CD;
  --ps-blue:#1B45C8; --ps-blue-deep:#12329A; --ps-navy:#0F2A6B;
  --ps-red:#D6202E; --ps-red-deep:#A5161F; --ps-coral:#EE5A47;
  --ps-mut:#5C6577; --ps-r-card:18px; --ps-r-chip:999px;
  --ps-shadow:0 2px 14px rgba(20,27,45,.09); --ps-col:1140px;
}
[data-theme=dark]{
  --ps-ink:#E9ECF3; --ps-paper:#0F1626; --ps-panel:#182136; --ps-line:#2B3550;
  --ps-blue:#5B82F0; --ps-blue-deep:#87A4F5; --ps-navy:#7A9AEE;
  --ps-red:#F0505C; --ps-red-deep:#F5787F; --ps-coral:#FF7A66;
  --ps-mut:#98A3B8; --ps-shadow:0 2px 16px rgba(0,0,0,.45);
}

/* ===== SPACING SYSTEM - single source - PS-CONSOLIDATE-MASTER-8 =====
   Do not add section margin or padding anywhere else in this file.
   Any future rule touching these selectors must edit THIS block. */
:root {
  --sp-seam: 40px; --sp-seam-m: 26px;
  --sp-band: 40px; --sp-band-m: 28px;
  --sp-band-ink: 48px; --sp-band-ink-m: 34px;
  --sp-head: 22px; --sp-head-m: 16px;
}
main > section { margin: 0; padding: 0; }
main > section + section { margin-top: var(--sp-seam); }
main > section.band-wash,
main > section.band-ink { margin-top: 0; padding-block: var(--sp-band); }
main > section.band-ink { padding-block: var(--sp-band-ink); }
main > section.band-wash + section,
main > section.band-ink + section { margin-top: var(--sp-seam); }
main > section.band-wash + section.band-wash,
main > section.band-ink + section.band-ink { border-top: 0; margin-top: 0; }
main > section.band-wash + section.band-ink,
main > section.band-ink + section.band-wash { border-top: 0; }
main > section.statstrip + section { margin-top: 34px; }
.sec-head { margin: 0 0 var(--sp-head); }
.sec-title { margin: 6px 0 0; }
.sec-bar-line { margin: 10px auto 0; }
.sec-lede { margin: 8px auto 0; max-width: 560px; }
.answer-wrap { margin: 0; }
.card { padding: 22px; margin: 0; }
.dev-avatar { background: var(--avatar-bg, #2749D6); }
.cov-fill { width: var(--cov-w, 0%); }
.cmp-note { font-size: 0.78rem; color: #5A6172; margin-top: 10px; font-family: 'DM Mono', monospace; }
@media (max-width: 640px) {
  main > section + section { margin-top: var(--sp-seam-m); }
  main > section.band-wash + section,
  main > section.band-ink + section { margin-top: var(--sp-seam-m); }
  main > section.band-wash { padding-block: var(--sp-band-m); }
  main > section.band-ink { padding-block: var(--sp-band-ink-m); }
  main > section.statstrip + section { margin-top: 22px; }
  .sec-head { margin-bottom: var(--sp-head-m); }
  .card { padding: 16px; }
}
/* ===== END SPACING SYSTEM ===== */

/* ===== WIDTH SYSTEM - PS-ONEWIDTH =====
   One container. Every section uses .wrap. Nothing else sets max-width
   except .sec-lede (reading measure) and .hero-sub.
   To change the site width, change --w-site here only. */
:root { --w-site: 1160px; --pad-x: 24px; }

.wrap {
  width: 100%;
  max-width: var(--w-site);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pad-x);
  padding-right: var(--pad-x);
  box-sizing: border-box;
}

/* stat strip uses .wrap like everything else */
.statstrip-grid { max-width: none; width: 100%; }

.sec-lede { max-width: 560px; margin-inline: auto; }
.card p, .answer-block p, .tactic-body, .gloss-def,
.archive-step-desc, .howto-desc { max-width: 68ch; }

@media (max-width: 640px) {
  :root { --pad-x: 16px; }
}
/* ===== END WIDTH SYSTEM ===== */

/* ===== GRID SYSTEM - PS-GEOMETRY-MASTER-9 =====
   One scale. Do not declare grid-template-columns or gap elsewhere. */
:root { --gap-tile: 12px; --gap-card: 16px; }
.wall {
  display: grid;
  gap: var(--gap-tile);
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
}
.dev-grid, .locale-cards, .gloss-grid, .tactics-grid {
  display: grid;
  gap: var(--gap-card);
  grid-template-columns: repeat(auto-fill, minmax(264px, 1fr));
}
.gc-rail {
  display: grid;
  gap: var(--gap-card);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.gc-rail--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.glance-grid {
  display: grid;
  gap: var(--gap-card);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fact-grid {
  display: grid;
  gap: var(--gap-card);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.daily-strip {
  display: grid;
  gap: var(--gap-tile);
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.statstrip-grid {
  display: grid;
  gap: var(--gap-card);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.wall, .dev-grid, .locale-cards, .gloss-grid, .tactics-grid,
.gc-rail, .glance-grid, .fact-grid, .daily-strip, .statstrip-grid {
  align-items: stretch;
}
.dev-card, .locale-card, .gc-card, .tactic-card, .gloss-item,
.today-card, .stat-cell {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1100px) {
  .gc-rail, .glance-grid, .daily-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .wall { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .gc-rail, .gc-rail--three, .glance-grid, .daily-strip,
  .dev-grid, .locale-cards, .gloss-grid, .tactics-grid {
    grid-template-columns: 1fr;
  }
  .fact-grid, .statstrip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* ===== END GRID SYSTEM ===== */

/* ===== CARD SYSTEM - PS-GEOMETRY-MASTER-9 =====
   One look. Do not set border-radius, box-shadow, padding, or border on card selectors elsewhere. */
:root {
  --r-card: 16px;
  --r-pill: 999px;
  --r-input: 10px;
  --r-chip: 8px;
  --sh-card: 0 2px 12px rgba(14,27,58,0.06);
  --sh-card-hover: 0 8px 20px rgba(14,27,58,0.12);
  --pad-card: 20px;
  --pad-card-m: 16px;
  --line: #E3E1DA;
}
.card, .glance-col, .dev-card, .locale-card, .gc-card, .tactic-card,
.gloss-item, .comment-card, .stat-cell, .answer-block, .today-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--sh-card);
  padding: var(--pad-card);
}
a.gc-card:hover, a.locale-card:hover, a.today-card:hover,
.dev-card:hover, .tactic-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sh-card-hover);
  border-color: #2749D6;
}
.gc-card, .tactic-card, .gloss-item, .today-card { overflow: hidden; position: relative; }
.answer-block {
  border-left: 5px solid #2749D6;
  border-radius: var(--r-card);
  overflow: visible;
}
.stat-cell { overflow: hidden; }
@media (max-width: 640px) {
  .card, .glance-col, .dev-card, .locale-card, .gc-card, .tactic-card,
  .gloss-item, .comment-card, .stat-cell, .answer-block, .today-card {
    padding: var(--pad-card-m);
  }
}
/* ===== END CARD SYSTEM ===== */

/* ===== GRID + CARD ALIGNMENT - PS-ONEWIDTH =====
   Every grid fills its .wrap. No grid adds extra margin/padding. */

/* PS-ONEWIDTH: grids fill wrap */
.wall, .cmp-wrap, .daily-strip, .glance-grid, .gc-rail, .dev-grid,
.locale-cards, .guides-grid, .gloss-grid, .tactics-grid, .howto-grid,
.fact-grid, .statstrip-grid, .faq-list, .archive-steps, .cmp-table {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* PS-ONEWIDTH: single-card sections fill wrap */
.answer-block, .about-card, .comment-card, .newsletter-row {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* PS-ONEWIDTH: card look - one definition */
.card, .glance-col, .dev-card, .locale-card, .gc-card, .tactic-card,
.gloss-item, .comment-card, .stat-cell, .answer-block, .today-card {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
  padding: 22px;
  box-sizing: border-box;
}

/* PS-ONEWIDTH: accent bars need overflow:hidden to follow radius */
.gc-card, .tactic-card, .gloss-item, .today-card {
  overflow: hidden;
  position: relative;
}

/* PS-ONEWIDTH: answer-block keeps 5px left accent, no top bar */
.answer-block {
  border-left: 5px solid #2749D6;
  border-radius: 16px;
}

@media (max-width: 640px) {
  .card, .glance-col, .dev-card, .locale-card, .gc-card, .tactic-card,
  .gloss-item, .comment-card, .stat-cell, .answer-block, .today-card {
    padding: 16px;
  }
}
/* ===== END GRID + CARD ALIGNMENT ===== */

/* ===== BAND DIVIDER - PS-GEOMETRY-MASTER-9 ===== */
.band-divider {
  border: 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  margin: 36px 0;
}
/* ===== END BAND DIVIDER ===== */


/* -- Base ------------------------------------------------------------------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Karla',system-ui,sans-serif;
  font-size:1rem;line-height:1.66;
  color:var(--ps-ink);background:var(--ps-paper);
  background-image:repeating-linear-gradient(45deg,rgba(20,27,45,.032) 0 1px,transparent 1px 11px);
  min-height:100vh;
}
[data-theme=dark] body{
  background-image:repeating-linear-gradient(45deg,rgba(233,236,243,.028) 0 1px,transparent 1px 11px);
}
h1,h2,h3,h4,h5,h6{
  font-family:'Archivo',system-ui,sans-serif;
  line-height:1.12;letter-spacing:-.015em;
}
a{color:var(--ps-blue);text-decoration:none}
a:hover{color:var(--ps-blue-deep);text-decoration:underline}
p+p{margin-top:.75em}
ul,ol{padding-left:1.4em}
li+li{margin-top:.3em}
strong{font-weight:700}

/* -- Focus ------------------------------------------------------------------ */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--ps-red);outline-offset:2px;border-radius:4px
}

/* -- Motion ----------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* -- Layout ----------------------------------------------------------------- */
.section{margin:0 auto;padding:0 22px}
main{min-height:60vh}

/* -- Skip link -------------------------------------------------------------- */
.skip-link{
  position:absolute;top:-9999px;left:6px;
  background:var(--ps-panel);color:var(--ps-blue);
  padding:8px 16px;border-radius:8px;font-weight:700;z-index:200;
}
.skip-link:focus{top:6px}

/* -- TOPBAR ----------------------------------------------------------------- */
.topbar{
  background:var(--ps-ink);position:sticky;top:0;z-index:60;
  border-bottom:4px solid var(--ps-red);
}
[data-theme=dark] .topbar{background:#0A1120}
.topbar-inner{
  display:flex;align-items:center;flex-wrap:nowrap;gap:18px;
  min-height:66px;max-width:var(--ps-col);margin:0 auto;padding:0 22px;
}

/* -- Logo ------------------------------------------------------------------- */
.logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-mark{
  width:32px;height:32px;background:var(--ps-blue);
  border-radius:8px 8px 12px 12px;position:relative;flex-shrink:0;
}
.logo-mark::before{
  content:"";position:absolute;
  width:15px;height:15px;border-radius:50%;
  background:var(--ps-red);top:-7px;left:50%;transform:translateX(-50%);
}
.logo-mark::after{
  content:"";position:absolute;
  width:14px;height:3px;background:#F4F2EC;
  bottom:6px;left:50%;transform:translateX(-50%);
  border-radius:2px;box-shadow:0 -6px 0 #F4F2EC;
}
.logo-text{
  font-family:'Archivo',system-ui,sans-serif;
  font-weight:900;font-size:1.18rem;color:#F4F2EC;
  letter-spacing:-.02em;white-space:nowrap;
}
.logo-text .lx{color:#F0505C}

/* -- Topnav ----------------------------------------------------------------- */
.topnav{
  display:flex;flex:1;min-width:0;justify-content:flex-end;
  gap:2px;align-items:center;
}
.topnav a{
  color:#C2C9D8;font-family:'Karla',system-ui,sans-serif;
  font-weight:500;font-size:.93rem;padding:8px 12px;
  border-radius:8px;white-space:nowrap;
  border-bottom:3px solid transparent;text-decoration:none;
  transition:color .15s,background .15s;
}
.topnav a:hover{color:#fff;background:rgba(255,255,255,.09)}
.topnav a[data-cat=word]{border-bottom-color:#D6202E}
.topnav a[data-cat=clue]{border-bottom-color:#3E63C9}
.topnav a[data-cat=grid]{border-bottom-color:#0F2A6B}
[data-theme=dark] .topnav a[data-cat=grid]{border-bottom-color:#5B82F0}
.topnav a[data-cat=daily]{border-bottom-color:#EE5A47}
.topnav a.active{background:var(--ps-blue);color:#fff}
@media(max-width:980px){.topnav a{padding:8px 8px;font-size:.85rem}}
@media(max-width:820px){.topnav{display:none}}

/* -- Dark toggle ------------------------------------------------------------ */
.dark-toggle{
  width:40px;height:40px;background:transparent;border:1px solid rgba(244,242,236,.3);
  border-radius:8px;color:#C2C9D8;font-size:1.1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .15s;
}
.dark-toggle:hover{border-color:var(--ps-red)}

/* -- Burger ----------------------------------------------------------------- */
.burger{
  display:none;width:40px;height:40px;background:transparent;
  border:1px solid rgba(244,242,236,.3);border-radius:8px;
  color:#C2C9D8;font-size:1.2rem;cursor:pointer;flex-shrink:0;
  align-items:center;justify-content:center;
}
@media(max-width:820px){.burger{display:flex}}

/* -- Mobile menu ------------------------------------------------------------ */
.mobile-menu{
  display:none;flex-direction:column;
  background:var(--ps-ink);padding:16px 22px 24px;
  border-bottom:2px solid var(--ps-red);
}
[data-theme=dark] .mobile-menu{background:#0A1120}
.mobile-menu.open{display:flex}
.mobile-menu a{
  color:#C2C9D8;padding:11px 0;font-size:1.05rem;font-weight:500;
  border-bottom:1px solid rgba(244,242,236,.08);text-decoration:none;
}
.mobile-menu a:hover{color:#fff}
.mobile-menu-close{
  align-self:flex-end;background:transparent;border:none;
  color:#C2C9D8;font-size:1.5rem;cursor:pointer;padding:4px 8px;margin-bottom:8px;
}

/* -- HERO ------------------------------------------------------------------- */
.hero{
  background:var(--ps-ink);position:relative;overflow:hidden;
}
[data-theme=dark] .hero{background:#0A1120}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:8px;
  background:repeating-linear-gradient(90deg,var(--ps-red) 0 60px,var(--ps-blue) 60px 120px);
}
.hero-inner{
  max-width:var(--ps-col);margin:0 auto;padding:58px 22px 64px;
  display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;
}
@media(max-width:920px){
  .hero-inner{grid-template-columns:1fr;gap:36px}
  .hero-inner h1{font-size:2.15rem}
}
.hero--inner{
  max-width:var(--ps-col);margin:0 auto;padding:40px 22px 56px;
}
.hero--inner h1{font-size:2.2rem;color:#fff;letter-spacing:-.03em;margin:10px 0 12px}
.kicker{
  font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.15em;
  text-transform:uppercase;color:#F0505C;margin-bottom:13px;
}
h1.hero-h1{font-family:'Archivo',system-ui,sans-serif;font-weight:900;font-size:2.9rem;color:#fff;letter-spacing:-.03em}
.hx1{color:#F0505C}
.hx2{color:#5B82F0}
.hero-sub{font-size:1.1rem;color:#C2C9D8;max-width:54ch;margin:0 0 26px}
.hero-search{display:flex;gap:10px;max-width:480px;flex-wrap:wrap}
.hero-search input{
  flex:1;min-width:0;border:2px solid rgba(244,242,236,.25);
  background:rgba(244,242,236,.08);color:#fff;border-radius:12px;
  padding:14px 17px;font-size:1rem;
}
.hero-search input::placeholder{color:rgba(244,242,236,.45)}
.hero-search input:focus{border-color:#5B82F0;outline:none}
.btn-primary{
  background:var(--ps-blue);color:#fff;border:none;border-radius:12px;
  padding:14px 24px;font-family:'Karla',system-ui,sans-serif;
  font-weight:700;font-size:1rem;cursor:pointer;white-space:nowrap;
  transition:background .15s;text-decoration:none;display:inline-flex;align-items:center;
}
.btn-primary:hover{background:var(--ps-blue-deep);color:#fff;text-decoration:none}
.btn-red{background:var(--ps-red);color:#fff}
.btn-red:hover{background:var(--ps-red-deep);color:#fff}
.ticker-line{
  margin-top:18px;font-family:'DM Mono',monospace;font-size:.78rem;color:#8D97AC;
  display:flex;align-items:center;gap:8px;
}
.ticker-dot{
  width:9px;height:9px;border-radius:50%;background:#F0505C;flex-shrink:0;
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* -- Hero mosaic ------------------------------------------------------------ */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;max-width:420px}
.mosaic-tile{
  aspect-ratio:1;border-radius:10px;
  font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:.95rem;color:#fff;
  display:grid;place-items:center;text-align:center;padding:4px;
}
.mo-w{background:#D6202E}
.mo-c{background:#3E63C9}
.mo-g{background:#0F2A6B}
.mo-d{background:#EE5A47}
.mo-b{background:var(--ps-blue)}
.mo-dim{opacity:.2}
@keyframes mopop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
.mosaic-tile.animate{animation:mopop .5s ease backwards}
.mosaic-caption{
  font-family:'DM Mono',monospace;font-size:.72rem;color:#8D97AC;
  text-align:center;margin-top:12px;
}

/* -- Stat band -------------------------------------------------------------- */
  display:grid;grid-template-columns:repeat(4,1fr);gap:15px;
  margin:-30px auto 0;z-index:2;position:relative;
  max-width:var(--ps-col);padding:0 22px;
}
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-top:5px solid var(--ps-blue);border-radius:var(--ps-r-card);
  padding:19px 15px;text-align:center;box-shadow:var(--ps-shadow);
}
  font-family:'Archivo',system-ui,sans-serif;font-weight:900;
  font-size:1.7rem;letter-spacing:-.02em;color:var(--ps-blue);
}
  font-family:'DM Mono',monospace;font-size:.68rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ps-mut);margin-top:6px;
}

/* -- Section header --------------------------------------------------------- */
.sec-h{display:flex;justify-content:center;align-items:center;gap:13px;text-align:center;flex-wrap:wrap;margin-bottom:18px}
.sec-h h2{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.45rem}
.chev{display:flex;gap:3px;align-items:center}
.chev span{
  width:7px;height:16px;border-radius:2px;transform:skewX(-14deg);
  background:var(--ps-blue);display:block;
}
.sec-h--brand .chev span:nth-child(1){background:var(--ps-blue)}
.sec-h--brand .chev span:nth-child(2){background:var(--ps-red)}
.sec-h--brand .chev span:nth-child(3){background:var(--ps-blue);opacity:.45}
.sec-h--word .chev span:nth-child(1){background:#D6202E}
.sec-h--word .chev span:nth-child(2){background:#D6202E;opacity:.7}
.sec-h--word .chev span:nth-child(3){background:#D6202E;opacity:.4}
.sec-h--clue .chev span:nth-child(1){background:#3E63C9}
.sec-h--clue .chev span:nth-child(2){background:#3E63C9;opacity:.7}
.sec-h--clue .chev span:nth-child(3){background:#3E63C9;opacity:.4}
.sec-h--grid .chev span:nth-child(1){background:#0F2A6B}
.sec-h--grid .chev span:nth-child(2){background:#0F2A6B;opacity:.7}
.sec-h--grid .chev span:nth-child(3){background:#0F2A6B;opacity:.4}
[data-theme=dark] .sec-h--grid .chev span{background:#7A9AEE}
.sec-h--daily .chev span:nth-child(1){background:#EE5A47}
.sec-h--daily .chev span:nth-child(2){background:#EE5A47;opacity:.7}
.sec-h--daily .chev span:nth-child(3){background:#EE5A47;opacity:.4}
.sec-sub{text-align:center;color:var(--ps-mut);font-size:.95rem;max-width:64ch;margin:0 auto 22px}

/* -- Card ------------------------------------------------------------------- */
.card{
}
.section-gap{}

/* -- Game cartridge card ---------------------------------------------------- */
@media(max-width:920px){.gc-rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gc-rail{grid-template-columns:1fr}}
.gc-card{
  transition:transform .15s,border-color .15s;cursor:pointer;
}
.gc-card:hover{transform:translateY(-4px)}
.gc-card::before{
  content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  width:22px;height:22px;border-radius:50%;
  border:1px solid var(--ps-line);border-bottom-color:transparent;
  background:var(--ps-blue);
}
.gc-card[data-cat=word]::before{background:#D6202E}
.gc-card[data-cat=clue]::before{background:#3E63C9}
.gc-card[data-cat=grid]::before{background:#0F2A6B}
.gc-card[data-cat=daily]::before{background:#EE5A47}
.gc-card[data-cat=word]:hover{border-color:#D6202E}
.gc-card[data-cat=clue]:hover{border-color:#3E63C9}
.gc-card[data-cat=grid]:hover{border-color:#0F2A6B}
.gc-card[data-cat=daily]:hover{border-color:#EE5A47}
.gc-cat{
  font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ps-blue);
}
.gc-card[data-cat=word] .gc-cat{color:#D6202E}
.gc-card[data-cat=clue] .gc-cat{color:#3E63C9}
.gc-card[data-cat=grid] .gc-cat{color:#0F2A6B}
[data-theme=dark] .gc-card[data-cat=grid] .gc-cat{color:#7A9AEE}
.gc-card[data-cat=daily] .gc-cat{color:#C4432F}
[data-theme=dark] .gc-card[data-cat=daily] .gc-cat{color:#EE5A47}
.gc-card h3{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.08rem;margin:7px 0 6px}
.gc-stats{font-family:'DM Mono',monospace;font-size:.74rem;color:var(--ps-mut);display:flex;gap:12px;flex-wrap:wrap}
.gc-upd{font-family:'DM Mono',monospace;font-size:.68rem;color:var(--ps-mut);margin-top:8px}
.gc-upd b{color:var(--ps-red);font-weight:500}
.gc-badge{
  display:inline-block;font-family:'DM Mono',monospace;font-size:.6rem;
  letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:var(--ps-r-chip);
  margin-top:6px;
}
.gc-badge--nosite{background:rgba(92,101,119,.15);color:var(--ps-mut)}
.gc-badge--unreachable{background:rgba(214,32,46,.12);color:var(--ps-red)}

/* -- Today card ------------------------------------------------------------- */
.today-card{
  border-left:5px solid var(--ps-red);
}
.today-card:hover{transform:translateY(-3px)}
.tc-date{font-family:'DM Mono',monospace;font-size:.68rem;text-transform:uppercase;color:var(--ps-mut)}
.tc-game{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:.98rem;margin:4px 0}
.tc-teaser{font-size:.85rem;color:var(--ps-mut)}

/* -- Game section hero (per-game landing) ----------------------------------- */
.gs-hero{
  background:var(--ps-ink);border-radius:20px;padding:38px 34px;
  position:relative;overflow:hidden;margin:26px 0;
}
[data-theme=dark] .gs-hero{background:#0A1120}
.gs-hero::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:6px;
  background:var(--ps-blue);
}
.gs-hero[data-cat=word]::after{background:#D6202E}
.gs-hero[data-cat=clue]::after{background:#3E63C9}
.gs-hero[data-cat=grid]::after{background:#0F2A6B}
.gs-hero[data-cat=daily]::after{background:#EE5A47}
.gs-hero h3{
  font-family:'Archivo',system-ui,sans-serif;font-weight:900;font-size:1.75rem;color:#fff;
}
.subnav-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.subnav-chip{
  background:rgba(244,242,236,.09);border:1px solid rgba(244,242,236,.2);
  color:#E9ECF3;border-radius:var(--ps-r-chip);padding:7px 16px;
  font-size:.86rem;font-weight:500;text-decoration:none;transition:background .15s;
}
.subnav-chip.on,.subnav-chip:hover{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff;font-weight:700}

/* -- Filter chips ----------------------------------------------------------- */
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;align-items:center}
.filter-chip{
  border:1.5px solid var(--ps-line);background:var(--ps-panel);
  border-radius:var(--ps-r-chip);padding:7px 17px;
  font-family:'Karla',system-ui,sans-serif;font-weight:500;font-size:.88rem;
  cursor:pointer;transition:border-color .15s,background .15s,color .15s;
  display:flex;align-items:center;gap:7px;
}
.filter-chip:hover{border-color:var(--ps-blue)}
.filter-chip.on{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff;font-weight:700}
.chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.chip-dot--word{background:#D6202E}
.chip-dot--clue{background:#3E63C9}
.chip-dot--grid{background:#0F2A6B}
.chip-dot--daily{background:#EE5A47}

/* -- FAQ -------------------------------------------------------------------- */
.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{border:1px solid var(--ps-line);border-radius:12px;background:var(--ps-paper);overflow:hidden}
.faq-item summary{
  background:var(--ps-panel);padding:15px 19px;font-weight:700;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";font-family:'DM Mono',monospace;color:var(--ps-red);font-size:1.1rem;flex-shrink:0;
}
.faq-item[open] summary::after{content:"-"}
.faq-item .faq-body{padding:5px 19px 17px;font-size:.95rem}
.faq-item .faq-body p{margin-top:.5em}

/* -- Breadcrumbs ------------------------------------------------------------ */
.crumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:14px 0 4px;font-size:.88rem}
.crumbs a{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:var(--ps-r-chip);padding:4px 12px;
  color:var(--ps-blue);font-weight:600;text-decoration:none;
}
.crumbs a:hover{border-color:var(--ps-blue)}
.crumbs-sep{color:var(--ps-mut)}
.crumbs-current{font-weight:600;color:var(--ps-mut)}

/* -- Fact grid -------------------------------------------------------------- */
@media(max-width:560px){.fact-grid{grid-template-columns:1fr}}
.fact-cell{
  background:var(--ps-panel);border:1px solid var(--ps-line);border-radius:var(--ps-r-card);
  padding:20px 22px;box-shadow:var(--ps-shadow);
}
.fact-num{font-family:'Archivo',system-ui,sans-serif;font-weight:900;font-size:1.5rem;color:var(--ps-blue)}
.fact-label{font-family:'DM Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ps-mut);margin-top:4px}
.registry-date{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--ps-mut);text-align:center;margin-top:16px}

/* -- Scenario rows ---------------------------------------------------------- */
.scenario-rows{display:flex;flex-direction:column;gap:12px}
.scenario-row{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:12px;padding:16px 18px;
}
.scenario-icon{
  width:36px;height:36px;border-radius:50%;background:var(--ps-blue);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1rem;flex-shrink:0;
}
.scenario-icon--red{background:var(--ps-red)}
.scenario-icon--grid{background:#0F2A6B}
.scenario-icon--daily{background:#EE5A47}
.scenario-body h4{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.98rem;margin-bottom:4px}
.scenario-body p{font-size:.9rem;color:var(--ps-mut)}

/* -- Category cross-links --------------------------------------------------- */
.cat-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
@media(max-width:760px){.cat-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.cat-links{grid-template-columns:1fr}}
.cat-link{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:12px;padding:14px 16px;text-align:center;text-decoration:none;
  color:var(--ps-ink);transition:transform .15s,border-color .15s;display:block;
}
.cat-link:hover{transform:translateY(-3px);text-decoration:none;color:var(--ps-ink)}
.cat-link-label{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.95rem}
.cat-link[data-cat=word]{border-top:4px solid #D6202E}
.cat-link[data-cat=clue]{border-top:4px solid #3E63C9}
.cat-link[data-cat=grid]{border-top:4px solid #0F2A6B}
.cat-link[data-cat=daily]{border-top:4px solid #EE5A47}
.cat-link[data-cat=word]:hover{border-color:#D6202E}
.cat-link[data-cat=clue]:hover{border-color:#3E63C9}
.cat-link[data-cat=grid]:hover{border-color:#0F2A6B}
.cat-link[data-cat=daily]:hover{border-color:#EE5A47}

/* -- Team/Editor cards ------------------------------------------------------ */
.editor-card{
  display:flex;gap:20px;align-items:flex-start;
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:var(--ps-r-card);padding:28px;box-shadow:var(--ps-shadow);
}
@media(max-width:560px){.editor-card{flex-direction:column}}
.editor-avatar{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.2rem;
  color:#fff;flex-shrink:0;
}
.ea--word{background:#D6202E}
.ea--grid{background:#0F2A6B}
.ea--clue{background:#3E63C9}
.editor-name{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.08rem;margin-bottom:2px}
.editor-title{font-family:'DM Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ps-mut);margin-bottom:10px}
.editor-bio{font-size:.95rem;line-height:1.65}

/* -- Contact channel cards -------------------------------------------------- */
.channel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:640px){.channel-grid{grid-template-columns:1fr}}
.channel-card{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:var(--ps-r-card);padding:24px;box-shadow:var(--ps-shadow);
}
.channel-card h3{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:8px}

/* -- Anchor nav (legal pages) ----------------------------------------------- */
.anchor-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.anchor-nav a{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:var(--ps-r-chip);padding:6px 14px;
  color:var(--ps-blue);font-size:.88rem;font-weight:600;text-decoration:none;
}
.anchor-nav a:hover{border-color:var(--ps-blue)}

/* -- FOOTER ----------------------------------------------------------------- */
.site-footer{
  background:var(--ps-ink);margin-top:64px;border-top:5px solid var(--ps-red);
}
[data-theme=dark] .site-footer{background:#0A1120}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:26px;
  max-width:var(--ps-col);margin:0 auto;padding:46px 22px 30px;
}
@media(max-width:880px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{
  font-family:'Archivo',system-ui,sans-serif;font-size:.92rem;color:#fff;
  margin-bottom:12px;display:flex;align-items:center;gap:7px;
}
.footer-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.footer-dot--word{background:#D6202E}
.footer-dot--clue{background:#3E63C9}
.footer-dot--grid{background:#0F2A6B}
.footer-dot--daily{background:#EE5A47}
.footer-dot--site{background:var(--ps-blue)}
.footer-grid a{display:block;color:#C2C9D8;font-size:.88rem;margin-bottom:7px;text-decoration:none}
.footer-grid a:hover{color:#fff}
.footer-desc{color:#8D97AC;font-size:.88rem;line-height:1.6}
.footer-legal{
  border-top:1px solid rgba(244,242,236,.12);
  max-width:var(--ps-col);margin:0 auto;padding:16px 22px 26px;
  font-size:.82rem;color:#8D97AC;
}

/* -- Comments --------------------------------------------------------------- */
.cmt-sort-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.cmt-count-label{font-family:'DM Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ps-mut)}
.cmt-sort-chips{display:flex;gap:6px}
.cmt-sort-chip{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:var(--ps-r-chip);padding:5px 12px;font-size:.82rem;
  color:var(--ps-mut);text-decoration:none;
}
.cmt-sort-chip.active,.cmt-sort-chip:hover{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff}
.cmt-list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.cmt-item{display:flex;gap:12px}
.cmt-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--ps-blue);
  color:#fff;font-family:'Archivo',system-ui,sans-serif;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;
}
.cmt-avatar-sm{width:28px;height:28px;font-size:.72rem}
.cmt-body{flex:1;min-width:0}
.cmt-header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px}
.cmt-author{font-weight:700;font-size:.9rem}
.cmt-date{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--ps-mut)}
.cmt-text{font-size:.92rem}
.cmt-actions{display:flex;gap:10px;margin-top:6px}
.cmt-like-btn{
  background:none;border:1px solid var(--ps-line);border-radius:var(--ps-r-chip);
  padding:3px 10px;font-size:.78rem;color:var(--ps-mut);cursor:pointer;
  display:flex;align-items:center;gap:4px;
}
.cmt-like-btn:hover{border-color:var(--ps-red);color:var(--ps-red)}
.cmt-reply-btn{background:none;border:none;font-size:.78rem;color:var(--ps-blue);cursor:pointer;font-weight:600}
.cmt-replies{margin-top:10px;padding-left:14px;border-left:2px solid var(--ps-line);display:flex;flex-direction:column;gap:10px}
.cmt-reply-item{display:flex;gap:8px}
.cmt-empty{color:var(--ps-mut);font-style:italic}
.comment-form-wrap{margin-top:24px;padding-top:20px;border-top:1px solid var(--ps-line)}
.comment-form-title{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:4px}
.comment-note{font-size:.85rem;color:var(--ps-mut);margin-bottom:12px}
.comment-form{display:flex;flex-direction:column;gap:12px}
.comment-field{display:flex;flex-direction:column;gap:4px}
.comment-field label{font-size:.88rem;font-weight:600}
.comment-field input,.comment-field textarea{
  border:1.5px solid var(--ps-line);border-radius:10px;padding:10px 13px;
  background:var(--ps-paper);color:var(--ps-ink);font-size:.95rem;
  transition:border-color .15s;
}
.comment-field input:focus,.comment-field textarea:focus{border-color:var(--ps-blue);outline:none}
.comment-field textarea{resize:vertical;min-height:100px}
.char-counter{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--ps-mut);font-weight:400;float:right}
.req{color:var(--ps-red)}
.email-hint{color:var(--ps-mut);font-weight:400;font-size:.82rem}
.comment-check{flex-direction:row;align-items:center;gap:8px}
.nc-check{width:16px;height:16px;accent-color:var(--ps-blue);flex-shrink:0}
.cmt-notify-label{font-size:.88rem;font-weight:400}
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none}

/* -- Consent banner --------------------------------------------------------- */
.ps-consent-banner{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;
  background:var(--ps-paper);border-top:2px solid var(--ps-line);
  padding:16px 22px;box-shadow:0 -4px 20px rgba(20,27,45,.12);
}
.ps-consent-banner.ps-show{display:block}
.ps-consent-inner{max-width:var(--ps-col);margin:0 auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ps-consent-text{font-size:.9rem;color:var(--ps-ink);flex:1;min-width:200px}
.ps-consent-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
.ps-btn-accept{background:var(--ps-blue);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:.9rem}
.ps-btn-necessary{background:#253048;color:#C2C9D8;border:1px solid #2B3550;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;font-size:.9rem}
.ps-btn-customize{background:transparent;color:var(--ps-blue);border:1px solid #5B82F0;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;font-size:.9rem}
.ps-consent-panel{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;
  background:var(--ps-panel);border-top:2px solid var(--ps-line);
  padding:24px 22px;box-shadow:0 -6px 24px rgba(20,27,45,.18);max-height:80vh;overflow-y:auto;
}
.ps-consent-panel.ps-show{display:block}
.ps-panel-inner{max-width:540px;margin:0 auto}
.ps-panel-inner h3{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.1rem;margin-bottom:16px}
.ps-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--ps-line)}
.ps-toggle-label{font-weight:700;font-size:.92rem}
.ps-toggle-sub{font-size:.82rem;color:var(--ps-mut)}
.ps-always-on{font-family:'DM Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ps-mut)}
.ps-toggle-switch{display:inline-flex;position:relative;width:40px;height:22px;flex-shrink:0}
.ps-toggle-switch input{opacity:0;width:0;height:0}
.ps-slider{
  position:absolute;inset:0;background:#DCD8CD;border-radius:11px;cursor:pointer;transition:background .2s;
}
.ps-toggle-switch input:checked + .ps-slider{background:var(--ps-blue)}
.ps-slider::before{
  content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;
  background:#fff;border-radius:50%;transition:transform .2s;
}
.ps-toggle-switch input:checked + .ps-slider::before{transform:translateX(18px)}
.ps-panel-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}

/* -- Stats strip ------------------------------------------------------------ */
.stats-strip{display:flex;gap:20px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--ps-line);margin-bottom:20px}
.stats-strip-item{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--ps-mut)}
.stats-strip-item b{color:var(--ps-ink);font-weight:700}

/* -- 404 / empty state ------------------------------------------------------ */
.empty-state{text-align:center;padding:48px 22px}
.empty-state h1{font-size:3rem;color:var(--ps-mut)}
.empty-state p{color:var(--ps-mut);max-width:40ch;margin:12px auto}
.link-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;max-width:600px;margin:24px auto 0}
.link-card{
  background:var(--ps-panel);border:1px solid var(--ps-line);
  border-radius:12px;padding:16px;text-align:center;
  text-decoration:none;color:var(--ps-ink);transition:transform .15s,border-color .15s;
}
.link-card:hover{transform:translateY(-3px);border-color:var(--ps-blue);color:var(--ps-ink);text-decoration:none}
.link-card-label{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.98rem}
.link-card-sub{font-size:.82rem;color:var(--ps-mut);margin-top:4px}


/* A5: Consent panel default hidden */
#ps-consent-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9000;background:#1a2235;border-top:2px solid #1B45C8;padding:16px 20px}
#ps-consent-panel{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9001;background:#1a2235;border:2px solid #1B45C8;border-radius:12px;padding:24px;max-width:480px;width:90%}
#ps-consent-overlay{display:none;position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.5)}
.ps-show{display:block!important}
.ps-consent-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}


/* A7: Utility classes replacing inline styles */
.gc-card{text-decoration:none;color:inherit}
.gc-desc{font-size:.9rem;color:var(--ps-mut);margin-top:6px}
.gc-cta{margin-top:10px}
.footer-brand .logo-text{color:#F4F2EC}
.footer-desc{margin-top:10px}
.footer-brand{}
.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px}
.alert--ok{background:#1a3d1a;color:#90d090;border:1px solid #3a7d3a}
.alert--err{background:#3d1a1a;color:#d09090;border:1px solid #7d3a3a}
.hp-wrap{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.comment-form{margin-top:24px}
.form-row{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.form-row--check{flex-direction:row;align-items:center}
.form-row label{font-size:.9rem;font-weight:500;color:var(--ps-mut)}
.form-row input,.form-row textarea{background:var(--ps-ink-2);border:1px solid var(--ps-border);border-radius:6px;padding:10px 12px;color:var(--ps-ink);font-family:inherit;font-size:.95rem}
.form-row textarea{resize:vertical;min-height:100px}
.char-counter{font-size:.75rem;color:var(--ps-mut);text-align:right}
.comment{padding:14px 0;border-bottom:1px solid var(--ps-border)}
.comment-meta{font-size:.85rem;color:var(--ps-mut);margin-bottom:6px}
.comment-meta strong{color:var(--ps-ink)}
.comment-replies{margin-left:24px;border-left:2px solid var(--ps-border);padding-left:16px}
.comment--reply{border-bottom:none}
.comments-empty{color:var(--ps-mut);font-style:italic}
.btn-reply-toggle{background:none;border:none;color:var(--ps-blue);cursor:pointer;font-size:.85rem;padding:4px 0;margin-top:4px}
.btn-primary{background:var(--ps-blue);color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:600;cursor:pointer}
.btn-primary:hover{opacity:.9}
/* A10: Mosaic */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:24px 0;role:img}
.mosaic-tile{aspect-ratio:1;border-radius:10px;display:grid;place-items:center;font-family:"Archivo",sans-serif;font-weight:900;font-size:1.3rem;color:#fff}
.mt-word{background:var(--ps-red)}
.mt-clue{background:var(--ps-blue)}
.mt-grid{background:#0F2A6B}
.mt-daily{background:#EE5A47;color:#141B2D}
.mt-dim{background:var(--ps-blue);opacity:.2}
/* Pick grid (Addendum A-2) */
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:16px;margin:22px 0 8px}
@media(max-width:560px){.pick-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}}
.pick-card{display:block;text-decoration:none;color:inherit;text-align:center}
.pick-card:hover .pick-mono{transform:scale(1.05);box-shadow:0 6px 18px rgba(20,27,45,.22)}
.pick-card:hover .pick-name{color:var(--ps-blue)}
.pick-mono{aspect-ratio:1;border-radius:15px;display:grid;place-items:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-.02em;color:#FFFFFF;transition:transform .15s,box-shadow .15s}
.pick-name{display:block;font-family:"Karla",sans-serif;font-weight:500;font-size:.83rem;line-height:1.3;margin-top:9px;color:var(--ps-ink)}
.pick-count{display:block;font-family:"DM Mono",monospace;font-size:.66rem;color:var(--ps-mut);margin-top:2px}
.pm-word{background:#D6202E}
.pm-clue{background:#3E63C9}
.pm-grid{background:#0F2A6B}
.pm-daily{background:#EE5A47;color:#141B2D}
[data-theme=dark] .pm-word{background:#F0505C;color:#141B2D}
[data-theme=dark] .pm-clue{background:#5B82F0;color:#141B2D}
[data-theme=dark] .pm-grid{background:#7A9AEE;color:#141B2D}
[data-theme=dark] .pm-daily{background:#FF7A66;color:#141B2D}
/* Rail 6-card */
.gc-rail--six{grid-template-columns:repeat(3,1fr)}
@media(max-width:920px){.gc-rail--six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gc-rail--six{grid-template-columns:1fr}}
/* Game hero */
.game-hero{padding:48px 0 32px}
.subnav-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.subnav-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.82rem;text-decoration:none;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.subnav-chip:hover{background:rgba(255,255,255,.18)}
.subnav-chip.on{background:var(--ps-blue);border-color:var(--ps-blue)}
/* Guide styles */
.guide-toc{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.guide-toc a{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:.82rem;text-decoration:none;background:var(--ps-ink-2);color:var(--ps-ink);border:1px solid var(--ps-border)}
.guide-toc a:hover{border-color:var(--ps-blue);color:var(--ps-blue)}
.technique-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ps-blue);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0;margin-right:10px}
.technique{display:flex;align-items:flex-start;margin-bottom:20px}
/* Game logo tiles */
.pick-logo-wrap{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--ps-card);box-shadow:0 2px 8px rgba(20,27,45,.12);transition:transform .15s,box-shadow .15s}
.pick-card:hover .pick-logo-wrap{transform:scale(1.05);box-shadow:0 6px 18px rgba(20,27,45,.22)}
.pick-logo{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.pick-logo-wrap .pick-mono{position:absolute;inset:0;border-radius:16px;display:none;place-items:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:1.45rem;color:#fff}

/* == V4 Homepage CSS ======================================================== */

/* D spacing law overrides */

/* Game Wall */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:16px 12px}
@media(max-width:560px){.wall{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px 10px}}
.g-icon{width:88px;height:88px;margin:0 auto;border-radius:20px;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 3px 10px rgba(20,27,45,.18);transition:transform .16s,box-shadow .16s}
.g-card:hover .g-icon{transform:translateY(-4px) scale(1.04);box-shadow:0 10px 22px rgba(20,27,45,.28)}
.g-card:hover .g-name{color:var(--ps-blue)}
.g-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.26),rgba(255,255,255,0) 52%);pointer-events:none}
.g-tag{position:absolute;left:50%;transform:translateX(-50%);bottom:-5px;width:26px;height:5px;border-radius:3px;z-index:2}
.g-name{font-family:"Karla",sans-serif;font-weight:700;font-size:.83rem;line-height:1.3;margin-top:10px;color:var(--ps-ink)}
.g-count{font-family:"DM Mono",monospace;font-size:.66rem;color:var(--ps-mut);margin-top:1px}
.g-mono{font-family:"Archivo",sans-serif;font-weight:900;font-size:1.5rem;color:#fff;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.g-mono-fb{display:none}
.g-logo-img{width:100%;height:100%;object-fit:cover;border-radius:20px;position:relative;z-index:1}
.g-card{display:block;text-decoration:none;color:inherit;text-align:center}
.g-hidden{display:none}

/* Category backgrounds */
.cat-bg-word{background:#D6202E}
.cat-bg-clue{background:#3E63C9}
.cat-bg-grid{background:#0F2A6B}
.cat-bg-daily{background:#EE5A47;color:#141B2D}
.cat-tag-word{background:#D6202E}
.cat-tag-clue{background:#3E63C9}
.cat-tag-grid{background:#0F2A6B}
.cat-tag-daily{background:#EE5A47}

/* Wall controls */
.wall-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.wall-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1.5px solid var(--ps-line);background:var(--ps-panel);border-radius:var(--ps-r-chip);padding:7px 17px;font-family:"Karla",sans-serif;font-weight:500;font-size:.88rem;cursor:pointer;transition:all .15s}
.chip:hover{border-color:var(--ps-blue)}
.chip--active{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff;font-weight:700}
.chip--word:hover,.chip--word.chip--active{background:#D6202E;border-color:#D6202E;color:#fff}
.chip--clue:hover,.chip--clue.chip--active{background:#3E63C9;border-color:#3E63C9;color:#fff}
.chip--grid:hover,.chip--grid.chip--active{background:#0F2A6B;border-color:#0F2A6B;color:#fff}
.chip--daily:hover,.chip--daily.chip--active{background:#EE5A47;border-color:#EE5A47;color:#fff}
.wall-empty{text-align:center;color:var(--ps-mut);padding:40px 0;font-style:italic}

/* A-Z rail */
.az-rail{display:flex;gap:4px;flex-wrap:wrap}
.az-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-family:"DM Mono",monospace;font-size:.78rem;font-weight:700;color:var(--ps-blue);text-decoration:none;background:var(--ps-panel);border:1px solid var(--ps-line);transition:background .15s}
.az-link:hover{background:var(--ps-blue);color:#fff;text-decoration:none}

/* Daily strip */
.daily-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.today-card--live{border-left-color:#22c55e}
.today-card--live .tc-date{color:#22c55e}

/* Finder */
.finder-wrap{position:relative;max-width:480px;margin:0 auto}
.finder-input{width:100%;border:2px solid var(--ps-line);border-radius:12px;padding:14px 18px;font-size:1rem;background:var(--ps-panel);color:var(--ps-ink);transition:border-color .15s}
.finder-input:focus{border-color:var(--ps-blue);outline:none}
.finder-results{position:absolute;top:100%;left:0;right:0;background:var(--ps-panel);border:1px solid var(--ps-line);border-radius:0 0 12px 12px;box-shadow:var(--ps-shadow);z-index:20;max-height:320px;overflow-y:auto}
.finder-hit{display:flex;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;color:var(--ps-ink);font-size:.92rem;transition:background .1s}
.finder-hit:hover{background:rgba(27,69,200,.08)}
.finder-empty{padding:14px 16px;color:var(--ps-mut);font-style:italic;font-size:.9rem}
.finder-cat{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cat-dot-word{background:#D6202E}
.cat-dot-clue{background:#3E63C9}
.cat-dot-grid{background:#0F2A6B}
.cat-dot-daily{background:#EE5A47}

/* Fresh-deep grid */
.fresh-deep-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:760px){.fresh-deep-grid{grid-template-columns:1fr}}
.fd-label{font-family:"Archivo",sans-serif;font-weight:800;font-size:1rem;margin-bottom:12px;color:var(--ps-ink)}
.fd-card{margin-bottom:12px}

/* Type demo cards */
.type-card{text-align:center}
.type-demo{display:flex;gap:4px;justify-content:center;padding:12px 0 8px}
.type-demo--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;max-width:80px;margin:8px auto}
.td-cell{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-family:"Archivo",sans-serif;font-weight:800;font-size:.85rem;color:#fff;background:var(--ps-blue)}
.td-dark{background:var(--ps-navy)}
.type-demo--word .td-cell{background:#D6202E}
.type-demo--clue .td-cell{background:#3E63C9}
.td-block{width:24px;height:24px;border-radius:4px;background:var(--ps-line)}
.td-filled{background:#0F2A6B}
[data-theme=dark] .td-filled{background:#5B82F0}
.td-cal{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:#EE5A47;color:#141B2D;font-family:"Archivo",sans-serif;font-weight:900;font-size:1.4rem;margin:4px auto}

/* Trust strip */
.trust-strip{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--ps-line)}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ps-mut)}
.trust-icon{color:#22c55e;font-weight:700;font-size:1.1rem}

/* Coverage */
/* PS-DENSITY-MASTER-5: deleted M1 coverage rules */
.coverage-bar-wrap{background:var(--ps-line);border-radius:6px;height:12px;overflow:hidden}
.coverage-bar{height:100%;position:relative}
.coverage-fill{display:block;height:100%;border-radius:6px;background:var(--ps-blue);transition:width .6s ease}
/* PS-DENSITY-MASTER-5: deleted old cat-fill rules */
.coverage-pct{font-family:"DM Mono",monospace;font-size:.82rem;font-weight:700;color:var(--ps-ink);text-align:right}
/* PS-DENSITY-MASTER-5: deleted coverage-card--total */

/* Developer grid */
.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.dev-name{font-family:"Archivo",sans-serif;font-weight:800;font-size:.98rem;margin-bottom:8px}
.dev-list{list-style:none;padding:0}
.dev-list li{margin-bottom:4px}
.dev-list a{font-size:.88rem;color:var(--ps-blue);text-decoration:none}
.dev-list a:hover{text-decoration:underline}

/* Locale cards */
.locale-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}
.locale-tag{display:inline-block;font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.06em;padding:3px 8px;border-radius:var(--ps-r-chip);background:rgba(27,69,200,.1);color:var(--ps-blue);font-weight:600}
.locale-tag--more{background:var(--ps-blue);color:#fff}

/* Guide rail */
@media(max-width:920px){.gc-rail--three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gc-rail--three{grid-template-columns:1fr}}

/* Glossary */
.glossary-list{display:flex;flex-direction:column;gap:14px}
.glossary-item{padding-bottom:12px;border-bottom:1px solid var(--ps-line)}
.glossary-item:last-child{border-bottom:none;padding-bottom:0}
.glossary-item dt{font-family:"Archivo",sans-serif;font-weight:700;font-size:.95rem;margin-bottom:4px;color:var(--ps-ink)}
.glossary-item dd{font-size:.9rem;color:var(--ps-mut);margin:0}

/* Newsletter */
.newsletter-card{text-align:center}
.nl-form{max-width:420px;margin:0 auto}
.nl-row{display:flex;gap:8px}
.nl-input{flex:1;border:2px solid var(--ps-line);border-radius:12px;padding:12px 16px;font-size:.95rem;background:var(--ps-paper);color:var(--ps-ink)}
.nl-input:focus{border-color:var(--ps-blue);outline:none}
.nl-btn{white-space:nowrap}
.nl-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.nl-msg{margin-top:10px;font-size:.88rem;color:var(--ps-mut)}

/* Hero centered variant */
.hero-inner--centered{grid-template-columns:1fr;text-align:center;max-width:760px}
.hero-inner--centered .hero-sub{margin:0 auto 26px}
.hero-inner--centered .hero-search{margin:0 auto;justify-content:center}
.hero-inner--centered .ticker-line{justify-content:center}

/* Visually hidden (a11y) */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* ===== PS-HOMEPOLISH-MASTER-1 | 2026-07-24 ===== */

/* PS-HOMEPOLISH-MASTER-1 Phase 1+2 container and fd-grid */
.ps-container { max-width: var(--ps-col); margin: 0 auto; padding: 40px 22px; }
.fd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.fd-col-head { font-family: "Archivo", sans-serif; font-weight: 800; font-size: 1rem; margin-bottom: 14px; color: var(--ps-ink); padding-bottom: 8px; border-bottom: 2px solid var(--ps-line); }
.fd-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--ps-line); text-decoration: none; color: var(--ps-ink); transition: color .12s; }
.fd-row:last-child { border-bottom: none; }
.fd-row:hover { color: var(--ps-blue); text-decoration: none; }
.fd-icon { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; object-fit: cover; }
.fd-mono { display: inline-flex; align-items: center; justify-content: center; font-family: "Archivo", sans-serif; font-weight: 900; font-size: .75rem; color: #fff; }
.fd-name { flex: 1; font-size: .9rem; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fd-val { font-family: "DM Mono", monospace; font-size: .75rem; color: var(--ps-mut); flex-shrink: 0; }

/* PS-HOMEPOLISH-MASTER-1 Phase 2 band treatments */
.band-wash { background: var(--ps-panel); }
.band-wash.section-gap { }
.band-wash > .wrap { }
.band-ink { background: var(--ps-ink); color: var(--ps-paper); }
.band-ink.section-gap { }
.band-ink > .wrap { }
.band-ink h2, .band-ink h3, .band-ink p { color: inherit; }
.band-ink a { color: var(--ps-coral); }
.band-ink a:hover { color: #fff; }
.band-ink .fact-num { color: var(--ps-coral); }
.band-ink .fact-label { color: rgba(233,236,243,.7); }
.band-ink .registry-date { color: rgba(233,236,243,.5); }
.band-ink .sec-sub { color: rgba(233,236,243,.75); }
.sec-bar { position: relative; display: inline-block; margin-bottom: 24px; }
.sec-bar::after { content: ''; display: block; height: 3px; width: 100%; margin-top: 6px; background: linear-gradient(90deg, var(--ps-red) 0%, var(--ps-blue) 100%); border-radius: 2px; }

/* PS-HOMEPOLISH-MASTER-1 Phase 3A dev mini-rows */
.dev-games { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }
.dev-game-row { display: flex; align-items: center; gap: 8px; padding: 6px 4px; border-radius: 6px; text-decoration: none; color: var(--ps-ink); font-size: .84rem; transition: background .1s; }
.dev-game-row:hover { background: rgba(27,69,200,.07); color: var(--ps-blue); text-decoration: none; }
.dev-game-icon { width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; object-fit: cover; }
.dev-game-mono { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; font-family: "Archivo", sans-serif; font-weight: 900; font-size: .6rem; color: #fff; flex-shrink: 0; }
.dev-game-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dev-game-badge { font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; padding: 2px 6px; border-radius: var(--ps-r-chip); color: #fff; font-weight: 700; flex-shrink: 0; }

/* PS-HOMEPOLISH-MASTER-1 Phase 3B glossary grid */
.gloss-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.gloss-border-word { border-left-color: #D6202E; }
.gloss-border-clue { border-left-color: #3E63C9; }
.gloss-border-grid { border-left-color: #0F2A6B; }
.gloss-border-daily { border-left-color: #EE5A47; }
.gloss-term { font-weight: 700; margin-bottom: 4px; display: block; font-family: "Archivo", sans-serif; }
.gloss-def { color: var(--ps-mut); font-size: .875rem; margin: 0; }

/* PS-HOMEPOLISH-MASTER-1 Phase 3C howto steps */
.howto-steps { list-style: none; padding: 0; margin: 0; position: relative; }
.howto-steps::before { content: ''; position: absolute; left: 19px; top: 0; bottom: 0; width: 2px; background: var(--ps-line); z-index: 0; }
.howto-step { display: flex; gap: 16px; position: relative; margin-bottom: 24px; }
.howto-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--ps-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; position: relative; z-index: 1; }
.howto-body { padding-top: 8px; }
.howto-title { display: block; font-weight: 700; margin-bottom: 4px; font-family: "Archivo", sans-serif; }
.howto-desc { color: var(--ps-mut); margin: 0; }

/* PS-HOMEPOLISH-MASTER-1 Phase 4A qf box */
.qf-box { box-shadow: 6px 6px 0 var(--ps-red); border: 2px solid var(--ps-ink); border-radius: var(--ps-r-card); padding: 24px; background: var(--ps-panel); }

/* PS-HOMEPOLISH-MASTER-1 Phase 4B coverage bars */
/* PS-DENSITY-MASTER-5: deleted MASTER-2 cov-track/fill rules */

/* PS-HOMEPOLISH-MASTER-1 Phase 4C today icons */
.tc-icon { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; object-fit: cover; display: block; margin: 0 auto 4px; }
.tc-mono { display: inline-flex; align-items: center; justify-content: center; font-family: "Archivo", sans-serif; font-weight: 900; font-size: .7rem; color: #fff; }

/* PS-HOMEPOLISH-MASTER-1 Phase 5 zen-word */
.g-card[href*="zen-word"] { text-decoration: none; }
.g-card[href*="zen-word"] .g-name { color: inherit; }

/* PS-HOMEPOLISH-MASTER-1 Phase 7 mobile 390px */
@media (max-width: 480px) {
  .fd-grid { grid-template-columns: 1fr; }
  .gloss-grid { grid-template-columns: 1fr; }
  .qf-box { box-shadow: 3px 3px 0 var(--ps-red); padding: 16px; }
  .howto-steps::before { left: 15px; }
  .howto-num { width: 32px; height: 32px; font-size: .95rem; }
  .band-ink > .wrap { }
  .fd-name { font-size: .82rem; }
  .fd-val { font-size: .7rem; }
  .fd-col-head { font-size: .9rem; }
}

/* ===== END PS-HOMEPOLISH-MASTER-1 ===== */


/* ===== PS-HOMEPOLISH-MASTER-2 | 2026-07-24 ===== */

/* -- Token additions and aliases ------------------------------------------- */
:root {
  --ps-ink-2: #16264E;
  --ps-card: #FFFFFF;
  --ps-line-2: #EEECE5;
  --ps-red-soft: #FDEBEA;
  --ps-blue-soft: #EAEEFB;
  --ps-wash: #EEF1F8;
  --ps-body: #2A3147;
  --ps-muted: #5A6172;
  --ps-green: #1F9D61;
  --ps-amber: #E8912B;
  --ps-r-lg: 18px;
  --ps-r-md: 14px;
  --ps-r-sm: 10px;
  --ps-r-pill: 999px;
  --ps-sh-1: 0 2px 12px rgba(14,27,58,0.06);
  --ps-sh-2: 0 6px 18px rgba(14,27,58,0.10);
  --ps-sh-3: 0 12px 32px rgba(14,27,58,0.14);
}

/* -- 0a Dot grid body background ------------------------------------------- */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: radial-gradient(rgba(14,27,58,0.05) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}

/* -- 0b Band treatments ------------------------------------------------------ */
.band-wash {
  background: var(--ps-wash);
  border-top: 1px solid var(--ps-line);
  border-bottom: 1px solid var(--ps-line);
}
.band-wash > .wrap { }
.band-ink {
  background: var(--ps-ink);
  color: #FFF;
}
.band-ink > .wrap { }
.band-ink h2, .band-ink h3, .band-ink p { color: inherit; }

/* Paper sections padding */
.section-gap:not(.band-wash):not(.band-ink) { }
@media (max-width: 640px) {
  .band-wash { }
  .band-ink { }
  .section-gap:not(.band-wash):not(.band-ink) { }
}

/* -- 0c Section header kit -------------------------------------------------- */
.sec-head { text-align: center; }
.sec-kicker {
  display: block;
  font: 700 0.68rem "DM Mono", monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ps-red);
}
.band-ink .sec-kicker { color: #FF8A87; }
.sec-title {
  font-family: "Archivo", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 3.2vw, 2.1rem);
  color: var(--ps-ink);
}
.band-ink .sec-title { color: #FFF; }
.sec-bar-line {
  display: block;
  width: 44px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--ps-red), var(--ps-blue));
}
.sec-lede {
  max-width: 560px;
  text-align: center;
  color: var(--ps-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}
.band-ink .sec-lede { color: rgba(255,255,255,0.66); }

/* -- 0d Scroll-reveal ------------------------------------------------------- */
html:not(.js) .rv { opacity: 1; transform: none; }
.rv { opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s ease; }
.rv-in { opacity: 1; transform: none; }

/* -- 0e Back-to-top button -------------------------------------------------- */
.btt-btn {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ps-ink);
  color: #FFF;
  font: 800 1rem "DM Mono", monospace;
  border: none;
  cursor: pointer;
  box-shadow: var(--ps-sh-2);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999;
  transition: background .15s ease;
}
.btt-btn:hover { background: var(--ps-blue); }
.btt-btn:focus-visible { outline: 3px solid var(--ps-blue); outline-offset: 2px; }
.btt-btn.visible { display: flex; }

/* -- 1a Topbar scroll effect ------------------------------------------------ */
.topbar.scrolled {
  box-shadow: 0 2px 14px rgba(0,0,0,0.28) !important;
  background: rgba(14,27,58,0.97) !important;
  backdrop-filter: saturate(1.2) blur(6px);
}
.topnav a:not(.active):hover {
  color: #FFF;
  text-decoration: underline;
  text-decoration-color: var(--ps-red);
  text-underline-offset: 6px;
}
.topnav a:focus-visible {
  outline: 2px solid #FFF;
  outline-offset: 3px;
}

/* -- 1b Hero SVG underline -------------------------------------------------- */
.hero-solved { position: relative; color: var(--ps-red); display: inline-block; }
.hero-wave { position: absolute; bottom: -6px; left: 0; width: 100%; height: auto; pointer-events: none; }

/* -- 1c Hero search styling ------------------------------------------------- */
.hero-search input[type="search"] {
  height: 54px;
  border-radius: 12px 0 0 12px;
  border: 2px solid transparent;
  padding: 0 16px;
  font-size: 1rem;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.hero-search input[type="search"]:focus {
  border-color: var(--ps-blue);
  box-shadow: 0 0 0 4px rgba(39,73,214,0.25);
}
.hero-search .btn-primary {
  height: 54px;
  border-radius: 0 12px 12px 0;
  padding: 0 20px;
  transition: filter .15s ease, transform .15s ease;
}
.hero-search .btn-primary:hover { filter: brightness(1.12); }
.hero-search .btn-primary:active { transform: translateY(1px); }

/* -- 1d Hero verified chips ------------------------------------------------- */
.hero-chips { display: flex; gap: 8px; justify-content: center; margin-top: 12px; flex-wrap: wrap; }
.hero-chip {
  font: 700 0.62rem "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: var(--ps-r-pill);
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.85);
  display: inline-flex;
  align-items: center;
}

/* -- 1e Hero decorative tiles ----------------------------------------------- */
.hero { position: relative; overflow: hidden; }
.hero-deco {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 22px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 800 64px "DM Mono", monospace;
  color: rgba(255,255,255,0.06);
  pointer-events: none;
}
.hero-deco-l { left: -40px; top: 30%; transform: rotate(-8deg); }
.hero-deco-r { right: -30px; top: 55%; transform: rotate(6deg); }
@media (max-width: 900px) { .hero-deco { display: none; } }

/* -- 2 Stat strip ----------------------------------------------------------- */
  margin-top: -34px;
  position: relative;
  z-index: 2;
  padding: 0 0 20px;
}
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: var(--ps-col);
  margin: 0 auto;
  padding: 0 22px;
}
  background: #FFF;
  border-radius: var(--ps-r-lg);
  border: 1px solid var(--ps-line);
  box-shadow: var(--ps-sh-2);
  padding: 18px 22px;
  position: relative;
  overflow: hidden;
}
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: var(--ps-r-lg) var(--ps-r-lg) 0 0;
}
  font: 800 1.65rem "DM Mono", monospace;
  color: var(--ps-ink);
  font-variant-numeric: tabular-nums;
  display: block;
}
  font: 700 0.62rem "Karla", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ps-muted);
  margin-top: 4px;
  display: block;
}

/* -- 3c Game tiles ---------------------------------------------------------- */
.g-card {
  border-radius: 16px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.g-card:focus-visible { outline: 3px solid var(--ps-blue); outline-offset: 2px; }

/* -- 4 Solved Today --------------------------------------------------------- */
.today-card {
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform .15s ease, box-shadow .15s ease;
  text-decoration: none;
  color: inherit;
}
.today-card--live { border-top-color: var(--ps-red); }
.tc-date { font: 700 0.7rem "DM Mono", monospace; color: var(--ps-muted); margin-bottom: 2px; }
.today-card--live .tc-date { color: var(--ps-red); }
.tc-game { font: 800 0.88rem "Archivo", sans-serif; color: var(--ps-ink); }
.tc-teaser { font: 400 0.7rem "DM Mono", monospace; color: var(--ps-muted); margin-top: 2px; }
.tc-chevron { font: 700 1rem "DM Mono", monospace; color: var(--ps-muted); transition: transform .15s ease; margin-left: auto; flex-shrink: 0; }
.today-card:hover .tc-chevron { transform: translateX(3px); }
.daily-all-link { text-align: right; margin-top: 12px; font: 700 0.8rem "Karla", sans-serif; }
.daily-all-link a { color: var(--ps-blue); text-decoration: none; }
.daily-all-link a:hover { text-decoration: underline; }
@media (max-width: 900px) { .daily-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .daily-strip { grid-template-columns: 1fr; } }

/* -- 5 Quick Finder --------------------------------------------------------- */
.qf-label {
  font: 700 0.68rem "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ps-muted);
  margin-bottom: 8px;
  display: block;
}

/* -- 6 Fresh-deep ----------------------------------------------------------- */
.fd-chip {
  font: 700 0.6rem "DM Mono", monospace;
  padding: 2px 7px;
  border-radius: var(--ps-r-pill);
  background: var(--ps-blue-soft);
  color: var(--ps-blue);
}
.fd-chip-today {
  background: var(--ps-red-soft);
  color: var(--ps-red);
}
.fd-col {
  background: #FFF;
  border-radius: var(--ps-r-lg);
  border-top: 4px solid var(--ps-blue);
  padding: 20px;
  box-shadow: var(--ps-sh-1);
}
.fd-col:last-child { border-top-color: var(--ps-red); }

/* -- 7 Category cards ------------------------------------------------------- */
.gc-card {
  background: #FFF;
  transition: transform .15s ease, box-shadow .15s ease;
}
.gc-card:focus-visible { outline: 3px solid var(--ps-blue); outline-offset: 2px; }
.gc-rail .gc-card { border-top: 4px solid var(--ps-blue); }
.gc-rail .gc-card[data-cat="word"] { border-top-color: var(--ps-blue); }
.gc-rail .gc-card[data-cat="clue"] { border-top-color: var(--ps-amber); }
.gc-rail .gc-card[data-cat="grid"] { border-top-color: var(--ps-ink); }
.gc-rail .gc-card[data-cat="daily"] { border-top-color: var(--ps-red); }

/* -- 8 What is PS ----------------------------------------------------------- */
.fact-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; justify-content: center; }
.fact-chip {
  border: 1px solid var(--ps-green);
  color: var(--ps-green);
  background: #F0FAF5;
  font: 700 0.68rem "DM Mono", monospace;
  padding: 6px 12px;
  border-radius: var(--ps-r-pill);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.fact-chip::before { content: "\2713"; }

/* -- 9 Coverage ------------------------------------------------------------ */
/* PS-DENSITY-MASTER-5: deleted M3 cov micro rules */

/* -- 10a Developer cards ---------------------------------------------------- */
.dev-avatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 1rem "DM Mono", monospace;
  color: #FFF;
  flex-shrink: 0;
  margin-bottom: 8px;
}
.dev-card { transition: transform .15s ease, box-shadow .15s ease; }
.dev-card:hover { transform: translateY(-3px); box-shadow: var(--ps-sh-2); }

/* -- 11a Glossary alternating borders --------------------------------------- */
.gloss-item:nth-child(4n+1) { border-left-color: var(--ps-red); }
.gloss-item:nth-child(4n+2) { border-left-color: var(--ps-blue); }
.gloss-item:nth-child(4n+3) { border-left-color: var(--ps-amber); }
.gloss-item:nth-child(4n+4) { border-left-color: var(--ps-green); }

/* -- 11b How-to kbd chips --------------------------------------------------- */
.kbd {
  font: 700 0.7rem "DM Mono", monospace;
  border: 1px solid var(--ps-line);
  border-bottom-width: 2px;
  border-radius: 6px;
  padding: 2px 7px;
  background: #FFF;
  color: var(--ps-body);
  display: inline-block;
}

/* -- 11c By the Numbers oversized index ------------------------------------- */
.fact-cell { position: relative; overflow: hidden; }
.fact-cell-index {
  position: absolute;
  top: -6px;
  right: 8px;
  font: 800 4rem "DM Mono", monospace;
  color: rgba(255,255,255,0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.numbers-registry {
  font: 400 0.7rem "DM Mono", monospace;
  color: rgba(255,255,255,0.5);
  text-align: center;
  margin-top: 24px;
}

/* -- 11d FAQ ---------------------------------------------------------------- */
.faq-list { max-width: none; margin: 0; display: flex; flex-direction: column; gap: 10px; } /* PS-ONEWIDTH */
.faq-item {
  background: #FFF;
  border: 1px solid var(--ps-line);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.faq-item[open] { border-color: var(--ps-blue); box-shadow: var(--ps-sh-1); }
.faq-item summary {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  font: 700 0.95rem "Karla", sans-serif;
  color: var(--ps-ink);
  cursor: pointer;
  list-style: none;
  gap: 12px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  font: 800 1.2rem "DM Mono", monospace;
  color: var(--ps-muted);
  flex-shrink: 0;
  transition: transform .15s ease;
}
.faq-item[open] summary::after { transform: rotate(45deg); color: var(--ps-blue); }
.faq-body {
  padding: 0 20px 18px;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ps-muted);
}

/* -- 11e Comments ----------------------------------------------------------- */
.form-row input:focus,
.form-row textarea:focus {
  border-color: var(--ps-blue);
  box-shadow: 0 0 0 4px rgba(39,73,214,0.15);
  outline: none;
}

/* -- 12 Footer -------------------------------------------------------------- */
.footer-col-head {
  font: 700 0.66rem "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.55);
  margin-bottom: 14px;
  position: relative;
  padding-top: 12px;
}
.footer-col-head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 3px;
  background: var(--ps-red);
  border-radius: 2px;
}
.footer-totop { font: 700 0.8rem "DM Mono", monospace; color: rgba(255,255,255,0.6); text-decoration: none; }
.footer-totop:hover { color: #FFF; }

/* -- Accessibility guards --------------------------------------------------- */
html:not(.js) .rv { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .rv, .rv-in { opacity: 1 !important; transform: none !important; transition: none !important; }
  .g-card, .today-card, .dev-card, .gc-card, .faq-item, .fd-row { transition: none !important; }
  .hero-deco { display: none !important; }
  body::before { display: none; }
}

/* ===== END PS-HOMEPOLISH-MASTER-2 ===== */


/* ===== PS-HOMEFIX-MASTER-3 | 2026-07-24 ===== */

/* PS-HOMEFIX-MASTER-3 Phase 1 - stat strip fix */
  margin: -34px auto 0;
  padding: 0 20px;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
  position: static !important;
}
@media (max-width: 760px) {
    grid-template-columns: repeat(2, 1fr);
    margin-top: -24px;
  }
}
  background: #FFF;
  border-radius: 18px;
  border: 1px solid var(--ps-line);
  box-shadow: 0 6px 18px rgba(14,27,58,0.10);
  padding: 16px 20px;
  position: static !important;
  overflow: hidden;
}
  content: '';
  display: block;
  height: 4px;
  margin: -16px -20px 12px;
  border-radius: 18px 18px 0 0;
}
  font: 800 1.55rem var(--ps-mono, monospace);
  color: var(--ps-ink);
  font-variant-numeric: tabular-nums;
  display: block;
}
  font: 700 0.6rem var(--ps-text, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ps-muted, #5A6172);
  margin-top: 4px;
  display: block;
}

/* PS-HOMEFIX-MASTER-3 Phase 2 - quick finder label */
.qf-label {
  display: block;
  font: 700 0.66rem var(--ps-mono, monospace);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ps-muted, #5A6172);
  margin: 0 0 10px;
  text-align: left;
  border: 0 !important;
  background: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* PS-HOMEFIX-MASTER-3 Phase 3 - class-leak fix */
.cat-card a,
.gc-card a,
.dev-card a,
.guide-card a,
.g-card a {
  text-decoration: none;
  color: inherit;
}
/* Editorial inline links are opt-in only */
.link-inline {
  color: var(--ps-blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* PS-HOMEFIX-MASTER-3 Phase 4 - numbers band fix */
.band-ink .fact-cell,
.band-ink .numbers-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.band-ink .fact-num {
  font: 800 2.1rem var(--ps-mono, monospace);
  color: #FFFFFF !important;
  font-variant-numeric: tabular-nums;
}
.num-accent {
  display: block;
  width: 36px;
  height: 3px;
  margin-top: 8px;
  border-radius: 2px;
}
.band-ink .fact-cell:nth-child(odd) .num-accent { background: var(--ps-red); }
.band-ink .fact-cell:nth-child(even) .num-accent { background: #6C9BFF; }
.band-ink .fact-label {
  font: 700 0.62rem var(--ps-mono, monospace);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62) !important;
}
.band-ink .fact-cell-index {
  position: absolute;
  top: -6px;
  right: 8px;
  font: 800 4rem var(--ps-mono, monospace);
  color: rgba(255,255,255,0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: none;
  margin: 0;
}
@media (max-width: 900px) {
  .fact-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .fact-grid { grid-template-columns: 1fr; }
}
.numbers-registry {
  font: 400 0.7rem var(--ps-mono, monospace);
  color: rgba(255,255,255,0.5);
  text-align: center;
  margin-top: 24px;
}

/* PS-HOMEFIX-MASTER-3 Phase 5 - spacing scale */
:root {
  --sp-band: 48px;
  --sp-band-mobile: 32px;
  --sp-head-gap: 28px;
  --sp-lede: 8px;
}
.section-gap:not(.band-wash):not(.band-ink) {
}
.band-wash {
}
.band-ink {
}
.sec-head {
}
.sec-lede {
}
.faq-item + .faq-item {
  margin-top: 8px;
}
#comments,
.comments-section {
  margin-top: 32px;
}
@media (max-width: 640px) {
  .section-gap:not(.band-wash):not(.band-ink) { }
  .band-wash { }
  .band-ink { }
}

/* PS-HOMEFIX-MASTER-3 Phase 6 - comments + FAQ on paper */
.comments-section,
#comments,
.faq-section,
#faq {
  background: var(--ps-paper, #F4F2EC) !important;
}
.comments-section input,
.comments-section textarea,
.comment-form input,
.comment-form textarea {
  background: #FFF !important;
  border: 1.5px solid var(--ps-line) !important;
  color: var(--ps-body, #2A3147) !important;
}
.comments-section input:focus,
.comments-section textarea:focus,
.comment-form input:focus,
.comment-form textarea:focus {
  border-color: var(--ps-blue) !important;
  box-shadow: 0 0 0 4px rgba(39,73,214,0.15) !important;
  outline: none;
}

/* ===== END PS-HOMEFIX-MASTER-3 ===== */


/* ===== PS-HOMEFIX-MASTER-4 | 2026-07-24 ===== */

/* PS-HOMEFIX-MASTER-4 Phase 1 - statstrip complete rebuild */
.statstrip {
  position: relative;
  z-index: 3;
  margin: -38px 0 0;
  padding: 0 20px;
}
.statstrip-grid {
  max-width: var(--w-site);
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  box-sizing: border-box;
} /* PS-ONEWIDTH */
.stat-cell {
  position: relative;
  overflow: hidden;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.stat-accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 18px 18px 0 0;
}
.stat-cell:nth-child(odd) .stat-accent { background: #E0312E; }
.stat-cell:nth-child(even) .stat-accent { background: #2749D6; }
.stat-num {
  font-family: 'DM Mono', monospace;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.15;
  color: #0E1B3A;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.stat-cap {
  margin-top: 6px;
  font-family: 'Karla', sans-serif;
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5A6172;
}
@media (max-width: 760px) {
  .statstrip { margin-top: -26px; padding: 0 16px; }
  .statstrip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .stat-cell { min-height: 82px; padding: 16px 16px 14px; }
  .stat-num { font-size: 1.3rem; }
}

/* PS-HOMEFIX-MASTER-4 Phase 1e - hero bottom padding for strip overlap */
.hero { padding-bottom: 66px !important; overflow: visible !important; }
.hero-deco { z-index: 0; }
.hero-content, .hero > * { position: relative; z-index: 1; }

/* PS-HOMEFIX-MASTER-4 Phase 2 - category dot containment */
.gc-cat,
.g-cat-chip,
.locale-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Mono', monospace;
  font-weight: 500;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5A6172;
  background: #F4F2EC;
  border: 1px solid #E3E1DA;
  padding: 4px 10px;
  border-radius: 999px;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}
.gc-cat::before,
.g-cat-chip::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 7px;
}
[data-cat="word"] .gc-cat::before,
[data-cat="word"] .g-cat-chip::before { background: #2749D6; }
[data-cat="clue"] .gc-cat::before,
[data-cat="clue"] .g-cat-chip::before { background: #E8912B; }
[data-cat="grid"] .gc-cat::before,
[data-cat="grid"] .g-cat-chip::before { background: #0E1B3A; }
[data-cat="daily"] .gc-cat::before,
[data-cat="daily"] .g-cat-chip::before { background: #E0312E; }

/* Override gc-card::before floating dot artifact */
.gc-card::before {
  display: none !important;
}

/* PS-DENSITY-MASTER-5: deleted MASTER-4 Phase 3e coverage block */

/* PS-HOMEFIX-MASTER-4 Phase 4 - comments unnested */
.comments-card {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
  max-width: 760px;
  margin: 0 auto;
}
.comments-empty {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.9rem;
  color: #5A6172;
  padding: 14px 16px;
  background: #F4F2EC;
  border-radius: 12px;
  margin-bottom: 22px;
}
.comment-form label {
  display: block;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5A6172;
  margin-bottom: 6px;
}
.comment-form input,
.comment-form textarea {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E1DA !important;
  border-radius: 10px;
  padding: 12px 14px;
  font-family: 'Karla', sans-serif;
  font-size: 0.92rem;
  color: #2A3147 !important;
  width: 100%;
  box-sizing: border-box;
}
.comment-form input { height: 46px; }
.comment-form textarea { min-height: 130px; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus {
  border-color: #2749D6 !important;
  box-shadow: 0 0 0 4px rgba(39,73,214,0.16) !important;
  outline: none;
}
.comment-form input::placeholder,
.comment-form textarea::placeholder { color: #8A90A0; }
.comment-char-counter {
  font-family: 'DM Mono', monospace;
  font-size: 0.66rem;
  color: #8A90A0;
  text-align: right;
  margin-top: 6px;
}
.comment-form .checkbox-row { font-size: 0.85rem; color: #5A6172; }
.comment-form .checkbox-row input[type="checkbox"] { accent-color: #2749D6; }
.comment-submit {
  background: #E0312E;
  color: #FFFFFF;
  font-family: 'Karla', sans-serif;
  font-weight: 800;
  font-size: 0.9rem;
  height: 46px;
  padding: 0 26px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.15s ease;
}
.comment-submit:hover { filter: brightness(0.92); }
.comment-submit:active { transform: translateY(1px); }
.comment-submit:focus-visible { outline: 3px solid #2749D6; outline-offset: 2px; }

/* PS-HOMEFIX-MASTER-4 Phase 5a - unified container */
.wrap {
  padding: 0 20px;
  margin: 0 auto;
}
@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
}

/* PS-HOMEFIX-MASTER-4 Phase 5c - numbers band cards (definitive) */
.band-ink .num-card,
.band-ink .fact-cell,
.band-ink .numbers-card {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.band-ink .num-value,
.band-ink .fact-value,
.band-ink .fact-num,
.band-ink .stat-num {
  font-family: 'DM Mono', monospace;
  font-weight: 500;
  font-size: 2.05rem;
  color: #FFFFFF !important;
  font-variant-numeric: tabular-nums;
}
.num-accent-bar {
  display: block;
  width: 36px;
  height: 3px;
  border-radius: 2px;
  margin-top: 8px;
}
.band-ink .num-card:nth-child(odd) .num-accent-bar,
.band-ink .fact-cell:nth-child(odd) .num-accent-bar { background: #E0312E; }
.band-ink .num-card:nth-child(even) .num-accent-bar,
.band-ink .fact-cell:nth-child(even) .num-accent-bar { background: #6C9BFF; }
.band-ink .num-label,
.band-ink .fact-label {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62) !important;
}
.band-ink .num-card-index,
.band-ink .fact-cell-index,
.band-ink .numbers-card-index {
  position: absolute;
  top: -4px;
  right: 12px;
  font-family: 'DM Mono', monospace;
  font-weight: 800;
  font-size: 3.6rem;
  color: rgba(255,255,255,0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.fact-grid,
.num-grid,
.numbers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px) {
  .fact-grid, .num-grid, .numbers-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .fact-grid, .num-grid, .numbers-grid { grid-template-columns: 1fr; }
}
.numbers-registry {
  font-family: 'DM Mono', monospace;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.55);
  text-align: center;
  margin-top: 22px;
}

/* PS-HOMEFIX-MASTER-4 Phase 6 - spacing enforcement (definitive) */
.section-gap { }
.band-wash { border-top: 1px solid #E3E1DA; border-bottom: 1px solid #E3E1DA; }
.band-ink { }
.sec-head { text-align: center; }
.sec-lede { max-width: 560px; }
@media (max-width: 640px) {
  .section-gap { }
  .band-wash { }
  .band-ink { }
}

/* PS-HOMEFIX-MASTER-4 Phase 7 - newsletter on ink band */
.newsletter-card,
.newsletter-box,
.newsletter-wrap {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-width: 560px;
  margin: 0 auto;
}
.newsletter-form-row {
  display: flex;
  gap: 0;
  max-width: 560px;
  margin: 0 auto;
}
.newsletter-input {
  flex: 1;
  height: 48px;
  border-radius: 10px 0 0 10px;
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #FFFFFF !important;
  padding: 0 16px;
  font-family: 'Karla', sans-serif;
  font-size: 0.95rem;
}
.newsletter-input::placeholder { color: rgba(255,255,255,0.45); }
.newsletter-input:focus { outline: none; border-color: rgba(255,255,255,0.5) !important; }
.newsletter-btn {
  height: 48px;
  border-radius: 0 10px 10px 0;
  background: #E0312E !important;
  color: #FFFFFF;
  font-family: 'Karla', sans-serif;
  font-weight: 800;
  font-size: 0.9rem;
  padding: 0 24px;
  border: none;
  cursor: pointer;
}
.newsletter-btn:hover { filter: brightness(1.08); }
.band-ink .nl-form { max-width: 420px; }
.band-ink .nl-input {
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #FFFFFF !important;
}
.band-ink .nl-input::placeholder { color: rgba(255,255,255,0.45); }
.band-ink .newsletter-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* PS-HOMEFIX-MASTER-4 Phase 9 - mobile 390px */
@media (max-width: 480px) {
  .fd-grid { grid-template-columns: 1fr !important; }
  .cat-cards-grid { grid-template-columns: 1fr !important; }
  .dev-grid { grid-template-columns: 1fr !important; }
  .guides-grid { grid-template-columns: 1fr !important; }
  .gloss-grid { grid-template-columns: 1fr !important; }
  .solved-grid { grid-template-columns: 1fr !important; }
  /* PS-DENSITY-MASTER-5: deleted cov-label mobile override */
  .fact-grid, .num-grid, .numbers-grid { grid-template-columns: 1fr !important; }
  .newsletter-form-row { flex-direction: column; }
  .newsletter-input { border-radius: 10px !important; margin-bottom: 8px; }
  .newsletter-btn { border-radius: 10px !important; width: 100%; }
  .wall-grid, .g-wall {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .g-icon img { width: 40px !important; height: 40px !important; }
}
.wrap { overflow-x: hidden; }
img { max-width: 100%; }

/* ===== END PS-HOMEFIX-MASTER-4 ===== */


/* ===== PS-DENSITY-MASTER-5 | 2026-07-24 ===== */

/* PS-DENSITY-MASTER-5 Phase 1 - coverage bars definitive */
.cov-row { display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 14px; }
.cov-label { font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.02em; color: #0E1B3A; text-align: right; }
.cov-track { display: block; height: 20px; border-radius: 10px; background: #E6E4DC; border: 1px solid #D9D6CC; box-shadow: inset 0 1px 3px rgba(14,27,58,0.12); overflow: hidden; }
.cov-fill { display: flex; align-items: center; justify-content: flex-end; height: 100%; border-radius: 10px; min-width: 44px; box-shadow: 0 1px 4px rgba(14,27,58,0.18); }
.cov-pct { font-family: 'DM Mono', monospace; font-weight: 500; font-size: 0.68rem; color: #FFFFFF; padding-right: 10px; text-shadow: 0 1px 2px rgba(0,0,0,0.30); font-variant-numeric: tabular-nums; }
[data-cat="clue"] .cov-fill { background: linear-gradient(90deg, #E8912B, #F2B15E); }
[data-cat="word"] .cov-fill { background: linear-gradient(90deg, #2749D6, #6C9BFF); }
[data-cat="grid"] .cov-fill { background: linear-gradient(90deg, #0E1B3A, #3A4E7A); }
[data-cat="daily"] .cov-fill { background: linear-gradient(90deg, #E0312E, #F2726F); }
[data-cat="total"] .cov-fill { background: linear-gradient(90deg, #2749D6, #E0312E); }
.cov-row--total { margin-top: 14px; padding-top: 14px; border-top: 1px solid #E3E1DA; }
.cov-row--total .cov-track { height: 26px; border-radius: 13px; }
.cov-row--total .cov-fill { border-radius: 13px; }
.cov-row--total .cov-label { font-weight: 800; font-size: 0.78rem; }
.coverage-list--compact .cov-row { grid-template-columns: 1fr; gap: 4px; }
.coverage-list--compact .cov-label { text-align: left; }
@media (max-width: 640px) { .cov-row { grid-template-columns: 1fr; gap: 6px; } .cov-label { text-align: left; font-size: 0.68rem; } .cov-track { height: 16px; } }

/* PS-DENSITY-MASTER-5 Phase 2 - comments card */

/* PS-DENSITY-MASTER-5 Phase 3a - wall toolbar with inline finder */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wall-toolbar { display: grid; grid-template-columns: 300px 1fr; align-items: center; gap: 16px; margin-bottom: 18px; }
.qf-inline { position: relative; }
.qf-input { width: 100%; height: 44px; border: 2px solid #0E1B3A; border-radius: 12px; padding: 0 14px; font-family: 'Karla', sans-serif; font-size: 0.9rem; color: #2A3147; background: #FFFFFF; box-shadow: 3px 3px 0 #E0312E; outline: none; box-sizing: border-box; }
.qf-input:focus { border-color: #2749D6; box-shadow: 3px 3px 0 #2749D6; }
.qf-input::placeholder { color: #8A90A0; }
.finder-results { position: absolute; top: 48px; left: 0; right: 0; z-index: 20; background: #FFFFFF; border: 1px solid #E3E1DA; border-radius: 12px; box-shadow: 0 12px 28px rgba(14,27,58,0.16); overflow: hidden; max-height: 320px; overflow-y: auto; }
.finder-hit { display: flex; align-items: center; gap: 10px; padding: 10px 14px; font-family: 'Karla', sans-serif; font-weight: 700; font-size: 0.85rem; color: #0E1B3A; text-decoration: none; }
.finder-hit:hover { background: #EEF1F8; }
@media (max-width: 820px) { .wall-toolbar { grid-template-columns: 1fr; gap: 12px; } }

/* PS-DENSITY-MASTER-5 Phase 3b - solved today 5-col and header link */
@media (max-width: 1100px) { .daily-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .daily-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .daily-strip { grid-template-columns: 1fr; } }
.sec-head--withlink { position: relative; }
.sec-head-link { position: absolute; right: 0; bottom: 6px; font-family: 'Karla', sans-serif; font-weight: 800; font-size: 0.8rem; color: #2749D6; text-decoration: none; }
.sec-head-link:hover { text-decoration: underline; }
@media (max-width: 820px) { .sec-head-link { position: static; display: block; } }

/* PS-DENSITY-MASTER-5 Phase 3c - glance grid */
@media (max-width: 1000px) { .glance-grid { grid-template-columns: 1fr 1fr; } .glance-col--cov { grid-column: 1 / -1; } }
@media (max-width: 660px) { .glance-grid { grid-template-columns: 1fr; } .glance-col--cov { grid-column: auto; } }
.glance-col::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.glance-col:nth-child(1)::before { background: #2749D6; }
.glance-col:nth-child(2)::before { background: #E0312E; }
.glance-col:nth-child(3)::before { background: linear-gradient(90deg, #2749D6, #E0312E); }
.glance-col-head { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 0.95rem; color: #0E1B3A; margin: 0 0 12px; padding-top: 8px; }
.glance-col .fd-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #F0EDE5; text-decoration: none; color: inherit; font-size: 0.85rem; }
.glance-col .fd-row:last-child { border-bottom: none; }
.glance-col .fd-row:hover { background: #F8F6F1; border-radius: 8px; }
.glance-col .fd-icon { width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0; }
.glance-col .fd-name { font-weight: 700; flex: 1; color: #0E1B3A; font-size: 0.82rem; }
.glance-col .fd-val { font-family: 'DM Mono', monospace; font-size: 0.66rem; color: #5A6172; flex-shrink: 0; }
.glance-col .fd-chip { font-family: 'DM Mono', monospace; font-size: 0.6rem; font-weight: 700; padding: 2px 7px; border-radius: 999px; background: #EEF1F8; color: #2749D6; flex-shrink: 0; }
.glance-col .fd-chip-today { background: #FFF0EE; color: #E0312E; }
.fd-mono { display: inline-flex; align-items: center; justify-content: center; font-family: 'DM Mono', monospace; font-weight: 800; font-size: 0.75rem; color: #FFFFFF; }

/* PS-DENSITY-MASTER-5 Phase 4 - spacing scale definitive */
.section-gap { }
.band-wash { background: #EEF1F8; border-top: 1px solid #E3E1DA; border-bottom: 1px solid #E3E1DA; }
.band-ink { }
.sec-head { text-align: center; }
.sec-lede { max-width: 560px; }
@media (max-width: 640px) { .section-gap { } .band-wash { } .band-ink { } .sec-head { } }

/* PS-DENSITY-MASTER-5 Phase 4d - hero compact */
.hero { padding: 56px 0 66px !important; overflow: visible !important; }

/* PS-DENSITY-MASTER-5 Phase 6c - back-to-top definitive */
.btt-btn { position: fixed; right: 20px; bottom: 20px; width: 44px; height: 44px; border-radius: 50%; background: #0E1B3A; color: #FFFFFF; font-family: 'DM Mono', monospace; font-weight: 800; font-size: 1rem; border: none; cursor: pointer; box-shadow: 0 6px 18px rgba(14,27,58,0.28); display: none; align-items: center; justify-content: center; z-index: 999; transition: background 0.15s ease; }
.btt-btn:hover { background: #2749D6; }
.btt-btn:focus-visible { outline: 3px solid #2749D6; outline-offset: 2px; }
.btt-btn.visible { display: flex; }

/* PS-DENSITY-MASTER-5 Phase 6d - game tile hover */
.g-card:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(14,27,58,0.12) !important; border-color: #2749D6 !important; }

/* PS-DENSITY-MASTER-5 Phase 6e - category cards equal height */
@media (max-width: 900px) { .gc-rail { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gc-rail { grid-template-columns: 1fr; } }

/* ===== END PS-DENSITY-MASTER-5 ===== */


/* ===== PS-APEX-MASTER-6R | 2026-07-24 ===== */

/* PS-APEX-MASTER-6R Phase 4a - answer block */
.answer-block {
  border-left: 5px solid #2749D6;
  margin: 0 auto 32px;
}
.answer-h2 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 1.15rem; color: #0E1B3A; margin: 0 0 12px; }
.answer-para { font-size: 0.95rem; line-height: 1.65; color: #2A3147; margin: 0 0 16px; }
.fact-table { width: 100%; border-collapse: collapse; }
.fact-table th { text-align: left; font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; color: #5A6172; padding: 8px 0; border-bottom: 1px solid #EEECE5; }
.fact-table td { font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.9rem; color: #0E1B3A; text-align: right; padding: 8px 0; border-bottom: 1px solid #EEECE5; }
.fact-table tr:last-child th, .fact-table tr:last-child td { border-bottom: none; }
.answer-stats-link { font-size: 0.85rem; color: #5A6172; margin: 12px 0 0; }

/* PS-APEX-MASTER-6R Phase 2 - how-archives + tactics */
.archive-steps { display: flex; flex-direction: column; gap: 20px; max-width: none; margin: 0; } /* PS-ONEWIDTH */
.archive-step { display: flex; gap: 16px; }
.archive-step-num { flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #2749D6; color: #FFFFFF; font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.9rem; display: flex; align-items: center; justify-content: center; }
.archive-step-title { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 0.95rem; color: #0E1B3A; margin: 0 0 6px; }
.archive-step-desc { font-size: 0.9rem; line-height: 1.6; color: #2A3147; margin: 0; }
@media (max-width: 700px) { .tactics-grid { grid-template-columns: 1fr; } }
.tactic-title { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 0.92rem; color: #0E1B3A; margin: 0 0 8px; }
.tactic-body { font-size: 0.88rem; line-height: 1.6; color: #2A3147; margin: 0; }
.tactics-cta { text-align: right; margin-top: 16px; }

/* PS-APEX-MASTER-6R Phase 3a - beyond english loc-cards */
.loc-card {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 16px;
  padding: 18px 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
  transition: transform .15s ease, box-shadow .15s ease;
}
.loc-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(14,27,58,0.12); }
.loc-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #2749D6, #6C9BFF);
}
.loc-card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding-top: 8px; }
.loc-icon { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.loc-name { font-weight: 800; font-size: 0.95rem; color: #0E1B3A; flex: 1; }
.loc-lang-badge {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.6rem;
  text-transform: uppercase;
  background: #EAEEFB;
  color: #2749D6;
  padding: 3px 9px;
  border-radius: 999px;
}
.loc-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.loc-chip {
  height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.64rem;
  background: #F4F2EC;
  border: 1px solid #E3E1DA;
  border-radius: 7px;
  color: #2A3147;
}
.loc-chip-en { background: #0E1B3A; color: #FFFFFF; border-color: #0E1B3A; }
.loc-chip-more { background: #FFFFFF; border: 1px dashed #C9C6BC; color: #5A6172; }
.loc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }

/* PS-APEX-MASTER-6R Phase 3c - glossary item cards */
.gloss-outer-card { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; }
.gloss-grid-6r { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; counter-reset: gloss-counter; }
.gloss-item-card {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 12px;
  padding: 14px 16px 14px 44px;
  position: relative;
  counter-increment: gloss-counter;
  border-left: 4px solid;
}
.gloss-item-card:nth-child(5n+1) { border-left-color: #2749D6; }
.gloss-item-card:nth-child(5n+2) { border-left-color: #E8912B; }
.gloss-item-card:nth-child(5n+3) { border-left-color: #0E1B3A; }
.gloss-item-card:nth-child(5n+4) { border-left-color: #E0312E; }
.gloss-item-card:nth-child(5n+5) { border-left-color: #1F9D61; }
.gloss-item-card::before {
  content: counter(gloss-counter);
  position: absolute;
  top: 14px;
  left: 14px;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.62rem;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gloss-item-card:nth-child(5n+1)::before { background: #2749D6; }
.gloss-item-card:nth-child(5n+2)::before { background: #E8912B; }
.gloss-item-card:nth-child(5n+3)::before { background: #0E1B3A; }
.gloss-item-card:nth-child(5n+4)::before { background: #E0312E; }
.gloss-item-card:nth-child(5n+5)::before { background: #1F9D61; }
.gloss-term-6r { font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.04em; color: #0E1B3A; display: block; margin-bottom: 4px; }
.gloss-def-6r { font-size: 0.86rem; line-height: 1.55; color: #2A3147; margin: 0; }

/* PS-APEX-MASTER-6R Phase 3d - how-to-use upgrades */
.howto-num {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #FFFFFF;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(14,27,58,0.20);
  position: relative;
  z-index: 1;
}
.howto-step:nth-child(odd) .howto-num { background: #2749D6; }
.howto-step:nth-child(even) .howto-num { background: #E0312E; }
.howto-title { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 0.95rem; color: #0E1B3A; }
.howto-desc { font-size: 0.88rem; line-height: 1.6; color: #2A3147; }
.kbd {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.72rem;
  border: 1px solid #E3E1DA;
  border-bottom-width: 2px;
  border-radius: 6px;
  padding: 2px 7px;
  background: #FFFFFF;
  color: #0E1B3A;
  display: inline-block;
}
@media (min-width: 900px) {
  .howto-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; }
  .howto-steps::before { display: none; }
}

/* PS-APEX-MASTER-6R Phase 7g - topbar nowrap */
.topbar .wrap,
.topbar-inner,
.site-header .wrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-height: 60px;
}
.topbar-logo,
.logo-link { flex-shrink: 0; }
.topnav,
.site-nav { flex: 1; min-width: 0; display: flex; flex-wrap: nowrap; gap: 4px; }
.topnav a,
.site-nav a { white-space: nowrap; }

/* PS-APEX-MASTER-6R - editor card styles */
.editor-card {
  display: flex;
  gap: 18px;
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
  align-items: flex-start;
}
.editor-avatar {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #2749D6;
  color: #FFFFFF;
  font-family: 'DM Mono', monospace;
  font-weight: 800;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ea--word { background: #2749D6; }
.ea--clue { background: #E8912B; }
.ea--grid { background: #0E1B3A; }
.editor-name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 1rem; color: #0E1B3A; margin-bottom: 2px; }
.editor-title { font-family: 'DM Mono', monospace; font-weight: 700; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; color: #5A6172; margin-bottom: 10px; }
.editor-bio { font-size: 0.88rem; line-height: 1.6; color: #2A3147; margin: 0; }

/* ===== END PS-APEX-MASTER-6R ===== */

/* ===== PS-APEX-ADDENDUM | 2026-07-24 ===== */

/* Phase 12d - reduced motion (enhanced) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .rv, .rv-in { opacity: 1 !important; transform: none !important; }
}

/* Phase 12j - last updated line */
.last-updated-line { display: flex; align-items: center; gap: 8px; font-family: 'DM Mono', monospace; font-size: 0.7rem; color: #5A6172; padding: 6px 20px; max-width: 1120px; margin: 0 auto; }
.last-updated-dot { width: 6px; height: 6px; border-radius: 50%; background: #1F9D61; flex-shrink: 0; }

/* Phase 13d - font metric overrides for CLS prevention */
/* Archivo fallback - approximated against Arial (not measured from font files) */
@font-face { font-family: 'Archivo Fallback'; src: local('Arial'), local('Helvetica Neue'); ascent-override: 95%; descent-override: 25%; line-gap-override: 0%; size-adjust: 100%; }
/* Karla fallback - approximated against Arial */
@font-face { font-family: 'Karla Fallback'; src: local('Arial'), local('Helvetica Neue'); ascent-override: 93%; descent-override: 24%; line-gap-override: 0%; size-adjust: 103%; }
/* DM Mono fallback - approximated against Courier New */
@font-face { font-family: 'DM Mono Fallback'; src: local('Courier New'), local('Courier'); ascent-override: 90%; descent-override: 22%; line-gap-override: 0%; size-adjust: 78%; }

/* Phase 16a - sticky mobile action bar */
.mobile-action-bar { position: fixed; bottom: 0; left: 0; right: 0; height: 56px; background: rgba(14,27,58,0.97); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); z-index: 100; display: none; grid-template-columns: repeat(3, 1fr); align-items: stretch; }
.mab-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; text-decoration: none; min-height: 44px; color: rgba(255,255,255,0.85); font-family: 'DM Mono', monospace; font-size: 0.62rem; font-weight: 500; position: relative; transition: color 0.15s ease; }
.mab-item:hover, .mab-item.active { color: #FFFFFF; }
.mab-item.active::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: #E0312E; }
.mab-icon { width: 20px; height: 20px; display: block; position: relative; }
.mab-label { font-size: 0.62rem; }
@media (max-width: 760px) { .mobile-action-bar { display: grid; } body { padding-bottom: 56px; } }
@media (min-width: 761px) { .mobile-action-bar { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .mab-item { transition: none !important; } }

/* ===== END PS-APEX-ADDENDUM ===== */

/* ===== PS-FINAL-MASTER-7 | seam architecture ===== */

/* Reset all prior section spacing - cascade wins */
.section-gap { }
.band-wash { }
.band-ink { }

/* Paper sections own no vertical padding; the seam owns it */
main > .section-gap + .section-gap { }

/* Banded sections carry their own padding because they paint bg */
.band-wash { background: #EEF1F8; border-top: 1px solid #E3E1DA; border-bottom: 1px solid #E3E1DA; }
.band-ink  { background: #0E1B3A; color: #FFFFFF; }

/* A band's padding IS the seam - never add margin around it */
main > .section-gap + .band-wash,
main > .section-gap + .band-ink,
main > .band-wash + .section-gap,
main > .band-ink + .section-gap,
main > .band-wash + .band-ink,
main > .band-ink + .band-wash { }

/* Two adjacent bands share one border, never two */
.band-wash + .band-ink, .band-ink + .band-wash { border-top: 0 !important; }

/* First section after the stat strip */
.statstrip + .section-gap { }

/* Internal rhythm */
.sec-head { }
.sec-title { }
.sec-bar-line { }
.sec-lede { max-width: 560px; }
.card { }

/* Answer wrap (replacing inline style) */
.answer-wrap { }

/* Phase 5a - hero padding */
.hero { padding: 48px 0 58px !important; }

/* Phase 5b - H1 sizing */
.hero h1 { font-size: clamp(1.9rem, 5vw, 3rem) !important; line-height: 1.08 !important; margin: 0 0 12px !important; }
.hero-wave-svg { width: 100%; max-width: 280px; }

/* Phase 5c - hero sub */
.hero-sub { max-width: 620px; margin: 0 auto; font-size: 0.98rem; line-height: 1.55; color: rgba(255,255,255,0.82) !important; }

/* Phase 5d - search form spacing */
.hero .qf-box, .hero .finder-box { margin-top: 20px !important; }
.hero .qf-input, .hero input[type=text], .hero .finder-input { height: 52px !important; }
.hero .qf-btn, .hero button[type=submit] { height: 52px !important; }

/* Phase 5e - hero chips */
.hero-chips { margin-top: 12px !important; }

/* Phase 5f - deco tiles */
.hero-deco { z-index: 0 !important; }
.hero--inner { position: relative; z-index: 1; }

/* Phase 4e - last updated line (moved inside hero) */
.last-updated-line { font-family:'DM Mono',monospace; font-size:0.68rem; color:rgba(255,255,255,0.6); margin-top:14px; display:flex; align-items:center; gap:6px; max-width:none; padding:0; }
.last-updated-dot { width:6px; height:6px; border-radius:50%; background:#1F9D61; flex-shrink:0; }

/* Phase 6 - comparison table */
.cmp-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
.cmp-table thead th { text-align: left; font: 700 0.64rem 'DM Mono',monospace; letter-spacing: 0.08em; text-transform: uppercase; color: #5A6172; padding: 10px 12px; border-bottom: 2px solid #E3E1DA; }
.cmp-table th.num, .cmp-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.cmp-table tbody tr { border-bottom: 1px solid #EEECE5; }
.cmp-table tbody tr:hover { background: #F7F8FC; }
.cmp-table td { padding: 11px 12px; color: #2A3147; }
.cmp-table td:first-child { font-weight: 700; color: #0E1B3A; }
.cmp-table a { color: inherit; text-decoration: none; }
.cmp-table a:hover { color: #2749D6; text-decoration: underline; text-underline-offset: 3px; }
.cat-chip { display: inline-block; font-size: 0.7rem; font-family: 'DM Mono',monospace; font-weight: 700; padding: 2px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.06em; }
.cat-chip--word { background: #EAEEFB; color: #2749D6; }
.cat-chip--clue { background: #FEF3E2; color: #C17A12; }
.cat-chip--grid { background: #E8F5EE; color: #1F9D61; }
.cat-chip--daily { background: #FDEBEA; color: #C0201E; }
.cmp-details summary { margin-top: 14px; font-size: 0.84rem; font-family: 'DM Mono',monospace; font-weight: 700; color: #2749D6; cursor: pointer; padding: 8px 0; }
.cmp-details summary:hover { text-decoration: underline; }
.cmp-table--rest { margin-top: 8px; }

/* Phase 7 - jump rail */
.jump-rail { position: fixed; left: 18px; top: 50%; transform: translateY(-50%); z-index: 30; display: flex; flex-direction: column; gap: 12px; }
.jump-dot { width: 8px; height: 8px; border-radius: 50%; background: #C9C6BC; border: 0; padding: 0; cursor: pointer; transition: transform .15s ease, background .15s ease; position: relative; }
.jump-dot[aria-current=true] { width: 10px; height: 10px; background: #2749D6; }
.jump-dot:focus-visible { outline: 3px solid #2749D6; outline-offset: 3px; }
.jump-label { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); background: rgba(14,27,58,0.9); color: #fff; font: 500 0.7rem 'DM Mono',monospace; padding: 3px 8px; border-radius: 6px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.jump-dot:hover .jump-label, .jump-dot:focus-visible .jump-label { opacity: 1; }

/* Phase 8 - wall miss */
.wall-miss { margin-top: 18px; text-align: center; font-size: 0.88rem; color: #5A6172; padding: 14px; background: #F4F2EC; border-radius: 12px; }

/* Phase 9c - mobile action bar icons */
.mab-icon-search::before { content: ''; display: block; width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 50%; position: relative; }
.mab-icon-search::after { content: ''; display: block; width: 6px; height: 2px; background: currentColor; transform: rotate(45deg) translate(3px,3px); position: absolute; }
.mab-icon-today::before { content: ''; display: block; width: 16px; height: 14px; border: 2px solid currentColor; border-radius: 2px; }
.mab-icon-games::before { content: ''; display: block; width: 14px; height: 14px; background: currentColor; clip-path: polygon(0 0, 45% 0, 45% 45%, 0 45%, 0 0, 55% 0, 55% 45%, 100% 45%, 100% 0, 100% 55%, 55% 55%, 55% 100%, 45% 100%, 45% 55%, 0 55%, 0 100%, 0 55%); }

@media (max-width: 1199px) { .jump-rail { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .jump-dot { transition: none !important; } }

@media (max-width: 900px) { .hero-deco { display: none !important; } }

@media (max-width: 760px) {
  .cmp-cat-col, .cmp-date-col { display: none; }
}

@media (max-width: 640px) {
  main > .section-gap + .section-gap { }
  .band-wash { }
  .band-ink { }
  .statstrip + .section-gap { }
  .sec-head { }
  .card { }
  .hero { padding: 32px 0 44px !important; }
  .hero-sub-extra { display: none; }
}
/* ===== END PS-FINAL-MASTER-7 seam ===== */

/* ===== PS-GAMEPAGE-MASTER-1 | game profile template ===== */

/* Hero: game variant */
.hero--game { background: #0E1B3A; padding: 44px 0 40px; color: #FFFFFF; }
.hero-game-grid {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 22px;
  align-items: center;
}
@media (max-width: 760px) {
  .hero-game-grid { grid-template-columns: 1fr; }
  .hero-game-icon { width: 72px; height: 72px; }
}
.hero-game-icon {
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 8px 22px rgba(0,0,0,0.35);
  width: 96px;
  height: 96px;
  object-fit: cover;
}
.hero-kicker {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #FF8A87;
  margin: 0 0 6px;
}
.hero-game-h1 {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  line-height: 1.1;
  margin: 6px 0 0;
  color: #FFFFFF;
}

/* Stat band */
.stat-band { margin-top: -30px; position: relative; z-index: 2; }
.statband-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.statband-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) {
  .statband-grid, .statband-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.stat-cell {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(14,27,58,0.12);
  padding: 18px 20px;
  min-height: 92px;
  position: relative;
  overflow: hidden;
}
.stat-cell::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--accent-top, #E0312E);
}
.stat-val {
  display: block;
  font-family: 'DM Mono', monospace;
  font-weight: 500;
  font-size: 1.55rem;
  color: #0E1B3A;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.stat-lbl {
  display: block;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #5A6172;
  margin-top: 6px;
}

/* Source card */
.source-card {
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-left: 5px solid #2749D6;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
}
.source-card--none { border-left-color: #E8912B; }
.source-h2 {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  color: #0E1B3A;
  margin: 0 0 12px;
}
.source-body { font-size: 0.95rem; line-height: 1.6; color: #2A3147; margin: 0; }
.source-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 24px;
  border-radius: 10px;
  background: #2749D6;
  color: #FFFFFF;
  font-family: 'Karla', sans-serif;
  font-weight: 800;
  font-size: 0.9rem;
  text-decoration: none;
  margin-top: 16px;
  transition: filter .15s ease;
}
.source-cta:hover { filter: brightness(1.10); }
.source-cta:hover .source-cta-chevron { transform: translateX(3px); }
.source-cta:focus-visible { outline: 3px solid #0E1B3A; outline-offset: 2px; }
.source-cta-chevron { transition: transform .15s ease; }
.source-meta {
  font-family: 'DM Mono', monospace;
  font-size: 0.68rem;
  color: #5A6172;
  margin: 10px 0 0;
}
.source-disclosure {
  font-family: 'Karla', sans-serif;
  font-size: 0.82rem;
  color: #5A6172;
  margin: 14px 0 0;
}

/* Coverage block */
.cov-block { margin-top: 10px; }
.cov-prose { font-size: 0.95rem; line-height: 1.6; color: #2A3147; margin: 0 0 14px; }
.cov-track {
  height: 20px;
  background: #E6E4DC;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}
.cov-fill {
  height: 100%;
  width: var(--cov-w, 0%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
}
.cov-label {
  font-family: 'DM Mono', monospace;
  font-size: 0.6rem;
  font-weight: 700;
  color: #FFFFFF;
}
.cov-caption {
  font-family: 'DM Mono', monospace;
  font-size: 0.68rem;
  color: #5A6172;
  margin: 8px 0 0;
}

/* Language chips */
.locale-chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.locale-chip {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 0.64rem;
  height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  background: #F4F2EC;
  border: 1px solid #E3E1DA;
  border-radius: 7px;
  color: #2A3147;
}
.locale-chip--en { background: #0E1B3A; color: #FFFFFF; border-color: #0E1B3A; }

/* Developer profile */
.dev-profile-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #FFFFFF;
  border: 1px solid #E3E1DA;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 2px 12px rgba(14,27,58,0.06);
}
.dev-avatar {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--avatar-bg, #0E1B3A);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.dev-profile-body { flex: 1; }
.dev-profile-name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 1rem; color: #0E1B3A; margin: 0 0 4px; }
.dev-profile-desc { font-size: 0.88rem; color: #5A6172; margin: 0 0 10px; }
.dev-mini-links { display: flex; flex-wrap: wrap; gap: 8px; }
.dev-mini-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: #2749D6;
  text-decoration: none;
  padding: 4px 8px;
  border: 1px solid #E3E1DA;
  border-radius: 8px;
  background: #F4F2EC;
}
.dev-mini-link:hover { background: #EAEEFB; border-color: #2749D6; }

/* Related games grid */
.related-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(264px, 1fr));
}
.gc-card-inner { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.gc-name { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 0.95rem; color: #0E1B3A; margin: 0 0 2px; }
.gc-count { font-family: 'DM Mono', monospace; font-size: 0.68rem; color: #5A6172; margin: 0; }

/* About prose */
.about-prose p { margin: 0 0 12px; font-size: 0.95rem; line-height: 1.65; color: #2A3147; }
.about-prose p:last-child { margin-bottom: 0; }

/* ===== END PS-GAMEPAGE-MASTER-1 ===== */


/* === PS-GAMEPAGE-MASTER-1 === */

/* Crumbs section: minimal spacing (crumbs already have padding) */
.gp-crumbs { padding-top: 8px !important; padding-bottom: 0 !important; }

/* --- Hero game --- */
.hg-grid {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 24px;
    align-items: flex-start;
}
.hg-logo-wrap {
    width: 96px;
    height: 96px;
    border-radius: 18px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 12px rgba(14,27,58,0.12);
    position: relative;
}
.hg-logo {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}
.hg-mono {
    position: absolute;
    inset: 0;
    border-radius: 18px;
    background: var(--ps-blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'DM Mono', monospace;
    font-size: 26px;
    font-weight: 500;
}
.hg-h1 {
    font-family: 'Archivo', system-ui, sans-serif;
    font-weight: 900;
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    letter-spacing: -0.025em;
    color: var(--ps-ink);
    margin: 6px 0 10px;
    line-height: 1.1;
}
.hg-sub {
    font-size: 0.95rem;
    color: var(--ps-mut, #7a849e);
    margin: 0 0 14px;
    line-height: 1.5;
}
.hg-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.cat-chip--verified {
    background: #e6f4ea;
    color: #1a6b2a;
    border: 1px solid #b8dfc1;
}
.cat-chip--chip-daily {
    background: #fff8e1;
    color: #b45309;
    border: 1px solid #fde68a;
}
.hg-updated {
    font-size: 0.78rem;
    color: var(--ps-mut, #7a849e);
    margin: 0;
    font-family: 'DM Mono', monospace;
}

/* --- Stat band (game profile, distinct from home statstrip) --- */
.gp-statband {
    background: var(--ps-panel);
    border-top: 1px solid var(--ps-line);
    border-bottom: 1px solid var(--ps-line);
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.gsb-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    divide: var(--ps-line);
}
.gsb-cell {
    padding: 28px 20px;
    text-align: center;
    border-left: 1px solid var(--ps-line);
}
.gsb-cell:first-child { border-left: none; }
.gsb-cell::before {
    content: '';
    display: block;
    width: 32px;
    height: 4px;
    border-radius: 2px;
    margin: 0 auto 14px;
}
.gsb-cell--0::before, .gsb-cell--2::before { background: var(--ps-blue); }
.gsb-cell--1::before, .gsb-cell--3::before { background: var(--ps-red); }
.gsb-val {
    display: block;
    font-family: 'Archivo', system-ui, sans-serif;
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ps-ink);
}
.gsb-lbl {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ps-mut, #7a849e);
    margin-top: 4px;
    font-family: 'DM Mono', monospace;
}

/* --- Source card --- */
.gp-source-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-left: 4px solid var(--ps-blue);
    background: var(--ps-panel);
    border-radius: 0 12px 12px 0;
    box-shadow: 0 1px 6px rgba(14,27,58,0.06);
}
.gp-source-card--none {
    border-left-color: #d97706;
    background: #fffbeb;
}
[data-theme=dark] .gp-source-card--none { background: #1e1600; }
.gp-source-title {
    font-weight: 700;
    font-size: 0.95rem;
    margin: 0 0 5px;
    color: var(--ps-ink);
}
.gp-source-desc {
    font-size: 0.88rem;
    color: var(--ps-mut, #7a849e);
    margin: 0;
    line-height: 1.5;
}
.gp-source-cta {
    display: inline-block;
    white-space: nowrap;
    flex-shrink: 0;
    text-decoration: none;
}

/* --- Coverage detail (game profile) --- */
.gp-cov-detail { max-width: 560px; }
.gp-cov-bar-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.gp-cov-label { font-size: 0.88rem; color: var(--ps-mut, #7a849e); }
.gp-cov-pct { font-weight: 800; font-size: 1.1rem; color: var(--ps-blue); font-family: 'Archivo', sans-serif; }
.gp-cov-dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 20px;
    margin: 16px 0 0;
}
.gp-cov-row { display: contents; }
.gp-cov-row dt { font-size: 0.85rem; color: var(--ps-mut, #7a849e); }
.gp-cov-row dd { font-size: 0.85rem; font-weight: 600; margin: 0; color: var(--ps-ink); }

/* --- Locale chips --- */
.gp-locale-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.gp-locale-chip {
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--ps-panel);
    border: 1px solid var(--ps-line);
    font-family: 'DM Mono', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--ps-ink);
}

/* --- Daily mode card --- */
.gp-daily-card {
    background: var(--ps-panel);
    border-radius: 12px;
    padding: 22px 24px;
    border: 1px solid var(--ps-line);
}
.gp-daily-card p { margin: 0 0 10px; }
.gp-daily-card p:last-child { margin-bottom: 0; }

/* --- Developer card (game profile) --- */
.gp-dev-card {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: var(--ps-panel);
    border-radius: 12px;
    padding: 22px 24px;
    border: 1px solid var(--ps-line);
}
.gp-dev-avatar {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--avatar-bg, var(--ps-blue));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'DM Mono', monospace;
    font-size: 16px;
    font-weight: 500;
    flex-shrink: 0;
}
.gp-dev-name { font-weight: 700; font-size: 0.98rem; margin: 0 0 3px; }
.gp-dev-role { font-size: 0.82rem; color: var(--ps-mut, #7a849e); margin: 0 0 12px; }
.gp-dev-other-lbl { font-size: 0.82rem; color: var(--ps-mut, #7a849e); margin: 0 0 7px; }
.gp-dev-links { display: flex; flex-wrap: wrap; gap: 7px; }
.gp-dev-link {
    font-size: 0.82rem;
    padding: 3px 10px;
    border-radius: 6px;
    background: var(--ps-paper);
    border: 1px solid var(--ps-line);
    color: var(--ps-blue);
    text-decoration: none;
}
.gp-dev-link:hover { border-color: var(--ps-blue); text-decoration: none; }

/* --- Related games grid --- */
.gp-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.gp-related-grid .gc-card { display: flex; flex-direction: column; }
.gp-related-grid .gc-card-inner { display: flex; gap: 10px; align-items: center; padding: 12px 14px 8px; }
.gp-related-grid .gc-name { font-weight: 700; font-size: 0.88rem; margin: 0 0 2px; }
.gp-related-grid .gc-count { font-size: 0.75rem; color: var(--ps-mut, #7a849e); margin: 0; }
.gp-related-grid .cat-chip { margin: 0 14px 12px; }

/* --- Responsive --- */
@media (max-width: 720px) {
    .hg-grid { grid-template-columns: 72px 1fr; }
    .hg-logo-wrap, .hg-logo { width: 72px; height: 72px; }
    .hg-h1 { font-size: 1.5rem; }
    .gsb-grid { grid-template-columns: repeat(2, 1fr); }
    .gsb-cell { border-left: none; border-top: 1px solid var(--ps-line); }
    .gsb-cell:nth-child(1), .gsb-cell:nth-child(2) { border-top: none; }
    .gp-source-card { flex-direction: column; align-items: flex-start; }
    .gp-dev-card { flex-direction: column; }
    .gp-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .gp-related-grid { grid-template-columns: 1fr; }
    .hg-grid { grid-template-columns: 60px 1fr; gap: 14px; }
    .hg-logo-wrap, .hg-logo { width: 60px; height: 60px; }
}

/* PS-FULLGAME-MASTER-1 2026-07-24 */

/* ---- Games Directory (/games/) ---- */
.gd-hero { padding: 48px 0 32px; text-align: center; }
.gd-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.75rem,4vw,2.5rem); color: #0E1B3A; margin: 0 0 12px; }
.gd-hero p { color: #3E4B65; max-width: 640px; margin: 0 auto 24px; }
.cat-pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 32px; }
.cat-pill { display: inline-block; padding: 6px 16px; border-radius: 20px; border: 1.5px solid #CBD1DE; background: #fff; color: #3E4B65; font-size: .85rem; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.cat-pill:hover, .cat-pill.active { background: #2749D6; color: #fff; border-color: #2749D6; }
.gd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.gd-card { background: #fff; border-radius: 12px; border: 1.5px solid #E5E8EF; padding: 20px 16px; text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s; display: flex; flex-direction: column; gap: 8px; }
.gd-card:hover { box-shadow: 0 4px 16px rgba(39,73,214,.10); border-color: #2749D6; }
.gd-monogram { width: 44px; height: 44px; border-radius: 10px; background: #EEF1F8; display: flex; align-items: center; justify-content: center; font-family: 'DM Mono',monospace; font-weight: 700; font-size: 1.1rem; color: #2749D6; flex-shrink: 0; }
.gd-name { font-family: 'Archivo',sans-serif; font-weight: 700; font-size: .95rem; color: #0E1B3A; line-height: 1.2; }
.gd-meta { font-size: .78rem; color: #6B7589; }
.gd-cat-tag { font-size: .73rem; text-transform: uppercase; letter-spacing: .04em; color: #2749D6; font-weight: 600; }

/* ---- Game Hub (/games/{slug}/) ---- */
.gh-hero { padding: 48px 0 32px; }
.gh-hero-inner { display: flex; align-items: flex-start; gap: 24px; }
.gh-logo-wrap { width: 72px; height: 72px; border-radius: 16px; background: #EEF1F8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gh-monogram { font-family: 'DM Mono',monospace; font-weight: 700; font-size: 1.5rem; color: #2749D6; }
.gh-text h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.5rem,3.5vw,2.25rem); color: #0E1B3A; margin: 0 0 8px; }
.gh-dev { font-size: .85rem; color: #6B7589; margin: 0 0 10px; }
.gh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gh-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 20px; background: #EEF1F8; font-size: .8rem; color: #3E4B65; font-weight: 500; }
.gh-chip strong { color: #0E1B3A; font-family: 'DM Mono',monospace; }
.gh-search-wrap { margin: 20px 0; position: relative; max-width: 480px; }
.gh-search-input { width: 100%; padding: 10px 16px; border-radius: 8px; border: 1.5px solid #CBD1DE; font-size: .95rem; color: #0E1B3A; outline: none; }
.gh-search-input:focus { border-color: #2749D6; }
.gh-typeahead { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 1.5px solid #CBD1DE; border-top: none; border-radius: 0 0 8px 8px; z-index: 100; max-height: 260px; overflow-y: auto; display: none; }
.gh-typeahead.open { display: block; }
.gh-ta-item { display: block; padding: 8px 16px; color: #0E1B3A; text-decoration: none; font-size: .9rem; border-bottom: 1px solid #F0F2F7; }
.gh-ta-item:last-child { border-bottom: none; }
.gh-ta-item:hover { background: #EEF1F8; }
.gh-collections-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 16px 0; }
.gh-col-card { background: #fff; border: 1.5px solid #E5E8EF; border-radius: 10px; padding: 16px; text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s; }
.gh-col-card:hover { border-color: #2749D6; box-shadow: 0 2px 10px rgba(39,73,214,.08); }
.gh-col-name { font-family: 'Archivo',sans-serif; font-weight: 700; font-size: .92rem; color: #0E1B3A; margin: 0 0 4px; }
.gh-col-cnt { font-family: 'DM Mono',monospace; font-size: .82rem; color: #2749D6; }
.gh-daily-box { background: #EEF1F8; border-radius: 12px; padding: 20px; margin: 24px 0; }
.gh-daily-box h2 { font-family: 'Archivo',sans-serif; font-weight: 700; font-size: 1.1rem; margin: 0 0 10px; color: #0E1B3A; }
.gh-daily-latest { display: inline-block; padding: 8px 20px; background: #2749D6; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: .9rem; }
.gh-daily-latest:hover { background: #1d39b8; }
.gh-related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; margin: 16px 0; }
.gh-related-card { background: #fff; border: 1.5px solid #E5E8EF; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit; transition: border-color .15s; }
.gh-related-card:hover { border-color: #2749D6; }
.gh-related-name { font-family: 'Archivo',sans-serif; font-weight: 700; font-size: .88rem; color: #0E1B3A; }
.gh-related-cnt { font-size: .78rem; color: #6B7589; margin-top: 4px; }
.gh-faq { margin: 32px 0; }
.gh-faq details { border: 1.5px solid #E5E8EF; border-radius: 8px; margin-bottom: 8px; padding: 12px 16px; }
.gh-faq summary { font-weight: 700; color: #0E1B3A; cursor: pointer; font-size: .95rem; }
.gh-faq p { margin: 8px 0 0; color: #3E4B65; font-size: .9rem; line-height: 1.6; }

/* ---- Collection page (/games/{slug}/{col}/) ---- */
.gc-breadcrumb { font-size: .82rem; color: #6B7589; margin-bottom: 20px; }
.gc-breadcrumb a { color: #2749D6; text-decoration: none; }
.gc-breadcrumb a:hover { text-decoration: underline; }
.gc-breadcrumb span { margin: 0 6px; }
.gc-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.4rem,3vw,2rem); color: #0E1B3A; margin: 0 0 8px; }
.gc-meta { font-size: .85rem; color: #6B7589; margin-bottom: 24px; }
.gc-level-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 16px 0; }
.gc-level-tile { background: #fff; border: 1.5px solid #E5E8EF; border-radius: 8px; padding: 12px 14px; text-decoration: none; color: inherit; transition: border-color .15s; }
.gc-level-tile:hover { border-color: #2749D6; }
.gc-level-num { font-family: 'DM Mono',monospace; font-weight: 700; font-size: .95rem; color: #2749D6; }
.gc-level-ans { font-size: .82rem; color: #3E4B65; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gc-pagination { display: flex; gap: 10px; margin: 24px 0; align-items: center; }
.gc-page-link { display: inline-block; padding: 6px 18px; border-radius: 6px; border: 1.5px solid #CBD1DE; color: #3E4B65; text-decoration: none; font-size: .88rem; }
.gc-page-link:hover, .gc-page-link.active { background: #2749D6; color: #fff; border-color: #2749D6; }
.gc-col-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.gc-col-pill { padding: 5px 14px; border-radius: 20px; border: 1.5px solid #CBD1DE; color: #3E4B65; text-decoration: none; font-size: .82rem; }
.gc-col-pill:hover { border-color: #2749D6; color: #2749D6; }
.gc-col-pill.active { background: #2749D6; color: #fff; border-color: #2749D6; }

/* ---- Level page (/games/{slug}/{col}/level-{n}/) ---- */
.gl-breadcrumb { font-size: .82rem; color: #6B7589; margin-bottom: 20px; }
.gl-breadcrumb a { color: #2749D6; text-decoration: none; }
.gl-breadcrumb a:hover { text-decoration: underline; }
.gl-breadcrumb span { margin: 0 6px; }
.gl-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.3rem,3vw,1.9rem); color: #0E1B3A; margin: 0 0 8px; }
.gl-answer-tiles { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.gl-answer-tile { background: #EEF1F8; border-radius: 8px; padding: 10px 16px; }
.gl-answer-word { font-family: 'DM Mono',monospace; font-weight: 700; font-size: 1.1rem; color: #0E1B3A; letter-spacing: .04em; }
.gl-answer-len { font-size: .75rem; color: #6B7589; margin-top: 2px; }
.gl-clue-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: .9rem; }
.gl-clue-table th { text-align: left; padding: 8px 12px; background: #EEF1F8; color: #0E1B3A; font-weight: 700; }
.gl-clue-table td { padding: 8px 12px; border-bottom: 1px solid #F0F2F7; color: #3E4B65; }
.gl-nav { display: flex; gap: 10px; margin: 24px 0; }
.gl-nav-link { display: inline-block; padding: 7px 20px; border-radius: 6px; border: 1.5px solid #CBD1DE; color: #3E4B65; text-decoration: none; font-size: .88rem; }
.gl-nav-link:hover { border-color: #2749D6; color: #2749D6; }
.gl-nearby { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.gl-nearby-link { padding: 5px 14px; border-radius: 20px; background: #EEF1F8; color: #2749D6; text-decoration: none; font-size: .82rem; font-weight: 600; }
.gl-nearby-link.current { background: #2749D6; color: #fff; }
.gl-nearby-link:hover:not(.current) { background: #dde3f5; }

/* ---- Daily hub (/games/{slug}/daily/) ---- */
.dd-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.4rem,3vw,2rem); color: #0E1B3A; margin: 0 0 8px; }
.dd-month-section { margin: 24px 0; }
.dd-month-title { font-family: 'Archivo',sans-serif; font-weight: 700; font-size: 1rem; color: #0E1B3A; margin: 0 0 12px; }
.dd-date-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.dd-date-pill { display: inline-block; padding: 6px 14px; border-radius: 20px; background: #EEF1F8; color: #2749D6; text-decoration: none; font-size: .82rem; font-weight: 600; }
.dd-date-pill:hover { background: #dde3f5; }

/* ---- Daily page (/games/{slug}/daily/{date}/) ---- */
.dp-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.3rem,3vw,1.9rem); color: #0E1B3A; margin: 0 0 8px; }
.dp-answer-tiles { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.dp-answer-tile { background: #EEF1F8; border-radius: 8px; padding: 10px 16px; }
.dp-answer-word { font-family: 'DM Mono',monospace; font-weight: 700; font-size: 1.1rem; color: #0E1B3A; letter-spacing: .04em; }
.dp-answer-len { font-size: .75rem; color: #6B7589; margin-top: 2px; }
.dp-nav { display: flex; gap: 10px; margin: 24px 0; }
.dp-nav-link { display: inline-block; padding: 7px 20px; border-radius: 6px; border: 1.5px solid #CBD1DE; color: #3E4B65; text-decoration: none; font-size: .88rem; }
.dp-nav-link:hover { border-color: #2749D6; color: #2749D6; }

/* ---- Clue page (/games/{slug}/clue/{slug}/) ---- */
.clue-hero h1 { font-family: 'Archivo',sans-serif; font-weight: 800; font-size: clamp(1.3rem,3vw,1.9rem); color: #0E1B3A; margin: 0 0 8px; }
.clue-desc { color: #3E4B65; font-size: .9rem; margin-bottom: 20px; }
.clue-answer-tiles { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.clue-answer-tile { background: #EEF1F8; border-radius: 8px; padding: 10px 16px; }
.clue-answer-word { font-family: 'DM Mono',monospace; font-weight: 700; font-size: 1.1rem; color: #0E1B3A; letter-spacing: .04em; }
.clue-answer-len { font-size: .75rem; color: #6B7589; margin-top: 2px; }
.clue-back { display: inline-block; margin-top: 16px; padding: 7px 20px; border-radius: 6px; border: 1.5px solid #CBD1DE; color: #3E4B65; text-decoration: none; font-size: .88rem; }
.clue-back:hover { border-color: #2749D6; color: #2749D6; }

/* ---- Responsive ---- */
@media (max-width: 640px) {
    .gh-hero-inner { flex-direction: column; gap: 14px; }
    .gh-collections-grid { grid-template-columns: 1fr 1fr; }
    .gc-level-grid { grid-template-columns: 1fr 1fr; }
    .gd-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) {
    .gh-collections-grid, .gc-level-grid, .gd-grid { grid-template-columns: 1fr; }
}

/* PS-GAME-01-WORDCRAZE 2026-07-25 */
.wc-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:.75rem;background:#f0f7ff;border-radius:8px;border:1px solid #c7d9ed}
.wc-count-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:#1a6bc7;color:#fff;border-radius:20px;font-size:.82rem;font-weight:600}
.wc-count-chip.chip-daily{background:#16a34a}
.wc-count-chip.chip-mini{background:#0891b2}
.wc-count-chip.chip-trivia{background:#9333ea}
.wc-daily-module{margin:1.5rem 0;padding:1rem;background:#f8faff;border:1px solid #c7d9ed;border-radius:8px}
.wc-daily-module h3{font-size:1rem;margin-bottom:.5rem;color:#0d2a4a}
.wc-level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin:1rem 0}
.wc-level-item{padding:.5rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.87rem;line-height:1.4}
.wc-level-item a{color:#1a6bc7;font-weight:600;text-decoration:none}
.wc-level-item a:hover{text-decoration:underline}
.wc-level-teaser{color:#64748b;font-size:.8rem;display:block;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.wc-answer-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.93rem}
.wc-answer-table th{background:#1a6bc7;color:#fff;padding:.5rem .75rem;text-align:left}
.wc-answer-table td{padding:.5rem .75rem;border-bottom:1px solid #e2e8f0}
.wc-answer-table tr:hover td{background:#f0f7ff}
.wc-answer-table .answer-cell{font-weight:700;color:#1e3a5f;font-family:monospace;font-size:1rem;letter-spacing:.05em}

/* PS-WC-HUB-2 2026-07-25 */
.ps-wc-chip{font-family:'DM Mono',monospace;font-size:.87rem;background:#EEF1F8;border-radius:20px;padding:5px 14px;color:#16264E;display:inline-block;margin:2px}
.ps-wc-jumpto{display:flex;align-items:center;gap:10px;margin:18px 0;flex-wrap:wrap}
.ps-wc-jumpto label{font:700 15px 'Karla',sans-serif;color:#1B2338}
.ps-wc-jumpto input{width:120px;padding:10px 14px;border:1px solid #E3E1DA;border-radius:8px;font:400 15px 'DM Mono',monospace}
.ps-wc-jumpto button{background:#2749D6;color:#fff;font:700 15px 'Karla',sans-serif;border:none;border-radius:8px;padding:10px 20px;cursor:pointer}
.ps-wc-jumpto button:hover{background:#1e3aa0}
.ps-pack-pill{font:600 13px 'Karla',sans-serif;border:1px solid #E3E1DA;border-radius:999px;padding:6px 14px;text-decoration:none;color:#1B2338;display:inline-block;margin:3px;transition:border-color .15s}
.ps-pack-pill:hover{border-color:#2749D6}
.ps-pack-pill--hard{border-left:3px solid #C13A52}
.ps-range-card{background:#fff;border:1px solid #E3E1DA;border-radius:12px;padding:18px;cursor:pointer;text-decoration:none;display:block;transition:transform .15s,box-shadow .15s,border-color .15s}
.ps-range-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(14,27,58,.12);border-color:#2749D6}
.ps-range-card .range-label{font:800 1.05rem 'Archivo',sans-serif;color:#1B2338}
.ps-range-card .range-meta{font:400 .82rem 'DM Mono',monospace;color:#5A6172;margin-top:4px}
.ps-range-card .range-tag{font:400 .75rem 'DM Mono',monospace;color:#B8860B;margin-top:4px}
.ps-daily-tile{background:#fff;border:1px solid #E3E1DA;border-radius:12px;padding:20px}
.ps-daily-date{font:400 20px 'DM Mono',monospace;color:#1B2338;margin-bottom:8px}
.ps-daily-link{display:inline-block;margin-top:10px;color:#2749D6;text-decoration:underline;font-size:14px}
.ps-daily-count{font-size:13px;color:#6B7280;margin-top:6px}
[data-theme=dark] .ps-wc-chip{background:#1E2D4A;color:#B9D2C9}
[data-theme=dark] .ps-pack-pill{border-color:#2D3A5C;color:#CFE2DA}
[data-theme=dark] .ps-range-card{background:#131E35;border-color:#2D3A5C;color:#CFE2DA}
[data-theme=dark] .ps-daily-tile{background:#131E35;border-color:#2D3A5C}

/* PS-WC-VISUAL-3 2026-07-25 */

/* HERO */
.gh-hero{background:linear-gradient(135deg,#0E1B3A 0%,#141B2D 55%,#1A2440 100%);border-bottom:3px solid #2749D6;padding:48px 0 56px;position:relative;overflow:hidden}
.gh-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(560px 220px at 88% -10%,rgba(108,154,255,.16),transparent),radial-gradient(420px 200px at 4% 112%,rgba(39,73,214,.22),transparent);pointer-events:none}
.gh-hero-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;position:relative}
.gh-hero .sec-kicker{color:#8FA7E8}
.gh-hero h1{font:900 clamp(32px,4.8vw,46px)/1.06 'Archivo',sans-serif;color:#fff;letter-spacing:-.02em;margin:12px 0 14px}
.gh-hero-sub{font:400 17px/1.6 'Karla',sans-serif;color:#C7D2EC;max-width:560px}
.gh-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.gh-chip{font:400 13px 'DM Mono',monospace;color:#DCE5FA;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px}
.gh-chip--primary{background:#2749D6;border-color:#2749D6;color:#fff}

/* LEDGER */
.gh-ledger{background:#0B1526;border:1px solid rgba(108,154,255,.3);border-radius:16px;padding:20px 22px;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.gh-ledger-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;font:400 11px/1 'DM Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#6C9AFF}
.gh-ledger-dot{width:8px;height:8px;border-radius:50%;background:#4ADE80;animation:gh-pulse 2.2s ease-in-out infinite}
@keyframes gh-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
@media(prefers-reduced-motion:reduce){.gh-ledger-dot{animation:none}}
.gh-lrow{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px dashed rgba(108,154,255,.18)}
.gh-lrow:last-of-type{border-bottom:none}
.gh-lrow-label{font:400 11px/1 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#8FA7E8}
.gh-lrow-val{font:400 16px 'DM Mono',monospace;color:#fff;font-variant-numeric:tabular-nums}
.gh-lrow-val--date{color:#F2C14E}
.gh-ledger-foot{font:400 10px 'DM Mono',monospace;color:#5A6A94;margin-top:12px}

/* ROUTE LINE */
.gh-route{height:56px;position:relative;margin:32px 0 24px}
.gh-route-track{position:absolute;top:50%;left:14px;right:14px;height:4px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#2749D6 0 14px,transparent 14px 24px)}
.gh-route-dots{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;transform:translateY(-50%)}
.gh-rdot{width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid #2749D6;flex-shrink:0}
.gh-rdot--end{background:#2749D6}
.gh-route-label-left{position:absolute;bottom:0;left:0;font:400 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#5A6172;white-space:nowrap}
.gh-route-label-right{position:absolute;bottom:0;right:0;font:400 10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#5A6172;white-space:nowrap}

/* TOOLS ROW */
.gh-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.gh-tool-label{font:400 11px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#8A94AC;margin-bottom:8px}

/* PACK GRID */
.gh-pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.gh-pack{background:#fff;border:1px solid #E3E1DA;border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;text-decoration:none;transition:transform .15s,border-color .15s}
.gh-pack:hover{transform:translateY(-2px);border-color:#2749D6}
.gh-pack-num{text-align:center}
.gh-pack-num-label{font:400 10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#8A94AC;display:block}
.gh-pack-num-val{font:800 16px 'Archivo',sans-serif;color:#0E1B3A;display:block}
.gh-pack-name{font:700 14px 'Archivo',sans-serif;color:#0E1B3A;display:block}
.gh-pack-range{font:400 11px 'DM Mono',monospace;color:#5A6172;display:block;margin-top:2px}
.gh-pack--hard{border-left:3px solid #C13A52}
.gh-pack--hard .gh-pack-num-label{color:#C13A52}
.gh-pack--hard .gh-pack-num-val{color:#C13A52}

/* MODE CARDS */
.gh-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.gh-mode-card{background:#fff;border:1px solid #E3E1DA;border-radius:12px;padding:16px 18px;border-left:3px solid #E3E1DA;text-decoration:none;display:block;transition:border-color .15s}
.gh-mode-card:hover{border-color:#2749D6}
.gh-mode-card--endless{border-left-color:#F2C14E}
.gh-mode-card--logic{border-left-color:#7A5CD6}
.gh-mode-name{font:700 15px 'Archivo',sans-serif;color:#0E1B3A;display:block}
.gh-mode-meta{font:400 11px 'DM Mono',monospace;color:#5A6172;margin-top:4px;display:block}

/* DAILY TILES */
.ps-daily-tile--theme{border-top:4px solid #2749D6}
.ps-daily-tile--mini{border-top:4px solid #2E9E6B}
.ps-daily-tile--trivia{border-top:4px solid #7A5CD6}
.ps-daily-tile-date{font:400 18px 'DM Mono',monospace;color:#0E1B3A;margin-bottom:6px;display:block}
.ps-daily-tile-count{font-size:13px;color:#6B7280;margin-top:4px;display:block}
.ps-daily-btn{display:inline-block;margin-top:12px;color:#fff;font:700 14px 'Karla',sans-serif;border-radius:8px;padding:9px 16px;text-decoration:none}
.ps-daily-btn--theme{background:#2749D6}
.ps-daily-btn--mini{background:#2E9E6B}
.ps-daily-btn--trivia{background:#7A5CD6}

/* BAND RHYTHM */
.band-wash{background:#F8F9FC}
.gh-section{padding:40px 0}

/* RANGE CARD TEASER */
.ps-range-card .range-teaser{font:400 11px 'DM Mono',monospace;color:#5A6172;margin-top:4px;display:block}
.ps-range-card--endless{border-left:3px solid #F2C14E}
.ps-range-card--endless .range-tag{color:#B8860B}
.ps-range-card:hover{transform:translateY(-3px)}

/* FAQ Q marker */
.ps-faq details summary::before{content:'Q';font:400 11px 'DM Mono',monospace;color:#2749D6;border:1.5px solid #2749D6;border-radius:6px;padding:1px 6px;margin-right:8px;transform:rotate(-4deg);display:inline-block}
details[open] summary{color:#2749D6}

/* RESPONSIVE */
@media(max-width:860px){.gh-hero-grid{grid-template-columns:1fr}.gh-ledger{margin-top:24px}}
@media(max-width:720px){.gh-tools{grid-template-columns:1fr}.gh-mode-row{grid-template-columns:1fr}}
@media(max-width:480px){.gh-pack-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* DARK VARIANTS */
[data-theme=dark] .gh-pack{background:#16213A;border-color:#2A3A5F;color:#E8EDF8}
[data-theme=dark] .gh-pack-name,[data-theme=dark] .gh-pack-num-val{color:#E8EDF8}
[data-theme=dark] .gh-mode-card{background:#16213A;border-color:#2A3A5F}
[data-theme=dark] .gh-mode-name{color:#E8EDF8}
[data-theme=dark] .gh-route-label-left,[data-theme=dark] .gh-route-label-right{color:#8FA7E8}
[data-theme=dark] .gh-rdot{background:#1A2440;border-color:#6C9AFF}
[data-theme=dark] .ps-daily-tile{background:#16213A;border-color:#2A3A5F}
[data-theme=dark] .ps-daily-tile-date{color:#E8EDF8}
[data-theme=dark] .band-wash{background:#111827}

/* PS-WC-VISUAL-3 utility classes 2026-07-25 */
.gh-tool-label--journey{margin-bottom:10px}
.gh-tool-label--hard{margin:24px 0 10px;color:#C13A52}
.gh-pack-filter{max-width:280px;display:block;margin-bottom:16px}
.gh-range-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gh-daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.gh-daily-latest{font-size:13px;color:#5A6172;margin:6px 0 0}
.gh-archive-link{margin-top:12px}
.gh-faq-wrap{max-width:720px}
.gh-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:16px}

/* PS-WC-4 2026-07-25 */

/* === A3a HERO UPGRADE === */
.gh-ghost {
  position: absolute;
  right: 400px;
  bottom: -18px;
  font: 900 clamp(120px,16vw,190px)/1 'Archivo',sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px rgba(108,154,255,.14);
  content: "13164";
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
@media(max-width:999px){.gh-ghost{display:none}}
.gh-cta-row {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.gh-cta-primary {
  display: inline-flex;
  align-items: center;
  background: #2749D6;
  color: #fff;
  font: 700 15px 'Karla',sans-serif;
  border-radius: 10px;
  padding: 12px 22px;
  text-decoration: none;
  transition: filter .15s;
}
.gh-cta-primary:hover { filter: brightness(1.1); }
.gh-cta-ghost {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid rgba(255,255,255,.35);
  color: #DCE5FA;
  font: 700 15px 'Karla',sans-serif;
  border-radius: 10px;
  padding: 12px 22px;
  text-decoration: none;
  transition: background .15s;
}
.gh-cta-ghost:hover { background: rgba(255,255,255,.08); }

/* === A3b ROUTE STRIP v2 === */
.gh-route-card {
  background: #fff;
  border: 1px solid #E3E1DA;
  border-radius: 14px;
  padding: 22px 26px 30px;
  margin-top: -34px;
  position: relative;
  z-index: 2;
  box-shadow: 0 10px 30px rgba(14,27,58,.10);
}
.gh-route-card-labels {
  display: flex;
  justify-content: space-between;
  font: 400 10px 'DM Mono',monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.gh-route-card-labels .lbl-left { color: #8A94AC; }
.gh-route-card-labels .lbl-right { color: #B8860B; }
.gh-route-track-v2 {
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2749D6 0 21%, #F2C14E 21% 100%);
  position: relative;
  margin-bottom: 8px;
}
.gh-route-stations {
  position: relative;
  height: 16px;
}
.gh-route-stations .st {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #2749D6;
  top: 2px;
  transform: translateX(-50%);
}
.gh-route-stations .st--cap {
  width: 16px;
  height: 16px;
  background: #2749D6;
  top: 0;
}
.gh-route-endpoints {
  display: flex;
  justify-content: space-between;
  font: 400 10px 'DM Mono',monospace;
  color: #5A6172;
  margin-top: 4px;
}
[data-theme=dark] .gh-route-card { background: #16213A; border-color: #2A3A5F; }

/* === A3c SECTION HEADERS v2 === */
.gh-section h2 { font: 900 26px 'Archivo',sans-serif; }
.ps-accent-bar { width: 44px; height: 4px; border-radius: 2px; background: #2749D6; margin: 8px 0 20px; }
.ps-accent-bar--amber { background: #B8860B; }
.ps-accent-bar--green { background: #2E9E6B; }
.ps-accent-bar--muted { background: #5A6172; }
.ps-accent-bar--purple { background: #7A5CD6; }
.gh-section .sec-kicker--packs { color: #2749D6; }
.gh-section .sec-kicker--range { color: #B8860B; }
.gh-section .sec-kicker--daily { color: #2E9E6B; }
.gh-section .sec-kicker--about { color: #5A6172; }
.gh-section .sec-kicker--faq { color: #7A5CD6; }

/* === A3d RANGE CARDS v3 === */
.ps-range-card--journey { border-left: 3px solid #2749D6; }
.ps-range-card--mixed { border-left: 3px solid #8A5CD6; }
.ps-range-card--endless { border-left: 3px solid #F2C14E; }
.range-pos {
  height: 4px;
  background: #EEF1F8;
  border-radius: 999px;
  margin-top: 10px;
  overflow: hidden;
}
.range-pos-fill { height: 100%; border-radius: 999px; background: #2749D6; }
.ps-range-card--endless .range-pos-fill { background: #F2C14E; }
.ps-range-card--mixed .range-pos-fill { background: #8A5CD6; }
.ps-range-card--journey:hover { border-color: #2749D6; }
.ps-range-card--mixed:hover { border-color: #8A5CD6; }
.ps-range-card--endless:hover { border-color: #F2C14E; }
[data-theme=dark] .range-pos { background: #1A2440; }

/* === A3e STEP STRIP === */
.gh-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin: 32px 0;
}
@media(max-width:720px){.gh-steps{grid-template-columns:1fr}}
.gh-step-card {
  background: #fff;
  border: 1px solid #E3E1DA;
  border-radius: 12px;
  padding: 18px;
}
.gh-step-num {
  font: 900 22px 'Archivo',sans-serif;
  color: #2749D6;
  margin-bottom: 6px;
}
.gh-step-title {
  font: 700 15px 'Karla',sans-serif;
  color: #1B2338;
  margin-bottom: 4px;
}
.gh-step-desc {
  font-size: 13px;
  color: #5A6172;
  line-height: 1.5;
}
[data-theme=dark] .gh-step-card { background: #16213A; border-color: #2A3A5F; }
[data-theme=dark] .gh-step-title { color: #E8EDF8; }

/* === A3f DAILY TILES v2 === */
.ps-daily-tile { position: relative; overflow: hidden; }
.dt-day {
  font: 900 34px 'Archivo',sans-serif;
  line-height: 1;
}
.dt-month {
  font: 400 12px 'DM Mono',monospace;
  text-transform: uppercase;
  color: #5A6172;
}
.ps-daily-tile--theme .dt-day { color: #2749D6; }
.ps-daily-tile--mini .dt-day { color: #2E9E6B; }
.ps-daily-tile--trivia .dt-day { color: #7A5CD6; }

/* End PS-WC-4 2026-07-25 */


/* ===== PS-HOME-V2-1 BOLDER + TICKER + HERO-LEDGER =====
   Applied 2026-07-28. Overrides cascade above earlier rules. */

/* -- Bolder section titles (global upgrade) -------------------------------- */
.sec-title {
  font-family: 'Archivo', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.7rem, 3.4vw, 2.7rem);
  letter-spacing: -.01em;
  line-height: 1.05;
}
.sec-title::after {
  content: '';
  display: block;
  width: 74px;
  height: 5px;
  background: #E0312E;
  border-radius: 3px;
  margin-top: 8px;
}

/* -- Heavier sec-kicker (DM Mono, /// format) ------------------------------ */
.sec-kicker {
  display: block;
  font-family: 'DM Mono', monospace;
  font-size: .78rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--ps-mut);
  margin-bottom: 6px;
}
.sec-kicker--red { color: #E0312E; }
.sec-kicker--word { color: #1F9D61; }
.sec-kicker--clue { color: #2749D6; }
.sec-kicker--grid { color: #E8912B; }
.sec-kicker--daily { color: #7A3BD8; }

/* -- More section whitespace ----------------------------------------------- */
main > section + section { margin-top: 64px; }
main > section.band-wash,
main > section.band-ink { margin-top: 0; padding-block: 64px; }
main > section.band-wash + section,
main > section.band-ink + section { margin-top: 64px; }
main > section.band-wash + section.band-wash,
main > section.band-ink + section.band-ink { margin-top: 0; }
@media (max-width: 640px) {
  main > section + section { margin-top: 40px; }
  main > section.band-wash,
  main > section.band-ink { padding-block: 40px; }
  main > section.band-wash + section,
  main > section.band-ink + section { margin-top: 40px; }
}

/* -- Stat numerals: DM Mono ------------------------------------------------ */
.stat-num, .sb-num, .fact-num, .ls-num {
  font-family: 'DM Mono', monospace;
  font-weight: 500;
}
.stat-num { font-size: clamp(2rem, 3.6vw, 3rem); }
.sb-num   { font-size: clamp(1.8rem, 3.2vw, 2.6rem); color: #141B2D; }
.fact-num { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.ls-num   { font-size: clamp(1.1rem, 2vw, 1.4rem); }

/* -- Stronger card borders -------------------------------------------------- */
.card, .glance-col, .dev-card, .locale-card, .gc-card, .tactic-card,
.gloss-item, .comment-card, .stat-cell, .answer-block, .today-card {
  border: 1px solid var(--line);
  box-shadow: 0 1px 2px rgba(14,27,58,.04), 0 8px 28px rgba(14,27,58,.09);
}
a.gc-card:hover, a.locale-card:hover, a.today-card:hover,
.dev-card:hover, .tactic-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(14,27,58,.08), 0 16px 40px rgba(14,27,58,.14);
  border-color: #2749D6;
}

/* ===== HERO V2 ============================================================ */
.hero--v2 { padding-block: 80px 64px; }
.hero-inner--split {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 48px;
  align-items: start;
}
.hero-h1--v2 {
  font-family: 'Archivo', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(2.8rem, 7vw, 6rem);
  line-height: .98;
  letter-spacing: -.02em;
  color: #141B2D;
  margin: 16px 0 20px;
}
.hero-dim { color: var(--ps-mut); }
.hero-solved-wrap { display: inline-block; position: relative; }
.kicker--hero {
  font-family: 'DM Mono', monospace;
  font-size: .8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #E0312E;
}
.btn-red { background: #E0312E; border-color: #E0312E; }
.btn-red:hover { background: #A5161F; border-color: #A5161F; }

/* Hero category chips */
.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1.5px solid currentColor;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}
.hero-chip--word  { color: #1F9D61; }
.hero-chip--clue  { color: #2749D6; }
.hero-chip--grid  { color: #E8912B; }
.hero-chip--daily { color: #7A3BD8; }
.hero-chip:hover  { background: rgba(0,0,0,.04); }
.chip-num {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: .9em;
}

/* Live ledger panel */
.hero-ledger {
  background: #141B2D;
  border-radius: 14px;
  padding: 24px;
  color: #E9ECF3;
  font-family: 'DM Mono', monospace;
  font-size: .78rem;
  position: sticky;
  top: 24px;
}
.ledger-log { margin-bottom: 20px; }
.ledger-line { margin: 0 0 8px; line-height: 1.4; }
.ledger-ok   { color: #1F9D61; margin-right: 8px; }
.ledger-next { color: #E8912B; margin-right: 8px; }
.ledger-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 16px;
}
.ls-cell { display: flex; flex-direction: column; gap: 2px; }
.ls-num  { color: #fff; }
.ls-cap  { color: #98A3B8; font-size: .72rem; }

@media (max-width: 900px) {
  .hero-inner--split { grid-template-columns: 1fr; }
  .hero-ledger { position: static; }
  .hero--v2 { padding-block: 56px 48px; }
}

/* ===== SOLVED-TODAY TICKER ================================================ */
.ticker-band {
  background: #0F1626;
  color: #E9ECF3;
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 44px;
  gap: 0;
}
.ticker-tag {
  flex-shrink: 0;
  background: #E0312E;
  color: #fff;
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 0 14px;
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.ticker-wrap {
  flex: 1;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.ticker-inner {
  display: flex;
  gap: 0;
  white-space: nowrap;
  animation: ticker-scroll 60s linear infinite;
}
.ticker-band:hover .ticker-inner { animation-play-state: paused; }
@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 28px;
  font-size: .8rem;
}
.ticker-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.ticker-dot--word  { background: #1F9D61; }
.ticker-dot--clue  { background: #2749D6; }
.ticker-dot--grid  { background: #E8912B; }
.ticker-dot--daily { background: #7A3BD8; }
.ticker-date { color: #98A3B8; font-family: 'DM Mono', monospace; font-size: .72rem; }
.ticker-game { color: #E9ECF3; text-decoration: none; font-weight: 600; }
.ticker-game:hover { text-decoration: underline; color: #fff; }
.ticker-sep  { color: #4A556A; }
.ticker-count { color: #98A3B8; font-family: 'DM Mono', monospace; font-size: .72rem; }

/* ===== STAT BAND ========================================================== */
.statband { background: #F4F2EC; border-top: 1px solid #DCD8CD; border-bottom: 1px solid #DCD8CD; }
.statband-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.statband-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  border-right: 1px solid #DCD8CD;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.statband-cell:last-child { border-right: none; }
.statband-cell--red::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  background: #E0312E;
}
.sb-cap {
  font-size: .76rem;
  color: var(--ps-mut);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: 4px;
}
@media (max-width: 640px) {
  .statband-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statband-cell { border-bottom: 1px solid #DCD8CD; }
}

/* ===== G-CARD ADDITIONS ================================================== */
.g-daily-dot {
  position: absolute;
  top: 4px; right: 4px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #E0312E;
}
.g-count--fresh { color: #1F9D61; font-weight: 600; }

/* ===== GLOSS + TACTICS COMBINED (block 10) ================================ */
.gloss-tactics-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 40px;
}
.sub-section-title {
  font-family: 'Archivo', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #141B2D;
  margin: 0 0 16px;
}
.gloss-list-compact { display: flex; flex-direction: column; gap: 10px; }
.tactics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 900px) {
  .gloss-tactics-row { grid-template-columns: 1fr; }
  .tactics-grid { grid-template-columns: 1fr; }
}

/* -- Red howto numerals ---------------------------------------------------- */
.howto-num--red {
  background: #E0312E;
  color: #fff;
  border-color: #E0312E;
}

/* ===== DARK MODE ADDITIONS =============================================== */
[data-theme=dark] .hero--v2 .hero-h1--v2 { color: #E9ECF3; }
[data-theme=dark] .hero-dim { color: #6B7890; }
[data-theme=dark] .statband { background: #182136; border-color: #2B3550; }
[data-theme=dark] .statband-cell { border-color: #2B3550; }
[data-theme=dark] .sb-num { color: #E9ECF3; }
[data-theme=dark] .ticker-band { background: #0D1321; }
[data-theme=dark] .hero-ledger { background: #0D1321; }
[data-theme=dark] .sub-section-title { color: #E9ECF3; }
[data-theme=dark] .sec-title { color: #E9ECF3; }
/* ===== END PS-HOME-V2-1 ================================================== */

/* ===== PS-WORDCRAZE-G4-HUB-1 CSS 2026-07-29 =====
   Appended to ps-premium.css. All wc-* tokens + components. */

/* ── STEP 3: TOKEN LAYER ─────────────────────────────────────────────────── */
:root {
  --wc-clue:      #2749D6;
  --wc-clue-tint: #EAEEFB;
  --wc-sig:       #E0312E;
  --wc-ink:       #141B2D;
  --wc-ink-2:     #33405A;
  --wc-mut:       #5B6478;
  --wc-paper:     #F7F5F0;
  --wc-panel:     #FFFFFF;
  --wc-line:      #E7E3DA;
}

/* SVG signature underline */
.wc-sig {
  display: block;
  margin: 6px 0 20px;
}

/* H1 strike-through accent */
.wc-h1-strike {
  position: relative;
  white-space: nowrap;
}
.wc-h1-strike::after {
  content: "";
  position: absolute;
  left: -2%; right: -2%;
  bottom: .12em;
  height: .14em;
  border-radius: 2px;
  background: var(--wc-sig);
  transform: rotate(-1.2deg);
}

/* ── STEP 6: COMPONENT LAYER ─────────────────────────────────────────────── */

/* Card/panel base */
.wc-lede, .wc-card {
  background: var(--wc-panel);
  border: 1px solid var(--wc-line);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 2px rgba(16,24,43,.04), 0 8px 24px rgba(16,24,43,.06);
}
.wc-lede {
  font-size: 1.08rem;
  line-height: 1.65;
  color: var(--wc-ink-2);
  border-left: 4px solid var(--wc-sig);
}

/* How-to-play: 3-step row */
.wc-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0 20px;
}
.wc-step {
  background: var(--wc-panel);
  border: 1px solid var(--wc-line);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(16,24,43,.04);
}
.wc-step-n {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--wc-sig);
  line-height: 1;
  margin-bottom: 10px;
}
.wc-step h3 {
  font-size: .98rem;
  font-weight: 700;
  color: var(--wc-ink);
  margin: 0 0 8px;
  text-transform: none;
  letter-spacing: 0;
}
.wc-step p { margin: 0; font-size: .9rem; color: var(--wc-ink-2); }
@media (max-width: 700px) { .wc-steps { grid-template-columns: 1fr; } }

/* EIFFEL demo */
.wc-demo {
  display: inline-flex;
  gap: 4px;
  margin: 16px 0 6px;
}
.wc-demo span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 44px;
  border: 2px solid var(--wc-clue);
  border-radius: 6px;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--wc-ink);
  background: var(--wc-clue-tint);
}
.wc-demo span.x {
  background: #FFEAEA;
  border-color: var(--wc-sig);
  color: var(--wc-sig);
}
.wc-demo-cap { font-size: .8rem; color: var(--wc-mut); margin: 0; }

/* Tips list */
.wc-tips { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.wc-tip {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--wc-panel);
  border: 1px solid var(--wc-line);
  border-radius: 10px;
  padding: 16px 18px;
}
.wc-tip-n {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--wc-sig);
  flex-shrink: 0;
  min-width: 28px;
  line-height: 1.5;
}
.wc-tip p { margin: 0; font-size: .92rem; color: var(--wc-ink-2); }

/* Find-your-answer scenarios */
.wc-scenario {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--wc-line);
  border-radius: 10px;
  background: var(--wc-panel);
  text-decoration: none;
  color: var(--wc-ink-2);
  margin-bottom: 10px;
  transition: border-color .15s, box-shadow .15s;
}
.wc-scenario:hover { border-color: var(--wc-clue); box-shadow: 0 2px 8px rgba(39,73,214,.08); }
.wc-scenario:last-child { margin-bottom: 0; }
.wc-scenario-ic {
  flex-shrink: 0;
  width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--wc-clue-tint);
  color: var(--wc-clue);
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: 1rem;
}

/* By-the-numbers stat grid */
.wc-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.wc-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--wc-panel);
  border: 1px solid var(--wc-line);
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
}
.wc-stat-val {
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--wc-clue);
  line-height: 1;
}
.wc-stat-cap { font-size: .78rem; color: var(--wc-mut); text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 700px) { .wc-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 400px) { .wc-stats { grid-template-columns: 1fr; } }

/* Facts / tiers table */
.wc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
  margin-top: 20px;
  border: 1px solid var(--wc-line);
  border-radius: 10px;
  overflow: hidden;
}
.wc-table thead tr { background: var(--wc-paper); }
.wc-table th {
  padding: 10px 14px;
  text-align: left;
  font-family: 'DM Mono', monospace;
  font-size: .76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--wc-mut);
  border-bottom: 1px solid var(--wc-line);
}
.wc-table td {
  padding: 9px 14px;
  border-bottom: 1px solid var(--wc-line);
  color: var(--wc-ink-2);
}
.wc-table tbody tr:last-child td { border-bottom: none; }
.wc-table td.num {
  font-family: 'DM Mono', monospace;
  font-weight: 600;
  color: var(--wc-ink);
}

/* Journey tier sub-heading + note */
.wc-tier-h3 {
  margin: 28px 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--wc-ink);
  font-family: 'Archivo', sans-serif;
  text-transform: none;
  letter-spacing: 0;
}
.wc-tier-note {
  font-size: .9rem;
  color: var(--wc-mut);
  margin: 0 0 12px;
}

/* Byline row */
.wc-byline {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--wc-line);
  margin: 32px 0 0;
  font-size: .88rem;
  color: var(--wc-mut);
}
.wc-byline a { color: var(--wc-clue); text-decoration: none; }
.wc-byline a:hover { text-decoration: underline; }
.wc-byline-av {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--wc-clue);
  color: #fff;
  font-family: 'DM Mono', monospace;
  font-weight: 700;
  font-size: .8rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

/* Coming-soon muted text */
.wc-coming-soon {
  font-size: .88rem;
  color: var(--wc-mut);
  font-style: italic;
  margin: 8px 0;
}

/* Focus rings */
.wc-scenario:focus-visible,
.wc-tip:focus-visible {
  outline: 2px solid var(--wc-clue);
  outline-offset: 2px;
}

/* ── DARK MODE ─────────────────────────────────────────────────────────────── */
[data-theme=dark] {
  --wc-ink:   #E9ECF3;
  --wc-ink-2: #B8C2D8;
  --wc-mut:   #7A8AA8;
  --wc-paper: #182136;
  --wc-panel: #1E2A3E;
  --wc-line:  #2B3550;
  --wc-clue-tint: #1E2A4E;
}
[data-theme=dark] .wc-step h3 { color: #E9ECF3; }
[data-theme=dark] .wc-tier-h3 { color: #E9ECF3; }
[data-theme=dark] .wc-table thead tr { background: #243045; }
[data-theme=dark] .wc-table th { color: #7A8AA8; }
[data-theme=dark] .wc-table td { color: #B8C2D8; }
[data-theme=dark] .wc-table td.num { color: #E9ECF3; }
/* ===== END PS-WORDCRAZE-G4-HUB-1 CSS ===== */

/* ===== PS-WORDCRAZE-G4-HUB-2 CSS 2026-07-29 ===== */

/* STEP 1: breadcrumb pill */
.crumbs { margin: 0; }
.crumbs .wrap { padding-top: 14px; padding-bottom: 0; }
.crumb-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  font: 500 12.5px/1 'DM Mono', monospace;
}
.crumb {
  display: inline-flex;
  align-items: center;
  background: var(--wc-clue-tint);
  color: var(--wc-clue);
  border-radius: 999px;
  padding: 5px 12px;
}
.crumb + .crumb::before { content: ""; width: 0; }
.crumb a { color: var(--wc-clue); text-decoration: none; }
.crumb[aria-current] { background: var(--wc-clue); color: #fff; }
.gh-hero { padding-top: 18px; }

/* STEP 2a: section rhythm */
.gh-section { padding-block: clamp(32px, 5vw, 56px); }
.gh-section:not(.band-wash) + .gh-section:not(.band-wash) {
  border-top: 1px solid var(--wc-line);
}

/* STEP 2c/2e: two-column info row */
.wc-inforow {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 860px) {
  .wc-inforow { grid-template-columns: 1fr; }
}

/* STEP 2d: byline inside method card */
.wc-byline {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--wc-line);
}

/* By-the-numbers intro paragraph */
.wc-numbers-intro {
  font-size: .9rem;
  color: var(--wc-ink-2);
  line-height: 1.6;
  margin: 0 0 16px;
}

/* Compact stat grid (right column) */
.wc-stats--compact { grid-template-columns: 1fr 1fr; }
@media (max-width: 500px) { .wc-stats--compact { grid-template-columns: 1fr; } }

/* STEP 6c: DM Mono numerals in chips */
.gh-chip .num { font-family: 'DM Mono', monospace; font-weight: 700; }

/* STEP 7: H2 identity */
.gh-section h2 {
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--wc-ink);
}

/* Dark mode breadcrumb */
[data-theme=dark] .crumb { background: var(--wc-clue-tint); }
[data-theme=dark] .crumb[aria-current] { background: var(--wc-clue); color: #fff; }
[data-theme=dark] .gh-section:not(.band-wash) + .gh-section:not(.band-wash) {
  border-top-color: var(--wc-line);
}
/* ===== END PS-WORDCRAZE-G4-HUB-2 CSS ===== */

/* ===== PS-WORDCRAZE-G4-HUB-3 CSS 2026-07-29 ===== */

/* STEP 3a: global rhythm */
.gh-section { padding-block: clamp(26px, 3vw, 40px); min-height: 0; }
.gh-hero {
  padding-top:    clamp(20px, 3vw, 36px);
  padding-bottom: clamp(18px, 2.4vw, 30px);
}

/* STEP 3b: route/tools dead-band kill */
.gh-route { margin: 0 0 18px; }
.gh-route-track { margin: 0; }
.gh-tools { margin-top: 14px; gap: 20px; align-items: end; }
#hub-search-results:empty { display: none; }

/* STEP 3c: card + grid tightening */
.wc-card { padding: 22px; }
@media (max-width: 760px) { .wc-card { padding: 18px; } }
.gh-pack-grid  { gap: 10px; }
.gh-range-grid { gap: 12px; }
.wc-steps { gap: 14px; margin-top: 14px; }
.wc-tips  { gap: 10px; margin-top: 14px; }
.wc-scenario  { padding: 12px 14px; margin-top: 10px; }
.wc-stats     { gap: 12px; margin-top: 14px; }
.about-prose p { margin: 0 0 12px; }
h2 { margin: 0 0 4px; }
.wc-sig { margin: 4px 0 16px; }

/* STEP 3d: two-column density */
.wc-inforow { grid-template-columns: 1.1fr .9fr; gap: 22px; }
@media (max-width: 860px) { .wc-inforow { grid-template-columns: 1fr; gap: 18px; } }

/* STEP 3e: visible block boundaries */
.gh-section:not(.band-wash) + .gh-section:not(.band-wash) {
  border-top: 1px solid var(--wc-line);
}

/* STEP 4: H2 identity */
.gh-section h2 {
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--wc-ink);
}

/* DM Mono for chip numbers */
.gh-chip .num { font-family: 'DM Mono', monospace; font-weight: 700; }

/* Dark mode border */
[data-theme=dark] .gh-section:not(.band-wash) + .gh-section:not(.band-wash) {
  border-top-color: var(--wc-line);
}
/* ===== END PS-WORDCRAZE-G4-HUB-3 CSS ===== */

/* ================================================================
   PS-WC-HUB-DENSITY-2  |  hard density layer (!important, wins all)
   Kills inter-block gaps at every source: section padding, section
   margins, .wrap padding, first/last child margins, heading margins.
   Theme-safe (light + dark).
   ================================================================ */

/* 1. SECTION SHELL - the main gap source ---------------------- */
section.gh-section,
section.gh-hero{
  margin:0 !important;
  padding-top:30px !important;
  padding-bottom:30px !important;
}
section.gh-hero{
  padding-top:26px !important;
  padding-bottom:22px !important;
}
.gh-section + .gh-section{ margin-top:0 !important; }
main > section + section{ margin-top:0 !important; }

/* 2. INNER .wrap - strip its own vertical padding ------------- */
.gh-section > .wrap,
.gh-hero > .wrap{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* 3. KILL FIRST/LAST CHILD MARGINS INSIDE EACH BLOCK --------- */
.gh-section > .wrap > *:first-child,
.gh-hero > .wrap > *:first-child{ margin-top:0 !important; }
.gh-section > .wrap > *:last-child,
.gh-hero > .wrap > *:last-child{ margin-bottom:0 !important; }

/* 4. HEADING / KICKER / SIG - collapse the stacked whitespace */
.sec-kicker{ margin:0 0 6px !important; font-weight:800 !important; letter-spacing:0.14em !important; }
.gh-section h2{ margin:0 0 6px !important; font-weight:900 !important; letter-spacing:-0.015em !important; line-height:1.12 !important; font-size:1.7rem !important; }
.gh-section h3{ margin:16px 0 8px !important; font-weight:800 !important; }
.wc-sig{ margin:2px 0 14px !important; }
.gh-section p{ margin-top:0 !important; }

/* 5. GRID / CHIP / TOOL GAPS --------------------------------- */
.gh-pack-grid{ gap:10px !important; margin-top:14px !important; }
.cards-grid,
.gh-range-grid,
.gh-related-grid,
.gh-daily-grid{ gap:12px !important; margin-top:14px !important; }
.gh-mode-row{ gap:12px !important; margin-bottom:14px !important; }
.gh-chips{ gap:8px !important; margin-top:14px !important; }
.gh-tools{ gap:16px !important; margin-top:16px !important; }
.gh-hero-grid{ gap:26px !important; }
.gh-hero-sub{ margin-top:12px !important; }
.wc-inforow{ gap:22px !important; }
.gh-tool-label{ margin:16px 0 8px !important; }

/* 6. HERO H1 + "ANSWERS" HIGHLIGHT (kill strikethrough) ------ */
.gh-hero h1{ font-weight:900 !important; letter-spacing:-0.02em !important; line-height:1.08 !important; margin-bottom:0 !important; }
.wc-h1-strike{
  text-decoration:none !important;
  background-image:linear-gradient(var(--wc-sig,#E8A33D), var(--wc-sig,#E8A33D)) !important;
  background-repeat:no-repeat !important;
  background-position:0 88% !important;
  background-size:100% 0.30em !important;
  padding:0 0.04em !important;
}

/* 7. CRISPER BLOCKS + BOLDER LABELS -------------------------- */
.gh-pack{
  border:2px solid rgba(20,27,45,0.12) !important;
  border-radius:12px !important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.gh-pack:hover{
  transform:translateY(-2px);
  border-color:#141B2D !important;
  box-shadow:0 6px 18px rgba(20,27,45,0.14) !important;
}
.ps-range-card,.card{ border-width:2px !important; transition:transform .12s ease, box-shadow .12s ease; }
.ps-range-card:hover,.card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(20,27,45,0.14) !important; }
.gh-pack-name,.range-label,.card-name,.gh-mode-name{ font-weight:800 !important; }
.gh-lrow-val,.wc-stat-val,.gh-chip .num,.wc-table th{ font-weight:800 !important; }

/* 8. TABLES / TIP LISTS - tighten -------------------------- */
.wc-table{ margin-top:14px !important; }
.wc-tips,.wc-steps{ margin-top:14px !important; }

/* 9. DARK-MODE PARITY --------------------------------------- */
[data-theme="dark"] .gh-pack{ border-color:rgba(255,255,255,0.14) !important; }
[data-theme="dark"] .gh-pack:hover{ border-color:rgba(255,255,255,0.5) !important; box-shadow:0 6px 18px rgba(0,0,0,0.45) !important; }
[data-theme="dark"] .ps-range-card:hover,
[data-theme="dark"] .card:hover{ box-shadow:0 6px 18px rgba(0,0,0,0.45) !important; }

/* 10. MOBILE - even tighter --------------------------------- */
@media (max-width:640px){
  section.gh-section{ padding-top:22px !important; padding-bottom:22px !important; }
  section.gh-hero{ padding-top:18px !important; padding-bottom:16px !important; }
  .gh-section h2{ font-size:1.38rem !important; }
  .gh-hero-grid{ gap:18px !important; }
  .wc-inforow{ gap:16px !important; }
}
/* ============ end PS-WC-HUB-DENSITY-2 ============ */

/* ================================================================
   PS-WC-HUB-DENSITY-3  |  hard compaction, !important, wins all.
   ================================================================ */
section.gh-section,section.gh-hero{ margin:0 !important; padding-top:26px !important; padding-bottom:26px !important; }
section.gh-hero{ padding-top:22px !important; padding-bottom:20px !important; }
main > section + section{ margin-top:0 !important; }
.gh-section > .wrap,.gh-hero > .wrap{ padding-top:0 !important; padding-bottom:0 !important; }
.gh-section > .wrap > *:first-child,.gh-hero > .wrap > *:first-child{ margin-top:0 !important; }
.gh-section > .wrap > *:last-child,.gh-hero > .wrap > *:last-child{ margin-bottom:0 !important; }
.sec-kicker{ margin:0 0 5px !important; font-weight:800 !important; letter-spacing:0.14em !important; }
.gh-section h2{ margin:0 0 5px !important; font-weight:900 !important; letter-spacing:-0.015em !important; line-height:1.1 !important; font-size:1.7rem !important; }
.gh-section h3{ margin:14px 0 7px !important; font-weight:800 !important; }
.wc-sig{ margin:2px 0 12px !important; }
.gh-section > .wrap > p,.gh-section .about-prose p{ margin-top:0 !important; }
.gh-pack-grid{ gap:9px !important; margin-top:12px !important; }
.cards-grid,.gh-range-grid,.gh-related-grid,.gh-daily-grid{ gap:11px !important; margin-top:12px !important; }
.gh-mode-row{ gap:11px !important; margin-bottom:12px !important; }
.gh-chips{ gap:8px !important; margin-top:12px !important; }
.gh-tools{ gap:15px !important; margin-top:14px !important; }
.gh-hero-grid{ gap:24px !important; }
.gh-hero-sub{ margin-top:10px !important; margin-bottom:0 !important; }
.wc-inforow{ gap:20px !important; }
.gh-tool-label{ margin:14px 0 7px !important; }
.gh-route{ margin-bottom:14px !important; }
.wc-table{ margin-top:12px !important; margin-bottom:0 !important; }
.wc-tips,.wc-steps{ margin-top:12px !important; }
.wc-demo{ margin-top:12px !important; }
.gh-hero h1{ font-weight:900 !important; letter-spacing:-0.02em !important; line-height:1.06 !important; margin:0 0 2px !important; }
.wc-h1-strike{ text-decoration:none !important; background-image:linear-gradient(var(--wc-sig,#E8A33D),var(--wc-sig,#E8A33D)) !important; background-repeat:no-repeat !important; background-position:0 88% !important; background-size:100% 0.30em !important; padding:0 0.04em !important; }
.gh-pack{ border:2px solid rgba(20,27,45,0.12) !important; border-radius:12px !important; transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease; }
.gh-pack:hover{ transform:translateY(-2px); border-color:#141B2D !important; box-shadow:0 6px 18px rgba(20,27,45,0.14) !important; }
.ps-range-card,.card{ border-width:2px !important; transition:transform .12s ease,box-shadow .12s ease; }
.ps-range-card:hover,.card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(20,27,45,0.14) !important; }
.gh-pack-name,.range-label,.card-name,.gh-mode-name{ font-weight:800 !important; }
.gh-lrow-val,.wc-stat-val,.gh-chip .num,.wc-table th{ font-weight:800 !important; }
[data-theme=dark] .gh-pack{ border-color:rgba(255,255,255,0.14) !important; }
[data-theme=dark] .gh-pack:hover{ border-color:rgba(255,255,255,0.5) !important; box-shadow:0 6px 18px rgba(0,0,0,0.45) !important; }
[data-theme=dark] .ps-range-card:hover,[data-theme=dark] .card:hover{ box-shadow:0 6px 18px rgba(0,0,0,0.45) !important; }
@media (max-width:640px){ section.gh-section{ padding-top:18px !important; padding-bottom:18px !important; } section.gh-hero{ padding-top:16px !important; padding-bottom:14px !important; } .gh-section h2{ font-size:1.36rem !important; } .gh-hero-grid{ gap:16px !important; } .wc-inforow{ gap:14px !important; } }
/* ============ end PS-WC-HUB-DENSITY-3 ============ */

/* PS-WC-DAILY-LATEST-FIX — gh-daily-latest was originally an <a> button;
   now used as <p> text. Reset button chrome, keep readable text colour. */
.gh-daily-latest{display:block !important;background:none !important;padding:0 !important;border-radius:0 !important;font-weight:400 !important;font-size:13px !important;color:#5A6172 !important;margin:6px 0 0 !important;}
[data-theme=dark] .gh-daily-latest{color:#9BA8C0 !important;}
/* ============ end PS-WC-DAILY-LATEST-FIX ============ */

/* ================================================================
   PS-WC-HUB-FAQ-TIPS-STYLE-1  |  FAQ -> numbered-card design (matches TIPS)
   + Related Games real cards. Appended layer, !important where needed.
   ================================================================ */

/* --- FAQ: turn the details list into numbered cards like .wc-tip --- */
.gh-faq-wrap{
  counter-reset: psfaq !important;
  display:grid !important;
  gap:12px !important;
  margin-top:14px !important;
}
.gh-faq-wrap details{
  counter-increment: psfaq !important;
  position:relative !important;
  border:2px solid rgba(20,27,45,0.12) !important;
  border-radius:14px !important;
  background:var(--wc-panel, #ffffff) !important;
  padding:16px 18px 16px 60px !important;
  margin:0 !important;
  transition:border-color .12s ease, box-shadow .12s ease !important;
}
.gh-faq-wrap details:hover{
  border-color:#141B2D !important;
  box-shadow:0 6px 18px rgba(20,27,45,0.10) !important;
}
/* number badge, mirrors .wc-tip-n */
.gh-faq-wrap details::before{
  content: counter(psfaq, decimal-leading-zero) !important;
  position:absolute !important;
  left:16px !important;
  top:15px !important;
  font-family:DM Mono, ui-monospace, monospace !important;
  font-weight:500 !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  color:var(--wc-sig, #E0312E) !important;
  letter-spacing:0.02em !important;
}
.gh-faq-wrap summary{
  cursor:pointer !important;
  list-style:none !important;
  font-weight:800 !important;
  font-size:1.06rem !important;
  line-height:1.3 !important;
  color:var(--wc-ink, #141B2D) !important;
  padding-right:26px !important;
  position:relative !important;
}
.gh-faq-wrap summary::-webkit-details-marker{ display:none !important; }
/* chevron on the right */
.gh-faq-wrap summary::after{
  content: !important;
  position:absolute !important;
  right:2px !important;
  top:50% !important;
  width:9px !important; height:9px !important;
  border-right:2.5px solid var(--wc-sig, #E0312E) !important;
  border-bottom:2.5px solid var(--wc-sig, #E0312E) !important;
  transform:translateY(-60%) rotate(45deg) !important;
  transition:transform .15s ease !important;
}
.gh-faq-wrap details[open] summary::after{
  transform:translateY(-30%) rotate(-135deg) !important;
}
.gh-faq-wrap .faq-body{
  margin-top:10px !important;
  font-size:0.98rem !important;
  line-height:1.6 !important;
  color:var(--wc-ink-2, #33405A) !important;
}

/* --- Related Games: real cards matching the premium block look --- */
.gh-related-grid .card{
  border:2px solid rgba(20,27,45,0.12) !important;
  border-radius:14px !important;
  padding:18px 20px !important;
  background:var(--wc-panel, #ffffff) !important;
  transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease !important;
}
.gh-related-grid .card:hover{
  transform:translateY(-3px) !important;
  border-color:#141B2D !important;
  box-shadow:0 8px 22px rgba(20,27,45,0.12) !important;
}
.gh-related-grid .card-name{
  font-weight:800 !important;
  font-size:1.1rem !important;
  color:var(--wc-ink, #141B2D) !important;
}
.gh-related-grid .card-meta{
  margin-top:4px !important;
  font-family:DM Mono, ui-monospace, monospace !important;
  font-size:0.85rem !important;
  color:var(--wc-sig, #E0312E) !important;
}

/* --- DARK MODE PARITY --- */
[data-theme=dark] .gh-faq-wrap details{
  border-color:rgba(255,255,255,0.14) !important;
  background:var(--wc-panel, #1a2338) !important;
}
[data-theme=dark] .gh-faq-wrap details:hover{
  border-color:rgba(255,255,255,0.5) !important;
  box-shadow:0 6px 18px rgba(0,0,0,0.45) !important;
}
[data-theme=dark] .gh-related-grid .card{
  border-color:rgba(255,255,255,0.14) !important;
  background:var(--wc-panel, #1a2338) !important;
}
[data-theme=dark] .gh-related-grid .card:hover{
  border-color:rgba(255,255,255,0.5) !important;
  box-shadow:0 8px 22px rgba(0,0,0,0.45) !important;
}

/* --- MOBILE --- */
@media (max-width:640px){
  .gh-faq-wrap details{ padding:14px 14px 14px 52px !important; }
  .gh-faq-wrap details::before{ left:14px !important; top:14px !important; font-size:0.95rem !important; }
  .gh-faq-wrap summary{ font-size:1rem !important; }
}
/* ============ end PS-WC-HUB-FAQ-TIPS-STYLE-1 ============ */

/* ===== PS-WC-LEVEL shell styles ===== */
.wc-ans{ font-family:DM Mono,ui-monospace,monospace; font-weight:700; letter-spacing:.04em; color:var(--wc-ink,#141B2D); }
.wc-table td.wc-letters{ font-family:DM Mono,ui-monospace,monospace; color:var(--wc-sig,#E0312E); white-space:nowrap; }
.wc-nearby{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.wc-nearby a{ padding:7px 15px; border:2px solid rgba(20,27,45,0.12); border-radius:20px; text-decoration:none; color:var(--wc-ink,#141B2D); font-family:DM Mono,ui-monospace,monospace; font-size:.87rem; font-weight:500; transition:border-color .12s ease,transform .12s ease; }
.wc-nearby a:hover{ border-color:#141B2D; transform:translateY(-1px); }
.wc-nearby a[aria-current=page]{ border-color:var(--wc-sig,#E0312E); color:var(--wc-sig,#E0312E); }
.wc-level-nav{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.wc-nav-btn{ padding:8px 18px; border:2px solid rgba(20,27,45,0.12); border-radius:10px; text-decoration:none; color:var(--wc-ink,#141B2D); font-family:DM Mono,ui-monospace,monospace; font-size:.87rem; font-weight:500; transition:border-color .12s ease; }
.wc-nav-btn:hover{ border-color:#141B2D; }
[data-theme=dark] .wc-nearby a{ border-color:rgba(255,255,255,0.14); color:var(--wc-ink,#e8ecf5); }
[data-theme=dark] .wc-nearby a:hover{ border-color:rgba(255,255,255,0.5); }
[data-theme=dark] .wc-nav-btn{ border-color:rgba(255,255,255,0.14); color:var(--wc-ink,#e8ecf5); }
[data-theme=dark] .wc-nav-btn:hover{ border-color:rgba(255,255,255,0.5); }
/* ===== end PS-WC-LEVEL shell styles ===== */

/* ===== PS-WC-LEVEL masterpiece blocks ===== */
.wc-atable td{ vertical-align:middle; }
.wc-ans{ font-family:DM Mono,ui-monospace,monospace; font-weight:700; letter-spacing:.04em; color:var(--wc-ink,#141B2D); }
.wc-table td.wc-letters{ font-family:DM Mono,ui-monospace,monospace; color:var(--wc-sig,#E0312E); white-space:nowrap; font-weight:700; }
.wc-copy-btn{ font-family:DM Mono,ui-monospace,monospace; font-size:.78rem; font-weight:500; padding:6px 12px; border:2px solid rgba(20,27,45,.12); border-radius:8px; background:transparent; color:var(--wc-ink,#141B2D); cursor:pointer; transition:border-color .12s ease,background .12s ease; }
.wc-copy-btn:hover{ border-color:#141B2D; }
.wc-copy-btn.copied{ border-color:var(--wc-sig,#E0312E); color:var(--wc-sig,#E0312E); }
.wc-bd-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; margin-top:14px; }
.wc-bd-card{ position:relative; border:2px solid rgba(20,27,45,.12); border-radius:14px; background:var(--wc-panel,#fff); padding:16px 16px 16px 54px; transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease; }
.wc-bd-card:hover{ border-color:#141B2D; box-shadow:0 6px 18px rgba(20,27,45,.10); transform:translateY(-2px); }
.wc-bd-num{ position:absolute; left:16px; top:15px; font-family:DM Mono,ui-monospace,monospace; font-weight:500; font-size:1rem; color:var(--wc-sig,#E0312E); }
.wc-bd-clue{ display:block; font-weight:800; font-size:.98rem; line-height:1.35; color:var(--wc-ink,#141B2D); }
.wc-bd-answer{ display:inline-block; margin:6px 0 8px; font-family:DM Mono,ui-monospace,monospace; font-weight:700; letter-spacing:.05em; color:var(--wc-sig,#E0312E); }
.wc-bd-prose{ margin:0; font-size:.92rem; line-height:1.55; color:var(--wc-ink-2,#33405A); }
.wc-nearby{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.wc-nearby-chip{ display:flex; flex-direction:column; gap:2px; padding:8px 14px; border:2px solid rgba(20,27,45,.12); border-radius:12px; text-decoration:none; transition:border-color .12s ease,transform .12s ease; }
.wc-nearby-chip:hover{ border-color:#141B2D; transform:translateY(-2px); }
.wc-nearby-chip[aria-current=page]{ border-color:var(--wc-sig,#E0312E); }
.wc-nearby-n{ font-family:DM Mono,ui-monospace,monospace; font-weight:700; font-size:.9rem; color:var(--wc-ink,#141B2D); }
.wc-nearby-c{ font-family:DM Mono,ui-monospace,monospace; font-size:.72rem; color:var(--wc-ink-2,#5A6172); }
.wc-jump{ margin-top:16px; }
.wc-pager{ display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; margin-top:16px; }
.wc-pager a{ padding:9px 18px; border:2px solid rgba(20,27,45,.12); border-radius:10px; text-decoration:none; font-weight:700; color:var(--wc-ink,#141B2D); transition:border-color .12s ease; }
.wc-pager a:hover{ border-color:#141B2D; }
#copy-toast{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:#141B2D; color:#fff; padding:10px 18px; border-radius:10px; font-size:.85rem; opacity:0; pointer-events:none; transition:opacity .2s ease,transform .2s ease; z-index:9999; }
#copy-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
[data-theme=dark] .wc-bd-card{ border-color:rgba(255,255,255,.14); background:var(--wc-panel,#1a2338); }
[data-theme=dark] .wc-bd-card:hover{ border-color:rgba(255,255,255,.5); box-shadow:0 6px 18px rgba(0,0,0,.45); }
[data-theme=dark] .wc-nearby-chip{ border-color:rgba(255,255,255,.14); }
[data-theme=dark] .wc-nearby-chip:hover{ border-color:rgba(255,255,255,.5); }
[data-theme=dark] .wc-copy-btn{ border-color:rgba(255,255,255,.14); color:var(--wc-ink,#e8ecf5); }
[data-theme=dark] .wc-pager a{ border-color:rgba(255,255,255,.14); color:var(--wc-ink,#e8ecf5); }
@media(max-width:640px){ .wc-bd-grid{ grid-template-columns:1fr; } .wc-pager{ justify-content:stretch; } .wc-pager a{ flex:1; text-align:center; } }
/* ===== end PS-WC-LEVEL masterpiece blocks ===== */

/* ===== PS-WC-PACK masterpiece blocks ===== */
.wc-packgrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px;
  margin-top:14px;
}
.wc-packcard{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border:2px solid rgba(20,27,45,.12);
  border-radius:14px;
  background:var(--wc-panel,#fff);
  text-decoration:none;
  transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;
}
.wc-packcard:hover{
  border-color:var(--wc-ink,#141B2D);
  box-shadow:0 6px 18px rgba(20,27,45,.12);
  transform:translateY(-2px);
}
.wc-packcard-n{
  font-family:"DM Mono",ui-monospace,monospace;
  font-weight:700;
  font-size:1.02rem;
  color:var(--wc-ink,#141B2D);
}
.wc-packcard-c{
  font-family:"DM Mono",ui-monospace,monospace;
  font-size:.75rem;
  color:var(--wc-sig,#E0312E);
  font-weight:600;
}
.wc-packcard-peek{
  font-size:.82rem;
  color:var(--wc-ink-2,#33405A);
  line-height:1.4;
  margin-top:2px;
}
[data-theme="dark"] .wc-packcard{ border-color:rgba(255,255,255,.14); background:var(--wc-panel,#1a2338); }
[data-theme="dark"] .wc-packcard:hover{ border-color:rgba(255,255,255,.5); box-shadow:0 6px 18px rgba(0,0,0,.45); }
@media(max-width:640px){ .wc-packgrid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); } }
/* wc-jump, wc-pager, gh-faq-wrap, wc-byline, gh-chips reused from level/hub - not redefined */
/* ===== end PS-WC-PACK masterpiece blocks ===== */

/* ================================================================
   PS-WC-PACK-DEPTH-POLISH  |  depth + density + single accent
   ================================================================ */

/* ---- 0. ONE ACCENT: unify on --wc-sig (red #E0312E) ---------- */
:root{ --wc-accent:var(--wc-sig,#E0312E); }
.wc-packcard-c,
.gh-chip .num,
.wc-nearby-c{ color:var(--wc-accent) !important; }

/* kill the blue Q badge from .ps-faq details summary::before */
.gh-faq-wrap summary::before{ display:none !important; }
/* kill open-state blue text from bare details[open] summary rule */
.gh-faq-wrap details[open] summary{ color:var(--wc-ink,#141B2D) !important; }

/* ---- 1. FAQ CARDS: fill badge, add depth --------------------- */
.gh-faq-wrap{ gap:10px !important; }
.gh-faq-wrap details{
  border:1.5px solid rgba(20,27,45,0.10) !important;
  background:
     linear-gradient(180deg, rgba(224,49,46,0.04), rgba(224,49,46,0) 60%),
     var(--wc-panel,#fff) !important;
  padding:15px 20px 15px 62px !important;
  box-shadow:0 1px 2px rgba(20,27,45,0.05), 0 6px 16px rgba(20,27,45,0.05) !important;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}
.gh-faq-wrap details:hover{
  border-color:var(--wc-accent) !important;
  box-shadow:0 2px 4px rgba(20,27,45,0.07), 0 12px 26px rgba(20,27,45,0.10) !important;
  transform:translateY(-1px) !important;
}
.gh-faq-wrap details[open]{
  border-color:var(--wc-accent) !important;
  box-shadow:0 2px 4px rgba(20,27,45,0.07), 0 14px 30px rgba(20,27,45,0.12) !important;
}
/* filled chip badge */
.gh-faq-wrap details::before{
  content:counter(psfaq, decimal-leading-zero) !important;
  position:absolute !important; left:14px !important; top:12px !important;
  width:34px !important; height:34px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:var(--wc-accent) !important; color:#fff !important;
  border-radius:9px !important;
  font-family:"DM Mono",ui-monospace,monospace !important;
  font-weight:600 !important; font-size:.92rem !important; letter-spacing:0 !important;
  box-shadow:0 3px 8px rgba(224,49,46,0.30) !important;
}
.gh-faq-wrap summary{
  font-weight:800 !important; font-size:1.08rem !important; line-height:1.35 !important;
  padding-right:34px !important; color:var(--wc-ink,#141B2D) !important;
}
/* chevron: warm accent, right side */
.gh-faq-wrap summary::after{
  right:14px !important; top:50% !important;
  width:11px !important; height:11px !important;
  border-right:2.5px solid var(--wc-accent) !important;
  border-bottom:2.5px solid var(--wc-accent) !important;
  transform:translateY(-60%) rotate(45deg) !important;
  transition:transform .15s ease !important;
}
.gh-faq-wrap details[open] summary::after{ transform:translateY(-30%) rotate(-135deg) !important; }
.gh-faq-wrap .faq-body{
  margin-top:12px !important; padding-top:12px !important;
  border-top:1px solid rgba(20,27,45,0.08) !important;
  font-size:1rem !important; line-height:1.6 !important; color:var(--wc-ink-2,#33405A) !important;
}

/* ---- 2. LEVEL CARDS: depth + richer hover -------------------- */
.wc-packgrid{ gap:11px !important; }
.wc-packcard{
  border:1.5px solid rgba(20,27,45,0.10) !important;
  padding:15px 16px !important;
  background:var(--wc-panel,#fff) !important;
  box-shadow:0 1px 2px rgba(20,27,45,0.05), 0 5px 14px rgba(20,27,45,0.05) !important;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}
.wc-packcard:hover{
  border-color:var(--wc-accent) !important;
  box-shadow:0 3px 6px rgba(20,27,45,0.08), 0 14px 30px rgba(20,27,45,0.12) !important;
  transform:translateY(-3px) !important;
}
.wc-packcard-n{ font-size:1.05rem !important; font-weight:800 !important; }
.wc-packcard-c{
  display:inline-block !important; margin-top:2px !important;
  font-weight:700 !important; font-size:.72rem !important; text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.wc-packcard-peek{
  margin-top:8px !important; padding-top:8px !important;
  border-top:1px solid rgba(20,27,45,0.07) !important;
  font-size:.85rem !important; color:var(--wc-ink-2,#33405A) !important; line-height:1.45 !important;
}

/* ---- 3. PREV/NEXT PACK: real buttons ------------------------- */
.wc-pager{ gap:12px !important; margin-top:0 !important; }
.wc-pager a{
  padding:11px 20px !important;
  border:2px solid rgba(20,27,45,0.14) !important;
  border-radius:12px !important;
  background:var(--wc-panel,#fff) !important;
  font-weight:800 !important; font-size:.98rem !important;
  color:var(--wc-ink,#141B2D) !important; text-decoration:none !important;
  box-shadow:0 2px 6px rgba(20,27,45,0.06) !important;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}
.wc-pager a:hover{
  border-color:var(--wc-accent) !important;
  box-shadow:0 6px 16px rgba(20,27,45,0.12) !important;
  transform:translateY(-2px) !important;
}

/* ---- 4. JUMP BOX: depth + accent button ---------------------- */
.ps-wc-jumpto input{
  border:2px solid rgba(20,27,45,0.14) !important; border-radius:10px !important;
  padding:11px 14px !important; font-size:1rem !important;
  box-shadow:inset 0 1px 3px rgba(20,27,45,0.06) !important;
}
.ps-wc-jumpto input:focus{
  border-color:var(--wc-accent) !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(224,49,46,0.20) !important;
}
.ps-wc-jumpto button{
  background:var(--wc-accent) !important; color:#fff !important; border:none !important;
  padding:11px 22px !important; border-radius:10px !important; font-weight:800 !important;
  box-shadow:0 4px 12px rgba(224,49,46,0.30) !important; cursor:pointer !important;
  transition:transform .12s ease, box-shadow .12s ease !important;
}
.ps-wc-jumpto button:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 6px 16px rgba(224,49,46,0.40) !important;
}

/* ---- 5. SECTION HEADINGS ------------------------------------- */
.gh-section h2{ font-weight:900 !important; letter-spacing:-0.015em !important; }
.sec-kicker{ font-weight:800 !important; }

/* ---- 6. DARK MODE PARITY ------------------------------------- */
[data-theme="dark"] .gh-faq-wrap details,
[data-theme="dark"] .wc-packcard,
[data-theme="dark"] .wc-pager a{
  border-color:rgba(255,255,255,0.14) !important;
  background:var(--wc-panel,#1a2338) !important;
  box-shadow:0 1px 2px rgba(0,0,0,0.3), 0 8px 20px rgba(0,0,0,0.35) !important;
}
[data-theme="dark"] .gh-faq-wrap details:hover,
[data-theme="dark"] .wc-packcard:hover,
[data-theme="dark"] .wc-pager a:hover{ border-color:var(--wc-accent) !important; }
[data-theme="dark"] .gh-faq-wrap .faq-body{ border-top-color:rgba(255,255,255,0.10) !important; }
[data-theme="dark"] .wc-packcard-peek{ border-top-color:rgba(255,255,255,0.08) !important; }

/* ---- 7. MOBILE ----------------------------------------------- */
@media(max-width:640px){
  .gh-faq-wrap details{ padding:13px 16px 13px 56px !important; }
  .gh-faq-wrap details::before{ width:30px !important; height:30px !important; left:12px !important; top:11px !important; }
  .gh-faq-wrap summary{ font-size:1rem !important; }
  .wc-pager{ flex-direction:column !important; }
  .wc-pager a{ text-align:center !important; }
}
/* ============ end PS-WC-PACK-DEPTH-POLISH ============ */
/* ==============================================
   PS-WC-DAILY-TRIO masterpiece blocks
   ============================================== */

/* --- stat band (hero) --- */
.wc-stat-band{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.wc-stat-cell{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:12px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;gap:2px;}
.wc-stat-n{font-family:"DM Mono",ui-monospace,monospace;font-weight:700;font-size:1.35rem;color:#fff;line-height:1;}
.wc-stat-l{font-size:.72rem;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;}

/* --- at-a-glance grid --- */
.wc-glance-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.wc-glance-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--wc-panel,#fff);border:1.5px solid rgba(20,27,45,.10);border-radius:20px;text-decoration:none;transition:border-color .12s,box-shadow .12s;cursor:pointer;}
.wc-glance-chip:hover{border-color:var(--wc-sig,#E0312E);box-shadow:0 2px 8px rgba(224,49,46,.15);}
.wc-glance-word{font-weight:700;font-size:.85rem;color:var(--wc-ink,#141B2D);}
.wc-glance-badge{font-family:"DM Mono",ui-monospace,monospace;font-size:.70rem;font-weight:700;color:var(--wc-sig,#E0312E);background:var(--wc-sig-wash,#FCEDEC);padding:2px 6px;border-radius:8px;}

/* --- table of contents nav --- */
.wc-toc{background:var(--wc-panel,#fff);border-bottom:1px solid rgba(20,27,45,.08);position:sticky;top:0;z-index:20;}
.wc-toc .wrap{display:flex;flex-wrap:wrap;gap:4px;padding-top:8px;padding-bottom:8px;}
.wc-toc-pill{display:inline-block;padding:5px 12px;font-size:.80rem;font-weight:600;color:var(--wc-ink-2,#33405A);border-radius:16px;text-decoration:none;transition:background .12s,color .12s;}
.wc-toc-pill:hover{background:var(--wc-sig-wash,#FCEDEC);color:var(--wc-sig,#E0312E);}

/* --- byline --- */
.wc-byline{display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px 16px;background:var(--wc-sig-wash,#FCEDEC);border-left:3px solid var(--wc-sig,#E0312E);border-radius:0 8px 8px 0;font-size:.88rem;color:var(--wc-ink-2,#33405A);}
.wc-byline-av{width:36px;height:36px;min-width:36px;border-radius:50%;background:var(--wc-sig,#E0312E);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* --- answer table controls --- */
.wc-tbl-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.wc-btn{display:inline-flex;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:600;border:1.5px solid rgba(20,27,45,.18);border-radius:8px;background:var(--wc-panel,#fff);color:var(--wc-ink,#141B2D);cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s;}
.wc-btn:hover{border-color:var(--wc-sig,#E0312E);box-shadow:0 2px 6px rgba(224,49,46,.12);}
.wc-btn--primary{background:var(--wc-sig,#E0312E);color:#fff;border-color:var(--wc-sig,#E0312E);}
.wc-btn--primary:hover{background:#c4241f;border-color:#c4241f;box-shadow:0 3px 10px rgba(224,49,46,.30);}

/* --- answer table row helpers --- */
.wc-tbl-n{font-family:"DM Mono",ui-monospace,monospace;font-size:.80rem;color:var(--wc-ink-2,#33405A);text-align:center;width:36px;}
.wc-tbl-ans{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.wc-ans-len{font-family:"DM Mono",ui-monospace,monospace;font-size:.72rem;color:var(--wc-ink-2,#33405A);opacity:.75;}
.wc-copy-btn{font-size:.72rem;padding:2px 8px;border:1px solid rgba(20,27,45,.15);border-radius:6px;background:transparent;color:var(--wc-ink-2,#33405A);cursor:pointer;transition:background .1s,color .1s;}
.wc-copy-btn:hover{background:var(--wc-sig,#E0312E);color:#fff;border-color:var(--wc-sig,#E0312E);}

/* blur mode */
.wc-tbl-blur .wc-ans{filter:blur(5px);transition:filter .15s;}
.wc-tbl-blur tr:hover .wc-ans{filter:none;}

/* --- tile strip & tiles --- */
.wc-tile-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:.80rem;color:var(--wc-ink-2,#33405A);}
.wc-tile-legend-item{display:flex;align-items:center;gap:5px;}
.wc-tile-strip{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0;}
/* multiword gap */
.wc-tile-gap{display:inline-block;width:8px;}

.wc-tile{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-family:"DM Mono",ui-monospace,monospace;font-weight:700;font-size:.85rem;background:rgba(20,27,45,.06);color:var(--wc-ink,#141B2D);border:1.5px solid rgba(20,27,45,.10);}
.wc-tile--vowel{background:var(--wc-sig-wash,#FCEDEC);color:var(--wc-sig,#E0312E);border-color:rgba(224,49,46,.25);}
.wc-tile--repeat{box-shadow:0 0 0 2px var(--wc-sig,#E0312E) inset;font-weight:900;}
.wc-tile--sample{width:24px;height:24px;font-size:.75rem;}

/* --- breakdown grid & cards --- */
.wc-bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px;}
.wc-bd-card{position:relative;padding:16px 18px 14px;border:1.5px solid rgba(20,27,45,.10);border-radius:14px;background:var(--wc-panel,#fff);box-shadow:0 1px 3px rgba(20,27,45,.04),0 4px 12px rgba(20,27,45,.05);display:flex;flex-direction:column;gap:6px;}
.wc-bd-num{position:absolute;top:10px;right:12px;font-family:"DM Mono",ui-monospace,monospace;font-size:.72rem;font-weight:700;color:var(--wc-sig,#E0312E);background:var(--wc-sig-wash,#FCEDEC);padding:2px 7px;border-radius:8px;}
.wc-bd-clue{font-size:.82rem;color:var(--wc-ink-2,#33405A);line-height:1.4;}
.wc-bd-answer{font-family:"DM Mono",ui-monospace,monospace;font-weight:700;font-size:1rem;color:var(--wc-ink,#141B2D);}
.wc-bd-prose{font-size:.80rem;color:var(--wc-ink-2,#33405A);line-height:1.5;margin:4px 0;}
.wc-bd-pills{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:4px 0 0;}
.wc-stat-pill{font-family:"DM Mono",ui-monospace,monospace;font-size:.70rem;font-weight:600;padding:2px 8px;border-radius:8px;background:rgba(20,27,45,.06);color:var(--wc-ink-2,#33405A);}

/* trivia fact card */
.wc-fact-card{padding:10px 14px;background:rgba(20,27,45,.04);border-radius:10px;border:1px solid rgba(20,27,45,.08);}
.wc-fact-answer{font-family:"DM Mono",ui-monospace,monospace;font-weight:700;font-size:.95rem;color:var(--wc-ink,#141B2D);}
.wc-fact-meta{font-size:.75rem;color:var(--wc-ink-2,#33405A);margin-top:2px;}

/* --- how-to steps --- */
.wc-step-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:16px;}
.wc-step{display:flex;gap:16px;align-items:flex-start;}
.wc-step-n{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--wc-sig,#E0312E);color:#fff;font-family:"DM Mono",ui-monospace,monospace;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(224,49,46,.28);}
.wc-step-body{flex:1;}
.wc-step-body strong{display:block;font-size:.92rem;color:var(--wc-ink,#141B2D);margin-bottom:4px;}
.wc-step-body p{font-size:.85rem;color:var(--wc-ink-2,#33405A);line-height:1.6;margin:0;}

/* --- nearby date chips --- */
.wc-nearby-chip{display:inline-block;padding:6px 14px;border-radius:16px;font-size:.82rem;font-weight:600;text-decoration:none;background:rgba(20,27,45,.06);color:var(--wc-ink-2,#33405A);border:1.5px solid transparent;transition:border-color .12s,background .12s;}
.wc-nearby-chip:hover{border-color:var(--wc-sig,#E0312E);background:var(--wc-sig-wash,#FCEDEC);color:var(--wc-sig,#E0312E);}
span.wc-nearby-chip[aria-current="page"]{background:var(--wc-sig,#E0312E);color:#fff;border-color:var(--wc-sig,#E0312E);}

/* --- date pager nav --- */
.wc-pager{padding:16px 0;border-top:1px solid rgba(20,27,45,.08);}
.wc-pager .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.wc-pager-prev,.wc-pager-next{display:inline-flex;align-items:center;padding:10px 20px;border:2px solid rgba(20,27,45,.14);border-radius:12px;background:var(--wc-panel,#fff);font-weight:700;font-size:.88rem;color:var(--wc-ink,#141B2D);text-decoration:none;transition:border-color .12s,box-shadow .12s;}
.wc-pager-prev:hover,.wc-pager-next:hover{border-color:var(--wc-sig,#E0312E);box-shadow:0 2px 8px rgba(224,49,46,.15);}
.wc-pager-next{margin-left:auto;}

/* --- share row --- */
.wc-share-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.wc-share-btn{display:inline-flex;align-items:center;padding:8px 18px;border-radius:8px;font-weight:600;font-size:.85rem;text-decoration:none;border:1.5px solid rgba(20,27,45,.15);background:var(--wc-panel,#fff);color:var(--wc-ink,#141B2D);cursor:pointer;transition:border-color .12s,box-shadow .12s;}
.wc-share-btn:hover{border-color:var(--wc-sig,#E0312E);box-shadow:0 2px 6px rgba(224,49,46,.12);}

/* --- density row (rating + newsletter) --- */
.wc-density-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
@media(max-width:600px){.wc-density-row{grid-template-columns:1fr;gap:24px;}}
.wc-density-h{font-size:.95rem;font-weight:700;color:var(--wc-ink,#141B2D);margin:0 0 10px;}

/* rating widget */
.wc-rating-widget{display:flex;flex-direction:column;gap:6px;}
.wc-hearts{display:flex;gap:6px;}
.wc-heart{font-size:1.6rem;background:none;border:none;cursor:pointer;color:var(--wc-sig,#E0312E);line-height:1;padding:0;transition:transform .1s;}
.wc-heart:hover{transform:scale(1.2);}
.wc-rating-empty{font-size:.80rem;color:var(--wc-ink-2,#33405A);margin:0;}

/* newsletter form */
.wc-nl-form{display:flex;flex-direction:column;gap:6px;}
.wc-nl-label{font-size:.80rem;font-weight:600;color:var(--wc-ink-2,#33405A);}
.wc-nl-row{display:flex;gap:6px;}
.wc-nl-row input[type="email"]{flex:1;padding:8px 12px;border:1.5px solid rgba(20,27,45,.15);border-radius:8px;font-size:.85rem;background:var(--wc-panel,#fff);color:var(--wc-ink,#141B2D);}
.wc-nl-row button{padding:8px 14px;background:var(--wc-sig,#E0312E);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.82rem;cursor:pointer;transition:background .12s;}
.wc-nl-row button:hover{background:#c4241f;}
.wc-nl-consent{font-size:.75rem;color:var(--wc-ink-2,#33405A);display:flex;gap:6px;align-items:flex-start;}
.wc-nl-consent input{margin-top:2px;}

/* --wc-sig-wash root definition (if not set elsewhere) */
:root{--wc-sig-wash:#FCEDEC;}

/* --- sub-headline visibility fix (gh-hero-sub outside hero) --- */
.gh-section .gh-hero-sub,.band-wash .gh-hero-sub{color:var(--wc-ink-2,#33405A);opacity:1;}

/* === PS-WC-MINI P2 VISUAL PASS ========================================= */
:root { --ink:#10182B; --paper:#F7F5F0; --panel:#FFFFFF; }

/* HERO */
.gh-hero h1 { font:900 clamp(2rem,5vw,3.2rem)/1.04 'Archivo Black','Archivo',sans-serif; letter-spacing:-.01em; color:#fff; }
.wc-h1-strike { position:relative; display:inline-block; }
.wc-h1-strike::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--wc-sig,#E0312E); border-radius:2px; }
.gh-hero .gh-hero-sub { font-size:1.12rem; color:rgba(255,255,255,.85); line-height:1.5; }
.gh-hero .gh-hero-sub strong { font-family:'Archivo',sans-serif; font-weight:800; }
.gh-section .gh-hero-sub,.band-wash .gh-hero-sub { color:var(--wc-ink-2,#33405A); font-size:1rem; }

/* STAT BAND */
.wc-stat-band { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:12px; margin-top:24px; }
.wc-stat-cell { background:var(--panel,#fff); border:1px solid #E7E4DC; border-radius:14px; padding:16px 20px; box-shadow:0 2px 4px rgba(16,24,43,.04),0 10px 24px rgba(16,24,43,.06); display:flex; flex-direction:column; align-items:center; gap:4px; }
.wc-stat-n { font-family:'DM Mono',ui-monospace,monospace; font-weight:500; font-size:clamp(1.5rem,3vw,2rem); color:var(--ink,#10182B); line-height:1; }
.wc-stat-l { font-family:'Karla',sans-serif; font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#6A7180; margin-top:2px; }
@media(max-width:480px){.wc-stat-band{grid-template-columns:1fr 1fr;}}

/* ANSWER TABLE */
.wc-ans-table { width:100%; border-collapse:collapse; }
.wc-ans-table thead tr { background:var(--ink,#10182B); }
.wc-ans-table thead th { color:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; padding:12px 14px; text-align:left; }
.wc-ans-table tbody tr { border-bottom:1px solid #ECEAE3; }
.wc-ans-table tbody tr:nth-child(even) { background:#FBFAF7; }
.wc-ans-table tbody td { padding:10px 14px; vertical-align:middle; }
.wc-ans { font-family:'DM Mono',ui-monospace,monospace; font-weight:600; font-size:1.05rem; letter-spacing:.04em; color:var(--ink,#10182B); }
.wc-ans-len { font-family:'Karla',sans-serif; font-size:.8rem; color:#6A7180; }
.wc-copy-btn { font-size:.72rem; padding:3px 9px; border:1px solid rgba(20,27,45,.15); border-radius:6px; background:transparent; color:#6A7180; cursor:pointer; transition:background .1s,color .1s,border-color .1s; }
.wc-copy-btn:hover { background:var(--wc-sig-wash,#FCEDEC); color:var(--wc-sig,#E0312E); border-color:var(--wc-sig,#E0312E); }

/* GLANCE CHIPS */
.wc-glance-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(116px,1fr)); gap:10px; margin-top:14px; }
.wc-glance-chip { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:10px 12px; background:var(--panel,#fff); border:1px solid #E7E4DC; border-radius:10px; text-decoration:none; transition:border-color .12s,transform .12s,box-shadow .12s; cursor:pointer; }
.wc-glance-chip:hover { border-color:var(--wc-sig,#E0312E); transform:translateY(-2px); box-shadow:0 6px 16px rgba(224,49,46,.12); }
.wc-glance-word { font-family:'DM Mono',ui-monospace,monospace; font-weight:600; font-size:.85rem; color:var(--ink,#10182B); }
.wc-glance-badge { font-family:'DM Mono',ui-monospace,monospace; font-size:.72rem; font-weight:700; color:var(--wc-sig,#E0312E); background:var(--wc-sig-wash,#FCEDEC); padding:2px 6px; border-radius:8px; flex-shrink:0; }

/* TILE BREAKDOWN */
.wc-tile { display:inline-flex; align-items:center; justify-content:center; width:32px; height:36px; border-radius:8px; font-family:'DM Mono',ui-monospace,monospace; font-weight:600; font-size:1rem; background:#EEF0F4; color:var(--ink,#10182B); border:none; }
.wc-tile--vowel { background:var(--wc-sig-wash,#FCEDEC); color:var(--wc-sig,#E0312E); }
.wc-tile--repeat { outline:2px dashed var(--wc-sig,#E0312E); outline-offset:-1px; font-weight:900; box-shadow:none; }
.wc-tile--sample { width:24px; height:28px; font-size:.75rem; }
.wc-bd-card { padding:20px; border:1px solid #E7E4DC; border-radius:14px; background:var(--panel,#fff); box-shadow:0 2px 4px rgba(16,24,43,.04),0 10px 24px rgba(16,24,43,.06); }
.wc-stat-pill { font-family:'DM Mono',ui-monospace,monospace; font-size:.78rem; font-weight:600; background:var(--wc-sig-wash,#FCEDEC); color:var(--wc-sig,#E0312E); border-radius:999px; padding:3px 10px; }

/* SECTION RHYTHM */
.gh-section { padding-block:clamp(36px,5vw,60px); }
.band-wash.gh-section { background:var(--paper,#F7F5F0); border-top:1px solid #E7E4DC; border-bottom:none; }
.sec-kicker { font-family:'DM Mono',ui-monospace,monospace; font-weight:500; font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; color:var(--wc-sig,#E0312E); }
.gh-section h2 { font-family:'Archivo Black','Archivo',sans-serif; font-weight:800; font-size:clamp(1.5rem,3vw,2.1rem); color:var(--ink,#10182B); margin:8px 0 4px; line-height:1.1; }
.gh-hero .sec-kicker { color:#8FA7E8; }

/* FAQ CARDS */
.gh-faq-wrap details,.ps-faq details { background:var(--panel,#fff); border:1px solid #E7E4DC; border-radius:12px; margin-bottom:10px; box-shadow:0 2px 4px rgba(16,24,43,.04),0 10px 24px rgba(16,24,43,.06); overflow:hidden; }
.gh-faq-wrap details[open],.ps-faq details[open] { border-left:3px solid var(--wc-sig,#E0312E); }
.gh-faq-wrap summary,.ps-faq summary { font-family:'Archivo',sans-serif; font-weight:700; font-size:1.02rem; color:var(--ink,#10182B); padding:16px 18px; cursor:pointer; list-style:none; }
.gh-faq-wrap summary::-webkit-details-marker,.ps-faq summary::-webkit-details-marker { display:none; }
.gh-faq-wrap .faq-body,.ps-faq .faq-body { font-family:'Karla',sans-serif; font-size:1.02rem; line-height:1.65; color:#2A3242; padding:0 18px 16px; }

/* DENSITY ROW */
.wc-density-row { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; border-top:1px solid #E7E4DC; padding-top:24px; }
@media(max-width:600px){.wc-density-row{grid-template-columns:1fr;gap:24px;}}

/* DARK THEME PARITY */
[data-theme=dark]{--ink:#C9D2E4;--paper:#0D1324;--panel:#141D33;}
[data-theme=dark] .wc-stat-cell,[data-theme=dark] .wc-bd-card,[data-theme=dark] .wc-glance-chip,[data-theme=dark] .gh-faq-wrap details,[data-theme=dark] .ps-faq details{border-color:#24314F;}
[data-theme=dark] .wc-ans-table thead tr{background:#0D1324;}
[data-theme=dark] .wc-ans-table tbody tr:nth-child(even){background:rgba(255,255,255,.03);}
[data-theme=dark] .wc-ans-table tbody tr{border-bottom-color:#24314F;}
[data-theme=dark] .wc-ans{color:#C9D2E4;}
[data-theme=dark] .band-wash.gh-section{background:var(--paper,#0D1324);border-top-color:#24314F;}
[data-theme=dark] .wc-tile{background:#1C2840;color:#C9D2E4;}
[data-theme=dark] .gh-section h2{color:#C9D2E4;}
[data-theme=dark] .gh-faq-wrap .faq-body,[data-theme=dark] .ps-faq .faq-body{color:#9BAACB;}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#C9D2E4;--paper:#0D1324;--panel:#141D33;}}

/* ── Hard Mode colour tokens ── */
:root{--wc-hard:#B23A2E;--wc-hard-ink:#7A241B;--wc-hard-wash:#FBEDEA;--wc-hard-chip:#F6D9D3;}
[data-theme=dark]{--wc-hard:#D95F52;--wc-hard-ink:#F6D9D3;--wc-hard-wash:#1A0A09;--wc-hard-chip:#2C1210;}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--wc-hard:#D95F52;--wc-hard-ink:#F6D9D3;--wc-hard-wash:#1A0A09;--wc-hard-chip:#2C1210;}}
/* Hard Mode level nav */
.wc-level-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;align-items:center;}
.wc-level-nav-btn{display:inline-flex;align-items:center;padding:10px 20px;border-radius:8px;font-weight:700;font-size:.9rem;text-decoration:none;border:2px solid rgba(20,27,45,.15);color:var(--ink,#141B2D);}
.wc-level-nav-btn--up{background:var(--wc-hard,#B23A2E);color:#fff;border-color:transparent;}
.wc-level-nav-btn:hover{border-color:var(--wc-hard,#B23A2E);}
/* Hard mode answer table accent */
.wc-answer-table--hard thead th{background:var(--wc-hard,#B23A2E);}
.wc-answer-table--hard .answer-cell{color:var(--wc-hard-ink,#7A241B);}
/* Letter length chip */
.wc-len-chip{display:inline-block;background:var(--wc-hard-chip,#F6D9D3);color:var(--wc-hard-ink,#7A241B);border-radius:4px;padding:2px 6px;font-size:.8rem;font-weight:700;font-family:'DM Mono',monospace;}
.wc-ans-num{font-family:'DM Mono',monospace;color:#888;font-size:.85rem;text-align:center;}
.wc-ans-len{text-align:center;}
[data-theme=dark] .wc-level-nav-btn{border-color:#2A3A5F;color:#C9D2E4;}
[data-theme=dark] .wc-len-chip{background:var(--wc-hard-chip,#2C1210);color:var(--wc-hard-ink,#F6D9D3);}

/* ── Section A: Logic tokens + subnav (section-A-6ad246) ── */
:root{--wc-logic:#3B4CC0;--wc-logic-ink:#2A379A;--wc-logic-wash:#EEF0FB;--wc-logic-chip:#D0D4F5;}
[data-theme=dark]{--wc-logic:#8A97E8;--wc-logic-ink:#D0D4F5;--wc-logic-wash:#0B0E1D;--wc-logic-chip:#161A33;}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--wc-logic:#8A97E8;--wc-logic-ink:#D0D4F5;--wc-logic-wash:#0B0E1D;--wc-logic-chip:#161A33;}}
/* Section subnav */
.wc-secnav{background:var(--panel,#fff);border-bottom:1px solid #E7E4DC;position:sticky;top:0;z-index:90;}
.wc-secnav .wrap{padding-top:0;padding-bottom:0;}
.wc-secnav-list{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;gap:0;}
.wc-secnav-list::-webkit-scrollbar{display:none;}
.wc-secnav-link{display:block;padding:10px 13px;font-family:'DM Mono',monospace;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:#4A5572;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s;}
.wc-secnav-link:hover{color:var(--wc-sig,#E0312E);border-bottom-color:var(--wc-sig,#E0312E);}
.wc-secnav-link--active{color:var(--wc-sig,#E0312E);border-bottom-color:var(--wc-sig,#E0312E);font-weight:700;}
.wc-secnav-link--logic.wc-secnav-link--active{color:var(--wc-logic,#3B4CC0);border-bottom-color:var(--wc-logic,#3B4CC0);}
.wc-secnav-link--hard.wc-secnav-link--active{color:var(--wc-hard,#B23A2E);border-bottom-color:var(--wc-hard,#B23A2E);}
[data-theme=dark] .wc-secnav{background:#141D33;border-bottom-color:#24314F;}
[data-theme=dark] .wc-secnav-link{color:#7A8AAD;}
[data-theme=dark] .wc-secnav-link:hover,[data-theme=dark] .wc-secnav-link--active{color:var(--wc-sig,#E0312E);}
/* Logic accent utilities */
.logic-chip{display:inline-block;background:var(--wc-logic-chip,#D0D4F5);color:var(--wc-logic-ink,#2A379A);border-radius:4px;padding:2px 7px;font-size:.8rem;font-weight:700;font-family:'DM Mono',monospace;}
[data-theme=dark] .logic-chip{background:var(--wc-logic-chip,#161A33);color:var(--wc-logic-ink,#D0D4F5);}
.gh-pack--logic{border-left-color:var(--wc-logic,#3B4CC0);}
.gh-pack--logic .gh-pack-num-label,.gh-pack--logic .gh-pack-num-val{color:var(--wc-logic,#3B4CC0);}

/* ── Hard Mode FIX-1 tile + filter (hardhub-91ce3bd3) ── */
.gh-pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;margin-top:20px;}
.gh-pack--hard{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid #E7E4DC;border-radius:14px;padding:15px 16px 17px;box-shadow:0 1px 2px rgba(16,24,43,.06);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease;}
.gh-pack--hard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,24,43,.10);}
.gh-hard-badge{display:inline-block;background:var(--wc-hard,#B23A2E);color:#fff;border-radius:999px;padding:2px 10px;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;width:fit-content;}
.gh-hard-name{font-family:'Archivo Black','Archivo',sans-serif;font-size:1.18rem;font-weight:800;color:var(--ink,#10182B);}
.gh-hard-count{font-family:'DM Mono',monospace;font-size:.82rem;color:#5B6472;}
.gh-hard-range{font-family:Karla,sans-serif;font-size:.84rem;font-weight:500;color:var(--ink-2,#33405A);}
.gh-hard-teaser{font-family:Karla,sans-serif;font-size:.84rem;color:#5B6472;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.hard-filter-wrap{margin-bottom:16px;}
.hard-filter-wrap input{width:100%;max-width:420px;padding:9px 14px;border:1px solid #D3D0C8;border-radius:8px;font-family:Karla,sans-serif;font-size:.95rem;}
.hard-filter-count{font-family:'DM Mono',monospace;font-size:.78rem;color:#5B6472;margin-top:6px;}
.wc-stat-band{display:flex;flex-wrap:wrap;gap:0;border:1px solid #E7E4DC;border-radius:10px;overflow:hidden;margin:16px 0;}
.wc-stat-cell{flex:1;min-width:120px;padding:14px 18px;border-right:1px solid #E7E4DC;background:#fff;}
.wc-stat-cell:last-child{border-right:none;}
.wc-stat-val{display:block;font-family:'Archivo Black','Archivo',sans-serif;font-size:1.5rem;font-weight:900;color:var(--wc-hard,#B23A2E);}
.wc-stat-label{display:block;font-family:'DM Mono',monospace;font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:#5B6472;margin-top:2px;}
.wc-word-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:12px;}
.wc-word-tile{background:#fff;border:1px solid #E7E4DC;border-left:3px solid var(--wc-hard,#B23A2E);border-radius:8px;padding:10px 14px;}
.wc-word-tile-ans{font-family:'Archivo Black','Archivo',sans-serif;font-size:1rem;font-weight:900;color:var(--wc-hard,#B23A2E);letter-spacing:.04em;}
.wc-word-tile-stats{font-family:'DM Mono',monospace;font-size:.74rem;color:#5B6472;margin-top:4px;}
[data-theme=dark] .gh-pack--hard{background:#141D33;border-color:#24314F;}
[data-theme=dark] .wc-stat-cell{background:#0E1726;border-color:#24314F;}
[data-theme=dark] .wc-word-tile{background:#0E1726;border-color:#24314F;}


/* ── Word Craze Logic Puzzle grid styles ──────────────────────────── */
.wc-logic-grid {
  display: grid;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
}

.wc-logic-cell {
  background: #fff;
  border: 1.5px solid var(--wc-logic-chip, #DCE0F6);
  border-radius: 8px;
  min-width: 80px;
  min-height: 56px;
  padding: 6px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: transform .12s, box-shadow .12s;
}

.wc-logic-cell:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(59, 76, 192, .15);
}

.wc-logic-cell--header {
  background: var(--wc-logic-wash, #EEF0FB);
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  color: #4A5572;
  font-weight: 500;
  justify-content: center;
  align-items: center;
  min-height: 36px;
}

.wc-logic-coord {
  font-family: 'DM Mono', monospace;
  font-size: .7rem;
  color: #5B6472;
  line-height: 1;
}

.wc-logic-answer {
  font-family: 'Archivo Black', 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: var(--wc-logic-ink, #2A379A);
  text-transform: uppercase;
  line-height: 1.2;
}

.wc-logic-cell--empty {
  background: #F4F5FB;
  border-style: dashed;
}

[data-theme=dark] .wc-logic-cell {
  background: #141D33;
  border-color: #24314F;
}

[data-theme=dark] .wc-logic-answer {
  color: var(--wc-logic-ink, #D0D4F5);
}

/* ── Breakdown cards ───────────────────────────────────────────────── */
.wc-bd-card {
  background: #fff;
  border: 1px solid var(--wc-logic-chip, #DCE0F6);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 14px;
}

.wc-bd-card__head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.wc-bd-card__coord {
  font-family: 'DM Mono', monospace;
  font-size: .8rem;
  color: #5B6472;
  background: var(--wc-logic-wash, #EEF0FB);
  padding: 2px 6px;
  border-radius: 4px;
}

.wc-bd-card__word {
  font-family: 'Archivo Black', 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--wc-logic-ink, #2A379A);
  text-transform: uppercase;
}

.wc-bd-card__tiles {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}

.wc-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  font-family: 'Archivo Black', 'Archivo', sans-serif;
  font-weight: 800;
  font-size: .9rem;
  background: #F0F2FB;
  color: #2A379A;
  border: 1.5px solid #DCE0F6;
}

.wc-tile--vowel {
  background: var(--wc-logic-wash, #EEF0FB);
  border-color: var(--wc-logic, #3B4CC0);
  color: var(--wc-logic, #3B4CC0);
}

.wc-tile--repeat {
  border-style: dashed;
}

.wc-bd-card__note {
  font-size: .82rem;
  color: #5B6472;
  margin: 0;
}

[data-theme=dark] .wc-bd-card {
  background: #141D33;
  border-color: #24314F;
}

[data-theme=dark] .wc-tile {
  background: #1C2845;
  border-color: #24314F;
  color: #D0D4F5;
}
/* ── End Logic Puzzle styles ───────────────────────────────────────── */
