@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --blue:#0A66C2;--blue-h:#004182;--blue-l:#EBF3FB;--blue-m:#CCE4F5;
  --text:#1B1F23;--text2:#38434F;--text3:#56687A;--text4:#86939E;
  --border:#E0E0E0;--border2:#C0C0C0;
  --bg:#F4F2EE;--white:#FFFFFF;
  --green:#057642;--green-l:#E7F3EC;
  --red:#B24020;--red-l:#FDF0EB;
  --shadow:0 0 0 1px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.06);
  --shadow-h:0 0 0 1px rgba(10,102,194,0.25),0 4px 20px rgba(10,102,194,0.15);
  --r:8px;--r2:12px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}

html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;color:var(--blue-h)}
button{font-family:var(--font);cursor:pointer}

/* ── NAV ── */
.nav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:200}
.nav-i{max-width:1128px;margin:0 auto;padding:0 16px;display:flex;align-items:center;height:52px;gap:8px}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;margin-right:8px}
.nav-logo:hover{text-decoration:none}
.logo-mark{width:34px;height:34px;background:var(--blue);border-radius:4px;display:flex;align-items:center;justify-content:center;color:white;font-weight:800;font-size:14px;letter-spacing:-0.5px;flex-shrink:0}
.logo-text{font-size:17px;font-weight:700;color:var(--text)}
@media(max-width:600px){.logo-text{display:none}}

.nav-links{display:flex;align-items:center;gap:0;list-style:none;margin-left:auto}
.nl{display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;padding:0 14px;font-size:12px;color:var(--text3);font-weight:500;text-decoration:none;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;gap:2px;cursor:pointer;border-top:none;border-left:none;border-right:none;background:none}
.nl:hover{color:var(--text);border-bottom-color:var(--text);text-decoration:none}
.nl.act{color:var(--text);border-bottom-color:var(--text)}
.nl svg{flex-shrink:0}
@media(max-width:600px){.nl-label{display:none}.nl{padding:0 8px}}

.nav-dd{position:relative}
.nav-dd-menu{position:absolute;top:100%;right:0;background:white;border-radius:var(--r2);box-shadow:0 4px 24px rgba(0,0,0,0.15);padding:8px 0;min-width:200px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .15s;z-index:100;margin-top:2px}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dd-menu a{display:block;padding:9px 16px;font-size:14px;color:var(--text2);transition:background .1s}
.nav-dd-menu a:hover{background:var(--bg);color:var(--text);text-decoration:none}
.nav-dd-sep{height:1px;background:var(--border);margin:4px 0}

.nav-cta{padding:6px 16px;background:var(--blue);color:white!important;border-radius:100px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s;flex-shrink:0;margin-left:8px}
.nav-cta:hover{background:var(--blue-h);text-decoration:none;color:white!important}

/* ── LAYOUT ── */
.wrap{max-width:1128px;margin:0 auto;padding:20px 16px}
.col2{display:grid;grid-template-columns:1fr 316px;gap:16px;align-items:start}
@media(max-width:860px){.col2{grid-template-columns:1fr}}

/* ── CARD ── */
.card{background:var(--white);border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px}
.card-h{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-t{font-size:15px;font-weight:700;color:var(--text)}
.card-b{padding:16px 20px}
.card-f{padding:12px 20px;border-top:1px solid var(--border)}

/* ── PAGE HEADER ── */
.ph{background:var(--white);border-radius:var(--r2);box-shadow:var(--shadow);padding:20px;margin-bottom:12px}
.ph-eye{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.ph-h1{font-size:clamp(20px,3.5vw,28px);font-weight:800;color:var(--text);margin-bottom:6px;line-height:1.2}
.ph-sub{font-size:14px;color:var(--text3);margin-bottom:12px;line-height:1.6;max-width:580px}
.ph-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text3);flex-wrap:wrap}
.ph-meta strong{color:var(--text2)}
.ph-meta-sep{color:var(--border2)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 22px;border-radius:100px;font-size:14px;font-weight:600;font-family:var(--font);text-decoration:none;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn-p{background:var(--blue);color:white}.btn-p:hover{background:var(--blue-h);text-decoration:none;color:white}
.btn-o{background:white;color:var(--blue);border:1.5px solid var(--blue)}.btn-o:hover{background:var(--blue-l);text-decoration:none}
.btn-g{background:transparent;color:var(--text2);border:1.5px solid var(--border2)}.btn-g:hover{border-color:var(--blue);color:var(--blue);text-decoration:none;background:var(--blue-l)}
.btn-sm{padding:6px 14px;font-size:13px}
.btn-full{width:100%;justify-content:center}

/* ── SPOILER ── */
.sp{background:#F7F7F7;border:1.5px solid var(--border);border-radius:var(--r);padding:12px 14px;cursor:pointer;position:relative;transition:border-color .15s;user-select:none}
.sp:hover{border-color:var(--blue)}
.sp-t{font-size:15px;color:var(--text);font-weight:500;transition:filter .2s}
.sp.lock .sp-t{filter:blur(5px);pointer-events:none}
.sp-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--blue);gap:6px;border-radius:var(--r)}
.sp:not(.lock) .sp-ov{display:none}
.sp-lbl{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}

/* ── GAME TILES GRID ── */
.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:640px){.game-grid{grid-template-columns:repeat(2,1fr)}}
.g-tile{display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-radius:var(--r);border:1px solid var(--border);text-decoration:none;transition:all .18s;text-align:center;background:white;cursor:pointer}
.g-tile:hover{border-color:var(--blue);box-shadow:var(--shadow-h);transform:translateY(-2px);text-decoration:none}
.g-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:7px}
.g-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px}
.g-desc{font-size:11px;color:var(--text3);line-height:1.3;margin-bottom:6px}
.g-num{font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase}

/* ── ARCHIVE CARD ── */
.ac{background:white;border-radius:var(--r2);box-shadow:var(--shadow);padding:14px 16px;display:block;text-decoration:none;transition:box-shadow .15s;margin-bottom:8px}
.ac:hover{box-shadow:var(--shadow-h);text-decoration:none}
.ac-eye{display:flex;align-items:center;gap:7px;margin-bottom:7px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:4px}
.chip-b{background:var(--blue-l);color:var(--blue)}
.chip-g{background:var(--green-l);color:var(--green)}
.chip-o{background:#FFF3E0;color:#E65100}
.chip-r{background:var(--red-l);color:var(--red)}
.chip-grey{background:#F0F0F0;color:var(--text3)}
.ac-t{font-size:16px;font-weight:700;color:var(--text);margin-bottom:2px}
.ac-d{font-size:13px;color:var(--text3);margin-bottom:7px}
.ac-p{font-size:14px;color:var(--text2);margin-bottom:8px;line-height:1.5}
.ac-cta{font-size:13px;font-weight:600;color:var(--blue);display:flex;align-items:center;gap:4px}

/* ── SIDEBAR ── */
.sb-card{background:white;border-radius:var(--r2);box-shadow:var(--shadow);padding:14px;margin-bottom:10px}
.sb-t{font-size:14px;font-weight:700;color:var(--text);margin-bottom:10px}
.sb-nav{list-style:none;display:flex;flex-direction:column;gap:1px}
.sb-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--r);font-size:14px;color:var(--text2);cursor:pointer;text-decoration:none;transition:background .1s}
.sb-item:hover{background:var(--bg);color:var(--text);text-decoration:none}
.sb-item.act{background:var(--blue-l);color:var(--blue);font-weight:600}
.sb-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}

/* ── COUNTDOWN ── */
.cd-boxes{display:flex;gap:7px}
.cd-box{flex:1;background:var(--blue-l);border-radius:var(--r);padding:10px 6px;text-align:center}
.cd-n{font-size:26px;font-weight:800;color:var(--blue);line-height:1;display:block}
.cd-l{font-size:10px;color:var(--text3);font-weight:600;margin-top:3px;text-transform:uppercase;letter-spacing:.05em}
.cd-note{margin-top:10px;padding:9px 11px;background:#FFF8E6;border-radius:var(--r);font-size:12px;color:#7A4F00;font-weight:500;display:flex;align-items:flex-start;gap:6px}

/* ── VISUAL ANSWER BOXES ── */
.answer-visual{background:white;border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px}
.av-header{background:#F9FAFB;border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.av-title{font-size:14px;font-weight:700;color:var(--text)}
.av-sub{font-size:12px;color:var(--text3)}
.av-body{padding:20px;display:flex;justify-content:center}

/* ── ZIP SVG ── */
.zip-wrap{border-radius:var(--r);overflow:hidden;max-width:380px;width:100%}
.zip-wrap svg{display:block;width:100%}

/* ── SUDOKU GRID ── */
.sudoku-outer{border:2px solid var(--text);border-radius:4px;overflow:hidden;max-width:340px;margin:0 auto;display:inline-block}
.sudoku-grid{display:grid;grid-template-columns:repeat(6,1fr);border-collapse:collapse}
.s-cell{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:white;color:var(--text)}
.s-cell.given{background:var(--blue-l);color:var(--blue)}
.s-cell.bb2{border-bottom:2px solid var(--text)}
.s-cell.br2{border-right:2px solid var(--text)}

/* ── TANGO GRID ── */
.tango-wrap{display:grid;gap:3px;max-width:300px;margin:0 auto}
.t-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:5px;border:1px solid var(--border);background:white;font-weight:500}
.t-cell.sun{background:#FFFBEB;border-color:#FDE68A}
.t-cell.moon{background:#EFF6FF;border-color:#BFDBFE}
.t-cell.given-sun{background:#FEF08A;border:2px solid #CA8A04;font-weight:700}
.t-cell.given-moon{background:#BFDBFE;border:2px solid #2563EB;font-weight:700}

/* ── QUEENS GRID ── */
.queens-wrap{display:grid;gap:2px;max-width:320px;margin:0 auto}
.q-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:3px;border:1px solid rgba(0,0,0,0.06);font-weight:700}
.q-queen{font-size:18px}

/* ── PATCHES GRID ── */
.patches-wrap{max-width:380px;margin:0 auto;display:grid;gap:2px;background:var(--border);border:1px solid var(--border);border-radius:var(--r)}
.p-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:rgba(0,0,0,0.5)}

/* ── WORD CHAIN ── */
.wc{display:flex;flex-direction:column;gap:5px}
.wc-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg);border-radius:var(--r);border:1px solid var(--border)}
.wc-word{font-size:17px;font-weight:800;letter-spacing:.08em;color:var(--text);min-width:68px;font-family:monospace}
.wc-word.hl{color:var(--blue)}
.wc-hint{font-size:13px;color:var(--text3)}
.wc-arrow{text-align:center;font-size:12px;color:var(--text4);padding:1px 12px}

/* ── CLUE ROW ── */
.cr{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.cr:last-child{border-bottom:none}
.cr-num{min-width:26px;height:26px;background:var(--blue-l);color:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px}
.cr-t{font-size:14px;color:var(--text2);line-height:1.5}

/* ── WEND GRID ── */
.wend-grid{display:grid;gap:4px;max-width:220px;margin:0 auto}
.w-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;border-radius:var(--r);border:1.5px solid var(--border);background:white;font-family:monospace;color:var(--text)}
.w-cell.path-a{background:#DBEAFE;border-color:#3B82F6;color:#1D4ED8}
.w-cell.path-b{background:#D1FAE5;border-color:#10B981;color:#065F46}
.w-cell.path-c{background:#FEF3C7;border-color:#F59E0B;color:#92400E}
.w-cell.path-d{background:#FCE7F3;border-color:#EC4899;color:#831843}

/* ── META INFO ROW ── */
.meta-row{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
.meta-item{display:flex;align-items:flex-start;gap:8px}
.meta-icon{width:32px;height:32px;background:var(--bg);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.meta-label{font-size:11px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:block}
.meta-value{font-size:14px;font-weight:700;color:var(--text);display:block}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{width:100%;padding:14px 0;background:none;border:none;font-size:15px;font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;font-family:var(--font);gap:10px}
.faq-icon{flex-shrink:0;transition:transform .2s;color:var(--text3)}
.faq-q.open .faq-icon{transform:rotate(45deg)}
.faq-a{display:none;padding-bottom:14px;font-size:14px;color:var(--text2);line-height:1.7}
.faq-a.open{display:block}

/* ── FILTER ── */
.filter-bar{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:14px}
.fb{padding:5px 13px;border:1.5px solid var(--border);border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;background:white;color:var(--text2);transition:all .12s;font-family:var(--font)}
.fb:hover{border-color:var(--blue);color:var(--blue)}
.fb.act{background:var(--blue);color:white;border-color:var(--blue)}

/* ── BADGE ── */
.badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.b-new{background:#FEF3C7;color:#92400E}
.b-blue{background:var(--blue-l);color:var(--blue)}
.b-green{background:var(--green-l);color:var(--green)}

/* ── DIVIDER ── */
.div{height:1px;background:var(--border);margin:14px 0}

/* ── FOOTER ── */
footer{background:#1B1F23;color:#9CA3AF;padding:28px 16px 20px;margin-top:24px}
.ft-i{max-width:1128px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;margin-bottom:24px}
@media(max-width:680px){.ft-grid{grid-template-columns:1fr 1fr;gap:16px}}
.ft-logo{display:flex;align-items:center;gap:8px;margin-bottom:10px;text-decoration:none}
.ft-logo:hover{text-decoration:none}
.ft-logo-m{width:28px;height:28px;background:var(--blue);border-radius:4px;display:flex;align-items:center;justify-content:center;color:white;font-weight:800;font-size:13px}
.ft-logo-t{font-size:15px;font-weight:700;color:white}
.ft-tag{font-size:13px;line-height:1.6;margin-bottom:8px}
.ft-disc{font-size:11px;color:#6B7280;line-height:1.6}
.ft-ct{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:white;margin-bottom:8px}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:5px}
.ft-links a{font-size:13px;color:#9CA3AF;text-decoration:none}
.ft-links a:hover{color:white}
.ft-bottom{border-top:1px solid #374151;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ft-bottom p{font-size:12px;color:#6B7280}

/* ── RESPONSIVE ── */
@media(max-width:768px){.wrap{padding:14px 12px}.card-b{padding:14px 16px}.card-h{padding:12px 16px}}
