/* AIME 2026 Program — production CSS extracted from original single-file artifact. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --font:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --navy:#1B3A6B;--navy-dk:#0A1C38;--blue:#2B6CB0;--blue-lt:#EBF4FF;--blue-mid:#DBEAFE;
  --forest:#1A5C2B;--forest-dk:#0F3A1A;--green:#2F855A;--green-lt:#E6F4EC;
  --gold:#D97706;--gold-lt:#FEF3C7;--gold-dk:#92400E;
  --bg:#F5F8FC;--bg2:#EAF0F8;--card:#fff;
  --t1:#0F172A;--t2:#334155;--t3:#64748B;--t4:#94A3B8;
  --bdr:#E2E8F0;--bdr2:#CBD5E1;
  --sh-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --sh-md:0 4px 16px rgba(0,0,0,.09);
  --sh-lg:0 8px 32px rgba(0,0,0,.15);
  --radius:14px;--radius-sm:8px;
  --trans:.2s cubic-bezier(.4,0,.2,1);
  --day-accent:var(--navy);
  --day-glow:rgba(27,58,107,.13);
}
body.day-tue{--day-accent:var(--navy);--day-glow:rgba(27,58,107,.14)}
body.day-wed{--day-accent:var(--blue);--day-glow:rgba(43,108,176,.15)}
body.day-thu{--day-accent:var(--forest);--day-glow:rgba(26,92,43,.15)}
body.day-fri{--day-accent:var(--gold);--day-glow:rgba(217,119,6,.17)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{font-family:var(--font);font-size:14px;background:var(--bg);color:var(--t1);line-height:1.6;overflow-x:hidden}
button,input,textarea,select{font-family:inherit}

/* ── SCROLL PROGRESS ── */
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--navy),var(--blue));z-index:500;pointer-events:none;transition:width .1s linear}

/* ── HEADER ── */
.hdr{background:linear-gradient(135deg,#0A1C38 0%,#1B3A6B 55%,#2B5F9E 100%);color:#fff;padding:0 24px;position:sticky;top:3px;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.hdr-inner{display:flex;align-items:center;gap:14px;height:56px}
.brand{display:flex;align-items:center;gap:0;flex-shrink:0;text-decoration:none;color:inherit}
.brand-logo{height:46px;width:auto;opacity:1;flex-shrink:0;display:block}
.srch-wrap{flex:1;min-width:160px;max-width:360px;position:relative}
.srch-inp{width:100%;background:#fff;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:7px 14px 7px 34px;color:var(--navy);font-size:12.5px;outline:none;transition:var(--trans);caret-color:var(--navy);-webkit-text-fill-color:var(--navy)}
.srch-inp::placeholder{color:#94A3B8;-webkit-text-fill-color:#94A3B8}
.srch-inp:focus{background:#fff;border-color:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.srch-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--navy);opacity:.5;pointer-events:none}
.srch-clr{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6;cursor:pointer;background:none;border:none;color:var(--navy);display:none;line-height:1;padding:2px}
.srch-inp:not(:placeholder-shown)+.srch-clr{display:block}
.srch-inp:-webkit-autofill,.srch-inp:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 100px #fff inset!important;-webkit-text-fill-color:var(--navy)!important;caret-color:var(--navy)!important}
.hdr-acts{display:flex;gap:6px;margin-left:auto;flex-shrink:0;align-items:center}
.hbtn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:6px;padding:0 13px;font-size:11.5px;cursor:pointer;transition:var(--trans);white-space:nowrap;font-weight:500;display:flex;align-items:center;gap:6px;height:34px;box-sizing:border-box}
.hbtn:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.35)}
.hdr-acts{display:flex;gap:6px;margin-left:auto;flex-shrink:0;align-items:center}
.hbtn-star-ct{background:var(--gold);color:#fff;border-radius:8px;font-size:10px;font-weight:700;padding:2px 6px;min-width:18px;text-align:center;display:none;line-height:1.4}
.hbtn-star-ct.show{display:inline-block}

/* ── MODE TABS ── */
.modetabs{background:var(--card);border-bottom:1px solid var(--bdr);padding:0 24px;display:flex;position:sticky;top:59px;z-index:180}
.mtab{padding:10px 20px;font-size:12.5px;font-weight:500;cursor:pointer;background:none;border:none;color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--trans);display:flex;align-items:center;gap:6px}
.mtab:hover{color:var(--t1)}
.mtab.on{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}


/* ── ACTIVE DAY CANVAS GLOW ── */
#progWrap{
  background:
    linear-gradient(180deg,var(--day-glow) 0%,rgba(255,255,255,0) 430px),
    var(--bg);
  transition:background .32s ease;
}
#progWrap .main{position:relative;z-index:1}
#progWrap .dtabs{box-shadow:0 10px 28px rgba(15,23,42,.04)}
#progWrap .fbar{background:rgba(255,255,255,.88);backdrop-filter:blur(14px)}

/* ── FILTER BAR ── */
.fbar{background:var(--card);border-bottom:1px solid var(--bdr);padding:8px 24px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;position:sticky;top:162px;z-index:150}
.fsep{width:1px;height:18px;background:var(--bdr);flex-shrink:0}
.flbl{font-size:9.5px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}
.fb{border:1px solid var(--bdr2);border-radius:12px;padding:3px 11px;font-size:11.5px;cursor:pointer;background:var(--card);color:var(--t2);transition:var(--trans);white-space:nowrap;font-weight:500}
.fb:hover{border-color:var(--navy);color:var(--navy)}
.fb.sb{background:var(--navy);color:#fff;border-color:var(--navy)}
.fb.sg{background:var(--forest);color:#fff;border-color:var(--forest)}
.fb.sn{background:var(--t2);color:#fff;border-color:var(--t2)}
.fcnt{margin-left:auto;font-size:11px;color:var(--t4);white-space:nowrap}

/* ── DAY TABS ── */
.dtabs{background:var(--card);border-bottom:2px solid var(--bdr);padding:0 24px;display:flex;gap:4px;align-items:flex-end;position:sticky;top:101px;z-index:160}
.dtab{padding:13px 24px 12px;cursor:pointer;background:none;border:none;color:var(--t3);border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:12px 12px 0 0;transition:var(--trans);white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.dtab-day{font-size:14px;font-weight:700;letter-spacing:.01em;line-height:1.2}
.dtab-lbl{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.55;line-height:1}
.dtab:hover{color:var(--day-accent);background:var(--blue-lt)}
.dtab:hover .dtab-lbl{opacity:.8}
.dtab.on{background:var(--day-accent);color:#fff!important;font-weight:700;border-bottom-color:var(--gold);box-shadow:0 14px 28px rgba(15,23,42,.14)}
.dtab.on .dtab-lbl{opacity:.7}

/* ── MAIN GRID ── */
.main{padding:20px 24px 90px;max-width:1440px;margin:0 auto}
.thu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.trkhead{padding:8px 14px;border-radius:8px;font-size:11.5px;font-weight:600;text-align:center;margin-bottom:10px;letter-spacing:.02em}
.trkhead.blue{background:var(--blue-lt);color:var(--navy)}
.trkhead.green{background:var(--green-lt);color:var(--forest)}
.trkcol{display:flex;flex-direction:column;gap:12px}

/* ── SESSION CARD ── */
.sc{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-sm);transition:box-shadow var(--trans),transform var(--trans)}
.sc:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.sc.long{border-left:6px solid}
.sc.short{border-left:3px solid}
.sc.mixed{border-left:4px dashed}
.sc.blue{border-left-color:var(--navy)}
.sc.green{border-left-color:var(--forest)}
.sc-hdr{color:#fff;padding:11px 14px}
.sc.long.blue .sc-hdr{background:linear-gradient(135deg,#0A1C38 0%,#1B3A6B 70%,#23518F 100%)}
.sc.short.blue .sc-hdr{background:linear-gradient(135deg,#1B3A6B 0%,#2B6CB0 100%)}
.sc.mixed.blue .sc-hdr{background:linear-gradient(135deg,#1B3A6B 0%,#2B6CB0 85%)}
.sc.long.green .sc-hdr{background:linear-gradient(135deg,#0F3A1A 0%,#1A5C2B 70%,#226D35 100%)}
.sc.short.green .sc-hdr{background:linear-gradient(135deg,#1A5C2B 0%,#2F855A 100%)}
.sc.mixed.green .sc-hdr{background:linear-gradient(135deg,#1A5C2B 0%,#2F855A 85%)}
.sc-r1{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.sc-id{font-size:11.5px;font-weight:700;opacity:.85;letter-spacing:.2px}
.sc-tbadge{font-size:8.5px;padding:2px 7px;border-radius:9px;background:rgba(255,255,255,.22);font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.sc-now{font-size:8px;padding:2px 7px;border-radius:9px;background:rgba(52,211,153,.35);font-weight:700;letter-spacing:.3px;text-transform:uppercase;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;background:rgba(52,211,153,.35)}50%{opacity:.7;background:rgba(52,211,153,.55)}}
.sc-room{font-size:9.5px;opacity:.5;margin-left:auto}
.sc-title{font-size:12.5px;font-weight:600;line-height:1.35;margin-bottom:4px}
.sc-time{font-size:9.5px;opacity:.7;display:flex;align-items:center;gap:7px}
.sc-cnt{background:rgba(255,255,255,.18);padding:1px 6px;border-radius:8px;font-size:8.5px;font-weight:600}

/* ── PAPER ROW ── */
.scpp{padding:3px 0}
.pr{display:flex;align-items:flex-start;gap:8px;padding:6px 13px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.035);transition:background .12s}
.pr:last-child{border-bottom:none}
.pr:hover{background:rgba(0,0,0,.03)}

.sess-star{background:none;border:none;cursor:pointer;font-size:13px;color:rgba(255,255,255,.3);padding:0 2px;line-height:1;transition:color .15s,transform .15s;flex-shrink:0}
.sess-star:hover{color:rgba(255,215,0,.85);transform:scale(1.2)}
.sess-star.starred{color:#FACC15}
.sess-star.dark{color:rgba(255,255,255,.3)}
.sess-star.dark.starred{color:#FACC15}
.sess-star.light{color:rgba(0,0,0,.18)}
.sess-star.light:hover{color:#CA8A04}
.sess-star.light.starred{color:#D97706}
.my-sess-group{margin-bottom:14px}
.my-sess-card{background:var(--card);border:1px solid var(--bdr);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:12px;margin-bottom:6px}
.my-sess-icon{font-size:20px;flex-shrink:0}
.my-sess-body{flex:1;min-width:0}
.my-sess-title{font-size:12px;font-weight:700;color:var(--t1);line-height:1.3}
.my-sess-sub{font-size:10px;color:var(--t3);margin-top:2px}
.my-sess-badge{font-size:9px;padding:2px 8px;border-radius:8px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.my-sess-unstar{background:none;border:none;cursor:pointer;font-size:13px;color:#FACC15;padding:2px;flex-shrink:0}

.pr.hi{background:rgba(255,215,0,.1);border-left:2px solid #E0A800;padding-left:11px}
.pr.dim{opacity:.12;pointer-events:none}

/* ── SEARCH ACTIVE STATE ── */
.sc.no-match{opacity:.35;filter:grayscale(.4);transition:opacity .2s,filter .2s}
.sc.no-match:hover{opacity:.45}
.dtab-ct{display:none;font-size:10px;font-weight:700;background:var(--gold);color:#fff;border-radius:10px;padding:0 6px;margin-left:4px;min-width:18px;text-align:center;line-height:1.6;vertical-align:middle}
.dtab-ct.show{display:inline-block}
.dtab.on .dtab-ct{background:rgba(255,255,255,.9);color:var(--navy)}

.pr.sel{background:rgba(27,58,107,.05);border-left:2px solid rgba(27,58,107,.35);padding-left:11px}
.prind{font-size:15px;flex-shrink:0;line-height:1.2;margin-top:1px}
.prind.long{color:var(--navy)}
.prind.short{color:var(--t4)}
.prbody{flex:1;min-width:0}
.prtitle{font-size:11.5px;font-weight:500;line-height:1.45;margin-bottom:2px;color:var(--t1)}
.prauth{font-size:10px;color:var(--t3)}
.pr-star{background:none;border:none;cursor:pointer;color:var(--t4);font-size:16px;flex-shrink:0;padding:0 2px;line-height:1;transition:color .15s,transform .2s;margin-top:1px}
.pr-star:hover{color:var(--gold);transform:scale(1.2)}
.pr-star.starred{color:var(--gold)}

/* ── EMPTY STATE ── */
.empty-state{text-align:center;padding:56px 24px;color:var(--t3)}
.empty-state svg{margin:0 auto 16px;display:block;opacity:.35}
.empty-state p{font-size:13.5px;font-weight:500;color:var(--t2);margin-bottom:6px}
.empty-state small{font-size:12px;color:var(--t4)}

/* ── DETAIL PANEL ── */
.dpbg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
.dpbg.on{opacity:1;pointer-events:all}
.dp{position:fixed;right:0;top:0;bottom:0;width:460px;max-width:96vw;background:var(--card);z-index:301;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 32px rgba(0,0,0,.15)}
.dp.on{transform:translateX(0)}
.dp-head{background:linear-gradient(135deg,#0A1C38 0%,#1B3A6B 100%);color:#fff;padding:18px;position:relative;flex-shrink:0}
.dp-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:background .15s}
.dp-close:hover{background:rgba(255,255,255,.28)}
.dp-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.dpchip{font-size:9.5px;padding:2px 8px;border-radius:10px;font-weight:600;background:rgba(255,255,255,.2)}
.dp-title{font-size:14.5px;font-weight:600;line-height:1.4;margin-bottom:9px}
.dp-sess{background:rgba(255,255,255,.1);border-radius:6px;padding:6px 10px;font-size:10.5px;display:flex;gap:12px;flex-wrap:wrap}
.dp-scroll{flex:1;overflow-y:auto;padding:16px}
.dpsec{margin-bottom:16px}
.dpslbl{font-size:9.5px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px}
.dp-arow{display:flex;align-items:flex-start;padding:4px 0;border-bottom:1px solid var(--bdr);gap:7px}
.dp-arow:last-child{border-bottom:none}
.dp-aname{font-size:12px;color:var(--t2);flex:1}
.kwtag{display:inline-block;font-size:10.5px;padding:2px 8px;border-radius:5px;background:var(--blue-lt);color:var(--navy);margin:2px 3px 2px 0;font-weight:500}
.abtxt{font-size:12.5px;line-height:1.8;color:var(--t2)}
.abtxt.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.abmore{font-size:11.5px;color:var(--blue);cursor:pointer;background:none;border:none;padding:4px 0;margin-top:3px;display:block;font-weight:500}
.dp-acts{padding:12px 16px;border-top:1px solid var(--bdr);display:flex;gap:7px;flex-wrap:wrap;flex-shrink:0}
.dpact{padding:7px 14px;border-radius:7px;font-size:11.5px;cursor:pointer;border:1px solid;font-weight:500;transition:var(--trans)}
.dpact.p{background:var(--navy);color:#fff;border-color:var(--navy)}
.dpact.p:hover{background:#152f58}
.dpact.s{background:var(--card);color:var(--t2);border-color:var(--bdr2)}
.dpact.s:hover{border-color:var(--navy);color:var(--navy)}
.dpact.g{background:var(--gold-lt);color:var(--gold-dk);border-color:var(--gold)}
.dpact.g:hover{background:var(--gold);color:#fff}

/* ── RADAR ── */
.rbox{background:var(--bg);border-radius:10px;padding:13px;text-align:center}

/* ── STATS ── */
.sflt-bar{background:var(--card);border-bottom:1px solid var(--bdr);padding:9px 24px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.sflt{border:1px solid var(--bdr2);border-radius:20px;padding:4px 14px;font-size:11.5px;cursor:pointer;background:var(--card);color:var(--t2);transition:var(--trans);font-weight:500}
.sflt:hover{border-color:var(--navy);color:var(--navy)}
.sflt.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.smain{padding:20px 24px;max-width:1200px;margin:0 auto}
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;margin-bottom:22px}
.scard{background:var(--card);border-radius:14px;padding:20px 16px 16px;border:1px solid var(--bdr);text-align:center;position:relative;overflow:hidden;transition:box-shadow var(--trans),transform var(--trans);display:flex;flex-direction:column;align-items:center}
.scard:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.scard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--scard-accent,var(--navy))}
.scard-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--scard-icon-bg,rgba(27,58,107,.1));margin-bottom:12px;flex-shrink:0;color:var(--scard-accent,var(--navy))}
.scard-icon svg{width:22px;height:22px;display:block}
.scard-n{font-size:32px;font-weight:700;font-family:"Playfair Display",Georgia,serif;color:var(--t1);line-height:1;margin-bottom:3px;letter-spacing:-.3px}
.scard-l{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.55px;margin-top:6px;font-weight:600}
.scard-pct{font-size:11px;color:var(--t4);margin-top:3px;font-weight:500}
.ch2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.ch1{margin-bottom:14px}
.cbox{background:var(--card);border-radius:14px;padding:20px;border:1px solid var(--bdr)}
.ctitle{font-size:12px;font-weight:700;color:var(--t2);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}

/* ── MY SCHEDULE ── */
.my-sched-empty{text-align:center;padding:64px 24px;color:var(--t3)}
.my-sched-empty p{font-size:14px;font-weight:500;color:var(--t2);margin-bottom:8px}
.my-sched-empty small{font-size:12.5px;color:var(--t4);line-height:1.6}
.my-day-group{margin-bottom:28px}
.my-day-lbl{font-size:10px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--bdr)}
.my-paper{background:var(--card);border-radius:10px;border:1px solid var(--bdr);padding:12px 14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:var(--trans)}
.my-paper:hover{border-color:var(--bdr2);box-shadow:var(--sh-sm)}
.my-paper-type{font-size:15px;flex-shrink:0;margin-top:1px}
.my-paper-body{flex:1;min-width:0}
.my-paper-title{font-size:12.5px;font-weight:600;color:var(--t1);margin-bottom:3px;line-height:1.4}
.my-paper-meta{font-size:10.5px;color:var(--t3)}
.my-paper-unstar{background:none;border:none;cursor:pointer;color:var(--gold);font-size:16px;flex-shrink:0;padding:0 2px;transition:transform .15s}
.my-paper-unstar:hover{transform:scale(1.2)}

/* ── AI PANEL ── */
.aipanel{position:fixed;bottom:0;left:0;right:0;z-index:450;background:var(--card);border-top:2px solid var(--navy);box-shadow:0 -3px 20px rgba(0,0,0,.12);transform:translateY(calc(100% - 42px));transition:transform .3s cubic-bezier(.4,0,.2,1)}
.aipanel.open{transform:translateY(0)}
.aihdr{height:42px;display:flex;align-items:center;padding:0 18px;cursor:pointer;background:var(--navy);color:#fff;gap:9px;user-select:none}
.aihdr-title{font-size:12.5px;font-weight:600;flex:1}
.ai-body{height:240px;overflow-y:auto;padding:12px 18px}
.ai-msg{margin-bottom:9px}
.ai-bbl{padding:9px 13px;border-radius:10px;font-size:12px;line-height:1.7;white-space:pre-wrap;max-width:90%}
.ai-bbl.user{background:var(--blue-lt);color:var(--navy);margin-left:auto;border-radius:10px 10px 2px 10px}
.ai-bbl.bot{background:var(--bg);color:var(--t2);border-radius:10px 10px 10px 2px}
.ai-bbl.think{color:var(--t4);font-style:italic;font-size:11.5px}
.ai-qs{padding:7px 18px;display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--bdr)}
.aiq{font-size:10.5px;padding:3px 10px;border:1px solid var(--bdr2);border-radius:11px;cursor:pointer;background:var(--card);color:var(--t2);transition:var(--trans);font-weight:500}
.aiq:hover{border-color:var(--navy);color:var(--navy)}
.ai-inrow{display:flex;gap:8px;padding:8px 18px;border-top:1px solid var(--bdr)}
.ai-inp{flex:1;border:1px solid var(--bdr2);border-radius:8px;padding:7px 12px;font-size:12.5px;outline:none;background:var(--card);color:var(--t1);transition:var(--trans)}
.ai-inp:focus{border-color:var(--navy)}
.ai-send{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:12.5px;cursor:pointer;font-weight:600;transition:var(--trans)}
.ai-send:hover{background:#152f58}
.ai-send:disabled{opacity:.4;cursor:default}

/* ── MODALS ── */
.mbg{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--card);border-radius:16px;padding:24px;max-width:480px;width:100%;box-shadow:var(--sh-lg)}
.modal h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--t1)}
.modal p{font-size:12.5px;color:var(--t3);margin-bottom:14px;line-height:1.6}
.mbtns{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.mbtn{padding:7px 16px;border-radius:8px;font-size:12.5px;cursor:pointer;border:1px solid;font-weight:600;transition:var(--trans)}
.mbtn.p{background:var(--navy);color:#fff;border-color:var(--navy)}
.mbtn.p:hover{background:#152f58}
.mbtn.s{background:var(--card);color:var(--t2);border-color:var(--bdr2)}
.mbtn.s:hover{border-color:var(--navy);color:var(--navy)}

/* ── KEYBOARD SHORTCUT MODAL ── */
.kb-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin:12px 0}
.kb-row{display:flex;align-items:center;gap:8px;padding:4px 0}
.kb-key{background:var(--bg2);border:1px solid var(--bdr2);border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700;color:var(--t2);font-family:monospace;min-width:26px;text-align:center}
.kb-desc{font-size:12px;color:var(--t2)}

/* ── CONFETTI ── */
#confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s}
#confetti-canvas.active{opacity:1}


.mtab.my-tab{color:var(--gold-dk);font-weight:700}
.mtab.my-tab:hover{color:var(--gold)}
.mtab.my-tab.on{color:var(--gold-dk);border-bottom-color:var(--gold);background:linear-gradient(180deg,#fff 0%,var(--gold-lt) 100%)}
.my-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#FFFBEB,#FFF7ED);border:1px solid #FDE68A;border-radius:14px;padding:14px 16px;margin-bottom:16px;box-shadow:var(--sh-sm)}
.my-schedule-title{font-size:16px;font-weight:800;color:var(--gold-dk);display:flex;align-items:center;gap:8px}
.my-schedule-title small{display:block;font-size:11px;font-weight:600;color:var(--t3);margin-top:2px}
.my-schedule-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.my-action-btn{border:1px solid var(--bdr2);background:#fff;color:var(--t2);border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700;cursor:pointer;transition:var(--trans)}
.my-action-btn:hover{border-color:var(--gold);color:var(--gold-dk);transform:translateY(-1px)}
.my-action-btn.primary{background:var(--gold);border-color:var(--gold);color:#fff}
.my-action-btn.danger{background:#fff;border-color:#FCA5A5;color:#B91C1C}
.my-action-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.print-modal{max-width:620px}
.print-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.print-choice{border:1px solid var(--bdr);background:#fff;border-radius:12px;padding:13px;text-align:left;cursor:pointer;transition:var(--trans);box-shadow:var(--sh-sm)}
.print-choice:hover{border-color:var(--navy);transform:translateY(-1px);box-shadow:var(--sh-md)}
.print-choice.gold{border-color:#FDE68A;background:#FFFBEB}
.print-choice b{display:block;font-size:13px;color:var(--t1);margin-bottom:4px}
.print-choice span{display:block;font-size:11.5px;color:var(--t3);line-height:1.45}
@media(max-width:680px){.my-schedule-toolbar{align-items:flex-start;flex-direction:column}.my-schedule-actions{justify-content:flex-start}.print-choice-grid{grid-template-columns:1fr}}

/* ── PRINT ── */
@media print{
  #prog,.hdr,.modetabs,.fbar,.dtabs,.aipanel,.dpbg,.dp,#confetti-canvas,.hbtn,#kbModal,#printModal,#aiP{display:none!important}
  body{background:#fff;font-size:11px;color:#000}
  .main{padding:8px 0;max-width:none}
  .sc{break-inside:avoid;box-shadow:none;border:1px solid #ccc;margin-bottom:8px;border-radius:4px}
  .sc-hdr{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pr{padding:3px 8px}
  .prtitle{font-size:10px}
  .prauth{font-size:9px}
  .sflt-bar,.smain>*:not(.scards){display:none}
  .thu-grid{grid-template-columns:1fr 1fr;gap:8px}
  @page{margin:12mm;size:A4}
}

/* ── RESPONSIVE ── */
@media(max-width:800px){.thu-grid{grid-template-columns:1fr}.dp{width:100%}.ch2{grid-template-columns:1fr}}
@media(max-width:580px){
  .hdr-inner{height:auto;padding:8px 14px;gap:8px;flex-wrap:wrap}
  .brand-txt .brand-sub{display:none}
  .hbtn span:not(.hbtn-star-ct){display:none}
  .srch-wrap{min-width:100%;order:3}
  .modetabs{padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}
  .modetabs::-webkit-scrollbar{display:none}
  .mtab{flex-shrink:0;padding:8px 14px}
  .dtabs{flex-direction:column;padding:10px 14px;gap:5px;border-bottom:none;overflow:visible;position:relative;top:auto}
  .dtab{width:100%;text-align:left;border-radius:10px!important;padding:11px 16px;border-bottom:3px solid transparent!important;margin-bottom:0!important;white-space:normal;display:flex;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:12px}
  .dtab .dtab-lbl{display:block;font-size:10px;opacity:.6;text-transform:uppercase;letter-spacing:.05em;margin-left:auto;flex-shrink:0}
  .dtab.on{border-bottom:none!important;border-left:4px solid var(--gold)!important;border-radius:10px!important;padding-left:13px}
  .dtab:hover{border-left:4px solid rgba(27,58,107,.25)!important;padding-left:13px}
  .fbar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:7px 12px;scrollbar-width:none}
  .fbar::-webkit-scrollbar{display:none}
  .fb{flex-shrink:0}
  .main{padding:12px 14px 90px}
  .smain{padding:12px 14px}
  .dp{width:100vw}
  .dp-title{font-size:13.5px}
  .rbox svg{width:180px!important;height:180px!important}
  .kb-grid{grid-template-columns:1fr}
  .hdr{top:3px}
  .modetabs{top:auto}
  .fbar{top:auto}
}

/* v4 refinements: paper-ID bubbles and richer statistics cards */
.prid-bubble{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:24px;padding:0 7px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.1px;line-height:1;
  flex-shrink:0;margin-top:-1px;box-shadow:0 1px 4px rgba(15,23,42,.10);
  border:1px solid rgba(255,255,255,.75);
}
.prid-bubble.long{background:linear-gradient(135deg,#DBEAFE,#EFF6FF);color:#1B3A6B}
.prid-bubble.short{background:linear-gradient(135deg,#DCFCE7,#F0FDF4);color:#166534}
.scards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
.scard{
  padding:20px 16px 17px;
  border-radius:18px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.055);
}
.scard::before{height:4px;background:linear-gradient(90deg,var(--scard-accent,var(--navy)),rgba(255,255,255,.1));}
.scard-icon{
  width:48px;height:48px;border-radius:16px;
  background:linear-gradient(135deg,var(--scard-icon-bg,rgba(27,58,107,.12)),rgba(255,255,255,.9));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 5px 14px rgba(15,23,42,.08);
}
.scard-icon svg{width:25px;height:25px}
.scard-n{font-size:34px;color:var(--scard-accent,var(--t1));}
.scard-l{font-size:10.5px;color:#334155;font-weight:800}
.scard-pct{font-size:11px;color:#64748B}

/* v6: more modern word cloud */
.modern-word-cloud{
  min-height:250px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  align-content:center;
  flex-wrap:wrap;
  gap:10px 16px;
  background:
    radial-gradient(circle at 18% 18%, rgba(43,108,176,.12), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(47,133,90,.12), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.75), rgba(248,250,252,.92));
  border-radius:12px;
  overflow:hidden;
}
.wc-word{
  display:inline-block;
  font-family:var(--wc-font), system-ui, sans-serif;
  font-size:var(--wc-size);
  font-weight:var(--wc-weight);
  color:var(--wc-color);
  opacity:var(--wc-alpha);
  line-height:1;
  letter-spacing:-.04em;
  transform:rotate(var(--wc-rot));
  padding:3px 5px;
  border-radius:8px;
  transition:transform .18s ease, opacity .18s ease, background .18s ease;
  cursor:default;
}
.wc-word:hover{
  transform:rotate(0deg) scale(1.08);
  opacity:1;
  background:rgba(255,255,255,.82);
  box-shadow:0 6px 18px rgba(15,23,42,.12);
  z-index:2;
}

/* v6: topic-donut redesign */
.topic-analytics-row{grid-template-columns:1.05fr 1.25fr;align-items:stretch}
.topic-donuts-box{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.topic-donut-note{font-size:10.5px;color:#64748B;line-height:1.55;margin-top:-4px;margin-bottom:2px}
.topic-donut-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:stretch}
.topic-donut-card{
  background:linear-gradient(180deg,#fff,rgba(248,250,252,.92));
  border:1px solid rgba(226,232,240,.95);
  border-radius:14px;
  padding:12px;
  position:relative;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
}
.topic-donut-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--topic-accent),rgba(255,255,255,0))}
.topic-donut-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.topic-donut-card-head span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#334155;line-height:1.25}
.topic-donut-card-head b{font-size:18px;font-family:"Playfair Display",Georgia,serif;color:var(--topic-accent)}
.topic-donut-canvas{position:relative;height:220px;min-height:220px}
.topic-donut-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 8px;margin-top:6px}
.topic-donut-legend span{font-size:9.5px;color:#475569;font-weight:700;display:flex;align-items:center;gap:5px;white-space:nowrap}
.topic-donut-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}
@media(max-width:900px){.topic-analytics-row{grid-template-columns:1fr}.topic-donut-canvas{height:210px}}


/* v7 pending: larger country chart labels and four-donut layout */
.topic-donut-set{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));}
@media(min-width:1100px){.topic-donut-set{grid-template-columns:repeat(4,minmax(0,1fr));}}

/* v8: mobile-first premium readability pass */
@media(max-width:680px){
  html{font-size:17px;-webkit-text-size-adjust:100%}
  body{font-size:17px;line-height:1.75;background:#F7FAFD;color:#0F172A}
  .hdr{padding:0 16px;top:0;box-shadow:0 2px 18px rgba(10,28,56,.24)}
  .hdr-inner{height:auto;min-height:78px;padding:14px 0 16px;gap:12px;align-items:flex-start}
  .brand-logo{height:54px;max-width:190px}
  .hdr-acts{gap:8px;margin-left:0;width:100%;order:2;display:grid;grid-template-columns:1fr 1fr 1fr}
  .hbtn{min-height:48px;height:48px;border-radius:14px;padding:0 12px;font-size:14px;justify-content:center;background:rgba(255,255,255,.13)}
  .hbtn span:not(.hbtn-star-ct){display:inline!important}
  .srch-wrap{min-width:100%;max-width:none;order:3}
  .srch-inp{height:52px;border-radius:18px;font-size:17px;padding:12px 44px 12px 44px;box-shadow:0 8px 24px rgba(15,23,42,.12)}
  .srch-ico{left:16px;font-size:18px}.srch-clr{right:16px;font-size:18px}

  .modetabs{top:0;position:sticky;padding:0 14px;border-bottom:1px solid #D9E2EE;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);gap:6px}
  .mtab{min-height:54px;padding:12px 16px;font-size:16px;font-weight:800;border-bottom-width:3px;border-radius:14px 14px 0 0;color:#475569}
  .mtab.my-tab{color:var(--gold-dk)}

  .dtabs{padding:16px 16px 10px;gap:10px;background:#F7FAFD;border-bottom:none}
  .dtab{min-height:70px;padding:16px 18px!important;border-radius:18px!important;background:#fff;border:1px solid #E2E8F0!important;box-shadow:0 4px 14px rgba(15,23,42,.05);gap:8px}
  .dtab-day{font-size:19px;font-weight:900}.dtab-lbl{font-size:14px!important;opacity:.72!important;margin-left:auto;color:inherit}.dtab.on{box-shadow:0 10px 28px rgba(27,58,107,.18)}

  .fbar,.sflt-bar{padding:14px 16px;gap:10px;overflow-x:auto;flex-wrap:nowrap;background:#fff;position:relative;top:auto;border-top:1px solid #E2E8F0}
  .flbl{font-size:13px;color:#475569}.fb,.sflt{min-height:48px;border-radius:999px;padding:10px 16px;font-size:15px;font-weight:800}.fcnt{font-size:14px;color:#475569;min-width:max-content}

  .main,.smain{padding:28px 18px 120px;max-width:none}
  .thu-grid,.ch2,.topic-analytics-row{grid-template-columns:1fr!important;gap:26px}.trkcol{gap:24px}.trkhead{font-size:16px;padding:14px 16px;border-radius:14px;margin-bottom:14px}

  .sc{border-radius:24px;box-shadow:0 10px 28px rgba(15,23,42,.07);margin-bottom:4px}.sc:hover{transform:none;box-shadow:0 10px 28px rgba(15,23,42,.07)}
  .sc-hdr{padding:22px 22px 20px}.sc-r1{gap:10px;margin-bottom:12px}.sc-id{font-size:15px}.sc-tbadge,.sc-now{font-size:12px;padding:5px 10px;border-radius:999px}.sc-room{font-size:14px;opacity:.82;margin-left:0;width:100%;order:4;margin-top:4px}.sc-title{font-size:22px;line-height:1.35;font-weight:850;margin-bottom:12px}.sc-time{font-size:16px;line-height:1.45;gap:10px}.sc-cnt{font-size:13px;padding:3px 10px;border-radius:999px}
  .scpp{padding:8px 0 10px}.pr{gap:14px;padding:18px 20px;border-bottom:1px solid rgba(15,23,42,.08)}.prtitle{font-size:18px;line-height:1.55;font-weight:700}.prauth{font-size:15px;line-height:1.55;color:#475569;margin-top:6px}.prind{font-size:20px}.prid-bubble{min-width:48px;height:34px;font-size:13px;margin-top:2px}.pr-star,.sess-star{font-size:23px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}

  .cbox{border-radius:24px;padding:26px 22px;box-shadow:0 10px 28px rgba(15,23,42,.055);border-color:#DCE5EF}.ctitle{font-size:17px;line-height:1.35;letter-spacing:.06em;margin-bottom:20px}.scards{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}.scard{border-radius:22px;padding:24px 16px 22px}.scard-icon{width:56px;height:56px;border-radius:18px}.scard-icon svg{width:30px;height:30px}.scard-n{font-size:38px}.scard-l{font-size:13px;line-height:1.35}.scard-pct{font-size:14px;line-height:1.45;color:#475569}
  .modern-word-cloud{min-height:340px;padding:32px 22px;gap:14px 18px;border-radius:20px}.wc-word{line-height:1.12;padding:5px 7px}
  .topic-donut-set{grid-template-columns:1fr!important;gap:20px}.topic-donut-card{border-radius:22px;padding:20px}.topic-donut-card-head span{font-size:15px}.topic-donut-card-head b{font-size:28px}.topic-donut-note{font-size:15px;line-height:1.7}.topic-donut-canvas{height:300px;min-height:300px}.topic-donut-legend{grid-template-columns:repeat(2,1fr);gap:10px 14px}.topic-donut-legend span{font-size:14px}.topic-donut-legend i{width:12px;height:12px}

  .my-schedule-toolbar{border-radius:22px;padding:22px;gap:18px;margin-bottom:24px}.my-schedule-title{font-size:23px}.my-schedule-title small{font-size:15px;line-height:1.5}.my-schedule-actions{width:100%;display:grid;grid-template-columns:1fr;gap:10px}.my-action-btn{min-height:50px;font-size:16px;border-radius:14px;padding:12px 16px}.my-day-lbl{font-size:15px;margin-top:20px;margin-bottom:14px}.my-paper,.my-sess-card{border-radius:20px;padding:18px 18px;gap:14px;margin-bottom:12px}.my-paper-title,.my-sess-title{font-size:18px;line-height:1.55}.my-paper-meta,.my-sess-sub{font-size:15px;line-height:1.55;color:#475569}.my-sess-icon,.my-paper-type{font-size:26px}.my-sess-badge{font-size:12px;padding:6px 10px}.my-sched-empty{padding:72px 20px}.my-sched-empty p{font-size:20px}.my-sched-empty small{font-size:16px}

  .dp{width:100vw;max-width:100vw}.dp-head{padding:28px 22px}.dp-close{width:44px;height:44px;font-size:22px}.dpchip{font-size:13px;padding:5px 10px}.dp-title{font-size:23px;line-height:1.45;margin:18px 0 16px}.dp-sess{font-size:15px;line-height:1.6;padding:12px;border-radius:14px}.dp-scroll{padding:24px 22px}.dpsec{margin-bottom:28px}.dpslbl{font-size:14px;color:#475569;margin-bottom:12px}.dp-aname{font-size:17px}.dp-arow{padding:10px 0}.kwtag{font-size:15px;padding:7px 11px;border-radius:10px;margin:4px}.abtxt{font-size:18px;line-height:1.85}.abmore{font-size:16px;padding:10px 0}.dp-acts{padding:16px;gap:10px}.dpact{min-height:48px;border-radius:14px;font-size:16px;padding:12px 16px;flex:1}

  .aipanel{display:block}.aipanel.open{max-height:82vh}.aihdr{height:54px;padding:0 16px}.aihdr-title{font-size:16px}.ai-body{height:42vh;padding:14px 16px}.ai-bbl{font-size:16px;line-height:1.65;padding:12px 14px}.ai-qs{padding:10px 16px;gap:8px}.aiq{font-size:14px;min-height:38px;padding:8px 12px;border-radius:16px}.ai-inrow{padding:12px 16px}.ai-inp{font-size:16px;min-height:46px;border-radius:14px}.ai-send{min-height:46px;font-size:15px;border-radius:14px}.modal{border-radius:24px;padding:28px 24px}.modal h3{font-size:24px}.modal p{font-size:17px;line-height:1.7}.print-choice{border-radius:18px;padding:18px}.print-choice b{font-size:18px}.print-choice span{font-size:15px;line-height:1.6}.mbtn{min-height:48px;font-size:16px;border-radius:14px;padding:12px 18px}
}

@media(max-width:420px){
  .scards{grid-template-columns:1fr}.hdr-acts{grid-template-columns:1fr}.hbtn{justify-content:center}.brand-logo{height:48px}.sc-title{font-size:21px}.prtitle{font-size:17px}.main,.smain{padding-left:16px;padding-right:16px}.cbox{padding:24px 18px}.topic-donut-canvas{height:280px;min-height:280px}
}

/* v9: desktop readability/premium polish pass, aligned with mobile improvements */
@media (min-width:681px){
  body{font-size:15.5px;line-height:1.68;color:#0F172A;background:#F7FAFD}
  .hdr-inner{height:64px}.brand-logo{height:52px}.srch-inp{height:40px;font-size:14px;border-radius:22px}.hbtn{height:40px;border-radius:10px;font-size:13px;padding:0 16px}
  .modetabs{top:67px;padding:0 32px}.mtab{font-size:14px;font-weight:700;padding:14px 22px;min-height:52px}.mtab.my-tab{color:var(--gold-dk);font-weight:900}.mtab.my-tab.on{border-bottom-color:var(--gold);color:var(--gold-dk)}
  .dtabs{top:120px;padding:0 32px}.dtab{padding:16px 28px 14px;min-height:66px}.dtab-day{font-size:16px}.dtab-lbl{font-size:11px}
  .fbar{top:185px;padding:12px 32px;gap:8px}.flbl{font-size:11px;color:#475569}.fb{min-height:34px;font-size:13px;padding:6px 14px;border-radius:999px;font-weight:700}.fcnt{font-size:12.5px;color:#475569}
  .main,.smain{padding:34px 32px 120px;max-width:1480px}.thu-grid{gap:22px}.trkcol{gap:18px}.trkhead{font-size:13px;padding:12px 16px;border-radius:12px;margin-bottom:12px;font-weight:800}
  .sc{border-radius:20px;box-shadow:0 8px 24px rgba(15,23,42,.055)}.sc:hover{box-shadow:0 14px 34px rgba(15,23,42,.11);transform:translateY(-2px)}.sc-hdr{padding:17px 18px 16px}.sc-r1{margin-bottom:8px}.sc-id{font-size:13px}.sc-tbadge,.sc-now{font-size:10.5px;padding:4px 9px;border-radius:999px}.sc-room{font-size:12px;opacity:.78}.sc-title{font-size:17px;line-height:1.45;margin-bottom:8px;font-weight:800}.sc-time{font-size:13px;line-height:1.45}.sc-cnt{font-size:11px;padding:3px 9px}
  .scpp{padding:7px 0}.pr{padding:11px 16px;gap:11px}.prtitle{font-size:14.5px;line-height:1.55;font-weight:750}.prauth{font-size:12.5px;line-height:1.5;color:#475569;margin-top:4px}.prid-bubble{min-width:43px;height:29px;font-size:12px}.pr-star,.sess-star{min-width:34px;min-height:34px;font-size:17px}
  .cbox{border-radius:22px;padding:24px 24px;box-shadow:0 10px 28px rgba(15,23,42,.055);border-color:#DBE4EF}.ctitle{font-size:13.5px;letter-spacing:.075em;margin-bottom:18px;color:#0F172A}.ch2{gap:22px}.scards{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px;margin-bottom:26px}.scard{border-radius:22px;padding:24px 18px 22px}.scard-icon{width:56px;height:56px;border-radius:18px}.scard-icon svg{width:29px;height:29px}.scard-n{font-size:39px;line-height:1.08}.scard-l{font-size:12px;line-height:1.35}.scard-pct{font-size:12.5px;line-height:1.45;color:#475569}
  .modern-word-cloud{min-height:320px;padding:30px 28px;border-radius:18px;gap:14px 20px}.wc-word{line-height:1.1;padding:5px 7px}
  .topic-analytics-row{gap:22px}.topic-donut-note{font-size:13px;line-height:1.65;color:#475569}.topic-donut-card{border-radius:20px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.topic-donut-card-head span{font-size:13px}.topic-donut-card-head b{font-size:24px}.topic-donut-canvas{height:255px;min-height:255px}.topic-donut-legend span{font-size:12px}.topic-donut-legend i{width:10px;height:10px}
  .my-schedule-toolbar{border-radius:22px;padding:24px;margin-bottom:26px}.my-schedule-title{font-size:24px}.my-schedule-title small{font-size:14px}.my-action-btn{min-height:44px;border-radius:13px;font-size:14px;padding:10px 16px}.my-paper,.my-sess-card{border-radius:18px;padding:15px 18px}.my-paper-title,.my-sess-title{font-size:15.5px;line-height:1.55}.my-paper-meta,.my-sess-sub{font-size:13px;line-height:1.55;color:#475569}
  .dp{width:560px}.dp-head{padding:28px}.dp-title{font-size:24px;line-height:1.38}.dp-sess{font-size:14px;line-height:1.55}.dp-scroll{padding:26px 28px}.dp-aname{font-size:15px}.abtxt{font-size:16px;line-height:1.8}.kwtag{font-size:13px;padding:6px 10px}.dpact{min-height:44px;font-size:14px;border-radius:12px}
}

/* v9: harmonized chart label sizing helpers */
.chart-readable-note{font-size:13px;color:#475569;line-height:1.6}


/* Active tab color follows selected day */
@media(max-width:700px){
  .dtab.on{background:linear-gradient(135deg,var(--day-accent),color-mix(in srgb,var(--day-accent) 82%,#000));border-left-color:var(--gold)!important}
  #progWrap{background:linear-gradient(180deg,var(--day-glow) 0%,rgba(255,255,255,0) 520px),var(--bg)}
}
