/* Puzzle Page - scoped grid components. Everything lives under .game-puzzle-page so no other CodyCross Answers game is affected. */
.game-puzzle-page{--pp-tile:#f6f2ff;--pp-ink:#1d1633;--pp-block:#14102a;--pp-line:rgba(255,255,255,.2)}
.game-puzzle-page .pp-gridwrap{margin:14px 0 6px;max-width:100%;overflow-x:auto;padding:4px 0}
.game-puzzle-page .pp-grid{--pp-cell:clamp(14px,calc((100vw - 96px)/var(--cols,11) - 2px),40px);border-collapse:separate;border-spacing:2px;margin:0 auto;table-layout:fixed;background:transparent}
.game-puzzle-page .pp-grid td{width:var(--pp-cell);height:var(--pp-cell);min-width:var(--pp-cell);padding:0;text-align:center;vertical-align:middle;position:relative;font-family:var(--font-m);font-weight:700;font-size:calc(var(--pp-cell)*.52);line-height:1;border-radius:4px}
.game-puzzle-page .pp-cell{background:var(--pp-tile);color:var(--pp-ink);box-shadow:inset 0 -2px 0 rgba(29,22,51,.18)}
.game-puzzle-page .pp-solved{background:var(--pp-tile);color:var(--pp-ink)}
.game-puzzle-page .pp-block{background:var(--pp-block);border:1px solid rgba(255,255,255,.08)}
.game-puzzle-page .pp-void{background:transparent}
.game-puzzle-page .pp-given{background:#ffe79e;color:#2a1500}
.game-puzzle-page .pp-n{position:absolute;top:1px;left:2px;font-style:normal;font-family:var(--font-u);font-weight:800;font-size:calc(var(--pp-cell)*.28);line-height:1;color:#5b3fb5}
.game-puzzle-page .pp-ws .pp-cell{background:rgba(255,255,255,.07);color:var(--ink);box-shadow:none;border:1px solid rgba(255,255,255,.1);font-weight:500}
.game-puzzle-page .pp-ws .pp-highlight{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep));color:#2a1500;font-weight:800;border:1px solid #fff3cf;box-shadow:0 0 0 1px rgba(255,207,74,.5)}
.game-puzzle-page .pp-ws .pp-highlight.pp-hot{outline:3px solid var(--cyan);outline-offset:-1px;z-index:1}
.game-puzzle-page .pp-cluecols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:18px}
.game-puzzle-page .pp-ch{font-family:var(--font-d);font-weight:800;font-size:15px;margin:18px 0 10px;color:var(--gold2);letter-spacing:.02em}
.game-puzzle-page .pp-cluecols .pp-ch{margin-top:0}
.game-puzzle-page .pp-clues{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.game-puzzle-page .pp-clues li{display:grid;grid-template-columns:30px 1fr;column-gap:10px;row-gap:2px;padding:9px 12px;border-radius:12px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.1);font-size:14px;line-height:1.4}
.game-puzzle-page .pp-cn{grid-row:1/3;font-family:var(--font-m);font-weight:700;font-size:13px;color:var(--cyan);padding-top:1px}
.game-puzzle-page .pp-ct{color:var(--mut)}
.game-puzzle-page .pp-ct em{font-style:normal;color:var(--faint);font-family:var(--font-m);font-size:12px}
.game-puzzle-page .pp-ans{font-family:var(--font-m);font-size:14px;letter-spacing:.08em;color:var(--gold2);word-break:break-word}
.game-puzzle-page .pp-words,.game-puzzle-page .pp-key{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.game-puzzle-page .pp-words li{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);cursor:default;min-width:140px}
.game-puzzle-page .pp-words li strong{font-family:var(--font-m);color:var(--gold2);letter-spacing:.06em;font-size:14px}
.game-puzzle-page .pp-words li span{font-size:12px;color:var(--faint)}
.game-puzzle-page .pp-words li:hover,.game-puzzle-page .pp-words li:focus{border-color:var(--cyan);background:rgba(43,220,242,.1)}
.game-puzzle-page .pp-key li{font-family:var(--font-m);font-size:13px;padding:6px 10px;border-radius:9px;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.12);color:var(--ink)}
.game-puzzle-page .pp-key li b{color:var(--cyan)}
.game-puzzle-page .pp-puzzle .lt{font-size:18px}
.game-puzzle-page .pp-filters{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;max-width:900px}
.game-puzzle-page .pp-filters label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);min-width:200px}
.game-puzzle-page .pp-filters label.grow{flex:1 1 280px}
.game-puzzle-page .pp-filters select,.game-puzzle-page .pp-filters input{font-family:var(--font-u);font-size:16px;color:var(--ink);background:rgba(0,0,0,.34);border:1px solid var(--line2);border-radius:12px;padding:13px 14px;outline:0}
.game-puzzle-page .pp-filters select:focus,.game-puzzle-page .pp-filters input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(43,220,242,.25)}
.game-puzzle-page .pp-filters option{color:#111}
.game-puzzle-page .rescard .rs-t{font-family:var(--font-d);font-weight:800;font-size:15.5px}
.game-puzzle-page .rescard .rs-m{font-family:var(--font-m);font-size:12px;color:var(--faint);margin-top:3px}
.game-puzzle-page .pp-tablewrap{margin-top:18px;overflow-x:auto}
.game-puzzle-page .pp-facts{width:100%;border-collapse:collapse;font-size:14.5px}
.game-puzzle-page .pp-facts th,.game-puzzle-page .pp-facts td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.game-puzzle-page .pp-facts th{width:36%;color:var(--faint);font-family:var(--font-m);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.game-puzzle-page .sec .rangecard.step{margin-top:0;text-decoration:none}
@media(max-width:700px){.game-puzzle-page .pp-cluecols{grid-template-columns:1fr}.game-puzzle-page .lvlcard{padding:18px 14px}.game-puzzle-page .pp-words li{min-width:calc(50% - 4px)}.game-puzzle-page .pp-facts th{width:42%}}
/* sudoku / futoshiki */
.game-puzzle-page .pp-sd td{font-size:calc(var(--pp-cell)*.58)}
.game-puzzle-page .pp-sd .pp-bl{box-shadow:inset 3px 0 0 var(--vio),inset 0 -2px 0 rgba(29,22,51,.18)}
.game-puzzle-page .pp-sd .pp-bt{box-shadow:inset 0 3px 0 var(--vio),inset 0 -2px 0 rgba(29,22,51,.18)}
.game-puzzle-page .pp-sd .pp-bl.pp-bt{box-shadow:inset 3px 0 0 var(--vio),inset 0 3px 0 var(--vio),inset 0 -2px 0 rgba(29,22,51,.18)}
/* picture cross */
.game-puzzle-page .pp-pc .pp-cell{background:rgba(255,255,255,.14);box-shadow:none}
.game-puzzle-page .pp-pc .pp-fill{background:linear-gradient(135deg,#8a5cff,#4a25b8);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.game-puzzle-page .pp-pc th{font-family:var(--font-m);font-weight:700;font-size:calc(var(--pp-cell)*.42);color:var(--mut);line-height:1.05;padding:0 4px 0 0;white-space:nowrap}
.game-puzzle-page .pp-pc .pp-row-clue{text-align:right;min-width:calc(var(--pp-cell)*1.6)}
.game-puzzle-page .pp-pc .pp-col-clue{vertical-align:bottom;text-align:center;padding:0 0 4px;white-space:normal;word-break:break-all}
/* hashi */
.game-puzzle-page .pp-hashi{display:block;width:100%;height:auto;margin:0 auto}
.game-puzzle-page .pp-br line{stroke:var(--cyan);stroke-width:2.4;stroke-linecap:round}
.game-puzzle-page .pp-is circle{fill:var(--pp-tile);stroke:var(--gold);stroke-width:2}
.game-puzzle-page .pp-is text{fill:var(--pp-ink);font-family:var(--font-m);font-weight:700;font-size:15px}
/* quote slide / cross out / shared */
.game-puzzle-page .pp-quote{margin:12px 0;padding:16px 20px;border-left:4px solid var(--mag);border-radius:12px;background:rgba(0,0,0,.24);font-family:var(--font-s);font-style:italic;font-size:21px;line-height:1.35}
.game-puzzle-page .pp-quote p{margin:0}
.game-puzzle-page .pp-quote cite{display:block;margin-top:8px;font-family:var(--font-m);font-style:normal;font-size:13px;color:var(--gold2)}
.game-puzzle-page .pp-alt{margin-top:10px;font-size:13px;color:var(--faint)}
.game-puzzle-page .pp-alt summary{cursor:pointer;font-family:var(--font-m);font-size:12px;color:var(--mut)}
.game-puzzle-page .pp-bridges{margin:8px 0 0;padding-left:18px;columns:2;font-size:12.5px}
@media(max-width:700px){.game-puzzle-page .pp-bridges{columns:1}.game-puzzle-page .pp-quote{font-size:18px}}
/* kakuro */
.game-puzzle-page .pp-kk td{font-size:calc(var(--pp-cell)*.55)}
.game-puzzle-page .pp-kclue{background:linear-gradient(to top right,transparent calc(50% - 1px),rgba(255,255,255,.4) 50%,transparent calc(50% + 1px)),var(--pp-block)}
.game-puzzle-page .pp-ka,.game-puzzle-page .pp-kd{position:absolute;font-family:var(--font-m);font-weight:700;font-size:calc(var(--pp-cell)*.34);line-height:1;color:var(--gold2)}
.game-puzzle-page .pp-ka{top:2px;right:2px}.game-puzzle-page .pp-kd{bottom:2px;left:2px}
/* one clue / armada / svg boards */
.game-puzzle-page .pp-oc td{font-size:calc(var(--pp-cell)*.56)}
.game-puzzle-page .pp-oc .pp-given{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep));color:#2a1500;box-shadow:inset 0 0 0 2px rgba(42,21,0,.35)}
.game-puzzle-page .pp-ar .pp-water{background:rgba(43,220,242,.12);box-shadow:none}
.game-puzzle-page .pp-ar .pp-ship{background:linear-gradient(135deg,#dfe7ff,#8fa4d9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.game-puzzle-page .pp-ar .pp-sh-o{border-radius:50%}
.game-puzzle-page .pp-ar .pp-sh-l{border-radius:60% 4px 4px 60%}.game-puzzle-page .pp-ar .pp-sh-r{border-radius:4px 60% 60% 4px}
.game-puzzle-page .pp-ar .pp-sh-t{border-radius:60% 60% 4px 4px}.game-puzzle-page .pp-ar .pp-sh-b{border-radius:4px 4px 60% 60%}
.game-puzzle-page .pp-ar th{font-family:var(--font-m);font-weight:700;font-size:calc(var(--pp-cell)*.45);color:var(--mut);padding:0 4px 0 0}
.game-puzzle-page .pp-ar .pp-row-clue{text-align:right}.game-puzzle-page .pp-ar .pp-col-clue{text-align:center;padding:0 0 3px}
.game-puzzle-page .pp-pblock,.game-puzzle-page .pp-circuit{display:block;width:100%;height:auto;margin:0 auto;border-radius:8px}
.game-puzzle-page .pp-pblock rect{stroke:rgba(0,0,0,.65);stroke-width:1.6}
.game-puzzle-page .pp-pblock text{font-family:var(--font-m);font-weight:700;font-size:12px}
.game-puzzle-page .pp-cl polyline{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
/* v6 formats */
.game-puzzle-page .pp-cs{display:grid;grid-template-columns:repeat(5,minmax(0,var(--pp-cell,32px)))repeat(2,minmax(0,var(--pp-cell,32px)));gap:4px;justify-content:center;font-family:var(--font-m);font-weight:700}
.game-puzzle-page .pp-cs span{display:flex;align-items:center;justify-content:center;min-height:34px;font-size:18px}
.game-puzzle-page .pp-csn{background:var(--pp-tile);color:var(--pp-ink);border-radius:8px}
.game-puzzle-page .pp-cso{color:var(--gold2)}
.game-puzzle-page .pp-cst{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep));color:#2a1500;border-radius:8px}
.game-puzzle-page .pp-lap{display:block;width:100%;height:auto;margin:0 auto;border-radius:6px}
.game-puzzle-page .pp-lapl{fill:none;stroke:rgba(15,10,35,.85);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.game-puzzle-page .pp-lapn text{fill:#fff;font-family:var(--font-m);font-weight:700;font-size:7px;text-anchor:middle;paint-order:stroke;stroke:#14102a;stroke-width:2.4px}
.game-puzzle-page .pp-lapd{margin-top:10px}
.game-puzzle-page .pp-ox td{font-size:calc(var(--pp-cell)*.56)}
.game-puzzle-page .pp-ox .pp-given{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep));color:#2a1500}
.game-puzzle-page .pp-sw td{font-size:calc(var(--pp-cell)*.5)}
.game-puzzle-page .pp-swe{background:rgba(255,255,255,.1);color:var(--mut);box-shadow:none;border:1px solid rgba(255,255,255,.1)}
.game-puzzle-page .pp-sw.pp-given{box-shadow:0 0 0 2px #fff3cf inset}
.game-puzzle-page .pp-n2{font-style:normal;font-family:var(--font-m);font-weight:700}
.game-puzzle-page .pp-snk{color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.14);background:hsl(var(--h,260) 55% 30%)}
.game-puzzle-page .pp-sn td{font-size:calc(var(--pp-cell)*.55)}
.game-puzzle-page .w0{--h:0}.game-puzzle-page .w1{--h:30}.game-puzzle-page .w2{--h:60}.game-puzzle-page .w3{--h:100}.game-puzzle-page .w4{--h:150}.game-puzzle-page .w5{--h:185}
.game-puzzle-page .w6{--h:210}.game-puzzle-page .w7{--h:245}.game-puzzle-page .w8{--h:275}.game-puzzle-page .w9{--h:305}.game-puzzle-page .w10{--h:335}.game-puzzle-page .w11{--h:20}
.game-puzzle-page .w0t{color:hsl(0 90% 75%)}.game-puzzle-page .w1t{color:hsl(30 90% 70%)}.game-puzzle-page .w2t{color:hsl(60 90% 70%)}.game-puzzle-page .w3t{color:hsl(100 80% 70%)}.game-puzzle-page .w4t{color:hsl(150 70% 70%)}.game-puzzle-page .w5t{color:hsl(185 80% 70%)}
.game-puzzle-page .w6t{color:hsl(210 90% 78%)}.game-puzzle-page .w7t{color:hsl(245 90% 82%)}.game-puzzle-page .w8t{color:hsl(275 90% 80%)}.game-puzzle-page .w9t{color:hsl(305 85% 78%)}.game-puzzle-page .w10t{color:hsl(335 90% 78%)}.game-puzzle-page .w11t{color:hsl(20 95% 75%)}
.game-puzzle-page .pp-ws6 td{font-size:calc(var(--pp-cell)*.58)}
.game-puzzle-page .pp-cu .pp-floor{background:rgba(255,255,255,.1);box-shadow:none}
.game-puzzle-page .pp-cu .pp-car,.game-puzzle-page .pp-cu .pp-chg{background:rgba(255,255,255,.18);box-shadow:none;font-size:calc(var(--pp-cell)*.6)}
.game-puzzle-page .pp-cu .pp-chg{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep))}
.game-puzzle-page .pp-cu th{font-family:var(--font-m);font-weight:700;font-size:calc(var(--pp-cell)*.45);color:var(--mut);padding:0 4px 0 0}
.game-puzzle-page .pp-lw .pp-given,.game-puzzle-page .pp-lw td{font-size:calc(var(--pp-cell)*.55)}
.game-puzzle-page .pp-lw .pp-given{background:linear-gradient(135deg,#fff3cf,var(--gold) 60%,var(--gold-deep));color:#2a1500}
.game-puzzle-page .pp-pal{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-m);font-size:12px;color:var(--mut)}
.game-puzzle-page .pp-pal i{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.4);vertical-align:-2px}
.game-puzzle-page .pp-pcc .pp-col-clue b,.game-puzzle-page .pp-pcc .pp-row-clue b{display:block;font-weight:800}
.game-puzzle-page .pp-pcc .pp-row-clue b{display:inline;margin-left:3px}
.game-puzzle-page .pp-pcc .pp-fill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.game-puzzle-page .pp-snip{padding:6px 2px}.game-puzzle-page .pp-q{font-size:17px;margin:6px 0}.game-puzzle-page .pp-a{color:var(--gold2);margin:6px 0}
.game-puzzle-page .pp-wordle{display:flex;gap:6px;justify-content:center;margin:8px 0}
.game-puzzle-page .pp-wordle span{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#3a7d44;color:#fff;font-family:var(--font-m);font-weight:800}
.game-puzzle-page .pp-pcc th b{display:block;min-width:1.4em;padding:0 3px;margin:1px auto;border-radius:4px;text-align:center;font-size:calc(var(--pp-cell)*.42);line-height:1.25}
.game-puzzle-page .pp-pcc .pp-row-clue b{display:inline-block;margin:1px 2px}
.game-puzzle-page .pp-pcc .pp-col-clue{padding-bottom:4px}

.game-puzzle-page .pp-variant-note{margin:2px 0 10px;font-size:.92rem;line-height:1.5;opacity:.88;max-width:62ch}

/* ---- Design v2 components (month/date chips, type cards, issue buttons, date cards, finder rows) ---- */
.mochiprow{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.mochip{font-family:var(--font-m);font-weight:700;font-size:12px;color:#fff;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:9px 14px;text-decoration:none;display:inline-block;transition:.15s}
.mochip:hover{background:rgba(0,0,0,.46);transform:translateY(-2px)}
.mochip[aria-current]{background:linear-gradient(135deg,#fff3cf,var(--gold) 55%,var(--gold-deep));color:#2a1500;border-color:transparent}
.ptgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.ptcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;border-radius:16px;padding:16px 18px;border:1px solid var(--line2);box-shadow:var(--hi),var(--shadow);transition:.15s}
.ptcard:hover{transform:translateY(-4px)}
.ptcard .pt-ic{font-size:22px}
.ptcard .pt-t{font-family:var(--font-d);font-weight:800;font-size:14.5px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.35)}
.ptcard .pt-m{font-family:var(--font-m);font-size:10.5px;color:rgba(255,255,255,.85)}
.sigrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.sibtn{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-radius:16px;padding:16px 20px;border:1px solid var(--line2);box-shadow:var(--hi),var(--shadow);transition:.15s}
.sibtn:hover{transform:translateY(-3px)}
.sibtn .si-t{font-family:var(--font-d);font-weight:800;font-size:14.5px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.4);display:block}
.sibtn .si-m{font-family:var(--font-m);font-size:10.5px;color:rgba(255,255,255,.85);margin-top:5px;display:block}
.sibtn .si-arrow{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff}
.ddgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.ddcard{display:block;text-decoration:none;border-radius:16px;padding:16px 18px;border:1px solid var(--line2);box-shadow:var(--hi),var(--shadow);background:linear-gradient(150deg,var(--cyan),#0c5a78 85%);transition:.15s}
.ddcard:hover{transform:translateY(-4px)}
.ddcard .dd-date{font-family:var(--font-d);font-weight:800;font-size:15px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.4)}
.ddcard .dd-n{font-family:var(--font-m);font-size:10.5px;color:rgba(255,255,255,.88);margin-top:4px}
.ddcard .dd-types{font-family:var(--font-m);font-size:10px;color:rgba(255,255,255,.78);margin-top:9px;line-height:1.5}
.fselects{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;margin-top:22px;max-width:900px}
.fsel{display:flex;flex-direction:column;gap:6px;font-family:var(--font-m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.fsel select,.fsel input{font-family:var(--font-u);font-size:16px;letter-spacing:0;text-transform:none;color:#fff;background:rgba(0,0,0,.3);border:1px solid var(--line2);border-radius:11px;padding:12px 14px;outline:0}
.fsel select:focus,.fsel input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(43,220,242,.25)}
.fsel option{color:#111}
.frow{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:13px;padding:13px 18px;border:1px solid var(--line2);background:rgba(0,0,0,.2);margin-bottom:9px}
.frow .fr-t{font-family:var(--font-d);font-weight:800;font-size:13.5px;color:#fff;display:block}
.frow .fr-m{font-family:var(--font-m);font-size:10.5px;color:var(--mut);margin-top:4px;display:block}
.frow .fr-btn{font-family:var(--font-m);font-weight:700;font-size:11px;color:#2a1e00;background:linear-gradient(135deg,#ffd862,#dca026);border-radius:9px;padding:8px 14px;white-space:nowrap;text-decoration:none}
.puzcard-note{font-family:var(--font-m);font-size:11.5px;color:var(--mut);margin-top:10px}
@media(max-width:900px){.ptgrid,.ddgrid{grid-template-columns:repeat(2,1fr)}.fselects{grid-template-columns:1fr}}
@media(max-width:700px){.sigrid{grid-template-columns:1fr}}
@media(max-width:600px){.ptgrid,.ddgrid{grid-template-columns:1fr}}

/* FINAL DESIGN MONSTER PASS: shared tokens and family wall.  This is scoped to
   Puzzle Page so the other CodyCross Answers games keep their existing visual system. */
.game-puzzle-page{
  --pp-bg-0:#171429;--pp-bg-1:#1D1931;--pp-bg-2:#24203B;--pp-bg-3:#2D2848;--pp-bg-4:#37315A;
  --pp-text-1:#FAF8FF;--pp-text-2:#D9D4E8;--pp-text-3:#ABA4C2;--pp-text-4:#817A9C;
  --pp-border-soft:rgba(191,181,230,.18);--pp-border-med:rgba(205,196,240,.30);--pp-border-strong:rgba(220,213,250,.48);
  --pp-gold:#FFC83D;--pp-gold-2:#D89B14;--pp-cyan:#25D7F2;--pp-violet:#8C5CFF;--pp-purple:#A547F5;--pp-magenta:#E940B7;--pp-pink:#FF4EA3;--pp-green:#65D84A;--pp-lime:#9BE944;--pp-orange:#F39A32;--pp-red:#F16061;
}
.game-puzzle-page .wrap{width:calc(100% - 48px);max-width:1180px}
.game-puzzle-page .hero{background-color:#20213A;padding:54px 0 56px}
.game-puzzle-page .hero .aurora{opacity:.92}
.game-puzzle-page .hero .head{font-size:clamp(48px,4.3vw,72px);line-height:.96;letter-spacing:-.035em;max-width:980px}
.game-puzzle-page .pill-badge{height:32px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,200,61,.08);border:1px solid rgba(255,200,61,.4);color:#FFE18A;border-radius:999px}
.game-puzzle-page .sec{padding:72px 0}
.game-puzzle-page .sh{font-size:40px;line-height:1.05;margin-bottom:18px}
.game-puzzle-page .sdesc,.game-puzzle-page .sub{color:var(--pp-text-2);font-size:17px;line-height:1.62}
.game-puzzle-page .jb,.game-puzzle-page .go{min-height:44px;padding:0 18px;border-radius:11px;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:180ms ease}
.game-puzzle-page .jb:focus-visible,.game-puzzle-page a:focus-visible,.game-puzzle-page button:focus-visible,.game-puzzle-page input:focus-visible,.game-puzzle-page select:focus-visible{outline:none;border-color:var(--pp-gold);box-shadow:0 0 0 3px rgba(255,200,61,.22),0 0 0 1px var(--pp-gold) inset}
.game-puzzle-page .jb.gold,.game-puzzle-page .go{background:linear-gradient(180deg,#FFE37F 0%,#FFC83D 100%);color:#261A2A;border:1px solid rgba(255,238,160,.75);box-shadow:0 8px 22px rgba(255,184,30,.2)}
.game-puzzle-page .jb:not(.gold){background:#2B2645;border:1px solid rgba(225,217,250,.26);color:#F3EFFF}
.game-puzzle-page .jb:hover,.game-puzzle-page .go:hover{transform:translateY(-2px)}
.game-puzzle-page .jb:not(.gold):hover{background:#37305A;border-color:rgba(225,217,250,.46)}
.game-puzzle-page .fact{min-height:112px;padding:20px;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025)}
.game-puzzle-page .fact .n{font-size:34px;font-weight:800}
.game-puzzle-page .fact .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#E5DFF0}
.game-puzzle-page .hstats{gap:14px}

/* Homepage Special Issue wall: family panels with stable accent hierarchy. */
.game-puzzle-page .issue-wall{display:grid;gap:24px;margin-top:20px}
.game-puzzle-page .issue-family{--family:#8C5CFF;background:color-mix(in srgb,var(--family) 12%,var(--pp-bg-1));border:1px solid color-mix(in srgb,var(--family) 38%,transparent);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025)}
.game-puzzle-page .issue-family.c-cyan{--family:#24C7DF}.game-puzzle-page .issue-family.c-vio{--family:#7053D8}.game-puzzle-page .issue-family.c-mag{--family:#D83A85}.game-puzzle-page .issue-family.c-gold{--family:#D99A18}.game-puzzle-page .issue-family.c-lime{--family:#62C95C}.game-puzzle-page .issue-family.c-coral{--family:#E45455}
.game-puzzle-page .issue-family-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.game-puzzle-page .issue-family-head>div{display:flex;align-items:center;gap:10px}.game-puzzle-page .issue-family-head h3{margin:0;color:var(--pp-text-1);font-size:24px;line-height:1.15;font-weight:800}.game-puzzle-page .issue-family-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--family) 20%,transparent);font-size:19px}.game-puzzle-page .issue-count{font-family:var(--font-m);font-size:12px;color:var(--pp-text-2);border:1px solid color-mix(in srgb,var(--family) 48%,transparent);background:color-mix(in srgb,var(--family) 14%,transparent);border-radius:999px;padding:6px 10px;white-space:nowrap}
.game-puzzle-page .issue-family .sigrid{margin-top:0}.game-puzzle-page .issue-family .sibtn{background:color-mix(in srgb,var(--family) 16%,var(--pp-bg-2));border-color:color-mix(in srgb,var(--family) 42%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025)}.game-puzzle-page .issue-family .sibtn:hover{border-color:color-mix(in srgb,var(--family) 72%,transparent);box-shadow:0 18px 38px rgba(0,0,0,.27)}
.game-puzzle-page .issue-family .si-arrow{background:color-mix(in srgb,var(--family) 24%,transparent);border-color:color-mix(in srgb,var(--family) 55%,transparent)}
.game-puzzle-page .sigrid{gap:14px}
@media(max-width:768px){.game-puzzle-page .wrap{width:calc(100% - 32px)}.game-puzzle-page .hero{padding:38px 0 42px}.game-puzzle-page .hero .head{font-size:40px;line-height:.98;letter-spacing:-.03em}.game-puzzle-page .sec{padding:48px 0}.game-puzzle-page .sh{font-size:30px;line-height:1.08}.game-puzzle-page .sdesc,.game-puzzle-page .sub{font-size:16px;line-height:1.6}.game-puzzle-page .issue-family-head h3{font-size:21px}}
@media(max-width:420px){.game-puzzle-page .wrap{width:calc(100% - 24px)}.game-puzzle-page .hero .head{font-size:36px}.game-puzzle-page .issue-family{padding:16px}.game-puzzle-page .issue-family-head{align-items:flex-start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.game-puzzle-page *,.game-puzzle-page *::before,.game-puzzle-page *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.game-puzzle-page .sibtn:hover,.game-puzzle-page .jb:hover,.game-puzzle-page .go:hover{transform:none}}

.foot .fh5{display:flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 0 15px}.foot .fh5::before{content:"";width:12px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
/* CodyCross Puzzle Page layer (PEAK final mission). Existing visual language only; no redesign. */
.game-puzzle-page .pp-apv.pp-js .pp-puzzle.pp-off{display:none}
.game-puzzle-page .pp-sel .jumpnav2 a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.game-puzzle-page .pp-sel .jumpnav2 a[aria-current=true]{background:#FFE17B;border-color:#FFE17B;color:#0B1430;font-weight:700}
.game-puzzle-page .pp-sel{margin:0 0 18px}
.game-puzzle-page a:focus-visible,.game-puzzle-page button:focus-visible,.game-puzzle-page input:focus-visible,.game-puzzle-page select:focus-visible,.game-puzzle-page summary:focus-visible,.game-puzzle-page [tabindex="-1"]:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.game-puzzle-page .pp-puzzle h2{scroll-margin-top:88px}
.game-puzzle-page .lvlcard .lc-meta{white-space:normal}
.game-puzzle-page .pp-sh3{font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--gold2);margin:18px 0 10px}
.game-puzzle-page .pp-svgimg{display:block;width:100%;height:auto;margin:0 auto;border-radius:8px}
.game-puzzle-page .pp-pnav{margin-top:18px}
.game-puzzle-page .pp-pnav .jb,.game-puzzle-page .chiprow .jb{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.game-puzzle-page .pp-variant-note,.game-puzzle-page .pp-vnote{color:var(--mut);font-size:14px;line-height:1.55;margin:12px 0 0}
.game-puzzle-page .pp-vnote a{color:var(--gold2);border-bottom:1px solid rgba(255,207,74,.5)}
.game-puzzle-page .pp-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:16px;max-width:760px}
.game-puzzle-page .pp-form h3,.game-puzzle-page .pp-form .pp-mh{flex-basis:100%;font-family:var(--font-d);font-weight:700;font-size:16px;margin:0;color:#fff}
.game-puzzle-page .pp-form .slab{flex-basis:100%;font-family:var(--font-m);font-weight:700;font-size:12.5px;color:var(--mut);margin:4px 0 -4px}
.game-puzzle-page .pp-input,.game-puzzle-page .pp-select{flex:1 1 200px;min-width:0;min-height:44px;font:600 16px var(--font-u);color:var(--ink);background:rgba(0,0,0,.32);border:1px solid var(--line2);border-radius:10px;padding:10px 12px}
.game-puzzle-page .pp-select option{color:#111}
.game-puzzle-page .pp-input[aria-invalid=true]{border-color:var(--coral)}
.game-puzzle-page .pp-go{min-height:44px;font-family:var(--font-d);font-weight:800;font-size:15px;color:#2a1500;background:linear-gradient(135deg,#fff3cf,var(--gold) 55%,var(--gold-deep));border:0;border-radius:12px;padding:10px 18px;cursor:pointer}
.game-puzzle-page .pp-form button.jb{min-height:44px;cursor:pointer}
.game-puzzle-page .pp-msg{flex-basis:100%;margin:4px 0 0;color:var(--gold2);font-size:14px;min-height:0}
.game-puzzle-page .pp-msg:empty{display:none}
.game-puzzle-page .pp-latest h3{font-family:var(--font-d);font-weight:800;font-size:17px;margin:0 0 4px;color:#fff}
.game-puzzle-page .pp-latest p{margin:0;color:var(--mut)}
.game-puzzle-page .pp-find{margin-top:22px}
.game-puzzle-page .pp-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;margin-top:22px}
.game-puzzle-page .pp-modes .pp-form{margin:0;padding:18px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid var(--line)}
.game-puzzle-page .pp-results{margin-top:18px}
.game-puzzle-page .pp-rlist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.game-puzzle-page .pp-rcard{padding:14px 16px;border-radius:14px;background:rgba(0,0,0,.24);border:1px solid var(--line2);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.game-puzzle-page .pp-rt{flex-basis:100%;margin:0;font-family:var(--font-d);font-size:15px;color:#fff}
.game-puzzle-page .pp-rctx{margin:0;color:var(--mut);font-size:14px;flex:1 1 200px;overflow-wrap:anywhere}
.game-puzzle-page .pp-badge{font-family:var(--font-m);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0B1430;background:#FFE17B;border-radius:999px;padding:4px 10px}
.game-puzzle-page .pp-rcard .jb{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.game-puzzle-page .pp-count{color:var(--mut);margin:0}
.game-puzzle-page .pp-disclist{display:grid;gap:10px;margin-top:16px}
.game-puzzle-page .pp-disc{border-radius:14px;background:rgba(0,0,0,.22);border:1px solid var(--line);padding:4px 16px}
.game-puzzle-page .pp-disc>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-family:var(--font-d);font-weight:700;font-size:15px;color:#fff;list-style-position:inside}
.game-puzzle-page .pp-disc>summary .pp-dh{display:inline;font:inherit;margin:0 0 0 6px}
.game-puzzle-page .pp-disc[open]{padding-bottom:16px}
.game-puzzle-page .pp-days .mochip{min-height:44px;display:inline-flex;align-items:center}
.game-puzzle-page .mochip,.game-puzzle-page .jumpnav2 a{overflow-wrap:anywhere}
.game-puzzle-page .foot .fh5{margin:0 0 10px}
/* minimum readable text (14px) and 44px targets for Puzzle Page controls; puzzle grid internals keep their sized cells */
.game-puzzle-page .mochip,.game-puzzle-page .jumpnav2 a,.game-puzzle-page .jb,.game-puzzle-page .lvlcard .lc-meta,.game-puzzle-page .pp-badge,.game-puzzle-page .tipitem p,.game-puzzle-page .pp-form .slab{font-size:14px}
.game-puzzle-page .mochip,.game-puzzle-page .jb,.game-puzzle-page .jumpnav2 a,.game-puzzle-page .tabs .tab,.game-puzzle-page .nav-cta,.game-puzzle-page .crumb a,.game-puzzle-page .fl,.game-puzzle-page .pp-vnote a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;box-sizing:border-box}
.game-puzzle-page .fl{display:flex}
.game-puzzle-page .pp-alt>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px}
.game-puzzle-page .crumb{font-size:14px}
.game-puzzle-page .nav .brand{min-height:44px}
@media(max-width:400px){.game-puzzle-page .nav .brand{flex:0 1 auto;min-width:0}.game-puzzle-page .nav .brand b{font-size:14px;line-height:1.1;white-space:normal;letter-spacing:.01em}}
.game-puzzle-page .pp-key li,.game-puzzle-page .pp-key b,.game-puzzle-page .pp-pal li,.game-puzzle-page .pp-cn,.game-puzzle-page .pp-ct em,.game-puzzle-page .pp-alt p,.game-puzzle-page p.pp-alt,.game-puzzle-page .pp-quote cite,.game-puzzle-page .pp-alt li,.game-puzzle-page .pp-words li span{font-size:14px}
