:root{
  --bg:#09090e;--bg2:#10101a;--bg3:#161620;--bg4:#1c1c28;--bg5:#232332;
  --b0:rgba(255,255,255,0.05);--b1:rgba(255,255,255,0.09);--b2:rgba(255,255,255,0.14);
  --tx:#edecf5;--t2:#9491a8;--t3:#55536a;
  --ac:#6c63ff;--g:#4ade80;--o:#fb923c;--r:#f87171;--b:#38bdf8;--y:#fbbf24;--p:#f472b6;
  --fd:'Inter',system-ui,-apple-system,sans-serif;--fb:'Inter',system-ui,-apple-system,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:15px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:2px;}

/* ── NAV ─────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;height:60px;background:rgba(9,9,14,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--b0);z-index:300;display:flex;align-items:center;gap:12px;padding:0 16px;}
.logo{font-family:var(--fd);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--tx);text-decoration:none;white-space:nowrap;flex-shrink:0;}
.logo em{color:var(--ac);font-style:normal;}
.nsearch{flex:1;max-width:400px;margin:0 auto;position:relative;}
.nsearch input{width:100%;background:var(--bg3);border:1px solid var(--b0);border-radius:10px;padding:8px 12px 8px 34px;color:var(--tx);font-family:var(--fb);font-size:13px;outline:none;transition:border .2s,background .2s;}
.nsearch input::placeholder{color:var(--t3);}
.nsearch input:focus{border-color:var(--ac);background:var(--bg4);}
.nsearch-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--t3);font-size:13px;pointer-events:none;}
.nmeta{font-size:11px;color:var(--t3);white-space:nowrap;flex-shrink:0;font-weight:500;}
@media(max-width:640px){.nmeta{display:none;}}
@media(max-width:480px){
  .nav{height:56px;padding:0 12px;gap:8px;}
  .logo{font-size:15px;}
  .nsearch{max-width:100%;}
  .nsearch input{padding:7px 10px 7px 30px;font-size:12px;}
  .nsearch-icon{left:9px;font-size:12px;}
}

/* ── HERO ────────────────────────────── */
.hero{padding:80px 20px 36px;text-align:center;position:relative;overflow:hidden;}
.hero-glow{position:absolute;width:600px;height:240px;background:radial-gradient(ellipse,rgba(108,99,255,.14) 0,transparent 68%);top:40px;left:50%;transform:translateX(-50%);pointer-events:none;z-index:0;}
.hero-inner{position:relative;z-index:1;}
.hero-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(108,99,255,.12);border:1px solid rgba(108,99,255,.25);border-radius:99px;padding:5px 15px;font-size:12px;font-weight:500;color:#b5b0ff;margin-bottom:16px;letter-spacing:.01em;}
.hero h1{font-family:var(--fd);font-size:clamp(1.85rem,5.5vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:14px;}
.hero h1 .ca{color:var(--ac);}
.hero h1 .cg{color:var(--g);}
.hero-sub{color:var(--t2);font-size:15px;max-width:480px;margin:0 auto 22px;line-height:1.7;}

/* ── SECTION SWITCHER ──────────────────── */
.section-switcher{display:flex;justify-content:center;gap:8px;margin:14px 0 20px;flex-wrap:wrap;}
.section-btn{padding:8px 18px;border:1px solid var(--b1);border-radius:99px;font-size:13px;cursor:pointer;background:transparent;color:var(--t2);font-family:var(--fb);transition:all .2s;white-space:nowrap;font-weight:600;letter-spacing:.01em;}
.section-btn:hover{background:var(--bg3);color:var(--tx);border-color:var(--b2);transform:translateY(-2px);}
.section-btn.on{background:rgba(108,99,255,.16);border-color:rgba(108,99,255,.5);color:#b5b0ff;box-shadow:0 4px 12px rgba(108,99,255,.18);}
@media(max-width:480px){
  .section-switcher{gap:6px;margin:12px 0 16px;}
  .section-btn{padding:7px 14px;font-size:12px;}
  .hero{padding:70px 16px 30px;}
  .hero-chip{font-size:11px;padding:4px 12px;}
  .hero h1{font-size:1.75rem;}
  .hero-sub{font-size:14px;max-width:100%;}
}

/* ── FILTER PILLS ────────────────────── */
.filter-row{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;padding:0 12px;}
.fp{padding:7px 15px;border:1px solid var(--b0);border-radius:99px;font-size:12px;cursor:pointer;background:transparent;color:var(--t2);font-family:var(--fb);transition:all .2s;white-space:nowrap;font-weight:500;}
.fp:hover{background:var(--bg3);color:var(--tx);border-color:var(--b1);transform:translateY(-1px);}
.fp.on{background:rgba(108,99,255,.15);border-color:rgba(108,99,255,.4);color:#b5b0ff;box-shadow:0 2px 8px rgba(108,99,255,.15);}
@media(max-width:480px){
  .filter-row{gap:6px;padding:0 8px;}
  .fp{padding:6px 12px;font-size:11px;}
}

/* ── STATS BAR ───────────────────────── */
.statsbar{display:flex;justify-content:center;align-items:center;gap:0;border-top:1px solid var(--b0);border-bottom:1px solid var(--b0);background:var(--bg2);padding:0;}
.statsbar::-webkit-scrollbar{height:0;}
.sbi{padding:14px 40px;text-align:center;border-right:1px solid var(--b0);flex-shrink:0;min-width:auto;transition:background .2s;}
.sbi:last-child{border-right:none;}
.sbi:hover{background:var(--bg3);}
.sbn{font-family:var(--fd);font-size:22px;font-weight:600;display:block;color:var(--tx);margin-bottom:2px;}
.sbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-weight:500;}
@media(max-width:600px){
  .statsbar{justify-content:stretch;}
  .sbi{padding:12px 20px;flex:1;}
  .sbn{font-size:20px;}
}
@media(max-width:400px){
  .sbi{padding:11px 16px;}
  .sbn{font-size:18px;}
  .sbl{font-size:9px;}
}

/* ── CONTENT ─────────────────────────── */
.wrap{padding:22px 18px 70px;max-width:1320px;margin:0 auto;}
.sec-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;margin-top:4px;}
.sec-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--t3);}
@media(max-width:480px){
  .wrap{padding:18px 14px 60px;}
  .sec-row{margin-bottom:12px;}
}

/* ── TOPIC GRID ──────────────────────── */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px;}
@media(max-width:640px){.tgrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:11px;}}
@media(max-width:480px){.tgrid{grid-template-columns:1fr;gap:10px;}}

/* ── TOPIC CARD ──────────────────────── */
.tc{background:var(--bg2);border:1px solid var(--b0);border-radius:18px;padding:18px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;position:relative;overflow:hidden;}
.tc::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top left,var(--tglow,transparent) 0,transparent 58%);opacity:0;transition:opacity .3s;pointer-events:none;}
.tc:hover{transform:translateY(-3px);border-color:var(--b2);background:var(--bg3);box-shadow:0 8px 24px rgba(0,0,0,.25);}
.tc:hover::before{opacity:1;}
.tc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.tc-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.tc-badge{font-size:10px;padding:3px 9px;border-radius:99px;background:var(--bg4);color:var(--t3);border:1px solid var(--b0);font-weight:500;}
.tc-title{font-family:var(--fd);font-size:15px;font-weight:600;letter-spacing:-.01em;margin-bottom:5px;color:var(--tx);}
.tc-desc{font-size:12px;color:var(--t2);line-height:1.55;margin-bottom:10px;}
.tc-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;}
.ttag{font-size:10px;padding:3px 7px;border-radius:99px;background:var(--bg4);color:var(--t3);border:1px solid var(--b0);font-weight:500;}
.tc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--b0);}
.tc-qc{font-size:11px;color:var(--t2);line-height:1.5;}
.tc-qc strong{color:var(--tx);font-family:var(--fd);font-weight:600;}
.tc-arr{width:26px;height:26px;border-radius:99px;background:var(--bg4);border:1px solid var(--b0);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--t2);transition:all .2s;}
.tc:hover .tc-arr{background:var(--ac);color:#fff;border-color:var(--ac);transform:translateX(2px);}
.prog{height:3px;background:var(--bg5);border-radius:99px;overflow:hidden;margin:0 0 10px;}
.progf{height:100%;border-radius:99px;transition:width .3s ease;}
@media(max-width:480px){
  .tc{padding:15px;border-radius:15px;}
  .tc-icon{width:36px;height:36px;font-size:16px;}
  .tc-title{font-size:14px;}
  .tc-desc{font-size:11px;}
}

/* ── TOPIC DETAIL ─────────────────────── */
#topicView{display:none;}
#landingView.off{display:none;}
#homeView.off{display:none;}
#topicView.on{display:block;}

.back{display:inline-flex;align-items:center;gap:7px;background:var(--bg3);border:1px solid var(--b0);border-radius:9px;padding:8px 15px;font-size:13px;color:var(--t2);cursor:pointer;font-family:var(--fb);margin-bottom:16px;transition:all .2s;font-weight:500;}
.back:hover{border-color:var(--b1);color:var(--tx);background:var(--bg4);transform:translateX(-2px);}

.thdr{background:var(--bg2);border:1px solid var(--b0);border-radius:18px;padding:20px;margin-bottom:16px;display:flex;align-items:flex-start;gap:15px;flex-wrap:wrap;justify-content:space-between;}
.thdr-icon{width:54px;height:54px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.thdr-info{flex:1;min-width:180px;}
.thdr-title{font-family:var(--fd);font-size:20px;font-weight:700;letter-spacing:-.015em;margin-bottom:4px;}
.thdr-meta{font-size:13px;color:var(--t2);line-height:1.65;}
.thdr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;}
@media(max-width:1024px){
  .thdr-stats{grid-template-columns:1fr 1fr;}
}
.ths{background:var(--bg4);border:1px solid var(--b0);border-radius:8px;padding:6px 13px;text-align:center;min-width:auto;}
.ths-n{font-family:var(--fd);font-size:16px;font-weight:600;display:block;}
.ths-l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.05em;font-weight:500;}
@media(max-width:600px){
  .thdr{padding:16px;border-radius:15px;gap:12px;flex-direction:column;}
  .thdr-icon{width:48px;height:48px;font-size:21px;}
  .thdr-title{font-size:18px;}
  .thdr-meta{font-size:12px;}
  .thdr-stats{grid-template-columns:1fr 1fr;}
  .ths{padding:5px 11px;}
  .ths-n{font-size:15px;}
}
@media(max-width:480px){
  .back{padding:7px 12px;font-size:12px;}
  .thdr{padding:14px;gap:10px;}
  .thdr-icon{width:44px;height:44px;font-size:19px;}
  .thdr-title{font-size:17px;}
  .thdr-stats{grid-template-columns:1fr 1fr;gap:6px;}
  .ths{padding:4px 8px;min-width:auto;}
  .ths-n{font-size:14px;}
  .ths-l{font-size:9px;}
}

/* ── DIFF FILTER ─────────────────────── */
.drow{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap;}
.db{padding:7px 15px;border-radius:99px;border:1px solid var(--b0);background:transparent;color:var(--t2);font-size:12px;cursor:pointer;font-family:var(--fb);transition:all .2s;font-weight:500;}
.db:hover{background:var(--bg3);border-color:var(--b1);color:var(--tx);transform:translateY(-1px);}
.db.on{background:var(--bg3);border-color:var(--b1);color:var(--tx);}
.db.easy.on{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.3);color:#4ade80;}
.db.medium.on{background:rgba(251,146,60,.1);border-color:rgba(251,146,60,.3);color:#fb923c;}
.db.hard.on{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.3);color:#f87171;}
@media(max-width:480px){
  .drow{gap:6px;margin-bottom:12px;}
  .db{padding:6px 12px;font-size:11px;}
}

/* ── Q&A LIST ────────────────────────── */
.qlist{display:flex;flex-direction:column;gap:7px;}
.qi{background:var(--bg2);border:1px solid var(--b0);border-radius:12px;overflow:hidden;transition:border-color .2s,background .2s;}
.qi:hover{border-color:var(--b1);background:rgba(255,255,255,.01);}
.qq{padding:14px 16px;cursor:pointer;display:flex;align-items:flex-start;gap:10px;user-select:none;}
.qnum{font-family:var(--fm);font-size:11px;color:var(--t3);padding-top:2px;flex-shrink:0;min-width:26px;font-weight:500;}
.qtext{font-size:14px;font-weight:500;color:var(--tx);flex:1;line-height:1.6;}
.qright{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:2px;}
.dbadge{font-size:10px;padding:3px 8px;border-radius:99px;font-weight:600;white-space:nowrap;letter-spacing:.01em;}
.dbadge.easy{background:rgba(74,222,128,.12);color:#4ade80;border:1px solid rgba(74,222,128,.2);}
.dbadge.medium{background:rgba(251,146,60,.12);color:#fb923c;border:1px solid rgba(251,146,60,.2);}
.dbadge.hard{background:rgba(248,113,113,.12);color:#f87171;border:1px solid rgba(248,113,113,.2);}
.qchev{font-size:10px;color:var(--t3);transition:transform .25s;flex-shrink:0;}
.qi.open .qchev{transform:rotate(180deg);}
.qans{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);}
.qi.open .qans{max-height:8000px;overflow-y:auto;}
.qans-in{padding:12px 16px 16px 52px;border-top:1px solid var(--b0);max-height:none;overflow-y:visible;}
@media(max-width:600px){.qans-in{padding:12px 14px 14px 14px;}}
@media(max-width:480px){
  .qq{padding:12px 14px;gap:8px;}
  .qnum{font-size:10px;min-width:24px;}
  .qtext{font-size:13px;}
  .qright{gap:5px;}
  .dbadge{font-size:9px;padding:2px 7px;}
}
.qans-in p{font-size:13px;color:var(--t2);line-height:1.82;}
.qans-in strong{color:var(--tx);font-weight:500;}
.qans-in code{font-family:var(--fm);font-size:11px;background:var(--bg4);border:1px solid var(--b0);padding:1px 5px;border-radius:4px;color:#a5a0ff;}
.qans-in pre{font-family:var(--fm);font-size:11px;background:var(--bg4);border:1px solid var(--b0);border-radius:8px;padding:11px;margin-top:8px;overflow-x:auto;line-height:1.65;color:var(--t2);}
.qans-in ul,.qans-in ol{padding-left:18px;margin-top:6px;}
.qans-in li{font-size:13px;color:var(--t2);line-height:1.8;margin-bottom:2px;}

/* ── MORE BOX ────────────────────────── */
.morebox{background:var(--bg2);border:1px solid var(--b0);border-radius:11px;padding:14px 16px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.morebox p{font-size:12px;color:var(--t2);}
.morebox strong{color:var(--tx);}
.genbtn{display:inline-flex;align-items:center;gap:5px;background:var(--ac);border:none;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;font-family:var(--fb);transition:opacity .17s;white-space:nowrap;}
.genbtn:hover{opacity:.83;}

/* ── EMPTY STATE ─────────────────────── */
.empty{text-align:center;padding:50px 20px;color:var(--t3);}
.empty-icon{font-size:28px;margin-bottom:8px;}
.empty p{font-size:13px;}

/* ── LANDING HERO EXTRAS ─────────────── */
.landing-hero .hero-glow{width:800px;height:320px;background:radial-gradient(ellipse,rgba(108,99,255,.18) 0,transparent 68%);}
.landing-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px;}
.lbadge{font-size:12px;font-weight:500;color:var(--t2);background:var(--bg3);border:1px solid var(--b1);border-radius:99px;padding:5px 13px;}

/* ── LANDING CARDS ───────────────────── */
.landing-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;padding:32px 0 20px;}
.lcard{background:var(--bg2);border:1px solid var(--b0);border-radius:20px;padding:28px 24px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;}
.lcard::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top left,rgba(108,99,255,.08) 0,transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none;}
.lcard-fe::before{background:radial-gradient(ellipse at top left,rgba(56,189,248,.08) 0,transparent 55%);}
.lcard-be::before{background:radial-gradient(ellipse at top left,rgba(251,146,60,.08) 0,transparent 55%);}
.lcard:hover{transform:translateY(-5px);border-color:var(--b2);background:var(--bg3);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.lcard:hover::before{opacity:1;}
.lcard-header{display:flex;align-items:center;gap:14px;}
.lcard-icon{font-size:42px;line-height:1;flex-shrink:0;}
.lcard-meta{flex:1;}
.lcard-title{font-size:22px;font-weight:700;color:var(--tx);letter-spacing:-.01em;}
.lcard-topics{font-size:12px;color:var(--t3);font-weight:500;margin-top:2px;}
.lcard-qcount{font-family:var(--fd);font-size:28px;font-weight:700;color:var(--ac);line-height:1;text-align:right;flex-shrink:0;}
.lcard-qcount span{display:block;font-size:10px;font-weight:500;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;text-align:right;}
.lcard-desc{font-size:13px;color:var(--t2);line-height:1.75;margin:0;}
.lcard-topic-chips{display:flex;flex-wrap:wrap;gap:6px;}
.ltchip{font-size:11px;padding:4px 10px;border-radius:99px;font-weight:500;white-space:nowrap;}
.ltchip-more{background:var(--bg4)!important;color:var(--t3)!important;border:1px solid var(--b0);}
.lcard-difficulty{display:flex;gap:12px;}
.ldiff{font-size:11px;font-weight:500;}
.ldiff.easy{color:#4ade80;}
.ldiff.med{color:#fb923c;}
.ldiff.hard{color:#f87171;}
.lcard-btn{display:inline-flex;align-items:center;justify-content:space-between;background:rgba(108,99,255,.12);border:1px solid rgba(108,99,255,.25);border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600;color:#b5b0ff;transition:all .2s;margin-top:auto;}
.lcard-btn span{font-size:16px;transition:transform .2s;}
.lcard:hover .lcard-btn{background:rgba(108,99,255,.22);border-color:rgba(108,99,255,.45);}
.lcard:hover .lcard-btn span{transform:translateX(4px);}
@media(max-width:640px){
  .landing-cards-container{grid-template-columns:1fr;gap:14px;padding:24px 0 16px;}
  .lcard{padding:22px 18px;gap:14px;}
  .lcard-icon{font-size:36px;}
  .lcard-title{font-size:20px;}
  .lcard-qcount{font-size:24px;}
  .landing-badges{gap:6px;}
  .lbadge{font-size:11px;padding:4px 11px;}
}

/* ── LIGHT THEME ─────────────────────── */
html.light-init body, body.light {
  --bg:#f4f4f9;--bg2:#ffffff;--bg3:#eeeef6;--bg4:#e4e4f0;--bg5:#d4d4e4;
  --b0:rgba(0,0,0,0.09);--b1:rgba(0,0,0,0.14);--b2:rgba(0,0,0,0.22);
  --tx:#0d0d1c;--t2:#38385a;--t3:#64648a;
  --ac:#5b52f0;--g:#16a34a;--o:#ea6c0a;--r:#dc2626;--b:#0284c7;--y:#ca8a04;--p:#db2777;
}
/* Nav */
body.light .nav{background:rgba(255,255,255,0.96);border-bottom:1px solid rgba(0,0,0,0.1);box-shadow:0 1px 12px rgba(0,0,0,0.07);}
body.light .nsearch input{background:#f0f0f8;border-color:rgba(0,0,0,0.12);}
body.light .nsearch input:focus{background:#fff;border-color:var(--ac);box-shadow:0 0 0 3px rgba(91,82,240,.12);}
body.light .nav-icon-btn{background:#fff;border-color:rgba(0,0,0,0.12);color:var(--t2);box-shadow:0 1px 3px rgba(0,0,0,0.07);}
body.light .nav-icon-btn:hover{background:var(--bg3);border-color:rgba(0,0,0,0.18);color:var(--tx);}

/* Landing */
body.light .hero-glow{background:radial-gradient(ellipse,rgba(91,82,240,.15) 0,transparent 68%);}
body.light .hero-chip{background:linear-gradient(135deg,rgba(91,82,240,.18),rgba(91,82,240,.10));border-color:rgba(91,82,240,.45);color:var(--ac);font-weight:600;box-shadow:0 2px 8px rgba(91,82,240,.15);}
body.light .section-btn{background:#fff;border-color:rgba(0,0,0,0.14);color:var(--t2);box-shadow:0 1px 4px rgba(0,0,0,0.08);}
body.light .section-btn:hover{background:var(--bg3);border-color:rgba(0,0,0,0.2);color:var(--tx);}
body.light .section-btn.on{background:var(--ac);border-color:var(--ac);color:#fff;box-shadow:0 3px 12px rgba(91,82,240,.35);}
body.light .fp{background:#fff;border-color:rgba(0,0,0,0.12);color:var(--t2);}
body.light .fp:hover{background:var(--bg3);color:var(--tx);}
body.light .fp.on{background:var(--ac);border-color:var(--ac);color:#fff;box-shadow:0 2px 8px rgba(91,82,240,.3);}
body.light .statsbar{background:#fff;border-color:rgba(0,0,0,0.09);box-shadow:0 1px 0 rgba(0,0,0,0.05);}
body.light .sbi{border-color:rgba(0,0,0,0.08);}

/* Topic cards */
body.light .tc{background:#fff;border-color:rgba(0,0,0,0.1);box-shadow:0 2px 10px rgba(0,0,0,0.06);}
body.light .tc:hover{box-shadow:0 8px 28px rgba(0,0,0,0.13);border-color:rgba(0,0,0,0.16);}
body.light .tc-badge{background:#eef0ff;border-color:rgba(91,82,240,.2);color:#5b52f0;}
body.light .ttag{background:#f0f0ff;border-color:rgba(91,82,240,.18);color:#6660c0;}
body.light .tc-arr{background:var(--bg3);border-color:rgba(0,0,0,0.1);}

/* Landing cards (lcard) */
body.light .lcard{background:#fff;border-color:rgba(0,0,0,0.1);box-shadow:0 3px 14px rgba(0,0,0,0.07);}
body.light .lcard:hover{box-shadow:0 16px 40px rgba(0,0,0,0.13);}
body.light .lcard-fe::before{background:radial-gradient(ellipse at top left,rgba(56,189,248,.12) 0,transparent 55%);}
body.light .lcard-be::before{background:radial-gradient(ellipse at top left,rgba(251,146,60,.12) 0,transparent 55%);}
body.light .lcard-btn{background:var(--ac);border-color:var(--ac);color:#fff;box-shadow:0 3px 10px rgba(91,82,240,.3);}
body.light .lcard:hover .lcard-btn{background:#4840d4;border-color:#4840d4;}
body.light .lcard-qcount{color:var(--ac);}
body.light .quiz-grid-btn{background:var(--ac);border-color:var(--ac);color:#fff;box-shadow:0 3px 10px rgba(91,82,240,.25);}
body.light .quiz-grid-btn:hover{background:#4840d4;border-color:#4840d4;}

/* Topic view header */
body.light .thdr{background:#fff;border-color:rgba(0,0,0,0.09);box-shadow:0 2px 10px rgba(0,0,0,0.05);}
body.light .ths{background:var(--bg3);border-color:rgba(0,0,0,0.1);}
body.light .ths .sbn{color:var(--tx);}
body.light .quiz-topic-btn{background:rgba(91,82,240,.12);border-color:rgba(91,82,240,.35);color:var(--ac);}
body.light .quiz-topic-btn:hover{background:rgba(91,82,240,.2);border-color:rgba(91,82,240,.55);}

/* Question list */
body.light .qi{background:#fff;border-color:rgba(0,0,0,0.1);box-shadow:0 1px 4px rgba(0,0,0,0.04);}
body.light .qi:hover{border-color:rgba(91,82,240,.3);box-shadow:0 3px 12px rgba(0,0,0,0.08);}
body.light .qi.open{border-color:rgba(91,82,240,.35);box-shadow:0 4px 16px rgba(0,0,0,0.09);}
body.light .qnum{color:var(--t3);}
body.light .qtext{color:var(--tx);}
body.light .qchev{color:var(--t3);}
body.light .qans-in{background:var(--bg3);border-color:rgba(0,0,0,0.07);color:var(--tx);}
body.light .qans-in code{background:rgba(91,82,240,.1);color:#4338ca;border-radius:4px;padding:1px 5px;}
body.light .qans-in pre{background:#1e1e2e;color:#cdd6f4;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
body.light .qans-in strong{color:var(--tx);}
body.light .qans-in table{border-color:rgba(0,0,0,0.1);}
body.light .qans-in th{background:var(--bg4);color:var(--tx);}
body.light .qans-in td{border-color:rgba(0,0,0,0.08);}

/* Difficulty badges */
body.light .dbadge.easy{background:rgba(22,163,74,.12);color:#16a34a;font-weight:600;}
body.light .dbadge.medium{background:rgba(234,108,10,.12);color:#ea6c0a;font-weight:600;}
body.light .dbadge.hard{background:rgba(220,38,38,.12);color:#dc2626;font-weight:600;}

/* Filter pills */
body.light .qopt{background:#fff;border-color:rgba(0,0,0,0.12);color:var(--t2);}
body.light .qopt:hover{background:var(--bg3);border-color:rgba(0,0,0,0.18);color:var(--tx);}
body.light .qopt.on{background:rgba(91,82,240,.13);border-color:rgba(91,82,240,.5);color:var(--ac);}
body.light .qopt.easy-opt.on{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.45);color:#16a34a;}
body.light .qopt.medium-opt.on{background:rgba(234,108,10,.12);border-color:rgba(234,108,10,.45);color:#ea6c0a;}
body.light .qopt.hard-opt.on{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.45);color:#dc2626;}

/* Bookmark button */
body.light .bm-btn{color:#a0a0c0;opacity:1;}
body.light .bm-btn:hover{opacity:1;color:var(--y);}
body.light .bm-btn.bm-active{color:var(--y);opacity:1;filter:drop-shadow(0 0 3px rgba(202,138,4,.4));}

/* Bookmarks view */
body.light .bm-group{background:#fff;border:1px solid rgba(0,0,0,0.09);border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,0.05);margin-bottom:16px;}
body.light .bm-clear-topic{background:transparent;border:1px solid rgba(0,0,0,0.14);color:var(--t3);border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer;}
body.light .bm-clear-topic:hover{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.3);color:#dc2626;}
body.light .bm-clear-all-btn{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#dc2626;font-weight:600;}
body.light .bm-clear-all-btn:hover{background:rgba(220,38,38,.15);}

/* Back button */
body.light .back{background:#fff;border-color:rgba(0,0,0,0.12);color:var(--t2);box-shadow:0 1px 4px rgba(0,0,0,0.07);}
body.light .back:hover{background:var(--bg3);border-color:rgba(0,0,0,0.18);color:var(--tx);}

/* Quiz */
body.light .quiz-start-btn{background:var(--ac);color:#fff;box-shadow:0 4px 14px rgba(91,82,240,.35);}
body.light .qmark.got{background:rgba(22,163,74,.12);color:#16a34a;border-color:rgba(22,163,74,.35);}
body.light .qmark.missed{background:rgba(220,38,38,.12);color:#dc2626;border-color:rgba(220,38,38,.35);}
body.light .quiz-ans-in{background:var(--bg3);border-color:rgba(0,0,0,0.08);}
body.light .quiz-topic-check{border-color:rgba(0,0,0,0.1);}
body.light .quiz-topic-check:hover{background:var(--bg3);}

/* Modal */
body.light .modal-box{background:#fff;border-color:rgba(0,0,0,0.12);box-shadow:0 20px 60px rgba(0,0,0,0.15);}

/* Scrollbar */
body.light ::-webkit-scrollbar-track{background:var(--bg);}
body.light ::-webkit-scrollbar-thumb{background:var(--bg4);}

/* ── NAV ACTIONS ─────────────────────── */
.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.nav-icon-btn{background:transparent;border:1px solid var(--b0);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--t2);transition:all .2s;position:relative;padding:0;}
.nav-icon-btn:hover{background:var(--bg3);border-color:var(--b1);color:var(--tx);}
.bm-nav-btn{gap:2px;}
.bm-badge{background:var(--ac);color:#fff;border-radius:99px;font-size:9px;font-weight:700;padding:1px 5px;min-width:16px;text-align:center;line-height:16px;height:16px;}
.nmeta{font-size:11px;color:var(--t3);white-space:nowrap;flex-shrink:0;font-weight:500;}
@media(max-width:640px){.nmeta{display:none;}}
@media(max-width:480px){.nav-icon-btn{width:32px;height:32px;font-size:14px;}}

/* ── TOPIC QUIZ BUTTON ───────────────── */
.quiz-topic-btn{background:rgba(108,99,255,.13);border:1px solid rgba(108,99,255,.3);border-radius:9px;padding:8px 16px;font-size:12px;font-weight:600;color:#b5b0ff;cursor:pointer;font-family:var(--fb);transition:all .2s;white-space:nowrap;flex-shrink:0;align-self:flex-start;}
.quiz-topic-btn:hover{background:rgba(108,99,255,.22);border-color:rgba(108,99,255,.5);}
.tc-bm-count{color:var(--y);font-size:11px;font-weight:700;background:rgba(234,179,8,.14);border:1px solid rgba(234,179,8,.35);padding:2px 8px;border-radius:99px;display:inline-flex;align-items:center;gap:3px;letter-spacing:.3px;min-width:fit-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ── QUIZ GRID BUTTON ────────────────── */
.quiz-grid-btn{display:inline-flex;align-items:center;gap:5px;background:rgba(108,99,255,.13);border:1px solid rgba(108,99,255,.3);border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;color:#b5b0ff;cursor:pointer;font-family:var(--fb);transition:all .2s;}
.quiz-grid-btn:hover{background:rgba(108,99,255,.22);border-color:rgba(108,99,255,.5);}

/* ── BOOKMARK BUTTON ─────────────────── */
.bm-btn{background:transparent;border:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:5px;line-height:1;opacity:0.35;transition:opacity .2s,transform .15s;flex-shrink:0;}
.bm-btn:hover{opacity:0.7;transform:scale(1.15);}
.bm-btn.bm-active{opacity:1;}

/* ── BOOKMARK VIEW ───────────────────── */
#bookmarkView{display:none;}
#bookmarkView.on{display:block;}
#bookmarkView.off{display:none;}
.bm-view-hdr{margin-bottom:18px;}
.bm-view-title-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.bm-view-title{font-size:20px;font-weight:700;color:var(--tx);}
.bm-clear-all-btn{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:6px 13px;font-size:12px;color:#f87171;cursor:pointer;font-family:var(--fb);transition:all .2s;}
.bm-clear-all-btn:hover{background:rgba(248,113,113,.2);}
.bm-group{margin-bottom:22px;}
.bm-group-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.bm-clear-topic{background:transparent;border:1px solid var(--b0);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--t3);cursor:pointer;font-family:var(--fb);transition:all .2s;}
.bm-clear-topic:hover{color:var(--r);border-color:rgba(248,113,113,.3);}

/* ── QUIZ CARD CONTAINER ─────────────── */
.quiz-card-container{position:fixed;inset:0;background:transparent;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;animation:fadeIn .3s ease;}
.quiz-card-container.off{display:none;}
.quiz-card-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:-1;}
.quiz-card{position:relative;background:var(--bg2);border:1px solid var(--b1);border-radius:24px;width:100%;max-width:700px;max-height:90vh;padding:28px;display:flex;flex-direction:column;box-shadow:0 30px 60px rgba(0,0,0,0.4);animation:slideUp .4s cubic-bezier(.16,.1,.3,1);overflow-y:auto;}
.quiz-card.off{display:none;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.quiz-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.quiz-card-header h2{font-size:18px;font-weight:700;color:var(--tx);margin:0;}
.quiz-card-close{background:var(--bg3);border:1px solid var(--b0);border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:16px;color:var(--t2);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.quiz-card-close:hover{background:var(--bg4);color:var(--tx);}
@media(max-width:768px){
  .quiz-card{max-width:95%;max-height:85vh;padding:20px;border-radius:20px;}
  .quiz-card-header h2{font-size:20px;}
}
@media(max-width:480px){
  .quiz-card{max-width:100%;max-height:90vh;padding:16px;border-radius:16px;}
  .quiz-card-header h2{font-size:18px;}
}

/* ── QUIZ QUESTION CARD ──────────────── */
.quiz-question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.quiz-streak-box{display:flex;align-items:center;gap:6px;padding:7px 12px;background:rgba(251,146,60,.12);border:1.5px solid rgba(251,146,60,.35);border-radius:99px;font-size:14px;font-weight:700;color:#f97316;animation:streakPulse .6s ease;}
@keyframes streakPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
.quiz-progress-container{margin-bottom:20px;}
.quiz-question-body{flex:1;display:flex;flex-direction:column;justify-content:center;}

/* ── GAMIFICATION ANIMATIONS ─────────── */
.quiz-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.confetti-particle{position:absolute;width:10px;height:10px;pointer-events:none;animation:confettiFall 2s linear forwards;}
@keyframes confettiFall{0%{opacity:1;transform:translateY(-10px) rotate(0deg);}100%{opacity:0;transform:translateY(100vh) rotate(720deg);}}
.quiz-points-display{position:absolute;top:50%;left:50%;font-size:24px;font-weight:700;color:#4ade80;pointer-events:none;transform:translate(-50%,-50%);animation:pointsFloat 1.5s cubic-bezier(.12,.74,.58,1) forwards;}
@keyframes pointsFloat{0%{opacity:1;transform:translate(-50%,-50%) scale(1);}100%{opacity:0;transform:translate(-50%,-150%) scale(1.5);}}

.quiz-achievement-badge{text-align:center;margin:20px 0;font-size:64px;animation:badgePop .6s cubic-bezier(.68,-.55,.265,1.55);}
@keyframes badgePop{0%{opacity:0;transform:scale(0);}100%{opacity:1;transform:scale(1);}}
.quiz-score-section{text-align:center;padding:24px 0;border-bottom:1px solid var(--b0);margin-bottom:16px;}
.quiz-score-pct{display:block;font-size:60px;font-weight:800;background:linear-gradient(135deg,var(--ac),#00d9ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:8px;}
.quiz-score-detail{display:block;font-size:15px;color:var(--t2);margin-top:6px;font-weight:500;}

/* ── MODAL OVERLAY (legacy) ──────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 20px;overflow-y:auto;animation:modalFadeIn .3s ease;}
.modal-overlay.off{display:none;}
.modal-box{background:var(--bg2);border:1px solid var(--b1);border-radius:20px;width:100%;max-width:600px;padding:24px;position:relative;box-shadow:0 25px 50px rgba(0,0,0,0.3);animation:modalSlideUp .35s cubic-bezier(.16,.1,.3,1);}
@keyframes modalFadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes modalSlideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:640px){
  .modal-overlay{padding:50px 12px 16px;}
  .modal-box{max-width:100%;padding:18px;border-radius:16px;}
}
@media(max-width:480px){
  .modal-overlay{padding:46px 12px 12px;}
  .modal-box{padding:16px;border-radius:14px;}
}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.modal-title{font-size:18px;font-weight:700;color:var(--tx);}
.modal-close{background:var(--bg3);border:1px solid var(--b0);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px;color:var(--t2);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.modal-close:hover{background:var(--bg4);color:var(--tx);}

/* ── QUIZ SETUP ──────────────────────── */
.quiz-setup-body{display:flex;flex-direction:column;gap:18px;}
.quiz-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--t3);margin-bottom:4px;}
.quiz-topic-list{display:flex;flex-direction:column;gap:7px;max-height:240px;overflow-y:auto;padding-right:6px;}
.quiz-topic-list::-webkit-scrollbar{width:4px;}
.quiz-topic-list::-webkit-scrollbar-track{background:var(--bg);}
.quiz-topic-list::-webkit-scrollbar-thumb{background:var(--bg5);border-radius:3px;}
.quiz-topic-check{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:10px;border:1px solid var(--b0);cursor:pointer;transition:all .2s;}
.quiz-topic-check:hover{background:var(--bg3);border-color:var(--b1);}
.quiz-topic-check input{accent-color:var(--ac);width:16px;height:16px;flex-shrink:0;cursor:pointer;}
.quiz-topic-check .qtc-label{flex:1;font-size:13px;font-weight:500;color:var(--tx);}
.quiz-tc-count{font-size:11px;color:var(--t3);flex-shrink:0;font-weight:500;}
.quiz-opts-row{display:flex;gap:8px;flex-wrap:wrap;}
.qopt{padding:10px 18px;border:1.5px solid var(--b0);border-radius:99px;font-size:13px;cursor:pointer;background:transparent;color:var(--t2);font-family:var(--fb);font-weight:600;transition:all .25s cubic-bezier(.2,.0,.4,1);min-width:fit-content;}
.qopt:hover{background:var(--bg3);border-color:var(--b1);color:var(--tx);transform:scale(1.05);}
.qopt.on{background:rgba(108,99,255,.15);border-color:rgba(108,99,255,.4);color:#b5b0ff;transform:scale(1.08);box-shadow:0 4px 12px rgba(108,99,255,0.2);}
.qopt.easy-opt.on{background:rgba(34,197,94,.13);border-color:rgba(34,197,94,.4);color:#22c55e;}
.qopt.medium-opt.on{background:rgba(249,115,22,.13);border-color:rgba(249,115,22,.4);color:#f97316;}
.qopt.hard-opt.on{background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.4);color:#ef4444;}
.quiz-start-btn{background:var(--ac);border:none;border-radius:12px;padding:13px 24px;font-size:14px;font-weight:700;color:#fff;cursor:pointer;font-family:var(--fb);transition:all .25s;margin-top:6px;width:100%;box-shadow:0 4px 12px rgba(108,99,255,0.3);letter-spacing:.3px;}
.quiz-start-btn:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 6px 16px rgba(108,99,255,0.4);}
.quiz-start-btn:active{transform:translateY(0);}
@media(max-width:480px){
  .quiz-setup-body{gap:16px;}
  .quiz-opts-row{gap:6px;}
  .qopt{padding:9px 14px;font-size:12px;}
  .quiz-topic-check{padding:7px 10px;gap:8px;}
}

/* ── QUIZ QUESTION ───────────────────── */
.quiz-prog-wrap{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.quiz-prog-bar{flex:1;height:5px;background:var(--bg4);border-radius:99px;overflow:hidden;}
.quiz-prog-fill{height:100%;background:var(--ac);border-radius:99px;transition:width .3s ease;}
.quiz-counter{font-size:12px;font-weight:600;color:var(--t3);white-space:nowrap;flex-shrink:0;}
.quiz-topic-label{font-size:12px;font-weight:500;color:var(--t2);margin-bottom:14px;padding:5px 10px;background:var(--bg3);border-radius:7px;display:inline-block;}
.quiz-q-text{font-size:16px;font-weight:600;color:var(--tx);line-height:1.6;margin-bottom:20px;}
.quiz-show-btn{background:var(--bg3);border:1px solid var(--b1);border-radius:10px;padding:10px 20px;font-size:13px;font-weight:600;color:var(--t2);cursor:pointer;font-family:var(--fb);transition:all .2s;width:100%;}
.quiz-show-btn:hover{background:var(--bg4);color:var(--tx);}
.quiz-ans-box{margin-top:16px;}
.quiz-ans-box.off{display:none;}
.quiz-ans-in{background:var(--bg3);border:1px solid var(--b0);border-radius:10px;padding:14px;font-size:13px;color:var(--t2);line-height:1.75;max-height:260px;overflow-y:auto;margin-bottom:16px;}
.quiz-ans-in strong{color:var(--tx);}
.quiz-ans-in code{font-family:var(--fm);font-size:11px;background:var(--bg4);border:1px solid var(--b0);padding:1px 5px;border-radius:4px;color:#a5a0ff;}
.quiz-ans-in pre{font-family:var(--fm);font-size:11px;background:var(--bg4);border:1px solid var(--b0);border-radius:8px;padding:10px;margin-top:6px;overflow-x:auto;line-height:1.65;color:var(--t2);}
.quiz-mark-row{display:flex;gap:10px;}
.qmark{flex:1;padding:11px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--fb);transition:opacity .2s;}
.qmark.got{background:rgba(74,222,128,.15);color:#4ade80;border:1px solid rgba(74,222,128,.3);}
.qmark.got:hover{background:rgba(74,222,128,.25);}
.qmark.missed{background:rgba(248,113,113,.13);color:#f87171;border:1px solid rgba(248,113,113,.25);}
.qmark.missed:hover{background:rgba(248,113,113,.22);}

/* ── QUIZ RESULTS ────────────────────── */
.quiz-score-wrap{text-align:center;padding:20px 0 16px;border-bottom:1px solid var(--b0);margin-bottom:16px;}
.quiz-score-pct{display:block;font-size:52px;font-weight:700;color:var(--ac);line-height:1;}
.quiz-score-detail{display:block;font-size:14px;color:var(--t2);margin-top:4px;}
.quiz-missed-list{max-height:280px;overflow-y:auto;margin-bottom:16px;}
.quiz-perfect{text-align:center;padding:20px;font-size:15px;color:var(--g);}
.quiz-missed-hdr{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);margin-bottom:10px;}
.quiz-missed-group{margin-bottom:14px;}
.quiz-missed-topic{font-size:13px;font-weight:600;color:var(--tx);margin-bottom:6px;}
.quiz-missed-q{font-size:12px;color:var(--t2);line-height:1.6;padding:4px 0 4px 12px;border-left:2px solid var(--b1);}
.quiz-result-btns{display:flex;gap:10px;}
.qrbtn{flex:1;padding:11px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--fb);transition:all .2s;}
.qrbtn{background:var(--ac);border:none;color:#fff;}
.qrbtn:hover{opacity:.87;}
.qrbtn.qrbtn-sec{background:var(--bg3);border:1px solid var(--b1);color:var(--t2);}
.qrbtn.qrbtn-sec:hover{background:var(--bg4);color:var(--tx);}

/* ── CONFIRMATION MODAL ──────────────── */
.confirm-modal-box{max-width:420px;padding:28px;}
.confirm-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.confirm-icon{font-size:36px;line-height:1;flex-shrink:0;}
.confirm-text-wrap{flex:1;}
.confirm-title{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:4px;}
.confirm-message{font-size:13px;color:var(--t2);line-height:1.6;}
.confirm-actions{display:flex;gap:10px;}
.confirm-btn{flex:1;padding:11px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--fb);transition:all .2s;border:none;}
.confirm-cancel{background:var(--bg3);color:var(--t2);}
.confirm-cancel:hover{background:var(--bg4);color:var(--tx);}
.confirm-delete{background:#ef4444;color:#fff;box-shadow:0 4px 12px rgba(239,68,68,0.3);}
.confirm-delete:hover{opacity:.88;box-shadow:0 6px 16px rgba(239,68,68,0.4);}
.confirm-delete:active{transform:scale(0.98);}
@media(max-width:480px){
  .confirm-modal-box{padding:20px;}
  .confirm-header{gap:12px;margin-bottom:18px;}
  .confirm-icon{font-size:32px;}
  .confirm-title{font-size:16px;}
}

/* ── ANIMATIONS ──────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.tc{animation:fadeUp .35s ease both;}

/* ── DESKTOP ENHANCEMENTS ────────────── */
@media(min-width:1024px){
  .tgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;}
  .tc{padding:20px;}
}
@media(min-width:1400px){
  .wrap{max-width:1440px;}
}
