.content .btn-primary::after,
.db-quick-tile .ic,
.db-quick-tile svg,
.subj-tile .ic,
.bp-habit .bp-count,
.bp-flame,
.bp-spark,
.bp-habit .bp-tile-t b.bp-num,
.bp-habit .bp-count > .bp-ember,
.bp-habit .bp-count .bp-flamebox::after,
html body .bp-habit .bp-tile.bp-count,
.dx-book::before,
.dx-qnext,
body .auth-shell::before,
body .auth-shell::after,
body .auth-shell .auth-card::after,
body .auth-shell .auth-brand .brand-mark,
body .auth-shell .auth-brand,
.auth-card.auth-welcome::before,
.cfj-cta::after,
.hn-crown,
.ex-start,
.ed-fx-in,
.ed-fx-dot::after,
.top-status-btn.has-new,
.st-fab-dot,
html.theme-dark.ed-h-db::before,
html body.theme-dark .sidebar::before,
html body .sidebar.open:not(#ed) .sidebar-brand::before{animation:none!important}

@media (pointer:coarse),(max-width:880px){
#edBgShow .s{transition-duration:.9s!important}
.content.page-enter,.page-enter{animation:none!important}
button,a,[data-nav],[data-action],[role="button"],[role="tab"],.btn,.bn-item,.side-link{transition-duration:.08s!important}
}

:root{
--ds-r-xs:4px; --ds-r-sm:8px; --ds-r-md:12px; --ds-r-lg:16px; --ds-r-xl:20px; --ds-r-2xl:24px; --ds-r-pill:999px;
--ds-sh-1:0 1px 2px rgba(10,35,66,.05),0 1px 6px -1px rgba(10,35,66,.08);
--ds-sh-2:0 6px 18px -8px rgba(10,35,66,.22);
--ds-sh-3:0 16px 36px -16px rgba(10,35,66,.38);
--ds-s1:4px; --ds-s2:8px; --ds-s3:12px; --ds-s4:16px; --ds-s5:20px; --ds-s6:24px; --ds-s8:32px;
--ds-t-xs:calc(12px * var(--fs,1)); --ds-t-sm:calc(13.5px * var(--fs,1)); --ds-t-md:calc(15px * var(--fs,1));
--ds-t-lg:calc(18px * var(--fs,1)); --ds-t-xl:calc(24px * var(--fs,1));
--ds-ease:cubic-bezier(.2,.7,.2,1); --ds-fast:.15s; --ds-med:.25s;
}

html:not(.ed-ready){background:#0B2545}
html:not(.ed-ready)::before{content:"EDALEN ACADEMY\A Loading\2026";white-space:pre;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#E8C96A;font:700 18px/1.9 Inter,Arial,sans-serif;letter-spacing:.14em;z-index:2147483000}

:root{
--ink:#0A2342;
--ink-2:#123A6B;
--ink-soft:#4C5A72;
--paper:#F5F6F8;
--paper-raised:#FFFFFF;
--amber:#C6971F;
--amber-deep:#9C7714;
--forest:#0F6E4F;
--forest-deep:#0B5A40;
--forest-wash:#E6F1EC;
--brick:#AE3226;
--brick-wash:#F7E8E5;
--amber-wash:#FBF3DC;
--text:#131B2B;
--text-soft:#56617A;
--border:#E2E5EC;
--border-strong:#C7CEDC;
--radius-s:3px;
--radius:6px;
--radius-l:10px;
--serif:'Inter', -apple-system, Segoe UI, sans-serif;
--sans:'Inter', -apple-system, Segoe UI, sans-serif;
--mono:'IBM Plex Mono', monospace;
--shadow-card: 0 1px 2px rgba(10,35,66,.04), 0 1px 6px -1px rgba(10,35,66,.08);
--chip-dark:#16243D;
--sb-w:238px;
--topbar-h:72px;
}
body.theme-dark{
--ink:#F3F6FC; --ink-2:#DCE5F5; --ink-soft:#AAB8D0;
--paper:#101722; --paper-raised:#182231; --text:#EDF2F7;
--text-soft:#B7C2D2; --border:#334155; --border-strong:#506176;
--forest-wash:#19382F; --brick-wash:#3A2424; --amber-wash:#49391D;
--shadow-card:0 8px 26px rgba(0,0,0,.25);
}
body.theme-dark .card, body.theme-dark .modal-card, body.theme-dark .panel,
body.theme-dark input, body.theme-dark select, body.theme-dark textarea{
background:var(--paper-raised); color:var(--text); border-color:var(--border);
}
body.theme-dark .btn-ghost{color:var(--ink); background:transparent;}
body.theme-dark .topbar, body.theme-dark header{background:#121B29!important; border-color:var(--border)!important;}
body.theme-dark .muted, body.theme-dark small{color:var(--text-soft);}
body.theme-yellow{
--ink:#3C2B08; --ink-2:#5A430D; --ink-soft:#806B35;
--paper:#FFF8DF; --paper-raised:#FFFDF3; --text:#30270F;
--text-soft:#75663F; --border:#E8D59B; --border-strong:#CDB56A;
--amber:#D69A17; --amber-deep:#A97508; --forest-wash:#EDF3D9;
--brick-wash:#F9E7D7; --amber-wash:#FFF0B5;
}
body.theme-forest{
--ink:#12382D; --ink-2:#1D5140; --ink-soft:#52756A;
--paper:#F1F7F3; --paper-raised:#FFFFFF; --text:#173027;
--text-soft:#5D7168; --border:#D0E2D7; --border-strong:#A9C8B7;
}
body.theme-ocean{
--ink:#103B5C; --ink-2:#1D587E; --ink-soft:#5A7890;
--paper:#EFF7FC; --paper-raised:#FFFFFF; --text:#153246;
--text-soft:#5B7180; --border:#CFE2EF; --border-strong:#A4C9DF;
}
body.theme-dark .page-shell, body.theme-dark .app-shell,
body.theme-dark .settings-grid .card{background:transparent;}
body.theme-dark .btn-primary{background:#E7B64B;color:#172033;}
body.theme-dark .btn-primary:hover{background:#F1C96A;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
font-family:var(--sans);
color:var(--text);
background:var(--paper);
-webkit-font-smoothing:antialiased;
line-height:1.5;
}
h1,h2,h3,h4{font-family:var(--serif); font-weight:700; letter-spacing:-.02em; margin:0; color:var(--ink);}
p{margin:0;}
a{color:inherit; text-decoration:none;}
button{font-family:var(--sans); cursor:pointer;}
input,select,textarea{font-family:var(--sans); font-size:calc(15px * var(--fs,1));}
img{max-width:100%; display:block;}
::selection{background:var(--amber-wash); color:var(--ink);}
:focus-visible{outline:2px solid var(--forest); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
*{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.btn{
display:inline-flex; align-items:center; justify-content:center; gap:8px;
padding:12px 22px; border-radius:var(--radius-s); border:1px solid transparent;
font-weight:600; font-size:calc(14px * var(--fs,1)); letter-spacing:.005em; transition:transform .12s ease, box-shadow .12s ease, background .15s ease, border-color .15s ease;
white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--ink); color:#fff;}
.btn-primary:hover{background:var(--ink-2);}
.btn-amber{background:var(--amber); color:#fff;}
.btn-amber:hover{background:var(--amber-deep); color:#fff;}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--border-strong);}
.btn-ghost:hover{border-color:var(--ink); background:var(--paper);}
.btn-forest{background:var(--forest); color:#fff;}
.btn-forest:hover{background:var(--forest-deep);}
.btn-danger{background:transparent; color:var(--brick); border-color:var(--brick);}
.btn-danger:hover{background:var(--brick-wash);}
.btn-sm{padding:8px 16px; font-size:calc(13px * var(--fs,1)); border-radius:var(--radius-s);}
.btn-block{width:100%;}
.btn[disabled]{opacity:.45; cursor:not-allowed;}
.btn-icon{width:38px; height:38px; padding:0; border-radius:var(--radius-s);}
.pubnav{position:sticky; top:0; z-index:40; background:var(--paper-raised); border-bottom:1px solid var(--border);}
.pubnav-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1180px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:700; font-size:calc(20px * var(--fs,1)); color:var(--ink);}
.brand-mark{width:34px; height:34px; border-radius:8px; background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:calc(16px * var(--fs,1)); overflow:hidden; flex-shrink:0;}
.brand-mark img{width:100%; height:100%; object-fit:cover; display:block;}
.pubnav-links{display:flex; align-items:center; gap:30px; font-size:calc(15px * var(--fs,1)); font-weight:500;}
.pubnav-links a:hover{color:var(--forest-deep);}
.pubnav-cta{display:flex; align-items:center; gap:12px;}
.navtoggle{display:none; background:none; border:none; padding:8px;}
@media(max-width:860px){
.pubnav-links{display:none;}
.navtoggle{display:block;}
}
.hero{padding:76px 0 60px;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr; gap:40px;}}
.eyebrow-line{display:flex; align-items:center; gap:10px; color:var(--forest-deep); font-weight:600; font-size:calc(14.5px * var(--fs,1)); margin-bottom:18px;}
.eyebrow-dot{width:7px; height:7px; border-radius:50%; background:var(--forest);}
.hero h1{font-size:calc(46px * var(--fs,1)); line-height:1.12; letter-spacing:-.01em; max-width:12.5ch;}
@media(max-width:520px){.hero h1{font-size:calc(34px * var(--fs,1));}}
.hero-sub{margin-top:20px; font-size:calc(17.5px * var(--fs,1)); color:var(--text-soft); max-width:46ch; line-height:1.6;}
.hero-ctas{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:34px; margin-top:44px; flex-wrap:wrap;}
.hero-stat b{display:block; font-family:var(--serif); font-size:calc(26px * var(--fs,1)); color:var(--ink);}
.hero-stat span{font-size:calc(13.5px * var(--fs,1)); color:var(--text-soft);}
.exam-mock{background:var(--paper-raised); border:1px solid var(--border); border-radius:var(--radius-l); box-shadow:var(--shadow-card); overflow:hidden;}
.exam-mock-top{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:var(--ink); color:#fff;}
.exam-mock-sub{font-size:calc(13px * var(--fs,1)); opacity:.8;}
.exam-mock-timer{font-family:var(--mono); background:rgba(255,255,255,.12); padding:5px 12px; border-radius:6px; font-size:calc(14px * var(--fs,1)); letter-spacing:.02em;}
.exam-mock-body{padding:24px 22px;}
.exam-mock-q{font-size:calc(13px * var(--fs,1)); color:var(--text-soft); margin-bottom:8px;}
.exam-mock-question{font-size:calc(16px * var(--fs,1)); font-weight:500; line-height:1.5; margin-bottom:18px;}
.exam-mock-opt{display:flex; align-items:center; gap:12px; padding:12px 14px; border:1.5px solid var(--border); border-radius:var(--radius-s); margin-bottom:10px; font-size:calc(14.5px * var(--fs,1));}
.exam-mock-opt.sel{border-color:var(--forest); background:var(--forest-wash);}
.exam-mock-opt .tag{width:24px; height:24px; border-radius:50%; border:1.5px solid var(--border-strong); display:flex; align-items:center; justify-content:center; font-size:calc(12.5px * var(--fs,1)); font-weight:600; flex-shrink:0;}
.exam-mock-opt.sel .tag{background:var(--forest); border-color:var(--forest); color:#fff;}
.exam-mock-palette{display:flex; gap:6px; padding:16px 22px; border-top:1px solid var(--border); flex-wrap:wrap;}
.pdot{width:22px; height:22px; border-radius:5px; font-size:calc(11px * var(--fs,1)); display:flex; align-items:center; justify-content:center; font-weight:600; font-family:var(--mono);}
.pdot.done{background:var(--forest); color:#fff;}
.pdot.now{background:var(--ink); color:#fff;}
.pdot.pend{background:var(--paper); border:1px solid var(--border-strong); color:var(--text-soft);}
section{padding:64px 0;}
.section-head{max-width:640px; margin-bottom:40px;}
.section-tag{color:var(--forest-deep); font-weight:700; font-size:calc(12.5px * var(--fs,1)); letter-spacing:.09em; text-transform:uppercase; margin-bottom:10px; display:block;}
.section-head h2{font-size:calc(32px * var(--fs,1)); letter-spacing:-.01em;}
.section-head p{color:var(--text-soft); margin-top:12px; font-size:calc(16px * var(--fs,1)); line-height:1.6;}
.subjects-band{background:var(--paper-raised); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.subj-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
@media(max-width:900px){.subj-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.subj-grid{grid-template-columns:1fr;}}
.subj-card{border:1px solid var(--border); border-radius:var(--radius); padding:18px; display:flex; gap:14px; align-items:flex-start; background:var(--paper-raised); transition:border-color .15s ease, box-shadow .15s ease;}
.subj-card:hover{border-color:var(--ink-2); box-shadow:var(--shadow-card);}
.subj-mono{width:40px; height:40px; border-radius:var(--radius-s); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:calc(16px * var(--fs,1)); color:#fff; flex-shrink:0;}
.subj-name{font-weight:600; font-size:calc(15px * var(--fs,1)); color:var(--ink);}
.subj-group{font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft); margin-top:2px;}
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:900px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.feat-grid{grid-template-columns:1fr;}}
.feat-card{padding:26px; border:1px solid var(--border); border-radius:var(--radius); background:var(--paper-raised);}
.feat-ico{width:42px; height:42px; border-radius:var(--radius-s); background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.feat-card h3{font-size:calc(17px * var(--fs,1)); margin-bottom:8px;}
.feat-card p{color:var(--text-soft); font-size:calc(14.5px * var(--fs,1)); line-height:1.6;}
.steps{counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}
.step{position:relative; padding-top:8px; border-top:2px solid var(--ink);}
.step b.num{display:block; font-family:var(--mono); color:var(--amber-deep); font-size:calc(13px * var(--fs,1)); margin-bottom:10px;}
.step h4{font-size:calc(16px * var(--fs,1)); margin-bottom:6px;}
.step p{font-size:calc(14px * var(--fs,1)); color:var(--text-soft); line-height:1.55;}
.cta-band{background:var(--ink); border-radius:var(--radius-l); padding:52px 48px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; color:#fff;}
.cta-band h2{color:#fff; font-size:calc(28px * var(--fs,1)); max-width:20ch;}
.cta-band p{color:#C9CFDE; margin-top:10px; max-width:46ch;}
footer{border-top:1px solid var(--border); padding:36px 0; margin-top:20px;}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
.footer-inner small{color:var(--text-soft); font-size:calc(13px * var(--fs,1));}
.auth-shell{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; background:
radial-gradient(circle at 15% 20%, #1c2b4a 0%, var(--ink) 45%, var(--ink) 100%);
}
.auth-card{width:100%; max-width:420px; background:var(--paper-raised); border-radius:var(--radius-l); padding:38px 34px; box-shadow:0 20px 32px -20px rgba(0,0,0,.5);}
.auth-brand{display:flex; align-items:center; gap:10px; justify-content:center; margin-bottom:6px;}
.auth-tagline{text-align:center; margin:10px auto 0; max-width:290px; font-size:calc(13.5px * var(--fs,1)); font-style:italic; letter-spacing:.2px; line-height:1.45; color:var(--text-soft);}
.auth-card h2{text-align:center; font-size:calc(24px * var(--fs,1)); margin-top:14px;}
.auth-card > p.sub{text-align:center; color:var(--text-soft); font-size:calc(14.5px * var(--fs,1)); margin-top:6px; margin-bottom:26px;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:calc(13.5px * var(--fs,1)); font-weight:600; margin-bottom:6px; color:var(--ink);}
.field input, .field select, .field textarea{
width:100%; padding:11px 14px; border:1.5px solid var(--border-strong); border-radius:var(--radius-s);
background:#fff; color:var(--text); transition:border-color .12s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--forest);}
.field-hint{font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft); margin-top:5px;}
.password-wrap{position:relative;}
.password-wrap input{padding-right:48px !important;}
.password-toggle{
position:absolute; right:7px; top:50%; margin-top:-18px; transform:none !important;
width:36px; height:36px; -webkit-appearance:none; appearance:none; touch-action:manipulation; -webkit-user-select:none; user-select:none; border:0; background:transparent;
border-radius:50%; cursor:pointer; display:flex; align-items:center;
justify-content:center; font-size:calc(20px * var(--fs,1)); line-height:1; padding:0;
}
.password-toggle:focus{outline:2px solid var(--forest); outline-offset:1px;}
.password-toggle{color:#6B7891;} .password-toggle:hover{color:var(--ink); background:var(--paper);}
.auth-switch{text-align:center; margin-top:18px; font-size:calc(14px * var(--fs,1)); color:var(--text-soft);}
.auth-switch button{background:none; border:none; color:var(--forest-deep); font-weight:600; padding:0;}
.auth-error{background:var(--brick-wash); color:var(--brick); padding:10px 14px; border-radius:var(--radius-s); font-size:calc(13.5px * var(--fs,1)); margin-bottom:16px;}
.ed-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:calc(12.5px * var(--fs,1));line-height:1.5;color:var(--text-soft);cursor:pointer}
.ed-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--forest,#1F7A4D)}
.ed-consent a{color:var(--navy,#0B2545);text-decoration:underline}
.demo-note{background:var(--amber-wash); color:#7A5416; padding:10px 14px; border-radius:var(--radius-s); font-size:calc(12.5px * var(--fs,1)); margin-top:20px; line-height:1.5;}
.app{display:flex; min-height:100vh;}
.sidebar{width:246px; flex-shrink:0; background:var(--ink); color:#EDEFF5; display:flex; flex-direction:column; position:sticky; top:0; height:100vh;}
.sidebar-brand{display:flex; align-items:center; gap:10px; padding:22px 20px; font-family:var(--serif); font-weight:700; font-size:calc(18px * var(--fs,1)); color:#fff; border-bottom:1px solid rgba(255,255,255,.1);}
.sidebar-brand .brand-mark{background:var(--amber); color:var(--ink);}
.side-nav{flex:1; padding:16px 12px; overflow-y:auto;}
.side-link{display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:var(--radius-s); color:#C7CCDD; font-size:calc(14px * var(--fs,1)); font-weight:500; margin-bottom:2px; border-left:2.5px solid transparent; transition:background .12s ease, color .12s ease, border-color .12s ease;}
.side-link:hover{background:rgba(255,255,255,.06); color:#fff;}
.side-link.active{background:rgba(198,151,31,.14); color:var(--amber); font-weight:600; border-left-color:var(--amber);}
.side-link .ic{width:18px; height:18px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.side-foot{padding:16px 20px; border-top:1px solid rgba(255,255,255,.1); font-size:calc(12.5px * var(--fs,1)); color:#8B93AC;}
.side-collapse-btn{display:none;}
.reload-fab{position:fixed;right:16px;bottom:110px;z-index:65;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.3);padding:0;}
.reload-fab:hover{background:var(--ink-soft, var(--ink));}
.reload-fab svg{width:20px;height:20px;}
.reload-fab.spinning svg{animation:reloadFabSpin .5s linear infinite;}
@keyframes reloadFabSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.chat-reload-btn.spinning svg{animation:reloadFabSpin .55s linear infinite;}
@media(max-width:620px){.reload-fab{right:14px;bottom:96px;width:42px;height:42px;}.reload-fab svg{width:18px;height:18px;}}
.tutor-fab-wrap{position:fixed; right:20px; bottom:20px; z-index:70; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
.tutor-fab{width:52px; height:52px; border-radius:50%; background:var(--ink); color:#fff; border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 10px 24px rgba(0,0,0,.3);}
.tutor-fab-label{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; font-weight:800; font-size:calc(13px * var(--fs,1)); letter-spacing:0.5px; color:var(--amber);}
.tutor-fab-label svg{color:var(--amber);}
.tutor-fab:hover{background:var(--ink-soft, var(--ink));}
.tutor-fab-panel{width:min(340px, calc(100vw - 40px)); height:min(440px, 60vh); background:var(--paper); border:1px solid var(--border); border-radius:16px; box-shadow:0 20px 32px rgba(0,0,0,.25); display:flex; flex-direction:column; overflow:hidden;}
.tutor-fab-header{background:var(--ink); color:#fff; padding:12px 14px; font-weight:600; font-size:calc(14px * var(--fs,1)); display:flex; justify-content:space-between; align-items:center;}
.tutor-fab-header button{background:none; border:none; color:#fff; font-size:calc(16px * var(--fs,1)); cursor:pointer; line-height:1;}
.tutor-fab-messages{flex:1; overflow-y:auto; padding:12px;}
.tutor-fab-form{display:flex; gap:6px; padding:10px; border-top:1px solid var(--border);}
.tutor-fab-form input{flex:1; font-size:calc(13.5px * var(--fs,1));}
.tutor-msgs-wrap{position:relative; flex:1; min-height:0; display:flex; flex-direction:column;}
.tutor-scroll-down{position:absolute; right:14px; bottom:12px; width:34px; height:34px; border-radius:50%; background:var(--ink); color:#fff; border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,.25); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s ease, transform .15s ease, visibility .15s; z-index:5;}
.tutor-scroll-down.show{opacity:1; visibility:visible; transform:translateY(0);}
.tutor-scroll-down svg{width:16px; height:16px;}
@media(max-width:880px){
:root{--sb-w:0px;}
.sidebar{position:fixed; left:-260px; z-index:60; transition:left .2s ease; box-shadow:20px 0 40px rgba(0,0,0,.3);}
.sidebar.open{left:0;}
.side-collapse-btn{display:flex; position:fixed; bottom:20px; left:20px; z-index:61; background:var(--ink); color:#fff; width:48px; height:48px; border-radius:50%; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(0,0,0,.3); border:none;}
}
@media(min-width:881px) and (max-width:900px){ :root{--sb-w:220px;} }
.main{flex:1; min-width:0;}
.topbar{display:flex; align-items:center; justify-content:space-between; padding:16px 30px; border-bottom:1px solid var(--border); background:var(--paper-raised); position:fixed; top:0; left:var(--sb-w); right:0; z-index:25; box-shadow:0 1px 0 rgba(10,35,66,.02);}
.topbar h1{font-size:calc(19px * var(--fs,1)); letter-spacing:-.01em;}
.topbar-left{display:flex; align-items:center; gap:12px; min-width:0;}
.topbar-user{display:flex; align-items:center; gap:12px; cursor:pointer; padding:4px 10px 4px 4px; border-radius:999px; transition:background .12s ease;}
.topbar-user:hover{background:var(--paper);}
.avatar{width:38px; height:38px; border-radius:50%; object-fit:cover; background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:calc(15px * var(--fs,1)); flex-shrink:0; border:2px solid var(--paper-raised); box-shadow:0 0 0 1.5px var(--border);}
.uname-wrap{display:flex; flex-direction:column; align-items:flex-start;}
.uname{display:flex; align-items:center; gap:7px; font-weight:600; font-size:calc(14.5px * var(--fs,1)); color:var(--ink);}
.status-dot{width:8px; height:8px; border-radius:50%; background:var(--forest); box-shadow:0 0 0 3px var(--forest-wash);}
.uname-sub{font-size:calc(11.5px * var(--fs,1)); color:var(--text-soft);}
.content{padding:30px; padding-bottom:110px; max-width:1080px; padding-top:calc(var(--topbar-h) + 30px);}
.card{background:var(--paper-raised); border:1px solid var(--border); border-radius:var(--radius); padding:24px; min-width:0;}
.grid-2{display:grid; grid-template-columns:2fr 1fr; gap:18px;}
.grid-2 > *{min-width:0;}
@media(max-width:880px){.grid-2{grid-template-columns:1fr;}}
.kpi-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px;}
@media(max-width:820px){.kpi-row{grid-template-columns:repeat(2,1fr);}}
.kpi{background:var(--paper-raised); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px; min-width:0;}
.kpi b{display:block; font-family:var(--serif); font-size:calc(26px * var(--fs,1)); color:var(--ink);}
.kpi span{font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft);}
.card + .card{margin-top:18px;}
.card-title{font-size:calc(16px * var(--fs,1)); margin-bottom:16px; display:flex; align-items:center; justify-content:space-between;}
.pill{display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:999px; font-size:calc(12px * var(--fs,1)); font-weight:600;}
.pill-forest{background:var(--forest-wash); color:var(--forest-deep);}
.pill-amber{background:var(--amber-wash); color:var(--amber-deep);}
.pill-brick{background:var(--brick-wash); color:var(--brick);}
.pill-ink{background:#EBEEF6; color:var(--ink);}
table.simple{width:100%; border-collapse:collapse; font-size:calc(14px * var(--fs,1));}
table.simple th{text-align:left; font-size:calc(12px * var(--fs,1)); text-transform:none; color:var(--text-soft); font-weight:600; padding:8px 10px; border-bottom:1.5px solid var(--border);}
table.simple td{padding:11px 10px; border-bottom:1px solid var(--border); vertical-align:middle;}
table.simple tr:last-child td{border-bottom:none;}
.table-scroll{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.table-scroll table.simple{min-width:560px;}
.emoji-picker{display:flex; flex-wrap:wrap; gap:6px; padding:10px; background:var(--paper-raised); border-radius:12px; margin-bottom:8px;}
.emoji-btn{font-size:calc(22px * var(--fs,1)); background:none; border:none; cursor:pointer; padding:4px; line-height:1;}
.emoji-btn:hover{background:rgba(0,0,0,.05); border-radius:8px;}
.reaction-bar{display:flex; gap:5px; flex-wrap:wrap; margin-top:4px;}
.reaction-chip{font-size:calc(12.5px * var(--fs,1)); background:var(--paper); border:1px solid var(--border); border-radius:999px; padding:2px 8px; cursor:pointer;}
.reaction-chip.mine{background:var(--amber-wash); border-color:var(--amber);}
.reaction-add{font-size:calc(13px * var(--fs,1)); color:var(--text-soft); background:var(--paper); border:1px solid var(--border); border-radius:999px; width:22px; height:22px; cursor:pointer; line-height:1;}
.reaction-picker{display:flex; gap:4px; background:var(--paper); border:1px solid var(--border); border-radius:10px; padding:6px; margin-top:4px;}
.reaction-picker .emoji-btn{font-size:calc(18px * var(--fs,1));}
.msg-delete{background:none; border:none; cursor:pointer; font-size:calc(14px * var(--fs,1)); opacity:0.45; padding:4px;}
.msg-delete:hover{opacity:1;}
.empty{text-align:center; padding:44px 20px; color:var(--text-soft);}
.empty .ico{width:52px; height:52px; border-radius:50%; background:var(--paper); border:1.5px dashed var(--border-strong); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.subj-tile-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
@media(max-width:760px){.subj-tile-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.subj-tile-grid{grid-template-columns:1fr;}}
.subj-tile{border:1px solid var(--border); border-radius:var(--radius); padding:16px; background:var(--paper-raised); transition:box-shadow .12s ease, transform .12s ease;}
.subj-tile:hover{box-shadow:var(--shadow-card); transform:translateY(-2px);}
.exam-shell{display:grid; grid-template-columns:1fr 260px; gap:20px;}
@media(max-width:880px){.exam-shell{grid-template-columns:1fr;}}
.exam-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:12px;}
.timer-box{font-family:var(--mono); font-size:calc(20px * var(--fs,1)); font-weight:600; background:var(--chip-dark); color:#fff; padding:10px 18px; border-radius:var(--radius-s); letter-spacing:.03em;}
.timer-box.low{background:var(--brick);}
.exam-resume-dock{
position:fixed;
left:18px;
right:18px;
top:calc(var(--topbar-h) + 14px);
z-index:90;
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
padding:12px 14px;
background:var(--paper-raised);
border:1px solid var(--border-strong);
border-radius:14px;
box-shadow:0 14px 36px rgba(20,33,61,.20);
}
.exam-resume-info{min-width:0;display:flex;align-items:center;gap:10px;}
.exam-resume-pulse{width:10px;height:10px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 4px var(--forest-wash);flex:0 0 10px;}
.exam-resume-copy{min-width:0;}
.exam-resume-copy b{display:block;font-size:calc(13.5px * var(--fs,1));color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.exam-resume-copy span{display:block;font-size:calc(11.5px * var(--fs,1));color:var(--text-soft);margin-top:2px;}
.exam-resume-actions{position:relative;z-index:2;display:flex;align-items:center;gap:8px;flex-shrink:0;pointer-events:auto;}
.exam-resume-actions .btn,.exam-resume-actions .exam-resume-timer{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.exam-resume-timer{font-family:var(--mono);font-weight:700;color:var(--ink);background:var(--amber-wash);padding:7px 9px;border-radius:8px;white-space:nowrap;}
.exam-resume-timer.low{background:var(--brick-wash);color:var(--brick);}
@media(max-width:620px){
.exam-resume-dock{left:10px;right:10px;top:calc(var(--topbar-h) + 10px);padding:10px;gap:8px;align-items:flex-start;}
.exam-resume-info{gap:8px;flex:1;min-width:0;}
.exam-resume-copy b{font-size:calc(12px * var(--fs,1));}
.exam-resume-copy span{font-size:calc(10.5px * var(--fs,1));}
.exam-resume-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.exam-resume-timer{font-size:calc(12px * var(--fs,1));padding:6px 7px;}
.exam-resume-actions .btn{padding:7px 10px;font-size:calc(11.5px * var(--fs,1));}
}
.qcard{background:var(--paper-raised); border:1px solid var(--border); border-radius:var(--radius); padding:26px;}
.qmeta{font-size:calc(13px * var(--fs,1)); color:var(--text-soft); margin-bottom:10px; display:flex; gap:10px; align-items:center;}
.qtext{font-size:calc(18px * var(--fs,1)); font-weight:500; line-height:1.55; margin-bottom:22px; color:var(--ink);}
.opt{display:flex; align-items:flex-start; gap:14px; padding:14px 16px; border:1.5px solid var(--border); border-radius:var(--radius-s); margin-bottom:10px; cursor:pointer; transition:border-color .12s ease, background .12s ease;}
.opt:hover{border-color:var(--ink-soft);}
.opt.sel{border-color:var(--forest); background:var(--forest-wash);}
.opt .tag{width:26px; height:26px; border-radius:50%; border:1.5px solid var(--border-strong); display:flex; align-items:center; justify-content:center; font-size:calc(13px * var(--fs,1)); font-weight:700; flex-shrink:0; background:var(--paper-raised); color:var(--ink);}
.opt.sel .tag{background:var(--forest); border-color:var(--forest); color:#fff;}
.opt-text{font-size:calc(15px * var(--fs,1)); padding-top:2px;}
.exam-nav-btns{display:flex; justify-content:space-between; margin-top:22px; gap:10px; flex-wrap:wrap;}
.palette-box{background:var(--paper-raised); border:1px solid var(--border); border-radius:var(--radius); padding:18px; align-self:flex-start;}
.palette-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:12px;}
.pnum{aspect-ratio:1; border-radius:8px; font-family:var(--mono); font-size:calc(13px * var(--fs,1)); font-weight:600; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--border-strong); background:var(--paper-raised); color:var(--text-soft);}
.pnum.answered{background:var(--forest); border-color:var(--forest); color:#fff;}
.pnum.flagged{background:var(--amber); border-color:var(--amber); color:var(--ink);}
.pnum.current{outline:2px solid var(--ink); outline-offset:2px;}
.legend{display:flex; flex-direction:column; gap:8px; margin-top:16px; font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft);}
.legend-item{display:flex; align-items:center; gap:8px;}
.legend-sw{width:12px; height:12px; border-radius:3px;}
.score-hero{display:flex; align-items:center; gap:26px; padding:26px; flex-wrap:wrap;}
.score-ring{width:110px; height:110px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative;}
.score-ring b{font-family:var(--serif); font-size:calc(26px * var(--fs,1)); color:var(--ink);}
.review-item{border:1px solid var(--border); border-radius:var(--radius); padding:18px; margin-bottom:12px;}
.review-item.correct{border-left:4px solid var(--forest);}
.review-item.incorrect{border-left:4px solid var(--brick);}
.review-opt{padding:9px 12px; border-radius:6px; font-size:calc(14px * var(--fs,1)); margin-top:6px; border:1px solid var(--border);}
.review-opt.is-correct{background:var(--forest-wash); border-color:var(--forest); font-weight:600;}
.review-opt.is-wrong{background:var(--brick-wash); border-color:var(--brick);}
.explain{margin-top:10px; font-size:calc(13.5px * var(--fs,1)); color:var(--text-soft); background:var(--paper); padding:10px 12px; border-radius:6px;}
.dropzone{border:2px dashed var(--border-strong); border-radius:var(--radius); padding:40px 20px; text-align:center; background:var(--paper); transition:border-color .15s ease, background .15s ease;}
.dropzone.drag{border-color:var(--forest); background:var(--forest-wash);}
.parsed-item{border:1px solid var(--border); border-radius:var(--radius); padding:16px; margin-bottom:12px; background:var(--paper-raised);}
.parsed-item textarea, .parsed-item input[type=text]{width:100%; border:1px solid var(--border-strong); border-radius:6px; padding:8px 10px; font-size:calc(14px * var(--fs,1)); margin-bottom:8px; font-family:var(--sans);}
.opt-row{display:flex; align-items:center; gap:8px; margin-bottom:6px;}
.opt-row input[type=radio]{flex-shrink:0;}
.practice-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px;}
.practice-eyebrow{font-size:calc(11px * var(--fs,1));font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--forest);margin-bottom:5px;}
.practice-page-head h1{font-size:calc(27px * var(--fs,1));line-height:1.2;}
.practice-page-head p{margin-top:6px;color:var(--text-soft);font-size:calc(13.5px * var(--fs,1));max-width:680px;}
.practice-setup-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px;align-items:start;}
.practice-settings-card{box-shadow:var(--shadow-card);}
.practice-setting-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;}
.practice-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
.practice-stat{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--paper);}
.practice-stat b{display:block;font-size:calc(17px * var(--fs,1));color:var(--ink);font-family:var(--serif);}
.practice-stat span{font-size:calc(11.5px * var(--fs,1));color:var(--text-soft);}
.practice-checklist{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.practice-checklist li{display:flex;gap:10px;align-items:flex-start;color:var(--text-soft);font-size:calc(13.5px * var(--fs,1));line-height:1.55;}
.practice-check{width:22px;height:22px;border-radius:50%;background:var(--forest-wash);color:var(--forest);display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 22px;font-size:calc(12px * var(--fs,1));}
.exam-shell{align-items:start;}
.exam-header{position:sticky;top:var(--topbar-h);z-index:8;background:var(--paper);padding:4px 0 12px;}
.exam-header-main{display:flex;align-items:center;gap:12px;min-width:0;}
.exam-progress{height:5px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:9px;max-width:460px;}
.exam-progress > span{display:block;height:100%;background:var(--forest);border-radius:inherit;transition:width .18s ease;}
.exam-title-wrap{min-width:0;}
.exam-title-wrap h1{font-size:calc(21px * var(--fs,1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.exam-status{font-size:calc(12px * var(--fs,1));color:var(--text-soft);margin-top:2px;}
.timer-box{min-width:104px;text-align:center;box-shadow:0 6px 18px rgba(20,33,61,.10);}
.qcard{box-shadow:var(--shadow-card);}
.qtext{font-size:calc(19px * var(--fs,1));font-weight:600;line-height:1.6;}
.opt{position:relative;min-height:58px;align-items:center;background:var(--paper-raised);}
.opt.sel{box-shadow:0 0 0 2px rgba(31,111,80,.08);}
.opt .tag{transition:all .12s ease;}
.exam-nav-btns{border-top:1px solid var(--border);padding-top:18px;}
.palette-box{position:sticky;top:var(--topbar-h);box-shadow:var(--shadow-card);}
.palette-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.palette-sub{font-size:calc(11.5px * var(--fs,1));color:var(--text-soft);margin-top:3px;}
.pnum{cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;}
.pnum:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(20,33,61,.10);}
.pnum.current{outline:2px solid var(--forest);outline-offset:2px;}
.parsed-item{box-shadow:var(--shadow-card);}
.parsed-item textarea,.parsed-item input[type=text]{background:#fff;}
.parsed-item-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.parsed-item-number{font-weight:800;color:var(--ink);font-size:calc(13px * var(--fs,1));}
.parsed-item-status{font-size:calc(11px * var(--fs,1));}
.ai-busy{display:inline-flex;align-items:center;gap:7px;color:var(--forest);font-weight:600;}
.ai-dot{width:7px;height:7px;border-radius:50%;background:var(--forest);animation:aiPulse 1s infinite ease-in-out;}
@keyframes aiPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@media(max-width:880px){
.practice-setup-grid{grid-template-columns:1fr;}
.palette-box{position:static;}
}
@media(max-width:640px){
.practice-page-head{align-items:flex-start;}
.practice-page-head h1{font-size:calc(23px * var(--fs,1));}
.practice-setting-grid{grid-template-columns:1fr;}
.practice-stat-row{grid-template-columns:1fr 1fr 1fr;}
.practice-stat{padding:10px 8px;}
.practice-stat b{font-size:calc(15px * var(--fs,1));}
.practice-stat span{font-size:calc(10.5px * var(--fs,1));}
.exam-header{padding-top:0;}
.exam-title-wrap h1{font-size:calc(18px * var(--fs,1));}
.timer-box{min-width:88px;font-size:calc(17px * var(--fs,1));padding:9px 11px;}
.qcard{padding:17px;}
.qtext{font-size:calc(17px * var(--fs,1));}
.opt{padding:12px 12px;gap:10px;}
.exam-nav-btns{display:grid;grid-template-columns:1fr;}
.exam-nav-btns>div{justify-content:space-between;}
.exam-nav-btns>button{width:100%;}
}
body.chat-route{overflow:hidden; --serif:var(--sans);}
.chat-page{padding:12px 18px 14px !important; height:calc(100vh - 76px); min-height:0; max-width:none; overflow:hidden; display:flex; justify-content:center;}
.chat-page > .wa-chat-shell{width:min(100%, 760px); height:100%; min-height:0; max-height:100%; margin:0 auto;}
.wa-chat-shell{height:100%; min-height:0; max-width:760px; width:100%; margin:0 auto; display:flex; flex-direction:column; overflow:hidden; border:1px solid #d7d7d7; border-radius:14px; background:#efeae2; box-shadow:0 6px 22px rgba(0,0,0,.08);}
.wa-chat-header{height:68px; flex:0 0 68px; display:flex; align-items:center; gap:12px; padding:10px 16px; background:#f0f2f5; border-bottom:1px solid #d8dadd;}
.wa-chat-avatar{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#128c7e; color:#fff; font-weight:700; font-size:calc(14px * var(--fs,1));}
.wa-chat-academy-avatar{overflow:hidden; background:#fff; padding:0;}
.wa-chat-academy-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;}
.wa-chat-title{display:flex; flex-direction:column; min-width:0; flex:1;}
.wa-chat-title b{font-size:calc(15px * var(--fs,1)); color:#111b21;}
.wa-chat-title span{font-size:calc(12px * var(--fs,1)); color:#667781; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.wa-header-btn,.wa-icon-btn{border:0; background:transparent; cursor:pointer; color:#54656f; display:inline-flex; align-items:center; justify-content:center;}
.wa-header-btn{width:38px; height:38px; font-size:calc(18px * var(--fs,1)); border-radius:50%;}
.wa-header-btn:hover,.wa-icon-btn:hover{background:rgba(0,0,0,.06);}
.wa-chat-messages{flex:1; overflow-y:auto; padding:18px 5.5%; background-color:#efeae2; background-image:url("data:image/png;base64,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"); background-repeat:repeat, no-repeat; background-position:0 0, center; background-size:auto, 360px 360px; background-attachment:scroll, fixed;}
.wa-chat-messages{background-repeat:no-repeat;background-position:center;background-size:240px 240px;background-attachment:scroll;}
.wa-row{display:flex; flex-direction:column; margin:3px 0 9px; position:relative;}
.wa-row-me{align-items:flex-end;}
.wa-row-other{align-items:flex-start;}
.wa-bubble{position:relative; width:fit-content; max-width:min(72%, 620px); min-width:0; padding:7px 10px 5px; border-radius:8px; box-shadow:0 1px 1px rgba(0,0,0,.10); color:#111b21; font-size:calc(14px * var(--fs,1)); line-height:1.4;}
.wa-bubble-me{background:#d9fdd3; border-top-right-radius:2px;}
.wa-bubble-other{background:#fff; border-top-left-radius:2px;}
.wa-bubble-me:after{content:""; position:absolute; right:-7px; top:0; border-width:0 0 9px 9px; border-style:solid; border-color:transparent transparent transparent #d9fdd3;}
.wa-bubble-other:before{content:""; position:absolute; left:-7px; top:0; border-width:9px 7px 0 0; border-style:solid; border-color:#fff transparent transparent transparent;}
.wa-sender{font-size:calc(12px * var(--fs,1)); font-weight:700; color:#128c7e; margin-bottom:2px;}
.wa-text{white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; max-width:100%; min-width:0;}
.wa-inline-attachment{margin-top:7px; max-width:100%; clear:both;}
.wa-inline-image a{display:block; max-width:100%; border-radius:8px; overflow:hidden; background:#f1f3f4;}
.wa-inline-image img{display:block; width:auto; max-width:100%; max-height:320px; height:auto; object-fit:contain; border-radius:8px; cursor:pointer;}
.wa-image-viewer{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:1000;padding:18px;box-sizing:border-box;}
.wa-image-viewer img{display:block;max-width:96vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.45);}
.wa-image-viewer-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:calc(30px * var(--fs,1));line-height:42px;text-align:center;cursor:pointer;}
.wa-inline-video{width:min(100%,360px);}.wa-inline-video video{display:block; width:100%; max-width:360px; max-height:320px; border-radius:8px; background:#000; object-fit:contain;}
.wa-inline-pdf iframe{display:block; width:min(100%,360px); height:300px; border:0; border-radius:8px; background:#fff;}
.wa-attachment-open{display:inline-block; margin-top:5px; font-size:calc(12px * var(--fs,1)); text-decoration:underline;}
.wa-meta{float:right; margin:5px 0 0 10px; font-size:calc(10.5px * var(--fs,1)); color:#667781; line-height:12px;}
.wa-check{color:#53bdeb; font-size:calc(12px * var(--fs,1));}
.wa-msg-delete{position:absolute; top:-12px; right:-12px; width:25px; height:25px; border:0; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.18); cursor:pointer; font-size:calc(12px * var(--fs,1)); z-index:2;}
.wa-reactions{max-width:min(72%,620px);}
.wa-reactions .reaction-bar{margin-top:2px;}
.wa-empty{height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; color:#667781; text-align:center;}
.wa-empty-icon{font-size:calc(32px * var(--fs,1)); opacity:.75;}
.wa-composer-wrap{flex:0 0 auto; padding:8px 10px; background:#f0f2f5; border-top:1px solid #d8dadd;}
.wa-composer{display:flex; align-items:center; gap:5px; width:100%;}
.wa-icon-btn{width:42px; height:42px; flex:0 0 42px; border-radius:50%; font-size:calc(20px * var(--fs,1)); cursor:pointer;}
.wa-input{height:42px; flex:1; min-width:0; border:0; outline:0; border-radius:20px; background:#fff; padding:0 16px; font-size:calc(14px * var(--fs,1)); color:#111b21; box-shadow:0 1px 1px rgba(0,0,0,.06);}
.wa-input:focus{box-shadow:0 1px 3px rgba(0,0,0,.12);}
.wa-send-btn{width:48px; min-width:48px; height:48px; min-height:48px; flex:0 0 48px; border:0; border-radius:50%; background:#128c7e; color:#fff; cursor:pointer; font-size:calc(18px * var(--fs,1)); display:inline-flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent; touch-action:manipulation; position:relative; z-index:60;}
.wa-send-btn:hover{filter:brightness(.95);}
.wa-mic{font-size:calc(20px * var(--fs,1)); -webkit-tap-highlight-color:transparent; touch-action:manipulation; position:relative; z-index:60;}
.wa-chat-loading{margin:auto; color:#667781;}
@media(max-width:700px){.chat-page{padding:0 !important; height:calc(100vh - 70px);}.chat-page > .wa-chat-shell{width:100%;}.wa-chat-shell{height:100%; min-height:0; max-height:none; border-radius:0; margin:0; border-left:0; border-right:0;}.wa-chat-messages{padding:12px 3.5%;}.wa-bubble,.wa-reactions{max-width:88%;}.wa-chat-header{height:60px; flex-basis:60px; padding:8px 10px;}.wa-chat-avatar{width:40px;height:40px;}.wa-composer-wrap{padding:6px 5px;}.wa-icon-btn{width:38px; flex-basis:38px;}.wa-send-btn{width:48px; min-width:48px; flex-basis:48px; height:48px; min-height:48px;}.wa-input{height:40px; padding:0 14px;}}
.wa-chat-shell,.wa-chat-shell *{box-sizing:border-box;}
.wa-chat-shell{min-width:0;}
.wa-composer-wrap{flex-shrink:0;}
.wa-composer{min-width:0;}
.wa-input{display:block !important; width:auto !important; min-width:0 !important; flex:1 1 auto !important; opacity:1 !important; visibility:visible !important; -webkit-appearance:none; appearance:none;}
.wa-input:focus{outline:none !important;}
.chat-page .wa-chat-messages{min-height:0; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;}
.chat-page .wa-composer-wrap{z-index:30;}
.wa-chat-shell button,.wa-chat-shell input,.wa-chat-shell label{pointer-events:auto;touch-action:manipulation;}
.wa-input{position:relative;z-index:5;pointer-events:auto!important;-webkit-user-select:text;user-select:text;cursor:text;}
.wa-composer{position:relative;z-index:4;}
.wa-composer-wrap{position:relative;z-index:10;}
.wa-attachment-preview{
margin:0 8px 6px;
padding:8px 10px;
border:1px solid rgba(0,0,0,.10);
border-radius:12px;
background:rgba(255,255,255,.96);
box-shadow:0 1px 3px rgba(0,0,0,.10);
}
.wa-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:calc(12px * var(--fs,1));color:#54656f;margin-bottom:6px;}
.wa-preview-remove{width:28px;height:28px;border:0;border-radius:50%;background:#eef1f2;color:#54656f;font-size:calc(20px * var(--fs,1));line-height:1;cursor:pointer;}
.wa-preview-body{display:flex;align-items:center;gap:10px;min-width:0;}
.wa-preview-media{width:72px;height:60px;border-radius:8px;overflow:hidden;background:#f1f3f4;display:flex;align-items:center;justify-content:center;flex:0 0 72px;}
.wa-preview-media img,.wa-preview-media video{width:100%;height:100%;object-fit:cover;display:block;}
.wa-preview-media iframe{width:100%;height:100%;border:0;}
.wa-preview-media audio{width:68px;height:34px;}
.wa-preview-info{min-width:0;overflow:hidden;}
.wa-preview-name{font-size:calc(13px * var(--fs,1));color:#111b21;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wa-preview-size{font-size:calc(11px * var(--fs,1));color:#667781;margin-top:3px;}
.wa-preview-file{font-size:calc(12px * var(--fs,1));padding:6px;text-align:center;overflow-wrap:anywhere;word-break:break-word;}
.wa-icon-btn svg,.wa-send-btn svg,.wa-header-btn svg,.wa-msg-delete svg,.wa-person-arrow svg{display:block;}
.wa-header-btn.active{background:rgba(18,140,126,.12);color:#128c7e;}
.wa-admin-badge{font-size:calc(9px * var(--fs,1));background:#128c7e;color:#fff;border-radius:10px;padding:2px 6px;margin-left:4px;}
.wa-msg-delete{display:flex;align-items:center;justify-content:center;color:#667781;}
.wa-msg-delete svg{width:14px;height:14px;}
.wa-check svg{width:13px;height:13px;display:inline-block;vertical-align:-2px;}
.wa-empty-icon svg{width:32px;height:32px;}
.wa-people-panel{position:absolute;top:68px;right:8px;width:min(340px,calc(100% - 16px));max-height:62%;overflow:auto;background:#fff;z-index:20;border:1px solid #d8dadd;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.wa-people-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7e9;color:#111b21;}
.wa-close-btn{border:0;background:transparent;font-size:calc(25px * var(--fs,1));line-height:1;color:#667781;cursor:pointer;width:36px;height:36px;border-radius:50%;}
.wa-person{width:100%;display:flex;align-items:center;gap:11px;border:0;background:#fff;padding:11px 14px;text-align:left;cursor:pointer;}
.wa-person:hover{background:#f5f6f6;}
.wa-person-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#128c7e;color:#fff;font-weight:700;flex:0 0 42px;}
.wa-person-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;color:#111b21;}
.wa-person-info b{font-size:calc(14px * var(--fs,1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wa-person-info small{color:#667781;font-size:calc(11px * var(--fs,1));}
.wa-person-info i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#c7c9cc;}
.wa-person-info i.online{background:#25d366;}
.wa-person-arrow{transform:rotate(180deg);color:#667781;}
.wa-person-arrow svg{width:17px;height:17px;}
.wa-people-empty{padding:20px;color:#667781;font-size:calc(13px * var(--fs,1));text-align:center;}
.wa-icon-btn.recording{color:#c4432b;background:rgba(196,67,43,.1);}
@media(max-width:700px){.wa-people-panel{top:62px;right:6px;width:calc(100% - 12px);max-height:60%;}.wa-chat-shell{position:relative;}.wa-input{font-size:calc(16px * var(--fs,1));}}
.profile-avatar-lg{width:96px; height:96px; border-radius:50%; object-fit:cover; background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center; font-size:calc(32px * var(--fs,1)); font-weight:700; border:3px solid var(--paper-raised); box-shadow:0 0 0 1.5px var(--border);}
.toast{position:fixed; bottom:26px; right:26px; background:var(--chip-dark); color:#fff; padding:14px 20px; border-radius:var(--radius-s); font-size:calc(14px * var(--fs,1)); box-shadow:0 12px 30px rgba(0,0,0,.25); z-index:200; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s ease, transform .2s ease;}
.toast.show{opacity:1; transform:translateY(0);}
.modal-overlay{position:fixed; inset:0; background:rgba(20,33,61,.55); display:flex; align-items:center; justify-content:center; z-index:150; padding:20px;}
.modal-box{background:#fff; border-radius:var(--radius-l); padding:28px; max-width:420px; width:100%;}
.modal-box h3{margin-bottom:10px;}
.modal-box p{color:var(--text-soft); font-size:calc(14.5px * var(--fs,1)); margin-bottom:20px; line-height:1.5;}
.modal-actions{display:flex; gap:10px; justify-content:flex-end;}
.calc-open-btn{margin-top:10px;}
.calc-box{background:#fff;border-radius:var(--radius-l);padding:20px;max-width:340px;width:100%;}
.calc-box-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.calc-box-head b{font-family:var(--serif);font-size:calc(16px * var(--fs,1));}
.calc-close{background:none;border:none;font-size:calc(20px * var(--fs,1));line-height:1;cursor:pointer;color:var(--text-soft);}
.calc-screen{background:var(--ink);color:#fff;border-radius:10px;padding:16px 14px;font-family:var(--mono);font-size:calc(21px * var(--fs,1));text-align:right;min-height:30px;overflow-x:auto;white-space:nowrap;margin-bottom:14px;}
.calc-grid{display:grid;gap:8px;}
.calc-grid.jamb{grid-template-columns:repeat(4,1fr);}
.calc-grid.sci{grid-template-columns:repeat(5,1fr);}
.calc-key{padding:12px 0;border-radius:8px;border:1px solid var(--border-strong);background:#fff;font-weight:600;font-size:calc(14.5px * var(--fs,1));text-align:center;}
.calc-key:active{transform:translateY(1px);}
.calc-key.op{background:var(--amber-wash);color:var(--amber-deep);}
.calc-key.fn{background:var(--forest-wash);color:var(--forest-deep);font-size:calc(12.5px * var(--fs,1));}
.calc-key.eq{background:var(--forest);color:#fff;}
.calc-key.clear{background:var(--brick-wash);color:var(--brick);}
.calc-key.wide{grid-column:span 2;}
.modal-overlay.calc-float{background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;display:block !important;padding:0 !important;pointer-events:none}
.calc-float .calc-box{position:fixed;pointer-events:auto;width:320px;max-width:none;transform-origin:0 0;box-shadow:0 22px 32px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);z-index:2}
.calc-float .calc-box.dragging{box-shadow:0 30px 32px -10px rgba(0,0,0,.7),0 0 0 2px #D9AE2E}
.calc-float .calc-box-head{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;gap:8px}
.calc-float .calc-box.dragging .calc-box-head{cursor:grabbing}
.calc-float .calc-box-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.calc-ui-row{display:flex;align-items:center;gap:6px;flex:none}
.calc-ui,.calc-float .calc-close{width:30px;height:30px;padding:0;border-radius:8px;display:grid;place-items:center;font-size:15px;line-height:1;cursor:pointer}
.calc-float .calc-box.min{width:240px}
.calc-float .calc-box.min .calc-screen,.calc-float .calc-box.min .calc-grid{display:none}
.calc-float .calc-box.min .calc-box-head{margin-bottom:0}
.dd{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.dd > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 16px;font-weight:700;-webkit-tap-highlight-color:transparent;}
.dd > summary::-webkit-details-marker{display:none;}
.dd > summary::marker{content:'';}
.dd > summary .dd-main{flex:1 1 auto;min-width:0;}
.dd > summary .dd-title{font-weight:700;font-size:calc(15.5px * var(--fs,1));line-height:1.35;word-break:break-word;}
.dd > summary .dd-sub{font-weight:400;font-size:calc(12.5px * var(--fs,1));color:var(--text-soft);margin-top:3px;}
.dd > summary .dd-chev{flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--text-soft);border-bottom:2px solid var(--text-soft);transform:rotate(45deg);transition:transform .18s ease;margin:0 4px 3px 0;}
.dd[open] > summary .dd-chev{transform:rotate(-135deg);margin:4px 4px 0 0;}
.dd[open] > summary{border-bottom:1px solid var(--border);}
.dd-body{padding:14px 16px 16px;}
.helper-bar{display:flex; align-items:center; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
.backlink{display:inline-flex; align-items:center; gap:6px; color:var(--text-soft); font-size:calc(14px * var(--fs,1)); font-weight:500;}
.backlink:hover{color:var(--ink);}
body.chat-route{
overflow:hidden !important;
height:100vh;
height:100dvh;
}
body.chat-route .app{
height:100vh;
height:100dvh;
min-height:0 !important;
overflow:hidden !important;
}
body.chat-route .main{
height:100vh;
height:100dvh;
min-height:0 !important;
display:flex !important;
flex-direction:column !important;
overflow:hidden !important;
}
body.chat-route .topbar{
position:relative !important;
left:auto !important;
right:auto !important;
flex:0 0 auto !important;
}
body.chat-route .content{
flex:1 1 auto !important;
min-height:0 !important;
height:auto !important;
max-width:none !important;
width:100% !important;
padding:0 !important;
overflow:hidden !important;
}
body.chat-route .content.chat-page{
display:flex !important;
flex-direction:column !important;
align-items:stretch !important;
justify-content:stretch !important;
min-height:0 !important;
height:100% !important;
flex:1 1 auto !important;
padding:10px 12px 12px !important;
overflow:hidden !important;
}
body.chat-route .chat-page > .wa-chat-shell{
flex:1 1 auto !important;
width:min(100%, 900px) !important;
max-width:900px !important;
height:100% !important;
min-height:0 !important;
max-height:none !important;
margin:0 auto !important;
}
body.chat-route .wa-chat-messages{
flex:1 1 auto !important;
min-height:0 !important;
overflow-y:auto !important;
overflow-x:hidden !important;
padding-bottom:14px !important;
}
body.chat-route .wa-composer-wrap{
flex:0 0 auto !important;
position:relative !important;
z-index:50 !important;
width:100% !important;
padding-bottom:max(6px, env(safe-area-inset-bottom)) !important;
}
body.chat-route .wa-composer{
width:100% !important;
min-width:0 !important;
align-items:center !important;
}
body.chat-route .wa-input{
pointer-events:auto !important;
user-select:text !important;
-webkit-user-select:text !important;
z-index:51 !important;
}
.wa-reactions{
width:auto !important;
max-width:min(88%,620px) !important;
margin-top:2px !important;
}
.wa-reactions .reaction-bar{
display:flex !important;
align-items:center !important;
gap:4px !important;
min-height:24px;
}
.reaction-chip{
display:inline-flex !important;
align-items:center;
justify-content:center;
min-height:24px;
padding:2px 8px !important;
}
.reaction-add{
display:inline-flex !important;
align-items:center;
justify-content:center;
font-size:calc(16px * var(--fs,1)) !important;
font-weight:600;
}
@media(max-width:700px){
body.chat-route .content.chat-page{
padding:0 !important;
}
body.chat-route .chat-page > .wa-chat-shell{
border-radius:0 !important;
border-left:0 !important;
border-right:0 !important;
box-shadow:none !important;
width:100% !important;
max-width:none !important;
}
body.chat-route .wa-chat-header{
flex:0 0 60px !important;
height:60px !important;
}
body.chat-route .wa-chat-messages{
padding:10px 12px 12px !important;
}
body.chat-route .wa-composer-wrap{
padding:6px 6px max(6px, env(safe-area-inset-bottom)) !important;
}
}
@media(max-width:880px){
body.chat-route .side-collapse-btn{top:82px !important;bottom:auto !important;left:10px !important;width:42px !important;height:42px !important;z-index:45 !important;}
body.chat-route .tutor-fab-wrap{top:82px !important;bottom:auto !important;right:10px !important;z-index:45 !important;}
body.chat-route .tutor-fab{width:42px !important;height:42px !important;}
body.chat-route .topbar{padding-left:64px !important;padding-right:64px !important;}
}
body.chat-route .wa-chat-shell{position:relative; overflow-x:hidden; overscroll-behavior-x:none;}
body.chat-route .wa-composer-wrap{overflow:visible;}
body.chat-route .wa-composer{touch-action:auto;}
body.chat-route .wa-input{touch-action:auto !important;}
body.chat-route .wa-composer-wrap{box-shadow:0 -1px 5px rgba(0,0,0,.04);}
body.chat-route .wa-composer,
body.chat-route .wa-composer-wrap,
body.chat-route .wa-input{
pointer-events:auto !important;
touch-action:manipulation;
}
body.chat-route .wa-input{
position:relative !important;
z-index:100 !important;
-webkit-user-select:text !important;
user-select:text !important;
cursor:text !important;
}
@media(max-width:480px){
body.chat-route .wa-bubble,body.chat-route .wa-reactions{max-width:84% !important;}
}
@media(max-width:420px){
body.chat-route .wa-composer-wrap{padding-left:4px !important;padding-right:4px !important;}
body.chat-route .wa-icon-btn{width:34px !important;flex-basis:34px !important;height:38px !important;}
body.chat-route .wa-send-btn{width:48px !important;min-width:48px !important;flex-basis:48px !important;height:48px !important;min-height:48px !important;}
body.chat-route .wa-input{height:38px !important;padding-left:12px !important;padding-right:12px !important;}
}
body.chat-route .chat-page{
--chat-visible-height: 100dvh;
}
body.chat-route .main{
height: 100dvh !important;
max-height: 100dvh !important;
}
body.chat-route .content.chat-page{
height: calc(100dvh - var(--chat-topbar-height, 70px)) !important;
max-height: calc(100dvh - var(--chat-topbar-height, 70px)) !important;
}
body.chat-route .topbar{
min-height:70px;
}
.chat-top-actions{
display:flex;
align-items:center;
gap:7px;
margin-left:auto;
margin-right:8px;
}
.chat-top-action{
width:38px;
height:38px;
border:0;
border-radius:50%;
background:#eef1f4;
color:#14213d;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
box-shadow:0 1px 3px rgba(0,0,0,.08);
touch-action:manipulation;
}
.chat-top-action:hover{background:#e3e7eb;}
.chat-top-action svg{width:19px;height:19px;}
.chat-top-action.active{background:#d9f3ed;color:#128c7e;}
.gs-fab{position:fixed; top:calc(var(--topbar-h) + 14px); right:30px; z-index:40; box-shadow:0 8px 20px rgba(20,33,61,.18);}
@media(max-width:620px){ .gs-fab{top:calc(var(--topbar-h) + 10px); right:16px;} }
.wa-chat-tools{position:relative;display:flex;align-items:center;flex:0 0 auto;}
.wa-tools-toggle{font-size:calc(24px * var(--fs,1));line-height:1;font-weight:800;}
.wa-chat-tools-menu{position:fixed;top:0;left:0;right:auto;z-index:10000;display:flex;align-items:center;gap:5px;padding:6px;background:#fff;border:1px solid #d8dde1;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.16);}
.wa-chat-tools-menu[hidden]{display:none !important;}
.wa-chat-tools-menu .wa-header-btn{width:38px;height:38px;}
.wa-typing-indicator{font-size:calc(12px * var(--fs,1));color:#128c7e;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;}
body.chat-route .wa-chat-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
body.chat-route .wa-chat-shell input,body.chat-route .wa-chat-shell textarea,body.chat-route .wa-chat-shell button{font-family:inherit;}
.wa-group-locked{padding:7px 12px;margin:0 6px 6px;background:#fff4d8;border:1px solid #ead39a;border-radius:10px;color:#7a5a12;font-size:calc(12px * var(--fs,1));text-align:center;}
.wa-poll-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;}\n.wa-poll-card{min-width:230px;max-width:100%;}
.wa-poll-label{font-size:calc(10px * var(--fs,1));font-weight:800;letter-spacing:.08em;color:#128c7e;margin-bottom:5px;}
.wa-poll-question{font-size:calc(14px * var(--fs,1));font-weight:700;color:#111b21;line-height:1.35;margin-bottom:8px;}
.wa-poll-options{display:flex;flex-direction:column;gap:6px;}
.wa-poll-option{display:flex;align-items:center;gap:7px;width:100%;border:1px solid #d5dadd;background:rgba(255,255,255,.72);border-radius:10px;padding:7px 8px;text-align:left;color:#111b21;cursor:pointer;}
.wa-poll-option.selected{border-color:#128c7e;background:#e8f7f3;}
.wa-poll-radio{width:18px;height:18px;flex:0 0 18px;border:1px solid #8b969c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(11px * var(--fs,1));color:#128c7e;}
.wa-poll-option.selected .wa-poll-radio{border-color:#128c7e;font-weight:800;}
.wa-poll-option-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;}
.wa-poll-option-copy b{font-size:calc(12px * var(--fs,1));white-space:normal;word-break:break-word;}
.wa-poll-bar{height:4px;border-radius:3px;background:#e5e8ea;overflow:hidden;}
.wa-poll-bar i{display:block;height:100%;background:#128c7e;}
.wa-poll-option strong{font-size:calc(11px * var(--fs,1));color:#667781;}
.wa-poll-card small{display:block;margin-top:7px;color:#667781;font-size:calc(10px * var(--fs,1));}
.wa-poll-modal{max-width:420px;}
.wa-message-actions{
display:flex;
align-items:center;
justify-content:flex-end;
gap:7px;
clear:both;
margin-top:5px;
}
.wa-delete-inline{
border:0;
background:transparent;
color:#7b8790;
font-size:calc(10.5px * var(--fs,1));
font-weight:600;
display:inline-flex;
align-items:center;
gap:3px;
padding:3px 5px;
border-radius:6px;
cursor:pointer;
touch-action:manipulation;
}
.wa-delete-inline:hover{background:rgba(0,0,0,.05);color:#c4432b;}
.wa-edit-inline{color:#687783;}
.wa-edit-inline:hover{background:rgba(0,0,0,.05);color:#167a68;}
.wa-delete-inline svg{width:13px;height:13px;}
.wa-reply-inline{color:#687783;}
.wa-reply-inline:hover{background:rgba(0,0,0,.05);color:#167a68;}
.wa-reply-preview{display:flex;align-items:stretch;gap:8px;margin:0 8px 6px;padding:7px 9px;background:#f1f3f5;border-radius:10px;border-left:3px solid #128c7e;}
.wa-reply-preview-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.wa-reply-preview-copy b{font-size:calc(11px * var(--fs,1));color:#128c7e;}
.wa-reply-preview-copy span{font-size:calc(11px * var(--fs,1));color:#5f6b73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wa-reply-cancel{border:0;background:transparent;color:#687783;font-size:calc(21px * var(--fs,1));line-height:1;padding:0 4px;cursor:pointer;}
.wa-replied-message{margin:0 0 6px;padding:5px 8px;border-left:3px solid rgba(18,140,126,.7);background:rgba(255,255,255,.48);border-radius:5px;display:flex;flex-direction:column;gap:2px;max-width:100%;}
.wa-replied-message b{font-size:calc(10.5px * var(--fs,1));color:#128c7e;}
.wa-replied-message span{font-size:calc(10.5px * var(--fs,1));color:#687783;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:700px){
body.chat-route .topbar{
min-height:64px !important;
height:64px !important;
padding:10px 10px !important;
}
body.chat-route .topbar h1{
font-size:calc(20px * var(--fs,1));
white-space:nowrap;
}
body.chat-route .content.chat-page{
height:calc(var(--chat-visible-height, 100vh) - 64px) !important;
max-height:calc(var(--chat-visible-height, 100vh) - 64px) !important;
}
.chat-top-actions{gap:4px;margin-right:4px;}
.chat-top-action{width:34px;height:34px;}
.topbar-user{padding-right:2px;gap:6px;}
.topbar-user .uname-wrap{display:flex; flex-direction:column; align-items:flex-start; max-width:130px; overflow:hidden;} body.chat-route .topbar-user .uname-wrap{display:none;} .topbar-user .uname{font-size:calc(12px * var(--fs,1)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:130px;} .topbar-user .uname-sub{font-size:calc(9px * var(--fs,1)); white-space:nowrap;}
.topbar-user .avatar{width:34px;height:34px;}
body.chat-route .wa-chat-header{flex:0 0 60px !important;height:60px !important;}
body.chat-route .wa-composer-wrap{
position:relative !important;
bottom:auto !important;
transform:none !important;
}
body.chat-route .wa-input{
font-size:calc(16px * var(--fs,1)) !important;
-webkit-user-select:text !important;
user-select:text !important;
}
}
:root{
--radius-s:5px;
--radius:8px;
--radius-l:12px;
--shadow-card:0 1px 2px rgba(20,33,61,.05), 0 8px 24px -16px rgba(20,33,61,.20);
}
html{scroll-behavior:smooth;}
body{line-height:1.48;}
.wrap{max-width:1240px; padding-left:24px; padding-right:24px;}
.btn{
min-height:42px;
padding:10px 18px;
border-radius:8px;
border-width:1px;
box-shadow:none;
transition:transform .14s ease, box-shadow .14s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 4px 12px rgba(20,33,61,.10);}
.btn:active{transform:translateY(0);}
.btn-sm{min-height:36px; padding:7px 13px; border-radius:8px;}
.btn-icon{width:38px; height:38px; min-height:38px; border-radius:8px;}
.pubnav{background:rgba(246,243,236,.96); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(20,33,61,.04);}
.pubnav-inner{padding-top:14px; padding-bottom:14px;}
.brand{font-size:calc(19px * var(--fs,1));}
.brand-mark{width:32px; height:32px; border-radius:8px;}
.pubnav-links{gap:24px; font-size:calc(14px * var(--fs,1));}
.pubnav-cta{gap:8px;}
.hero{padding:64px 0 52px;}
.hero-grid{gap:44px;}
.hero h1{font-size:calc(44px * var(--fs,1)); line-height:1.1; letter-spacing:-.025em;}
.hero-sub{margin-top:16px; font-size:calc(16.5px * var(--fs,1)); line-height:1.58;}
.hero-ctas{gap:10px; margin-top:26px;}
.hero-stats{gap:28px; margin-top:36px;}
.hero-stat b{font-size:calc(24px * var(--fs,1));}
.section-head{margin-bottom:30px;}
.section-tag{font-size:calc(13px * var(--fs,1)); letter-spacing:.02em;}
.section-head h2{font-size:calc(30px * var(--fs,1)); letter-spacing:-.02em;}
.section-head p{margin-top:9px; font-size:calc(15px * var(--fs,1));}
.card{
border-radius:8px;
padding:20px;
box-shadow:var(--shadow-card);
}
.card + .card{margin-top:14px;}
.card-title{font-size:calc(15.5px * var(--fs,1)); margin-bottom:14px;}
.subject-card,
.feature-card,
.stat-card,
.panel,
.upload-card{
border-radius:8px;
}
input,select,textarea{
border-radius:8px !important;
border-color:var(--border) !important;
min-height:42px;
}
textarea{min-height:96px;}
input:focus,select:focus,textarea:focus{
border-color:var(--forest) !important;
box-shadow:0 0 0 3px rgba(31,111,80,.10);
}
.auth-shell{padding:28px 18px;}
.auth-card{
max-width:440px;
padding:32px;
border:1px solid rgba(207,200,180,.65);
border-radius:12px;
box-shadow:0 18px 32px -28px rgba(20,33,61,.42);
}
.sidebar{width:238px;}
.sidebar-brand{padding:18px 18px; font-size:calc(17px * var(--fs,1));}
.topbar{
padding:14px 24px;
box-shadow:0 1px 0 rgba(20,33,61,.025);
}
.topbar h1{font-size:calc(20px * var(--fs,1));}
.main{background:var(--paper);}
.app-content,
.page-content,
.dashboard-content{
max-width:1240px;
}
.sidebar nav a,
.sidebar .nav-item,
.sidebar button{
border-radius:8px;
}
.dashboard-grid,
.stats-grid,
.subject-grid{
gap:14px !important;
}
@media(min-width:881px){ .exam-shell{grid-template-columns:minmax(0,1fr) 248px; gap:16px;} }
.exam-header{margin-bottom:14px;}
.exam-card{border-radius:8px;}
.exam-nav-btns{margin-top:18px;}
.exam-mock-palette{padding:12px 16px;}
.score-hero{gap:20px; padding:20px; border-radius:8px;}
.result-card,
.review-card{border-radius:8px;}
.chat-page{padding:10px 14px 12px !important;}
.chat-page > .wa-chat-shell{width:min(100%,780px);}
.tutor-fab-wrap{right:18px; bottom:18px; gap:10px;}
.tutor-fab{
width:50px; height:50px;
border-radius:12px;
box-shadow:0 10px 24px rgba(20,33,61,.22);
}
.tutor-fab-panel{
width:min(360px,calc(100vw - 28px));
height:min(500px,68vh);
border-radius:12px;
box-shadow:0 18px 32px rgba(20,33,61,.22);
overflow:hidden;
}
.tutor-fab-header{padding:12px 14px;}
.tutor-fab-messages{padding:14px;}
.tutor-fab-form{padding:9px;}
table{border-collapse:separate; border-spacing:0;}
th{font-weight:600;}
td,th{padding:10px 12px;}
.badge,
.tag,
.pill,
.status{
border-radius:999px;
}
@media(max-width:900px){
.wrap{padding-left:18px; padding-right:18px;}
.hero{padding:48px 0 40px;}
.hero h1{font-size:calc(38px * var(--fs,1));}
.hero-grid{gap:32px;}
.sidebar{width:220px;}
.topbar{padding:12px 16px;}
:root{--topbar-h:64px;}
}
@media(max-width:640px){
.wrap{padding-left:16px; padding-right:16px;}
.hero{padding:38px 0 34px;}
.hero h1{font-size:calc(32px * var(--fs,1)); max-width:100%;}
.hero-sub{font-size:calc(15px * var(--fs,1));}
.hero-ctas{display:grid; grid-template-columns:1fr; gap:8px;}
.hero-ctas .btn{width:100%;}
.hero-stats{gap:18px; margin-top:28px;}
.section-head{margin-bottom:22px;}
.section-head h2{font-size:calc(26px * var(--fs,1));}
.card{padding:16px;}
.auth-card{padding:24px 18px;}
.tutor-fab-wrap{right:12px; bottom:12px;}
.tutor-fab-panel{width:calc(100vw - 24px); height:min(520px,72vh);}
}
html{overflow-x:hidden;}
body{overflow-x:clip;}
.wa-mic.recording{
color:#c4432b !important;
background:rgba(196,67,43,.10) !important;
box-shadow:0 0 0 3px rgba(196,67,43,.08);
}
.wa-mic:disabled{opacity:.55; cursor:not-allowed;}
.top-menu-btn{display:none;}
@media(max-width:880px){ .top-menu-btn{display:inline-flex;} }
.top-menu-btn,
.chat-top-actions .top-ai-btn{width:40px; height:40px; flex:0 0 40px;}
.chat-top-actions .top-ai-btn{background:var(--ink); color:#fff; box-shadow:0 2px 6px rgba(20,33,61,.22);}
.chat-top-actions .top-ai-btn:hover{background:var(--ink-soft);}
.chat-top-actions .top-ai-btn.active{background:var(--amber);}
.top-ai-label{font-weight:800; font-size:calc(13px * var(--fs,1)); letter-spacing:.3px; color:var(--amber);}
.top-ai-btn.active .top-ai-label{color:var(--ink);}
.topbar h1{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.tutor-fab-wrap{top:84px; bottom:auto; right:16px;}
@media(max-width:900px){ .tutor-fab-wrap{top:72px;} }
@media(max-width:640px){ .tutor-fab-wrap{top:70px; right:12px; bottom:auto;} }
@media(max-width:480px){ .topbar h1{font-size:calc(18px * var(--fs,1));} }
@media(max-width:400px){ .topbar-user .uname-wrap{display:none;} }
.wa-composer .wa-mic{width:54px; height:54px; flex:0 0 54px; background:#128c7e; color:#fff;}
.wa-composer .wa-mic:hover{background:#0f7a6e;}
body.chat-route .wa-composer .wa-mic{width:54px !important; height:54px !important; flex-basis:54px !important;}
.wa-send-btn[aria-busy="true"]{opacity:.65;}
@supports selector(:has(*)){
.wa-composer .wa-send-btn{display:none;}
.wa-composer .wa-mic{display:inline-flex;}
.wa-composer:has(.wa-input:not(:placeholder-shown)) .wa-send-btn,
.wa-composer-wrap:has(.wa-attachment-preview) .wa-composer .wa-send-btn{display:inline-flex;}
.wa-composer:has(.wa-input:not(:placeholder-shown)) .wa-mic,
.wa-composer-wrap:has(.wa-attachment-preview) .wa-composer .wa-mic{display:none;}
}
.wa-composer .wa-rec-bar{display:none;}
.wa-composer.is-recording > :not(.wa-rec-bar){display:none !important;}
.wa-composer.is-recording > .wa-rec-bar{display:flex; flex:1 1 auto; align-items:center; gap:10px; min-width:0; min-height:48px; padding:0 2px;}
.wa-rec-cancel{width:42px; height:42px; flex:0 0 42px; border:0; border-radius:50%; background:transparent; color:#c4432b; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; touch-action:manipulation;}
.wa-rec-cancel:hover{background:rgba(196,67,43,.10);}
.wa-rec-cancel svg,.wa-rec-send svg{display:block;}
.wa-rec-dot{width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#e53935; animation:waRecPulse 1.1s ease-in-out infinite;}
.wa-rec-time{font-variant-numeric:tabular-nums; font-weight:600; font-size:calc(15px * var(--fs,1)); color:#111b21; min-width:38px;}
.wa-rec-label{flex:1 1 auto; min-width:0; font-size:calc(13px * var(--fs,1)); color:#667781; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.wa-rec-send{width:54px; height:54px; flex:0 0 54px; border:0; border-radius:50%; background:#128c7e; color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; position:relative; z-index:60;}
.wa-rec-send:hover{filter:brightness(.95);}
@keyframes waRecPulse{0%,100%{opacity:1;} 50%{opacity:.25;}}
@media (prefers-reduced-motion: reduce){ .wa-rec-dot{animation:none;} }
.pres-dot{display:inline-block; width:9px; height:9px; border-radius:50%; flex:0 0 9px; vertical-align:middle;}
.pres-dot.on{background:#2E9E5B; box-shadow:0 0 0 3px rgba(46,158,91,.16);}
.pres-dot.off{background:#C4432B; box-shadow:0 0 0 3px rgba(196,67,43,.12);}
.pill-tutor{background:#e6f4ef; color:#16806f;}
.msg-badge{display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; border-radius:10px; background:#C4432B; color:#fff; font:700 11px/1 var(--sans); font-variant-numeric:tabular-nums;}
.msg-badge[hidden]{display:none !important;}
.msg-badge-inline{margin-left:8px; vertical-align:middle;}
.msg-badge-row{flex:0 0 auto;}
.chat-top-actions .top-msg-btn{position:relative; width:40px; height:40px; flex:0 0 40px;}
.chat-top-actions .top-msg-btn .msg-badge{position:absolute; top:-5px; right:-5px; box-shadow:0 0 0 2px var(--paper-raised);}
.chat-top-actions .top-msg-btn.active{background:var(--amber); color:var(--ink);}
body.chat-route .chat-top-actions .top-msg-btn{width:38px; height:38px; flex-basis:38px;}
@media(max-width:700px){ body.chat-route .chat-top-actions .top-msg-btn{width:34px; height:34px; flex-basis:34px;} }
.msg-panel{position:fixed; top:84px; right:16px; z-index:75; width:min(370px, calc(100vw - 24px)); max-height:min(560px, calc(100dvh - 100px)); background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 20px 32px rgba(0,0,0,.25); display:flex; flex-direction:column; overflow:hidden;}
.msg-panel[hidden]{display:none;}
@media(max-width:900px){ .msg-panel{top:72px;} }
@media(max-width:640px){ .msg-panel{top:70px; right:12px;} }
.msg-panel-head{background:var(--ink); color:#fff; padding:12px 14px; display:flex; align-items:center; justify-content:space-between; font-weight:600; font-size:calc(14px * var(--fs,1));}
.msg-panel-head button{background:none; border:none; color:#fff; font-size:calc(16px * var(--fs,1)); cursor:pointer; line-height:1; padding:4px 6px;}
.msg-panel-search{padding:10px 12px; border-bottom:1px solid var(--border); background:var(--paper);}
.msg-panel-search input{width:100%; font:inherit; font-size:calc(16px * var(--fs,1)); padding:9px 14px; border:1px solid var(--border-strong); border-radius:999px !important; background:#fff; color:var(--text); outline:none; -webkit-appearance:none; appearance:none;}
.msg-panel-list{flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
.msg-sec{padding:10px 14px 5px; font-size:calc(11px * var(--fs,1)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft);}
.msg-row{display:flex; align-items:center; gap:11px; width:100%; padding:10px 14px; background:#fff; border:0; border-bottom:1px solid var(--border); text-align:left; cursor:pointer; font-family:inherit; color:var(--text);}
.msg-row:hover{background:var(--paper);}
.msg-avatar{position:relative; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:var(--ink); color:var(--amber); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:calc(15px * var(--fs,1));}
.msg-avatar .pres-dot{position:absolute; right:-1px; bottom:-1px; width:12px; height:12px; border:2px solid #fff; box-shadow:none;}
.ed-av-img{position:absolute; inset:0; width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; cursor:zoom-in;}
.ed-avbox{position:fixed; inset:0; z-index:2147483000; background:rgba(5,12,28,.88); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px;}
.ed-avbox img{max-width:92vw; max-height:72vh; width:auto; height:auto; border-radius:18px; object-fit:contain; background:#fff; box-shadow:0 12px 40px rgba(0,0,0,.5);}
.ed-avbox-x{position:absolute; top:calc(env(safe-area-inset-top,0px) + 14px); right:14px; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.16); color:#fff; font-size:20px; cursor:pointer;}
.ed-avbox-n{color:#fff; font-weight:700; font-size:16px; text-align:center;}
.ed-av-sm{position:relative; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:26px; height:26px; margin-right:8px; border-radius:50%; background:#0B2545; color:#F5B400; font-weight:700; font-size:12px; line-height:1; overflow:hidden; vertical-align:middle;}
.wa-sender .ed-av-sm{width:20px; height:20px; font-size:10px; margin-right:6px; margin-top:-2px;}
.wa-person-avatar{position:relative; overflow:hidden;}
.st-av{position:relative;}
.wa-chat-avatar{position:relative; overflow:hidden; flex:0 0 auto;}
.msg-row-main{flex:1 1 auto; min-width:0; display:block;}
.msg-row-top{display:flex; align-items:center; gap:6px; min-width:0;}
.msg-row-name{font-weight:600; font-size:calc(14.5px * var(--fs,1)); color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.msg-pill{padding:2px 8px; font-size:calc(10.5px * var(--fs,1)); flex:0 0 auto;}
.msg-row-time{margin-left:auto; font-size:calc(11.5px * var(--fs,1)); color:var(--text-soft); flex:0 0 auto;}
.msg-row-prev{display:block; font-size:calc(13px * var(--fs,1)); color:var(--text-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px;}
.msg-row.unread .msg-row-prev{color:var(--text); font-weight:600;}
.msg-empty{padding:22px 16px; text-align:center; color:var(--text-soft); font-size:calc(13.5px * var(--fs,1));}
.staff-online{color:var(--forest); font-weight:600;}
.staff-joined-inline{display:none;}
.table-scroll table.simple.staff-table{min-width:0;}
@media(max-width:600px){
table.simple.staff-table thead{display:none;}
table.simple.staff-table, table.simple.staff-table tbody{display:block; width:100%;}
table.simple.staff-table tr{display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border);}
table.simple.staff-table tr:last-child{border-bottom:none;}
table.simple.staff-table td{display:block; padding:0; border:none;}
table.simple.staff-table td.staff-joined-cell{display:none;}
table.simple.staff-table td.staff-name-cell{grid-column:1; grid-row:1;}
table.simple.staff-table td.staff-status-cell{grid-column:1; grid-row:2; margin-top:4px; font-size:calc(13px * var(--fs,1));}
table.simple.staff-table td.staff-msg-cell{grid-column:2; grid-row:1 / span 2; text-align:right; white-space:nowrap;}
.staff-joined-inline{display:block; font-size:calc(12px * var(--fs,1)); color:var(--text-soft);}
}
.wa-chat-title .wa-typing-indicator{color:#128c7e;font-weight:700;}
.wa-typing-indicator::after{content:'...';display:inline-block;width:1.1em;overflow:hidden;vertical-align:bottom;animation:waTypingDots 1.2s steps(4,end) infinite;}
@keyframes waTypingDots{from{width:0}to{width:1.1em}}
.eb-intro{font-size:calc(14px * var(--fs,1));color:var(--text-soft);margin:0 0 16px;line-height:1.5;}
.eb-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
.eb-col{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.eb-col-head{padding:14px 16px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.eb-mono-ic svg{width:22px;height:22px;display:block;}
.eb-col-id{display:flex;align-items:center;gap:10px;min-width:0;}
.eb-col-logo{width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:#fff;padding:3px;object-fit:contain;box-shadow:0 3px 10px -4px rgba(0,0,0,.5);}
.eb-col-head b{font-size:calc(19px * var(--fs,1));letter-spacing:.05em;}
.eb-col-head span{font-size:calc(12px * var(--fs,1));opacity:.9;text-align:right;}
.eb-subj{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s ease;}
.eb-subj:hover,.eb-subj:active{background:var(--paper);}
.eb-mono{flex:0 0 auto;width:34px;height:34px;border-radius:10px;color:#fff;font-size:calc(12px * var(--fs,1));font-weight:800;display:flex;align-items:center;justify-content:center;}
.eb-subj-name{flex:1;min-width:0;font-size:calc(14px * var(--fs,1));font-weight:600;color:var(--ink);line-height:1.25;}
.eb-subj-name small{display:block;font-size:calc(11.5px * var(--fs,1));font-weight:500;color:var(--text-soft);margin-top:2px;}
.eb-subj-arrow{color:var(--text-soft);font-size:calc(18px * var(--fs,1));}
@media(max-width:820px){
.eb-cols{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px;-webkit-overflow-scrolling:touch;}
.eb-col{flex:0 0 84%;scroll-snap-align:start;}
}
.yr-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.yr-badge{color:#fff;font-weight:800;letter-spacing:.05em;padding:8px 14px;border-radius:10px;font-size:calc(15px * var(--fs,1));}
.yr-head h2{margin:0;font-size:calc(20px * var(--fs,1));line-height:1.2;}
.yr-head p{margin:2px 0 0;font-size:calc(13px * var(--fs,1));color:var(--text-soft);}
.yr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px;}
.yr-card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px;}
.yr-card.has-q{border-color:var(--forest);background:var(--forest-wash);}
.yr-year{font-size:calc(22px * var(--fs,1));font-weight:800;color:var(--ink);line-height:1;}
.yr-count{font-size:calc(12.5px * var(--fs,1));color:var(--text-soft);min-height:18px;}
.yr-card .btn{width:100%;justify-content:center;}
.yr-btn-row{display:flex;flex-direction:column;gap:6px;}
.yr-tabs{display:flex;gap:8px;margin:16px 0 4px;flex-wrap:wrap;}
.yr-tab{padding:9px 16px;border-radius:999px;border:1.5px solid var(--border-strong);background:#fff;font-weight:600;font-size:calc(13.5px * var(--fs,1));color:var(--ink-soft);}
.yr-tab.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.theory-card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:14px;}
.theory-q-label{font-size:calc(12px * var(--fs,1));color:var(--text-soft);margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.theory-q-text{font-size:calc(15.5px * var(--fs,1));font-weight:500;line-height:1.6;margin-bottom:12px;}
.theory-answer{background:var(--forest-wash);border-radius:10px;padding:12px 14px;font-size:calc(14px * var(--fs,1));line-height:1.6;color:var(--ink);display:none;}
.theory-card.show-answer .theory-answer{display:block;}
.theory-row{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px;}
.theory-row textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:calc(14px * var(--fs,1));margin-top:6px;resize:vertical;}
.upload-ctx{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--amber-wash);border:1px solid var(--amber);border-radius:var(--radius-s);padding:10px 14px;margin-bottom:14px;font-size:calc(13.5px * var(--fs,1));color:var(--ink);}
.db-wrap{display:flex;flex-direction:column;gap:18px;}
.db-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:var(--radius-l);color:#fff;
background:
repeating-radial-gradient(circle at 96% -6%, rgba(224,152,46,.20) 0 1.5px, transparent 1.5px 26px),
linear-gradient(135deg,#08172D 0%,#0B2545 55%,#123A6B 100%);
box-shadow:0 14px 34px -16px rgba(20,33,61,.7);}
.db-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--amber),#F3C877 50%,var(--amber));}
.db-hero-main{position:relative;z-index:1;min-width:0;flex:1;}
.db-hero h1{font-family:var(--serif);font-size:calc(30px * var(--fs,1));line-height:1.15;margin:0 0 10px;color:#fff;font-weight:700;}
.db-hero-lead{margin:0 0 6px;font-size:calc(15px * var(--fs,1));line-height:1.55;color:rgba(255,255,255,.82);max-width:46ch;}
.db-hero-target{margin:0 0 20px;font-size:calc(13.5px * var(--fs,1));color:#F3C877;font-weight:600;}
.db-hero-actions{display:flex;gap:10px;flex-wrap:wrap;}
.db-btn{font-family:var(--sans);font-size:calc(14.5px * var(--fs,1));font-weight:700;border-radius:999px;padding:12px 20px;cursor:pointer;border:1.5px solid transparent;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;}
.db-btn:active{transform:scale(.97);}
.db-btn-gold{background:linear-gradient(180deg,#D9B657,#C9A227);color:#0B2545;box-shadow:0 8px 18px -8px rgba(224,152,46,.9);}
.db-btn-line{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.35);}
.db-btn-line:hover{background:rgba(255,255,255,.14);}
.db-ring{position:relative;z-index:1;flex:0 0 auto;width:132px;height:132px;}
.db-ring svg{display:block;}
.db-ring-track{fill:none;stroke:rgba(255,255,255,.14);stroke-width:8;}
.db-ring-bar{fill:none;stroke:#D9B657;stroke-width:8;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--off);animation:dbRing 1.1s cubic-bezier(.2,.7,.2,1) both;}
@keyframes dbRing{from{stroke-dashoffset:var(--c);}}
.db-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.db-ring-text b{font-family:var(--serif);font-size:calc(30px * var(--fs,1));line-height:1;color:#fff;}
.db-ring-text span{font-size:calc(12px * var(--fs,1));color:rgba(255,255,255,.7);margin-top:4px;}
.db-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;}
.db-stat{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:104px;overflow:hidden;background:linear-gradient(145deg,var(--paper-raised) 0%,var(--paper) 100%);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(20,33,61,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.db-stat::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--stat-accent,#0B2545);}
.db-stat:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,33,61,.10);border-color:rgba(20,33,61,.16);}
.db-stat-ic{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(20,33,61,.05);}
.db-stat b{display:block;font-family:var(--serif);font-size:calc(28px * var(--fs,1));letter-spacing:-.5px;line-height:1.05;color:var(--ink);}
.db-stat span{display:block;margin-top:5px;font-size:calc(12px * var(--fs,1));font-weight:600;color:var(--text-soft);line-height:1.35;}
.db-stat.s-ink{--stat-accent:#0B2545;}
.db-stat.s-gold{--stat-accent:#C58A2B;}
.db-stat.s-green{--stat-accent:#287A61;}
.db-stat.s-brick{--stat-accent:#B45549;}
.db-stat.s-ink .db-stat-ic{background:#E6E9F1;color:#0B2545;}
.db-stat.s-gold .db-stat-ic{background:var(--amber-wash);color:var(--amber-deep);}
.db-stat.s-green .db-stat-ic{background:var(--forest-wash);color:var(--forest);}
.db-stat.s-brick .db-stat-ic{background:var(--brick-wash);color:var(--brick);}
.db-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;align-items:start;}
.db-col{display:flex;flex-direction:column;gap:18px;min-width:0;}
.db-panel{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius-l);padding:20px;box-shadow:var(--shadow-card);min-width:0;}
.db-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.db-panel-head h2{margin:0;font-family:var(--serif);font-size:calc(18px * var(--fs,1));color:var(--ink);}
.db-panel-sub{margin:-4px 0 14px;font-size:calc(13.5px * var(--fs,1));color:var(--text-soft);line-height:1.5;}
.db-bodies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.db-body{cursor:pointer;border-radius:14px;padding:16px 12px;color:#fff;background:var(--bc);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;transition:transform .12s ease;}
.db-body::after{content:'';position:absolute;right:-18px;bottom:-18px;width:64px;height:64px;border-radius:50%;border:8px solid rgba(255,255,255,.14);}
.db-body:active{transform:scale(.97);}
.db-body b{font-family:var(--serif);font-size:calc(20px * var(--fs,1));letter-spacing:.03em;}
.db-body span{font-size:calc(12px * var(--fs,1));opacity:.88;}
.db-attempts{display:flex;flex-direction:column;}
.db-attempt{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border);cursor:pointer;}
.db-attempt:first-child{border-top:0;padding-top:2px;}
.db-attempt-mono{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:calc(15px * var(--fs,1));}
.db-attempt-info{flex:1;min-width:0;}
.db-attempt-info b{display:block;font-size:calc(14.5px * var(--fs,1));color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.db-attempt-info span{font-size:calc(12px * var(--fs,1));color:var(--text-soft);}
.db-bar{height:6px;background:#EEE9DC;border-radius:999px;margin-top:6px;overflow:hidden;}
.db-bar i{display:block;height:100%;border-radius:999px;}
.db-bar i.good,.db-attempt-score.good b{background:var(--forest);}
.db-bar i.mid{background:var(--amber);}
.db-bar i.low{background:var(--brick);}
.db-attempt-score{text-align:right;flex:0 0 auto;}
.db-attempt-score b{display:block;font-family:var(--serif);font-size:calc(19px * var(--fs,1));background:none !important;}
.db-attempt-score span{font-size:calc(12px * var(--fs,1));color:var(--text-soft);}
.db-attempt-score.good b{color:var(--forest);}
.db-attempt-score.mid b{color:var(--amber-deep);}
.db-attempt-score.low b{color:var(--brick);}
.db-empty{text-align:center;padding:22px 10px;color:var(--text-soft);font-size:calc(13.5px * var(--fs,1));}
.db-empty b{display:block;color:var(--ink);font-size:calc(15px * var(--fs,1));margin-bottom:4px;}
.db-subj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.db-subj{cursor:pointer;border:1px solid var(--border);border-top:4px solid var(--sc);border-radius:12px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:3px;transition:box-shadow .12s ease,transform .12s ease;}
.db-subj:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);}
.db-subj-mono{width:34px;height:34px;border-radius:10px;background:var(--sc);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:calc(13px * var(--fs,1));margin-bottom:6px;}
.db-subj b{font-size:calc(13.5px * var(--fs,1));color:var(--ink);line-height:1.25;}
.db-subj span{font-size:calc(11.5px * var(--fs,1));color:var(--text-soft);}
@media(max-width:900px){.db-cols{grid-template-columns:1fr;}.db-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}
@media(max-width:560px){
.db-stats{gap:10px;}
.db-stat{min-height:112px;padding:14px;gap:10px;}
.db-stat b{font-size:calc(25px * var(--fs,1));}
.db-hero{flex-direction:column-reverse;align-items:flex-start;padding:22px 20px 26px;gap:14px;}
.db-ring{width:96px;height:96px;align-self:flex-end;margin-bottom:-6px;}
.db-ring-text b{font-size:calc(22px * var(--fs,1));}
.db-hero h1{font-size:calc(25px * var(--fs,1));}
.db-hero-actions .db-btn{flex:1 1 100%;text-align:center;}
.db-stat{flex-direction:column;align-items:flex-start;gap:8px;}
.db-panel{padding:16px;}
}
@media(prefers-reduced-motion:reduce){.db-ring-bar{animation:none;}}
.wa-chat-shell{border:0;box-shadow:0 18px 40px -22px rgba(20,33,61,.55),0 2px 6px rgba(20,33,61,.08);background:#e9eeea;}
.wa-chat-shell .wa-chat-header{background:linear-gradient(135deg,#08172D 0%,#0B2545 60%,#123A6B 100%);border-bottom:3px solid #C9A227;gap:13px;}
.wa-chat-shell .wa-chat-academy-avatar{background:#fff;box-shadow:0 0 0 2px #C9A227,0 4px 10px rgba(0,0,0,.35);}
.wa-chat-shell .wa-chat-title b{color:#fff;font-size:calc(16px * var(--fs,1));letter-spacing:.02em;}
.wa-chat-shell .wa-chat-title span{color:rgba(255,255,255,.72);font-size:calc(12.5px * var(--fs,1));}
.wa-chat-shell .wa-chat-title span.wa-typing-indicator{color:#F3C877;font-weight:700;}
.wa-chat-shell .wa-chat-header .wa-header-btn{color:#fff;}
.wa-chat-shell .wa-chat-header .wa-header-btn:hover,.wa-chat-shell .wa-chat-header .wa-header-btn:active{background:rgba(255,255,255,.14);}
.wa-chat-shell .wa-chat-header .wa-chat-tools-menu .wa-header-btn{color:#54656f;}
.wa-chat-shell .wa-chat-header .wa-chat-tools-menu .wa-header-btn:hover{background:rgba(0,0,0,.06);}
.wa-chat-shell .wa-chat-header .wa-chat-tools-menu .wa-header-btn.active{color:#128c7e;}
.wa-chat-shell .wa-chat-messages{background-color:#e9eeea;}
.wa-chat-shell .wa-row{margin:2px 0 10px;}
.wa-chat-shell .wa-bubble{border-radius:18px;padding:8px 13px 6px;font-size:calc(14.5px * var(--fs,1));line-height:1.45;box-shadow:0 1px 2px rgba(20,33,61,.08),0 6px 14px -8px rgba(20,33,61,.22);}
.wa-chat-shell .wa-bubble-me{background:linear-gradient(135deg,#dcf8e3 0%,#c7efd4 100%);border:1px solid rgba(31,111,80,.16);border-top-right-radius:18px;border-bottom-right-radius:5px;}
.wa-chat-shell .wa-bubble-other{background:#fff;border:1px solid rgba(20,33,61,.06);border-top-left-radius:18px;border-bottom-left-radius:5px;}
.wa-chat-shell .wa-bubble-me:after,.wa-chat-shell .wa-bubble-other:before{display:none;}
.wa-chat-shell .wa-sender{color:#A6841A;font-size:calc(12.5px * var(--fs,1));margin-bottom:3px;letter-spacing:.01em;}
.wa-chat-shell .wa-meta{color:#6b7a84;}
.wa-chat-shell .wa-poll-card{min-width:240px;}
.wa-chat-shell .wa-poll-label{color:#A6841A;}
.wa-chat-shell .wa-poll-question{font-size:calc(15px * var(--fs,1));}
.wa-chat-shell .wa-poll-option{border-radius:12px;padding:9px 10px;border-color:#dfe4e2;background:#fff;transition:border-color .12s ease,background .12s ease;}
.wa-chat-shell .wa-poll-option.selected{border-color:#0F6E4F;background:#eaf5ee;}
.wa-chat-shell .wa-poll-option.selected .wa-poll-radio{background:#0F6E4F;border-color:#0F6E4F;color:#fff;}
.wa-chat-shell .wa-poll-bar{height:5px;}
.wa-chat-shell .wa-poll-bar i{background:linear-gradient(90deg,#0F6E4F,#3a9c74);border-radius:3px;}
.wa-chat-shell .wa-composer-wrap{background:rgba(255,255,255,.94);border-top:1px solid rgba(20,33,61,.08);box-shadow:0 -6px 18px -12px rgba(20,33,61,.3);}
.wa-chat-shell .wa-icon-btn{color:#5b6b77;}
.wa-chat-shell .wa-input{background:#f0f3f2;border:1.5px solid transparent;box-shadow:none;transition:border-color .12s ease,background .12s ease;}
.wa-chat-shell .wa-input:focus{background:#fff;border-color:#0F6E4F;box-shadow:0 0 0 3px rgba(31,111,80,.14);}
.wa-chat-shell .wa-send-btn{background:linear-gradient(135deg,#25946a,#0F6E4F);box-shadow:0 8px 16px -8px rgba(31,111,80,.85);}
.wa-chat-shell .wa-send-btn:active{transform:scale(.94);}
.wa-chat-shell .vn-player{display:flex;align-items:center;gap:10px;width:250px;max-width:100%;padding:4px 2px;}
.wa-chat-shell .vn-play{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:0;background:linear-gradient(135deg,#25946a,#0F6E4F);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 12px -6px rgba(31,111,80,.9);}
.wa-chat-shell .vn-play:active{transform:scale(.94);}
.vn-play .vn-ico-pause{display:none;}
.vn-player.playing .vn-ico-play{display:none;}
.vn-player.playing .vn-ico-pause{display:block;}
.wa-chat-shell .vn-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;}
.wa-chat-shell .vn-time{font-size:calc(11.5px * var(--fs,1));color:#56656f;font-variant-numeric:tabular-nums;line-height:1.2;}
.wa-chat-shell .vn-speed{flex:0 0 auto;min-width:40px;height:26px;padding:0 8px;border:0;border-radius:999px;background:rgba(20,33,61,.09);color:#0B2545;font-size:calc(12px * var(--fs,1));font-weight:700;cursor:pointer;}
.wa-chat-shell .vn-seek{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y;--p:0%;}
.wa-chat-shell .vn-seek:focus{outline:none;}
.vn-seek::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:linear-gradient(to right,#0F6E4F var(--p),rgba(20,33,61,.2) var(--p));}
.vn-seek::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#0F6E4F;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);}
.vn-seek::-moz-range-track{height:4px;border-radius:3px;background:rgba(20,33,61,.2);}
.vn-seek::-moz-range-progress{height:4px;border-radius:3px;background:#0F6E4F;}
.vn-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#0F6E4F;border:2px solid #fff;}
.notification-page{max-width:900px;margin:0 auto}.notification-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer}.notification-item:last-child{border-bottom:0}.notification-icon{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}.notification-item div{display:flex;flex-direction:column;gap:4px}.notification-item small{color:var(--text-soft)}.notification-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 12px;padding-top:15px;border-top:1px solid var(--border);margin-top:15px}.notification-summary b{font-size:calc(20px * var(--fs,1));color:var(--ink)}.notification-summary span{align-self:center;color:var(--text-soft);font-size:calc(12px * var(--fs,1))}
.announcement-top-btn{position:relative;font-weight:900;font-size:calc(15px * var(--fs,1));}
.notice-badge{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--brick);color:#fff;font-size:calc(10px * var(--fs,1));display:flex;align-items:center;justify-content:center;border:2px solid var(--paper);}
.announcement-page{max-width:900px;margin:0 auto;}
.announcement-compose{border-left:4px solid var(--amber);}
.announcement-list{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
.announcement-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:0 3px 12px rgba(20,33,61,.05);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.announcement-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(20,33,61,.08);}
.announcement-card.unread{border-left:4px solid var(--amber);}
.announcement-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--ink);}
.announcement-dot{width:8px;height:8px;border-radius:50%;background:var(--forest);display:inline-block;}
.announcement-date{margin-left:auto;color:var(--text-soft);font-size:calc(12px * var(--fs,1));font-weight:500;}
.announcement-body{margin:12px 0;color:var(--text);line-height:1.65;font-size:calc(14px * var(--fs,1));}
.announcement-by{font-size:calc(12px * var(--fs,1));color:var(--text-soft);}
.announcement-actions{display:flex;gap:8px;margin-top:12px;}
.ann-tabs{display:flex;gap:10px;margin:0 0 16px;flex-wrap:wrap;}
.ann-tab{flex:1 1 150px;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--paper);color:var(--ink);font-weight:700;font-size:calc(14px * var(--fs,1));cursor:pointer;}
.ann-tab span{display:inline-block;min-width:20px;margin-left:6px;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.08);font-size:12px;}
.ann-tab.active{background:var(--forest-deep);color:#fff;border-color:var(--forest-deep);}
.ann-tab.active span{background:rgba(255,255,255,.22);}
.ann-edit-box{width:min(560px,92vw);}
.ann-edit-box input,.ann-edit-box textarea{width:100%;box-sizing:border-box;margin:4px 0 10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--paper-raised);color:var(--text);font:inherit;}
.dashboard-notice{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;cursor:pointer;}
.dashboard-notice:last-child{border-bottom:0;}
.dashboard-notice span{font-size:calc(12px * var(--fs,1));color:var(--text-soft);white-space:nowrap;}
.progress-card{margin-top:18px;}
.progress-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,2fr) 52px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border);}
.progress-row div:first-child{display:flex;flex-direction:column;gap:3px}.progress-row span{font-size:calc(11px * var(--fs,1));color:var(--text-soft);}.progress-track{height:7px;background:#edf0ec;border-radius:4px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--forest);border-radius:4px;}.progress-row strong{text-align:right;color:var(--ink);}.progress-foot{display:flex;justify-content:space-between;margin-top:14px;color:var(--text-soft);font-size:calc(12px * var(--fs,1));}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.setting-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--border);}.setting-line span{display:flex;flex-direction:column;gap:4px}.setting-line small{color:var(--text-soft);line-height:1.45}.setting-line input[type=checkbox]{width:20px;height:20px;accent-color:var(--forest);flex:0 0 auto;}
.exam-help-line{font-size:calc(12px * var(--fs,1));color:var(--text-soft);margin:12px 0 4px;padding-top:10px;border-top:1px solid var(--border);}
body.compact-exam .qcard{padding:18px} body.compact-exam .opt{padding:11px 12px} body.compact-exam .exam-shell{gap:14px} body.compact-exam .qtext{font-size:calc(17px * var(--fs,1));line-height:1.45} body.compact-exam .exam-header{margin-bottom:10px} body.compact-exam .exam-nav-btns{margin-top:12px;padding-top:12px}
@media(max-width:760px){.settings-grid{grid-template-columns:1fr}.progress-row{grid-template-columns:1fr 1.4fr 46px}.announcement-date{width:100%;margin-left:17px}.db-wrap{padding-bottom:24px}.exam-header{position:sticky;top:var(--topbar-h);z-index:30}.exam-shell{grid-template-columns:1fr!important}.palette-box{order:2}.qcard{min-height:unset!important}.qtext{font-size:calc(17px * var(--fs,1))!important;line-height:1.55}.opt{min-height:48px}.exam-nav-btns{position:sticky;bottom:0;background:var(--paper);padding-top:10px}.exam-help-line{font-size:calc(11px * var(--fs,1))}.topbar-user .uname-sub{display:none}}
.study-toolkit{grid-column:1/-1;}
.study-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.study-tool{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--paper);color:var(--text);cursor:pointer;min-height:116px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.study-tool:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--border-strong);}
.study-tool .tool-icon{font-size:calc(22px * var(--fs,1));}
.study-tool b{font-size:calc(13px * var(--fs,1));}
.study-tool small{font-size:calc(11.5px * var(--fs,1));line-height:1.45;color:var(--text-soft);}
.study-table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--fs,1));}
.study-table th,.study-table td{padding:11px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
.study-table th{font-size:calc(11px * var(--fs,1));text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);}
.study-empty{padding:25px 10px;text-align:center;color:var(--text-soft);}
.study-filter-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-bottom:14px;}
.study-question{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--paper);}
.study-question .study-q-meta{font-size:calc(11px * var(--fs,1));color:var(--text-soft);margin-bottom:7px;}
.study-question .study-q-text{font-weight:700;line-height:1.5;}
.study-question .study-q-options{margin:9px 0 0;padding-left:18px;color:var(--text-soft);font-size:calc(13px * var(--fs,1));line-height:1.6;}
.study-status{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:calc(11px * var(--fs,1));color:var(--text-soft);}
.study-status.ok{color:var(--forest);border-color:rgba(31,111,80,.3);}
.study-status.warn{color:var(--brick);border-color:rgba(181,82,72,.3);}
@media(max-width:900px){.study-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.study-filter-row{grid-template-columns:1fr;}.study-table{font-size:calc(12px * var(--fs,1));}.study-table th,.study-table td{padding:9px 6px;}}
body.study-focus-mode .topbar-user,body.study-focus-mode .floating-tutor,body.study-focus-mode .tutor-fab-wrap,body.study-focus-mode .reload-fab,body.study-focus-mode .side-collapse-btn{opacity:.18;pointer-events:none;} body.study-focus-mode .topbar{background:var(--paper)!important;} body.study-focus-mode .content{padding-top:calc(var(--topbar-h) + 18px);}
body.study-focus-mode .content{max-width:980px;margin:0 auto;}
body.study-focus-mode .sidebar{display:none!important;}
:root{
--radius-s:8px; --radius:12px; --radius-l:16px;
--ink:#0B1F3F; --ink-2:#163A6B;
--amber:#C9A227; --amber-deep:#9E7E14;
--forest:#0E7A56; --forest-deep:#0A5E43;
--border:#E4E8EF; --border-strong:#CBD3E1;
--paper:#F4F6FA;
--shadow-card:0 1px 2px rgba(11,31,63,.05),0 4px 14px -4px rgba(11,31,63,.08);
--shadow-pop:0 2px 4px rgba(11,31,63,.06),0 18px 40px -12px rgba(11,31,63,.22);
--ring:0 0 0 3px rgba(14,122,86,.18);
}
html{scroll-behavior:smooth;}
body{font-feature-settings:"cv11","ss01"; text-rendering:optimizeLegibility; letter-spacing:-.003em;}
h1,h2,h3,h4{letter-spacing:-.025em; line-height:1.2;}
:focus-visible{outline:2px solid var(--forest); outline-offset:2px; border-radius:6px;}
.btn{padding:11px 20px; border-radius:var(--radius-s); font-weight:600; letter-spacing:0;
transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;}
.btn-primary{background:linear-gradient(180deg,var(--ink-2),var(--ink)); box-shadow:0 1px 2px rgba(11,31,63,.25),inset 0 1px 0 rgba(255,255,255,.12);}
.btn-primary:hover{background:linear-gradient(180deg,#1c4a86,var(--ink-2)); box-shadow:0 4px 12px -2px rgba(11,31,63,.35),inset 0 1px 0 rgba(255,255,255,.14);}
.btn-forest{background:linear-gradient(180deg,#12905f,var(--forest)); box-shadow:0 1px 2px rgba(10,94,67,.3),inset 0 1px 0 rgba(255,255,255,.14);}
.btn-forest:hover{background:linear-gradient(180deg,var(--forest),var(--forest-deep));}
.btn-ghost{background:var(--paper-raised); border-color:var(--border-strong);}
.btn-ghost:hover{background:var(--paper); border-color:var(--ink-soft);}
.btn-sm{padding:7px 14px; font-size:calc(13px * var(--fs,1));}
.btn:focus-visible{box-shadow:var(--ring);}
.field label{font-size:calc(12.5px * var(--fs,1)); font-weight:600; letter-spacing:.01em; color:var(--ink); margin-bottom:7px;}
.field input,.field select,.field textarea{
width:100%; padding:11px 14px; border:1px solid var(--border-strong); border-radius:var(--radius-s);
background:var(--paper-raised); color:var(--text); font-size:calc(14.5px * var(--fs,1));
transition:border-color .15s,box-shadow .15s; box-shadow:0 1px 1px rgba(11,31,63,.03);}
.field input::placeholder,.field textarea::placeholder{color:#9AA5B8;}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#aab5c9;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest); box-shadow:var(--ring); outline:none;}
.field-hint{font-size:calc(12px * var(--fs,1));}
.auth-shell{background:
radial-gradient(900px 500px at 12% -10%,rgba(60,110,190,.28),transparent 60%),
radial-gradient(800px 600px at 100% 100%,rgba(22,58,107,.7),transparent 60%),
linear-gradient(160deg,#0A1B36 0%,var(--ink) 55%,#0E2A52 100%);}
.auth-card{max-width:440px; border-radius:var(--radius-l); padding:40px 36px; border:1px solid rgba(255,255,255,.6);
box-shadow:0 30px 32px -24px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.12);}
.auth-card h2{font-size:calc(24px * var(--fs,1)); letter-spacing:-.03em;}
.auth-card > p.sub{font-size:calc(14px * var(--fs,1)); margin-bottom:24px;}
.auth-brand .brand-mark,.auth-brand img{border-radius:12px; box-shadow:0 4px 14px -4px rgba(11,31,63,.4);}
.auth-error{border-radius:var(--radius-s); border:1px solid rgba(174,50,38,.25); font-weight:500;}
.auth-note{border-radius:var(--radius-s);}
.auth-switch{font-size:calc(13.5px * var(--fs,1));}
@media(max-width:480px){.auth-card{padding:30px 22px;}}
.card,.kpi{border-radius:var(--radius); border:1px solid var(--border); box-shadow:var(--shadow-card);}
.card{padding:22px;}
.card-title{font-size:calc(15px * var(--fs,1)); font-weight:700; letter-spacing:-.015em; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid var(--border);}
.kpi{padding:18px 20px; position:relative; overflow:hidden; transition:transform .15s,box-shadow .15s;}
.kpi::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--amber),var(--forest));}
.kpi:hover{transform:translateY(-1px); box-shadow:var(--shadow-pop);}
.kpi b{font-size:calc(28px * var(--fs,1)); font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums;}
.kpi span{font-size:calc(11.5px * var(--fs,1)); font-weight:600; text-transform:uppercase; letter-spacing:.06em;}
.pill{padding:3px 10px; font-size:calc(11.5px * var(--fs,1)); letter-spacing:.01em; border:1px solid transparent;}
.pill-forest{border-color:rgba(14,122,86,.15);} .pill-amber{border-color:rgba(158,126,20,.2);} .pill-brick{border-color:rgba(174,50,38,.18);}
.sidebar{background:linear-gradient(180deg,#0C2244 0%,var(--ink) 100%); border-right:1px solid rgba(255,255,255,.06);}
.sidebar-brand{padding:20px 18px; font-size:calc(16.5px * var(--fs,1)); letter-spacing:-.02em; border-bottom:1px solid rgba(255,255,255,.08);}
.side-nav{padding:14px 10px;}
.side-link{border-radius:10px; padding:10px 12px; color:#BFC8DC; border-left:0; position:relative; font-size:calc(13.5px * var(--fs,1));}
.side-link:hover{background:rgba(255,255,255,.07); color:#fff;}
.side-link.active{background:linear-gradient(90deg,rgba(201,162,39,.2),rgba(201,162,39,.06)); color:#F1D36B; box-shadow:inset 0 0 0 1px rgba(201,162,39,.18);}
.side-link.active::before{content:""; position:absolute; left:-10px; top:9px; bottom:9px; width:3px; border-radius:0 3px 3px 0; background:var(--amber);}
.side-foot{font-size:calc(12px * var(--fs,1)); border-top:1px solid rgba(255,255,255,.08);}
.topbar{border-bottom:1px solid var(--border); background:rgba(255,255,255,.86)!important; backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px);}
.topbar h1{font-size:calc(18px * var(--fs,1)); font-weight:750; letter-spacing:-.02em;}
body.theme-dark .topbar{background:rgba(18,27,41,.88)!important;}
table.simple{font-size:calc(13.5px * var(--fs,1));}
table.simple th{font-size:calc(11px * var(--fs,1)); text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); font-weight:700; padding:10px 12px; background:var(--paper); border-bottom:1px solid var(--border);}
table.simple th:first-child{border-top-left-radius:8px;} table.simple th:last-child{border-top-right-radius:8px;}
table.simple td{padding:12px; font-variant-numeric:tabular-nums;}
table.simple tbody tr{transition:background .12s;} table.simple tbody tr:hover{background:rgba(11,31,63,.025);}
.exam-mock,.palette-box{border-radius:var(--radius); box-shadow:var(--shadow-card);}
.toast{border-radius:10px; box-shadow:var(--shadow-pop); font-weight:500;}
.tutor-fab,.reload-fab{box-shadow:0 8px 22px -6px rgba(11,31,63,.45);}
.tutor-fab-panel{border-radius:var(--radius-l); box-shadow:var(--shadow-pop);}
.modal-card{border-radius:var(--radius-l); box-shadow:var(--shadow-pop);}
.pubnav{background:rgba(255,255,255,.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}
.hero h1{font-weight:800; letter-spacing:-.035em;}
.hero-sub{color:var(--text-soft);}
::-webkit-scrollbar{width:10px;height:10px;} ::-webkit-scrollbar-thumb{background:#c5cddb; border-radius:10px; border:2px solid transparent; background-clip:padding-box;} ::-webkit-scrollbar-thumb:hover{background:#a9b4c8; background-clip:padding-box; border:2px solid transparent;}
.bottom-nav{display:none;}
@media(max-width:880px){
.bottom-nav{
--bn-a:var(--ink); --bn-b:var(--ink-2); --bn-fg:#F5CE62;
display:grid; grid-template-columns:1fr 1fr .85fr 1.4fr 1fr; align-items:stretch;
position:fixed; left:0; right:0; bottom:0; z-index:55;
padding:9px 6px calc(8px + env(safe-area-inset-bottom,0px));
background:var(--paper-raised);
border-top:1px solid var(--border); border-radius:24px 24px 0 0;
box-shadow:0 -16px 34px -18px rgba(10,35,66,.42);
}
.bn-item{
position:relative; display:flex; flex-direction:column; align-items:center; gap:4px;
padding:2px 0; border:0; background:none; cursor:pointer; color:var(--text-soft);
font:600 10.5px/1.15 var(--sans); letter-spacing:.005em;
-webkit-tap-highlight-color:transparent; transition:transform .12s ease, color .2s ease;
}
.bn-item:active{transform:scale(.94);}
.bn-ic{
width:52px; height:32px; border-radius:16px; display:flex; align-items:center; justify-content:center;
transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.bn-ic svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.bn-lb{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 1px;}
.bn-item.active{color:var(--ink); font-weight:700;}
.bn-item.active .bn-ic{
background:linear-gradient(135deg,var(--bn-a),var(--bn-b)); color:var(--bn-fg);
box-shadow:0 9px 16px -9px rgba(10,35,66,.7);
animation:bnPop .34s cubic-bezier(.2,.9,.3,1.25);
}
.bn-item.active .bn-ic svg{fill:currentColor; fill-opacity:.22;}
.bn-item.active::after{
content:""; position:absolute; top:-9px; left:50%; width:24px; height:3px; margin-left:-12px;
border-radius:0 0 4px 4px; background:var(--amber);
}
.bn-item:focus-visible{outline:2px solid var(--amber); outline-offset:1px; border-radius:12px;}
@keyframes bnPop{from{transform:scale(.82);}to{transform:scale(1);}}
@media(prefers-reduced-motion:reduce){ .bn-item.active .bn-ic{animation:none;} }
body.theme-dark .bottom-nav{--bn-a:#E7B64B; --bn-b:#C6971F; --bn-fg:#172033;}
body.theme-dark .bn-item{color:#9FB0C8 !important;}
body.theme-dark .bn-item.active{color:#F3F6FC !important;}
body.theme-dark .bn-item.active::after{background:#E7B64B;}
body.study-focus-mode .bottom-nav{opacity:.18; pointer-events:none;}
}

html.theme-dark, html[data-edalen-theme="dark"], body.theme-dark{
background:#0B1220 !important;
color-scheme:dark;
}
body.theme-dark,
body.theme-dark #app,
body.theme-dark .app-shell,
body.theme-dark .page-shell,
body.theme-dark .main-content,
body.theme-dark .content-shell,
body.theme-dark .page-content{
background:#0B1220 !important;
color:#E8EEF7 !important;
}
body.theme-dark .card,
body.theme-dark .panel,
body.theme-dark .modal-card,
body.theme-dark .settings-grid .card,
body.theme-dark .db-panel,
body.theme-dark .db-stat,
body.theme-dark .db-subj,
body.theme-dark .study-tool,
body.theme-dark .notification-item,
body.theme-dark .progress-card{
background:#151F2E !important;
color:#E8EEF7 !important;
border-color:#334155 !important;
box-shadow:0 10px 30px rgba(0,0,0,.22) !important;
}
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark .card-title,
body.theme-dark b,
body.theme-dark strong,
body.theme-dark label{
color:#F4F7FB !important;
}
body.theme-dark p,
body.theme-dark small,
body.theme-dark .muted,
body.theme-dark .text-muted,
body.theme-dark .setting-line small{
color:#AEBBCF !important;
}
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea{
background:#101927 !important;
color:#F4F7FB !important;
border-color:#40516A !important;
}
body.theme-dark .topbar,
body.theme-dark header,
body.theme-dark nav,
body.theme-dark .bottom-nav{
background:#111B2A !important;
color:#F4F7FB !important;
border-color:#334155 !important;
}
body.theme-dark .btn-primary{
background:#D9A441 !important;
color:#111827 !important;
border-color:#D9A441 !important;
}
body.theme-dark .btn-primary:hover{
background:#E8BA5A !important;
}
body.theme-dark .btn-ghost{
color:#E8EEF7 !important;
border-color:#52627A !important;
}
body.theme-dark .empty{
background:#101927 !important;
color:#AEBBCF !important;
border-color:#334155 !important;
}

.auth-link{border:0;background:transparent;color:var(--forest);font:inherit;font-weight:700;text-decoration:underline;padding:4px 0;cursor:pointer;}
.auth-link:hover{color:var(--forest-deep);}
html[data-edalen-theme="dark"], body.theme-dark{color-scheme:dark;}
body.theme-dark #app,body.theme-dark .app-shell,body.theme-dark .page-shell,body.theme-dark .main-content,
body.theme-dark .content-shell,body.theme-dark .page-content{background:var(--paper)!important;color:var(--text)!important;}
body.theme-dark .card,body.theme-dark .panel,body.theme-dark .modal-card,body.theme-dark .settings-grid .card,
body.theme-dark .db-panel,body.theme-dark .db-stat,body.theme-dark .db-subj{background:var(--paper-raised)!important;color:var(--text)!important;border-color:var(--border)!important;}
body.theme-dark .db-subj{background:var(--paper-raised)!important;}
body.theme-dark .db-subj b,body.theme-dark .db-panel h2,body.theme-dark .db-stat b,body.theme-dark .db-attempt-info b{color:var(--ink)!important;}
body.theme-dark .db-subj span,body.theme-dark .db-attempt-info span,body.theme-dark .db-attempt-score span{color:var(--text-soft)!important;}
body.theme-dark .db-bar{background:#303b4c;}
body.theme-dark .db-stat.s-ink .db-stat-ic{background:#28344a;color:#dce5f5;}
body.theme-dark .db-body{filter:saturate(.9);}
body.theme-yellow .db-subj,body.theme-forest .db-subj,body.theme-ocean .db-subj{background:var(--paper-raised);}
body.theme-yellow .db-panel,body.theme-forest .db-panel,body.theme-ocean .db-panel,
body.theme-yellow .db-stat,body.theme-forest .db-stat,body.theme-ocean .db-stat{box-shadow:0 5px 18px rgba(20,33,61,.05);}
.db-wrap{gap:22px;}
.db-hero{border-radius:14px;box-shadow:0 10px 26px -18px rgba(20,33,61,.65);}
.db-hero::after{height:3px;}
.db-hero h1{letter-spacing:-.025em;}
.db-stats{gap:12px;}
.db-stat{border-radius:12px;box-shadow:0 2px 10px rgba(20,33,61,.045);}
.db-stat:hover{transform:none;box-shadow:0 5px 16px rgba(20,33,61,.08);}
.db-panel{border-radius:14px;box-shadow:0 2px 12px rgba(20,33,61,.045);}
.db-body{border-radius:10px;}
.db-subj{border-radius:10px;background:var(--paper-raised);}
@media(max-width:560px){.db-hero{border-radius:12px;}.db-panel{border-radius:12px;}}

.db-hero{
isolation:isolate;
min-height:236px;
padding:30px 28px 28px;
background:
radial-gradient(circle at 88% 16%,rgba(240,179,71,.20),transparent 28%),
linear-gradient(135deg,#15233d 0%,#1d3150 58%,#243c59 100%);
}
.db-hero::before{
content:"";
position:absolute;
inset:0;
opacity:.16;
background-image:linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.24) 48.2% 48.6%,transparent 48.8% 100%);
background-size:38px 38px;
pointer-events:none;
}
.db-hero-main{max-width:520px;}
.db-hero h1{letter-spacing:-.6px;}
.db-hero-lead{font-size:calc(15.5px * var(--fs,1));max-width:42ch;}
.db-hero-actions{margin-top:4px;}
.db-ring{width:116px;height:116px;margin-right:2px;}
.db-hero-art{
position:absolute;
right:22px;
bottom:-2px;
width:132px;
height:118px;
opacity:.92;
pointer-events:none;
transform:rotate(-5deg);
}
.db-art-paper{
position:absolute;
right:12px;
top:4px;
width:76px;
height:92px;
border-radius:8px;
background:#fffaf0;
border:1px solid rgba(20,33,61,.12);
box-shadow:0 12px 24px rgba(0,0,0,.12);
transform:rotate(9deg);
padding:17px 12px;
}
.db-art-paper span{display:block;height:4px;border-radius:999px;background:#d8c9ae;margin:9px 0;}
.db-art-paper span:nth-child(2){width:78%;}
.db-art-paper span:nth-child(3){width:58%;}
.db-art-book{
position:absolute;
left:2px;
bottom:7px;
width:105px;
height:48px;
border-radius:8px 12px 8px 12px;
background:linear-gradient(135deg,#e4a23c,#f3c56f);
box-shadow:0 10px 18px rgba(0,0,0,.18);
transform:skewY(-7deg);
}
.db-art-book::before{
content:"";
position:absolute;
left:50%;
top:4px;
bottom:4px;
width:2px;
background:rgba(20,33,61,.20);
}
.db-art-pencil{
position:absolute;
right:-2px;
bottom:22px;
width:76px;
height:8px;
border-radius:999px;
background:#f4d7a0;
box-shadow:0 0 0 2px rgba(20,33,61,.08);
transform:rotate(-31deg);
}
.db-art-pencil::after{
content:"";
position:absolute;
right:-8px;
top:0;
border-left:10px solid #e9c99b;
border-top:4px solid transparent;
border-bottom:4px solid transparent;
}
.db-stats{gap:12px;}
.db-stat{border-radius:14px;min-height:98px;padding:15px;box-shadow:0 5px 18px rgba(20,33,61,.045);}
.db-panel{border-radius:16px;padding:20px;box-shadow:0 5px 20px rgba(20,33,61,.045);}
.db-panel-head h2{font-size:calc(19px * var(--fs,1));letter-spacing:-.2px;}
.db-body{border-radius:12px;padding:14px 12px;}
.db-subj{background:var(--paper-raised);border-radius:12px;padding:13px;}
@media(max-width:900px){
.db-hero{padding:25px 22px;min-height:220px;}
.db-hero-art{right:12px;opacity:.30;transform:scale(.9) rotate(-5deg);}
.db-ring{width:104px;height:104px;}
}
@media(max-width:640px){
.db-hero{display:block;padding:24px 20px 22px;}
.db-hero-main{max-width:none;}
.db-hero h1{font-size:calc(28px * var(--fs,1));max-width:11ch;}
.db-hero-lead{max-width:32ch;font-size:calc(14.5px * var(--fs,1));}
.db-ring{position:absolute;right:14px;top:20px;width:86px;height:86px;}
.db-ring-text b{font-size:calc(23px * var(--fs,1));}
.db-ring-text span{font-size:calc(10px * var(--fs,1));}
.db-hero-art{right:-12px;bottom:-8px;opacity:.18;transform:scale(.78) rotate(-5deg);}
.db-hero-actions{position:relative;z-index:2;max-width:100%;}
.db-btn{width:100%;justify-content:center;}
.db-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.db-stat{min-height:92px;padding:13px;gap:9px;}
.db-stat b{font-size:calc(25px * var(--fs,1));}
.db-cols{grid-template-columns:minmax(0,1fr);}
.db-panel{padding:16px;}
}

.db-hero{
background:
linear-gradient(90deg,rgba(15,26,51,.98) 0%,rgba(20,33,61,.94) 54%,rgba(20,33,61,.68) 100%),
url("https://cdn.wallpapersafari.com/9/19/ToSdmaO.webp") center right/cover no-repeat;
box-shadow:0 16px 36px -20px rgba(20,33,61,.72);
}
.db-hero::before{
opacity:.10;
background-image:linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.20) 48.2% 48.6%,transparent 48.8% 100%);
}
.db-hero-main{max-width:500px;}
.db-hero-art{
right:20px;
bottom:18px;
width:178px;
height:128px;
border:1px solid rgba(255,255,255,.28);
border-radius:14px;
overflow:hidden;
opacity:1;
transform:none;
background:
linear-gradient(180deg,rgba(15,26,51,.04),rgba(15,26,51,.34)),
url("https://cdn.wallpapersafari.com/9/19/ToSdmaO.webp") center/cover no-repeat;
box-shadow:0 14px 28px -14px rgba(0,0,0,.55),0 0 0 5px rgba(255,255,255,.06);
}
.db-hero-art::after{
content:"Focused study • One step at a time";
position:absolute;
left:10px;
right:10px;
bottom:9px;
padding:6px 8px;
border-radius:8px;
background:rgba(15,26,51,.72);
color:rgba(255,255,255,.92);
font-size:calc(10px * var(--fs,1));
font-weight:700;
letter-spacing:.02em;
text-align:center;
}
.db-art-paper,.db-art-book,.db-art-pencil{display:none;}
.db-stat,.db-panel{box-shadow:0 5px 18px rgba(20,33,61,.055);}
.db-panel-head h2{letter-spacing:-.2px;}
@media(max-width:760px){
.db-hero{background-position:58% center;}
.db-hero-art{position:relative;right:auto;bottom:auto;width:100%;max-width:235px;height:104px;align-self:flex-end;}
.db-hero-main{max-width:none;}
}
@media(max-width:560px){
.db-hero-art{max-width:none;height:92px;align-self:stretch;}
.db-hero-art::after{font-size:calc(9px * var(--fs,1));}
}

.db-cols .db-panel,
.db-wrap > .db-panel,
.db-wrap .progress-card {
position: relative;
overflow: hidden;
isolation: isolate;
background-color: var(--paper-raised);
background-image:
linear-gradient(90deg,
color-mix(in srgb, var(--paper-raised) 96%, transparent) 0%,
color-mix(in srgb, var(--paper-raised) 91%, transparent) 58%,
color-mix(in srgb, var(--paper-raised) 72%, transparent) 100%),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55");
background-size: cover;
background-position: center right;
}
.db-cols .db-panel::before,
.db-wrap > .db-panel::before,
.db-wrap .progress-card::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
}
.db-cols .db-panel > *,
.db-wrap > .db-panel > *,
.db-wrap .progress-card > * {
position: relative;
z-index: 1;
}
body.theme-dark .db-cols .db-panel,
body.theme-dark .db-wrap > .db-panel,
body.theme-dark .db-wrap .progress-card {
background-image:
linear-gradient(90deg,
color-mix(in srgb, var(--paper-raised) 95%, transparent) 0%,
color-mix(in srgb, var(--paper-raised) 88%, transparent) 58%,
color-mix(in srgb, var(--paper-raised) 68%, transparent) 100%),
url("https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=800&q=55");
}
@media (max-width: 560px) {
.db-cols .db-panel,
.db-wrap > .db-panel,
.db-wrap .progress-card {
background-position: 72% center;
background-image:
linear-gradient(90deg,
color-mix(in srgb, var(--paper-raised) 97%, transparent) 0%,
color-mix(in srgb, var(--paper-raised) 92%, transparent) 100%),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55");
}
}

body.theme-dark,
body.theme-dark #app,
body.theme-dark .auth-shell,
body.theme-dark .auth-card,
body.theme-dark .page-shell,
body.theme-dark .app-shell,
body.theme-dark .main-content,
body.theme-dark .content-shell,
body.theme-dark .page-content,
body.theme-dark .content,
body.theme-dark .modal,
body.theme-dark .overlay {
background: #05070b !important;
color: #f3f6fb !important;
}
body.theme-dark .auth-card,
body.theme-dark .card,
body.theme-dark .panel,
body.theme-dark .modal-card,
body.theme-dark .settings-grid .card,
body.theme-dark .study-tool,
body.theme-dark .notification-item,
body.theme-dark .progress-card,
body.theme-dark .db-panel,
body.theme-dark .db-stat,
body.theme-dark .db-subj,
body.theme-dark .dropdown-menu,
body.theme-dark .menu-panel,
body.theme-dark .popover,
body.theme-dark .sheet {
background: #0d1118 !important;
color: #f3f6fb !important;
border-color: #273244 !important;
box-shadow: 0 12px 32px rgba(0,0,0,.42) !important;
}
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark button,
body.theme-dark .field input,
body.theme-dark .field select,
body.theme-dark .field textarea {
background: #080c12 !important;
color: #f3f6fb !important;
border-color: #334155 !important;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
color: #718096 !important;
}
body.theme-dark .topbar,
body.theme-dark header,
body.theme-dark nav,
body.theme-dark .bottom-nav,
body.theme-dark .sidebar,
body.theme-dark .menu-bar {
background: #090d14 !important;
color: #f3f6fb !important;
border-color: #273244 !important;
}
body.theme-dark a,
body.theme-dark .auth-link,
body.theme-dark .auth-switch button {
color: #f0c15a !important;
}
body.theme-dark .muted,
body.theme-dark small,
body.theme-dark .sub,
body.theme-dark .text-muted,
body.theme-dark .setting-line small,
body.theme-dark .empty {
color: #9aa9bd !important;
}
body.theme-dark .btn-primary {
background: #d9a441 !important;
color: #080c12 !important;
border-color: #d9a441 !important;
}
body.theme-dark .btn-primary:hover {
background: #f0c15a !important;
}
body.theme-dark .btn-ghost {
background: #111824 !important;
color: #f3f6fb !important;
border-color: #40516a !important;
}
body.theme-dark table,
body.theme-dark th,
body.theme-dark td,
body.theme-dark hr {
border-color: #273244 !important;
}
.auth-whatsapp-support {
margin-top: 16px;
text-align: center;
font-size: calc(13px * var(--fs,1));
}
.auth-whatsapp-support a {
color: #16803c;
font-weight: 700;
text-decoration: none;
}
body.theme-dark .auth-whatsapp-support a {
color: #6ee7a8 !important;
}
body.theme-dark .auth-whatsapp-support a:hover {
color: #9af7c5 !important;
}

body.theme-dark .field input,
body.theme-dark .field select,
body.theme-dark .field textarea,
body.theme-dark .parsed-item textarea,
body.theme-dark .parsed-item input[type=text],
body.theme-dark .modal-box,
body.theme-dark .calc-box,
body.theme-dark .calc-key,
body.theme-dark .yr-tab,
body.theme-dark .db-subj,
body.theme-dark .msg-panel,
body.theme-dark .msg-row,
body.theme-dark .wa-people-panel,
body.theme-dark .wa-person,
body.theme-dark .wa-chat-tools-menu,
body.theme-dark .wa-chat-academy-avatar,
body.theme-dark .wa-bubble-other,
body.theme-dark .wa-input,
body.theme-dark .wa-input:focus,
body.theme-dark .wa-msg-delete,
body.theme-dark .wa-chat-shell .wa-poll-option,
body.theme-dark .wa-inline-pdf iframe,
body.theme-dark .exam-resume-dock,
body.theme-dark .auth-card input,
body.theme-dark .wa-group-locked{
background:var(--paper-raised);
color:var(--text);
}
body.theme-dark .legend-sw[style*="#fff"]{background:var(--paper-raised)!important;}
body.theme-dark .db-ring-inner{background:var(--paper-raised);}
body.theme-dark .wa-image-viewer-close{background:var(--paper-raised); color:var(--text);}
body.theme-dark .exam-mock-timer{background:rgba(255,255,255,.08);}
body.theme-dark .calc-screen{background:#0B2B33; color:#7DF9E0; border:1px solid #1F5560; box-shadow:inset 0 2px 8px rgba(0,0,0,.45); text-shadow:0 0 6px rgba(125,249,224,.25);}
body.theme-dark .wa-chat-shell{background:#0b1018; border:1px solid #273244; box-shadow:0 18px 40px -22px rgba(0,0,0,.8);}
body.theme-dark .wa-chat-shell .wa-chat-messages{background-color:#0b1018; background-image:none;}
body.theme-dark .wa-chat-shell .wa-bubble-me{background:linear-gradient(135deg,#0f3d2e 0%,#0b2f24 100%); border-color:rgba(110,231,168,.22); color:#e8f5ef;}
body.theme-dark .wa-chat-shell .wa-bubble-other{border-color:rgba(255,255,255,.08); color:#f3f6fb;}
body.theme-dark .wa-chat-shell .wa-meta{color:#9aa9bd;}
body.theme-dark .wa-chat-shell .wa-composer-wrap{background:#090d14; border-top-color:#273244; box-shadow:none;}
body.theme-dark .wa-chat-shell .wa-icon-btn{color:#9aa9bd;}
body.theme-dark .wa-chat-shell .wa-chat-header .wa-chat-tools-menu .wa-header-btn{color:#c9d3e2;}
body.theme-dark .wa-chat-shell .wa-chat-header .wa-chat-tools-menu .wa-header-btn:hover{background:rgba(255,255,255,.08);}
body.theme-dark .wa-chat-shell .wa-poll-option.selected{background:#0f3d2e; border-color:#3a9c74;}
body.theme-dark .wa-poll-bar{background:#2a3547;}
body.theme-dark .wa-attachment-preview{background:#0d1118; border-color:#273244;}
body.theme-dark .wa-preview-head, body.theme-dark .wa-preview-name{color:#c9d3e2;}
body.theme-dark .wa-preview-size{color:#9aa9bd;}
body.theme-dark .wa-preview-media, body.theme-dark .wa-inline-image a{background:#141c29;}
body.theme-dark .wa-reply-preview{background:#141c29;}
body.theme-dark .wa-reply-preview-copy span, body.theme-dark .wa-replied-message span, body.theme-dark .wa-reply-cancel{color:#9aa9bd;}
body.theme-dark .wa-replied-message{background:rgba(255,255,255,.08);}
body.theme-dark .wa-people-head, body.theme-dark .wa-person-info{color:#f3f6fb;}
body.theme-dark .wa-people-head{border-bottom-color:#273244;}
body.theme-dark .wa-people-panel{border-color:#273244;}
body.theme-dark .wa-person:hover{background:#1f2b3d;}
body.theme-dark .wa-close-btn, body.theme-dark .wa-empty, body.theme-dark .wa-chat-loading, body.theme-dark .wa-people-empty{color:#9aa9bd;}
body.theme-dark .pill-ink{background:#1f2b3d; color:#dce5f5;}
body.theme-dark .pill-tutor{background:#0f3d2e; color:#8ff0c2;}
body.theme-dark .progress-track{background:#2a3547;}
body.theme-dark .pubnav{background:rgba(9,13,20,.92) !important;}
body.theme-dark ::-webkit-scrollbar-thumb{background:#3a475c;}

.gs-overlay{position:fixed; inset:0; z-index:1500; background:rgba(20,33,61,.55); display:flex; align-items:flex-start; justify-content:center; padding:max(12px, env(safe-area-inset-top)) 12px 12px;}
.gs-panel{width:100%; max-width:720px; max-height:calc(100dvh - 24px); display:flex; flex-direction:column; background:var(--paper-raised); color:var(--text); border:1px solid var(--border-strong); border-radius:14px; box-shadow:0 24px 32px rgba(0,0,0,.35); overflow:hidden;}
.gs-head{display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border);}
.gs-head svg{width:20px; height:20px; flex:0 0 20px; color:var(--text-soft);}
.gs-input{flex:1; min-width:0; font:inherit; font-size:calc(16px * var(--fs,1)); border:0; outline:0; background:transparent; color:var(--text); padding:8px 2px;}
.gs-close{border:0; background:transparent; color:var(--text-soft); font-size:calc(22px * var(--fs,1)); line-height:1; width:36px; height:36px; border-radius:50%; cursor:pointer; flex:0 0 36px;}
.gs-close:hover{background:var(--amber-wash);}
.gs-chips{display:flex; gap:6px; padding:10px 14px 4px; overflow-x:auto; -webkit-overflow-scrolling:touch;}
.gs-chip{flex:0 0 auto; border:1.5px solid var(--border-strong); background:transparent; color:var(--ink-soft); border-radius:999px; padding:6px 12px; font:inherit; font-size:calc(12.5px * var(--fs,1)); font-weight:600; cursor:pointer;}
.gs-chip.on{background:var(--amber); border-color:var(--amber); color:var(--ink);}
.gs-body{overflow-y:auto; padding:8px 14px 16px; -webkit-overflow-scrolling:touch;}
.gs-status{font-size:calc(13px * var(--fs,1)); color:var(--text-soft); padding:10px 2px;}
.gs-group{font-size:calc(11.5px * var(--fs,1)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft); margin:14px 0 6px;}
.gs-item{border:1px solid var(--border); border-radius:10px; padding:12px 13px; margin-bottom:8px; background:var(--paper);}
.gs-item-top{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:5px;}
.gs-tag{font-size:calc(11px * var(--fs,1)); font-weight:700; padding:2px 8px; border-radius:999px; background:var(--amber-wash); color:var(--ink);}
.gs-title{font-weight:600; font-size:calc(14.5px * var(--fs,1)); line-height:1.45; word-break:break-word;}
.gs-sub{font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft); margin-top:3px; word-break:break-word;}
.gs-item mark{background:var(--amber); color:var(--ink); border-radius:3px; padding:0 2px;}
.gs-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:9px;}
.gs-answer{margin-top:9px; font-size:calc(13.5px * var(--fs,1)); border-top:1px dashed var(--border-strong); padding-top:9px;}
.gs-opt{padding:4px 0;}
.gs-opt.ok{color:var(--forest); font-weight:700;}
.top-search-btn svg{width:18px; height:18px;}

.nav-group{margin-bottom:2px;}
.nav-group-btn{cursor:pointer; user-select:none;}
.nav-group-btn .nav-chev{margin-left:auto; width:16px; height:16px; flex:0 0 16px; display:flex; align-items:center; justify-content:center; opacity:.75; transition:transform .18s ease;}
.nav-group.open > .nav-group-btn .nav-chev{transform:rotate(180deg);}
.nav-group.has-active:not(.open) > .nav-group-btn{color:#F1D36B;}
.nav-sub{display:grid; grid-template-rows:0fr; transition:grid-template-rows .2s ease;}
.nav-group.open > .nav-sub{grid-template-rows:1fr;}
.nav-sub-inner{min-height:0; overflow:hidden; visibility:hidden; transition:visibility 0s linear .2s;}
.nav-group.open > .nav-sub > .nav-sub-inner{visibility:visible; transition-delay:0s;}
.nav-sub .side-link{font-size:calc(13px * var(--fs,1)); padding:8px 12px; margin:0 0 1px 18px; border-radius:0 10px 10px 0; border-left:1px solid rgba(255,255,255,.14);}
.nav-sub .side-link.active{border-left-color:var(--amber);}
.nav-sub .side-link.active::before{display:none;}
.side-badge{margin-left:auto; font-size:calc(11px * var(--fs,1)); font-weight:700; line-height:1; padding:4px 8px; border-radius:999px; background:rgba(198,151,31,.2); color:#F1D36B; white-space:nowrap;}
.side-badge.warn{background:rgba(174,50,38,.3); color:#FFC2B9;}
@media (prefers-reduced-motion: reduce){ .nav-sub, .nav-group-btn .nav-chev{transition:none;} }
.sub-page{max-width:680px; display:grid; gap:16px;}
.sub-status-head{font-size:calc(20px * var(--fs,1)); font-weight:800; letter-spacing:-.02em; margin:2px 0 6px;}
.sub-status-detail{font-size:calc(13.5px * var(--fs,1)); color:var(--text-soft); margin:0;}
.pay-box{border:1px solid var(--border-strong); border-radius:12px; padding:16px; text-align:left; background:var(--paper-raised); color:var(--text);}
.pay-box-title{font-weight:700; font-size:calc(16px * var(--fs,1));}
.pay-sub{font-size:calc(13px * var(--fs,1)); color:var(--text-soft); margin:4px 0 14px; line-height:1.5;}
.pay-chips{display:flex; flex-wrap:wrap; gap:8px;}
.pay-chip{border:1.5px solid var(--border-strong); background:transparent; color:var(--text); border-radius:999px; padding:8px 14px; font:inherit; font-size:calc(13.5px * var(--fs,1)); font-weight:600; cursor:pointer;}
.pay-chip.on{background:var(--amber); border-color:var(--amber); color:#14213D;}
.pay-stepper{display:flex; align-items:center; gap:10px; margin:14px 0 4px;}
.pay-step-btn{width:38px; height:38px; border-radius:50%; border:1.5px solid var(--border-strong); background:transparent; color:var(--text); font-size:calc(20px * var(--fs,1)); line-height:1; cursor:pointer;}
.pay-step-btn:disabled{opacity:.4; cursor:not-allowed;}
.pay-count{min-width:96px; text-align:center; font-weight:700; font-size:calc(15px * var(--fs,1));}
.pay-summary{display:grid; gap:6px; margin:14px 0; padding:12px 14px; border-radius:10px; background:var(--amber-wash); font-size:calc(13.5px * var(--fs,1));}
.pay-row{display:flex; justify-content:space-between; gap:12px;}
.pay-total{font-weight:800; font-size:calc(17px * var(--fs,1)); padding-top:6px; border-top:1px solid var(--border);}
.pay-btn{width:100%; justify-content:center;}
.pay-btn:disabled{opacity:.55; cursor:not-allowed;}
.pay-note{font-size:calc(12px * var(--fs,1)); color:var(--text-soft); margin-top:10px; text-align:center;}
body.theme-dark .pay-box{background:#0d1118 !important; border-color:#273244 !important; color:#f3f6fb;}
body.theme-dark .pay-chip, body.theme-dark .pay-step-btn{background:#111824 !important; color:#f3f6fb !important; border-color:#40516a !important;}
body.theme-dark .pay-chip.on{background:#d9a441 !important; color:#080c12 !important; border-color:#d9a441 !important;}
body.theme-dark .pay-summary{background:#1a1608; color:#f3f6fb;}
body.theme-dark .pay-total{border-top-color:#273244;}
body.theme-dark .side-badge{background:rgba(217,164,65,.2); color:#f0c15a;}
body.theme-dark .side-badge.warn{background:rgba(174,50,38,.35); color:#ffb4a9;}
body.theme-dark .nav-group-btn{color:#f0c15a !important;}

.pay-pick{border:1px solid var(--border-strong); border-radius:12px; padding:16px; background:var(--paper-raised); color:var(--text);}
.pay-search{width:100%; padding:11px 12px; margin:10px 0; border:1px solid var(--border-strong); border-radius:10px; background:var(--paper); color:var(--text); font:inherit; font-size:calc(14px * var(--fs,1));}
.pay-list{display:grid; gap:6px; max-height:290px; overflow-y:auto; -webkit-overflow-scrolling:touch;}
.pay-student{display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; text-align:left; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:transparent; color:var(--text); font:inherit; cursor:pointer;}
.pay-student b{display:block; font-size:calc(14px * var(--fs,1)); font-weight:600;}
.pay-student small{display:block; font-size:calc(12px * var(--fs,1)); color:var(--text-soft);}
.pay-student > small{text-align:right; flex:0 0 auto; max-width:45%;}
.pay-student.on{border-color:var(--amber); background:var(--amber-wash);}
body.theme-dark .pay-pick{background:#0d1118 !important; border-color:#273244 !important; color:#f3f6fb;}
body.theme-dark .pay-search{background:#111824; color:#f3f6fb; border-color:#40516a;}
body.theme-dark .pay-student{border-color:#273244; color:#f3f6fb;}
body.theme-dark .pay-student small{color:#9aa7bd;}
body.theme-dark .pay-student.on{background:#1a1608; border-color:#d9a441;}
.db-kpis{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--paper-raised); border:1px solid var(--border); border-radius:14px; overflow:hidden;}
.db-kpi{display:flex; flex-direction:column; gap:6px; min-width:0; padding:18px 20px; border-left:1px solid var(--border);}
.db-kpi:first-child{border-left:0;}
.db-kpi-label{font-size:calc(13px * var(--fs,1)); font-weight:600; color:var(--text-soft); line-height:1.3;}
.db-kpi-val{font-family:inherit; font-size:calc(30px * var(--fs,1)); font-weight:700; letter-spacing:-.02em; line-height:1.1; color:var(--ink); font-variant-numeric:tabular-nums;}
.db-kpi-note{font-size:calc(12.5px * var(--fs,1)); color:var(--text-soft); line-height:1.35; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.db-kpi-val{order:-1;} .db-kpi-note{order:1;} .db-kpi-bar{order:2; margin-top:4px;}
.db-kpi-bar{display:block; height:4px; border-radius:2px; background:var(--border); overflow:hidden;}
.db-kpi-bar i{display:block; height:100%; border-radius:2px; background:var(--amber);}
@media(max-width:900px){
.db-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.db-kpi{padding:16px;}
.db-kpi:nth-child(odd){border-left:0;}
.db-kpi:nth-child(n+3){border-top:1px solid var(--border);}
.db-kpi-val{font-size:calc(26px * var(--fs,1));}
}
body.theme-dark .db-kpis{background:#0d1118; border-color:#273244;}
body.theme-dark .db-kpi{border-color:#273244;}
body.theme-dark .db-kpi-val{color:#f3f6fb;}
body.theme-dark .db-kpi-label, body.theme-dark .db-kpi-note{color:#9aa7bd;}
body.theme-dark .db-kpi-bar{background:#273244;}
body.theme-dark .db-kpi-bar i{background:#d9a441;}

.db-kpis{
position:relative; padding:14px; gap:12px; isolation:isolate; overflow:hidden;
border:0; border-radius:18px;
background-color:#14213D;
background-image:
linear-gradient(135deg, rgba(11,37,69,.72) 0%, rgba(20,33,61,.45) 55%, rgba(197,138,43,.30) 100%),
url("https://images.unsplash.com/photo-1481627834876-b7833e8f5570?auto=format&fit=crop&w=800&q=55"),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55");
background-size:cover; background-position:center;
box-shadow:0 16px 34px -18px rgba(11,37,69,.75);
}
.db-kpi{
border:1px solid rgba(255,255,255,.34); border-left:1px solid rgba(255,255,255,.34);
border-radius:14px; padding:16px 16px 15px;
background:rgba(255,255,255,.80);
-webkit-backdrop-filter:blur(10px) saturate(1.2); backdrop-filter:blur(10px) saturate(1.2);
box-shadow:0 6px 18px -10px rgba(11,37,69,.5);
}
.db-kpi:first-child{border-left:1px solid rgba(255,255,255,.34);}
.db-kpi::before{content:""; display:block; width:26px; height:3px; border-radius:2px; background:#C58A2B; margin-bottom:4px; order:-2;}
.db-kpi-label{color:#2c3a55; font-weight:600;}
.db-kpi-note{color:#3b4862; font-weight:500;}
.db-kpi-val{color:#0B2545;}
.db-kpi-bar{background:rgba(20,33,61,.16);}
@media(max-width:900px){
.db-kpis{padding:12px; gap:10px;}
.db-kpi, .db-kpi:nth-child(odd), .db-kpi:nth-child(n+3){border:1px solid rgba(255,255,255,.34);}
}
body.theme-dark .db-kpis{
background-color:#0d1118;
background-image:
linear-gradient(135deg, rgba(8,12,18,.78) 0%, rgba(13,17,24,.55) 60%, rgba(217,164,65,.22) 100%),
url("https://images.unsplash.com/photo-1481627834876-b7833e8f5570?auto=format&fit=crop&w=800&q=55"),
url("https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=800&q=55");
}
body.theme-dark .db-kpi, body.theme-dark .db-kpi:first-child{
background:rgba(13,17,24,.70); border-color:rgba(255,255,255,.14);
}
body.theme-dark .db-kpi::before{background:#d9a441;}
body.theme-dark .db-kpi-label{color:#c3cde0;}
body.theme-dark .db-kpi-note{color:#b3bfd6;}
body.theme-dark .db-kpi-val{color:#fff;}
body.theme-dark .db-kpi-bar{background:rgba(255,255,255,.18);}

.sidebar{
--sb-base: color-mix(in srgb, var(--ink) 92%, #000);
background-color:var(--sb-base);
background-image:
radial-gradient(120% 60% at 0% 0%, rgba(198,151,31,.20) 0%, rgba(198,151,31,0) 55%),
linear-gradient(180deg, rgba(6,16,36,.55) 0%, rgba(6,16,36,.86) 100%),
url("https://images.unsplash.com/photo-1481627834876-b7833e8f5570?auto=format&fit=crop&w=700&q=70"),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=700&q=70");
background-size:auto, auto, cover, cover;
background-position:center, center, center bottom, center bottom;
border-right:1px solid rgba(255,255,255,.08);
}
.sidebar-brand{
gap:11px; padding:20px 16px 18px; letter-spacing:0; font-weight:800; font-size:calc(14.5px * var(--fs,1)); white-space:nowrap;
border-bottom:0; position:relative;
}
.sidebar-brand::after{content:""; position:absolute; left:18px; right:18px; bottom:0; height:1px;
background:linear-gradient(90deg, rgba(241,211,107,.75), rgba(255,255,255,.08) 70%, rgba(255,255,255,0));}
.sidebar-brand .brand-mark{width:36px; height:36px; flex:0 0 36px; border-radius:12px; box-shadow:0 0 0 2px rgba(241,211,107,.55), 0 8px 18px -8px rgba(0,0,0,.7);}
.side-nav{padding:16px 12px 10px;}
.sidebar .side-link{
gap:10px; padding:8px 10px; margin-bottom:5px; border-radius:12px; border:1px solid transparent;
color:#D5DBEA; font-size:calc(13.5px * var(--fs,1)); font-weight:600;
transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.sidebar .side-link .ic{
width:32px; height:32px; flex:0 0 32px; border-radius:10px;
background:rgba(255,255,255,.08); color:#F1D36B;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
transition:background .15s ease, color .15s ease;
}
.sidebar .side-link:hover{background:rgba(255,255,255,.09); color:#fff; border-color:rgba(255,255,255,.10);}
.sidebar .side-link:hover .ic{background:rgba(241,211,107,.20);}
.sidebar .side-link.active{
background:linear-gradient(100deg, #E9C55A 0%, #C6971F 100%); color:#1a1305; font-weight:700;
border-color:rgba(255,255,255,.25); box-shadow:0 10px 20px -12px rgba(198,151,31,.9);
}
.sidebar .side-link.active::before{display:none;}
.sidebar .side-link.active .ic{background:rgba(255,255,255,.35); color:#1a1305; box-shadow:none;}
.sidebar .nav-group-btn{background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.07);}
.sidebar .nav-group.open > .nav-group-btn{background:rgba(255,255,255,.10); border-color:rgba(241,211,107,.30); color:#fff;}
.sidebar .nav-group.has-active:not(.open) > .nav-group-btn{color:#F1D36B; border-color:rgba(241,211,107,.35);}
.sidebar .nav-group-btn .nav-chev{opacity:.9; color:#F1D36B; width:20px; height:20px; flex:0 0 20px; border-radius:50%; background:rgba(255,255,255,.08);}
.sidebar .nav-sub-inner{margin:2px 0 6px 24px; padding-left:16px; background:linear-gradient(rgba(241,211,107,.30), rgba(241,211,107,.30)) 4px 0 / 1px 100% no-repeat;}
.sidebar .nav-sub .side-link{
margin:0 0 2px; padding:8px 10px; font-size:calc(13px * var(--fs,1)); font-weight:500; color:#C3CCE0;
border-left:0; border-radius:10px; position:relative;
}
.sidebar .nav-sub .side-link .ic{width:26px; height:26px; flex:0 0 26px; border-radius:8px; background:transparent; box-shadow:none; color:#AFB9D1;}
.sidebar .nav-sub .side-link .ic svg{width:16px; height:16px;}
.sidebar .nav-sub .side-link::after{content:""; position:absolute; left:-16px; top:50%; width:9px; height:9px; margin-top:-4.5px; border-radius:50%;
background:var(--sb-base); border:2px solid rgba(241,211,107,.45);}
.sidebar .nav-sub .side-link:hover .ic{background:rgba(241,211,107,.16); color:#F1D36B;}
.sidebar .nav-sub .side-link.active{background:rgba(241,211,107,.16); color:#F6DE8C; border-color:rgba(241,211,107,.30); box-shadow:none; font-weight:700;}
.sidebar .nav-sub .side-link.active .ic{background:transparent; color:#F6DE8C;}
.sidebar .nav-sub .side-link.active::after{background:#F1D36B; border-color:#F1D36B; box-shadow:0 0 0 4px rgba(241,211,107,.18);}
.sidebar .side-badge{background:rgba(255,255,255,.14); color:#F6DE8C; padding:4px 9px; font-size:calc(10.5px * var(--fs,1)); letter-spacing:.02em;}
.sidebar .side-link.active .side-badge{background:rgba(26,19,5,.16); color:#1a1305;}
.sidebar .side-badge.warn{background:rgba(214,72,56,.40); color:#FFD2CB;}
.sidebar .side-link[data-action="logout"]{
margin-top:16px !important; padding-top:8px !important; border-top:0 !important;
background:rgba(214,72,56,.10); border-color:rgba(214,72,56,.25); color:#FFC9C2;
}
.sidebar .side-link[data-action="logout"] .ic{background:rgba(214,72,56,.20); color:#FFB3A9;}
.sidebar .side-link[data-action="logout"]:hover{background:rgba(214,72,56,.22); color:#fff;}
.side-foot{
margin:0 12px 14px; padding:11px 14px; border:1px solid rgba(241,211,107,.28); border-radius:12px;
background:rgba(255,255,255,.07); color:#E3E8F4; font-size:calc(12.5px * var(--fs,1)); font-weight:600; text-align:center;
-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.side-nav{scrollbar-width:thin; scrollbar-color:rgba(241,211,107,.35) transparent;}
@media (prefers-reduced-motion: reduce){ .sidebar .side-link, .sidebar .side-link .ic{transition:none;} }
body.theme-dark .sidebar{
background-color:#090d14 !important;
background-image:
radial-gradient(120% 60% at 0% 0%, rgba(217,164,65,.16) 0%, rgba(217,164,65,0) 55%),
linear-gradient(180deg, rgba(5,8,13,.70) 0%, rgba(5,8,13,.92) 100%),
url("https://images.unsplash.com/photo-1481627834876-b7833e8f5570?auto=format&fit=crop&w=700&q=70") !important;
background-size:auto, auto, cover !important; background-position:center, center, center bottom !important;
}
body.theme-dark .sidebar nav{background:transparent !important;}
body.theme-dark .sidebar{--sb-base:#090d14;}
body.theme-dark .sidebar .side-link.active .ic{color:#1a1305;}
body.theme-dark .sidebar .nav-sub .side-link .ic{color:#AFB9D1;}
body.theme-dark .sidebar .nav-sub .side-link.active .ic{color:#F6DE8C;}
body.theme-dark .sidebar .side-link{color:#D5DBEA !important;}
body.theme-dark .sidebar .side-link .ic{color:#f0c15a;}
body.theme-dark .sidebar .nav-group-btn{color:#D5DBEA !important;}
body.theme-dark .sidebar .nav-group.open > .nav-group-btn{color:#fff !important;}
body.theme-dark .sidebar .nav-group.has-active:not(.open) > .nav-group-btn{color:#f0c15a !important;}
body.theme-dark .sidebar .nav-sub .side-link{color:#B9C4DB !important;}
body.theme-dark .sidebar .side-link:hover{color:#fff !important;}
body.theme-dark .sidebar .side-link.active{color:#1a1305 !important;}
body.theme-dark .sidebar .nav-sub .side-link.active{color:#F6DE8C !important;}
body.theme-dark .sidebar .side-link[data-action="logout"]{color:#FFC9C2 !important;}
body.theme-dark .sidebar .side-badge{background:rgba(255,255,255,.14); color:#F6DE8C;}
body.theme-dark .sidebar .side-link.active .side-badge{color:#1a1305;}
body.theme-dark .sidebar .side-badge.warn{background:rgba(214,72,56,.40); color:#FFD2CB;}
body.theme-dark .side-foot{color:#E3E8F4;}

.main.ed-h-db{
background-color:#EEF2F9;
background-image:
radial-gradient(900px 520px at 100% 0%, rgba(240,179,71,.22), transparent 62%),
radial-gradient(820px 560px at 0% 18%, rgba(59,111,196,.18), transparent 60%),
radial-gradient(760px 520px at 88% 78%, rgba(15,110,79,.14), transparent 62%),
radial-gradient(700px 480px at 6% 100%, rgba(18,58,107,.14), transparent 60%),
linear-gradient(180deg,#F4F7FC 0%,#E9EFF8 100%);
background-repeat:no-repeat;
min-height:100vh;
}
@media(min-width:881px){
.main.ed-h-db{background-attachment:fixed;}
}
body.theme-yellow .main.ed-h-db{
background-color:#FFF6D8;
background-image:
radial-gradient(900px 520px at 100% 0%, rgba(240,179,71,.34), transparent 62%),
radial-gradient(820px 560px at 0% 20%, rgba(255,214,120,.30), transparent 60%),
radial-gradient(760px 520px at 88% 80%, rgba(214,154,23,.16), transparent 62%),
linear-gradient(180deg,#FFFAE8 0%,#FFF1C4 100%);
}
body.theme-forest .main.ed-h-db{
background-color:#E8F3EC;
background-image:
radial-gradient(900px 520px at 100% 0%, rgba(15,110,79,.20), transparent 62%),
radial-gradient(820px 560px at 0% 20%, rgba(120,190,150,.24), transparent 60%),
radial-gradient(760px 520px at 88% 80%, rgba(240,179,71,.14), transparent 62%),
linear-gradient(180deg,#F1F8F4 0%,#DDEEE4 100%);
}
body.theme-ocean .main.ed-h-db{
background-color:#E6F2FA;
background-image:
radial-gradient(900px 520px at 100% 0%, rgba(29,88,126,.20), transparent 62%),
radial-gradient(820px 560px at 0% 20%, rgba(90,170,220,.26), transparent 60%),
radial-gradient(760px 520px at 88% 80%, rgba(15,110,79,.12), transparent 62%),
linear-gradient(180deg,#EFF7FC 0%,#D9EBF7 100%);
}
body.theme-dark .main.ed-h-db{
background-color:#0D1420;
background-image:
radial-gradient(900px 520px at 100% 0%, rgba(240,179,71,.10), transparent 62%),
radial-gradient(820px 560px at 0% 18%, rgba(59,111,196,.18), transparent 60%),
radial-gradient(760px 520px at 88% 80%, rgba(15,110,79,.14), transparent 62%),
linear-gradient(180deg,#101722 0%,#0B111B 100%);
}

.ed-demo-box{margin-top:18px; padding:14px 14px 12px; border:1px dashed var(--border-strong,#C7CEDC); border-radius:12px; background:var(--paper,#F5F6F8); text-align:center;}
.ed-demo-title{font-weight:700; font-size:calc(14px * var(--fs,1)); color:var(--text,#131B2B); margin-bottom:4px;}
.ed-demo-box p{margin:0 0 10px; font-size:calc(13px * var(--fs,1)); line-height:1.45; color:var(--text-soft,#56617A);}

.ed-confirm{position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center;
padding:20px; background:rgba(8,16,32,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
opacity:0; transition:opacity .16s ease;}
.ed-confirm.show{opacity:1;}
.ed-confirm-box{width:100%; max-width:380px; background:var(--paper-raised,#fff); color:var(--text,#131B2B);
border:1px solid var(--border,#E2E5EC); border-radius:18px; padding:28px 24px 22px; text-align:center;
box-shadow:0 24px 32px -16px rgba(0,0,0,.55); transform:translateY(10px) scale(.97); transition:transform .18s ease;
font-family:var(--sans,'Inter',-apple-system,Segoe UI,sans-serif);}
.ed-confirm.show .ed-confirm-box{transform:none;}
.ed-confirm-ic{width:56px; height:56px; margin:0 auto 14px; border-radius:50%; display:flex; align-items:center; justify-content:center;
background:var(--brick-wash,#F7E8E5); color:var(--brick,#AE3226);}
.ed-confirm-ic.neutral{background:var(--amber-wash,#FBF3DC); color:var(--amber-deep,#9C7714);}
.ed-confirm-ic svg{width:26px; height:26px;}
.ed-confirm-title{font-size:calc(20px * var(--fs,1)); font-weight:700; letter-spacing:-.02em; margin:0 0 8px; color:var(--text,#131B2B);}
.ed-confirm-msg{white-space:pre-line; word-break:break-word; font-size:calc(14.5px * var(--fs,1)); line-height:1.55; color:var(--text-soft,#56617A); margin:0 0 22px;}
.ed-confirm-actions{display:flex; gap:10px;}
.ed-confirm-actions button{flex:1; min-height:46px; border-radius:12px; font:inherit; font-size:calc(15px * var(--fs,1)); font-weight:700;
cursor:pointer; -webkit-tap-highlight-color:transparent; transition:transform .08s ease, filter .15s ease;}
.ed-confirm-actions button:active{transform:scale(.97);}
.ed-confirm-cancel{background:transparent; color:var(--text,#131B2B); border:1.5px solid var(--border-strong,#C7CEDC);}
.ed-confirm-cancel:hover{background:var(--paper,#F5F6F8);}
.ed-confirm-ok{background:var(--brick,#AE3226); color:#fff; border:1.5px solid var(--brick,#AE3226);}
.ed-confirm-ok:hover{filter:brightness(1.08);}
.ed-confirm-ok.neutral{background:var(--amber,#C6971F); border-color:var(--amber,#C6971F); color:#172033;}
.ed-confirm-actions button:focus-visible{outline:3px solid var(--amber,#C6971F); outline-offset:2px;}
@media (prefers-reduced-motion:reduce){ .ed-confirm,.ed-confirm-box{transition:none;} }

.ed-na{position:fixed; inset:0; z-index:100001; display:flex; align-items:center; justify-content:center; padding:22px;
background:rgba(6,12,24,.58); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); opacity:0; transition:opacity .16s ease;}
.ed-na.show{opacity:1;}
.ed-na-box{width:100%; max-width:340px; background:var(--paper-raised,#fff); color:var(--text,#131B2B); border:1px solid var(--border,#E2E5EC);
border-radius:20px; padding:26px 22px 14px; text-align:center; box-shadow:0 24px 32px -16px rgba(0,0,0,.55);
transform:translateY(10px) scale(.96); transition:transform .18s ease; font-family:var(--sans,'Inter',-apple-system,Segoe UI,sans-serif);}
.ed-na.show .ed-na-box{transform:none;}
.ed-na-ic{width:62px; height:62px; margin:0 auto 14px; border-radius:50%; display:flex; align-items:center; justify-content:center;
background:#0B2545; color:#F1D36B; box-shadow:0 0 0 5px rgba(201,162,39,.18);}
.ed-na-ic svg{width:30px; height:30px;}
.ed-na-title{margin:0 0 6px; font-size:calc(19px * var(--fs,1)); font-weight:700; letter-spacing:-.01em; color:var(--text,#131B2B);}
.ed-na-msg{margin:0 0 14px; font-size:calc(14px * var(--fs,1)); line-height:1.5; color:var(--text-soft,#56617A);}
.ed-na-actions{display:flex; justify-content:flex-end; align-items:center; gap:6px; margin-top:4px;}
.ed-na-actions a,.ed-na-actions button{font:inherit; font-size:calc(14.5px * var(--fs,1)); font-weight:700; padding:10px 14px; border-radius:10px; border:0;
background:transparent; color:var(--navy,#0B2545); cursor:pointer; text-decoration:none; -webkit-tap-highlight-color:transparent;}
.ed-na-actions a:hover,.ed-na-actions button:hover{background:rgba(11,37,69,.07);}
.ed-na-actions button:focus-visible,.ed-na-actions a:focus-visible{outline:3px solid var(--amber,#C6971F); outline-offset:1px;}
body.theme-dark .ed-na-actions a,body.theme-dark .ed-na-actions button{color:#F1D36B;}
body.theme-dark .ed-na-actions a:hover,body.theme-dark .ed-na-actions button:hover{background:rgba(241,211,107,.1);}
@media (prefers-reduced-motion:reduce){ .ed-na,.ed-na-box{transition:none;} }

.auth-note{
display:flex; align-items:center; gap:10px;
background:var(--forest-wash,#E6F1EC);
color:var(--forest-deep,#0B5A40);
border:1px solid rgba(15,110,79,.28);
border-radius:8px;
padding:11px 14px;
margin-bottom:16px;
font-size:calc(13.5px * var(--fs,1)); font-weight:600; line-height:1.4;
}
.auth-note:not(:empty)::before{
content:""; flex:0 0 16px; width:16px; height:16px; border-radius:50%;
border:2.5px solid currentColor; border-right-color:transparent;
animation:authNoteSpin .8s linear infinite;
}
@keyframes authNoteSpin{to{transform:rotate(360deg);}}
body.theme-dark .auth-note{
background:#0f3d2e !important; color:#8ff0c2 !important; border-color:rgba(110,231,168,.35) !important;
}
@media (prefers-reduced-motion:reduce){ .auth-note:not(:empty)::before{animation-duration:2s;} }
body.theme-dark .main.ed-h-db .content{background:transparent !important;}
.db-hero{background-color:#15233d;}
.db-hero-art{background-color:#1d3150;}
body{--line:var(--border);}
body.theme-dark .db-btn-gold{
background:linear-gradient(180deg,#E3BE5F,#D9A441) !important;
color:#080c12 !important;
border-color:#D9A441 !important;
}
.topbar,.pubnav,.db-kpi,.side-foot{-webkit-backdrop-filter:none!important; backdrop-filter:none!important;}
.topbar{background:rgba(255,255,255,.97)!important;}
body.theme-dark .topbar{background:#121B29!important;}
.db-kpi{background:rgba(255,255,255,.94);}
body.theme-dark .db-kpi{background:rgba(24,35,52,.94);}
html{-webkit-text-size-adjust:100%;}
body{-webkit-tap-highlight-color:transparent; -webkit-font-smoothing:antialiased;}
a,button,select,summary,[data-action],[data-nav]{touch-action:manipulation;}
.btn,.side-link,.subj-tile,.study-tool,.chat-top-action,.db-btn,.yr-card,.pill{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .2s ease,transform .16s ease,opacity .16s ease;}
.btn:active,.study-tool:active,.subj-tile:active,.db-btn:active,.yr-card:active{transform:scale(.98);}
@keyframes pageEnter{from{opacity:.8;}to{opacity:1;}}
.content.page-enter{animation:pageEnter .14s ease-out;}
.parsed-item,.study-question{content-visibility:auto; contain-intrinsic-size:auto 360px;}
img{image-rendering:auto;}
.scroll-nav{position:fixed; left:12px; bottom:96px; z-index:64; display:none; flex-direction:column; gap:8px;}
.scroll-nav.on{display:flex;}
.scroll-nav button{width:42px; height:42px; border-radius:50%; border:none; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 8px 22px -6px rgba(11,31,63,.45); transition:transform .14s ease,opacity .18s ease;}
.scroll-nav button svg{width:20px; height:20px;}
.scroll-nav button:active{transform:scale(.92);}
.scroll-nav button:disabled{opacity:.35; cursor:default;}
body.theme-dark .scroll-nav button{background:#F1D36B; color:#0B1F3F;}

.db-wrap{ --dbg:color-mix(in srgb, var(--ink) 92%, #000); --db-gold:#F1D36B; --db-text:#EEF2FA; --db-soft:#B9C4DB; --db-line:rgba(255,255,255,.10); }
body.theme-dark .db-wrap{ --dbg:#090d14; }
.main .db-wrap .db-hero{
border:1px solid var(--db-line); border-radius:20px; background-color:var(--dbg);
background-image:
radial-gradient(120% 90% at 0% 0%, rgba(198,151,31,.24) 0%, rgba(198,151,31,0) 55%),
linear-gradient(100deg, rgba(6,16,36,.93) 0%, rgba(6,16,36,.82) 55%, rgba(6,16,36,.58) 100%),
url("https://images.unsplash.com/photo-1481627834876-b7833e8f5570?auto=format&fit=crop&w=800&q=55");
background-size:auto, auto, cover; background-position:center, center, center right;
box-shadow:0 22px 40px -26px rgba(4,12,30,.9), inset 0 1px 0 rgba(255,255,255,.06);
}
.main .db-wrap .db-hero-target{ color:var(--db-gold) !important; }
.main .db-wrap .db-hero-art{ border-color:rgba(241,211,107,.35); }
.main .db-wrap .db-btn{ border-radius:14px; }
.main .db-wrap .db-btn-gold{ background:linear-gradient(100deg,#E9C55A 0%,#C6971F 100%); color:#1a1305; border-color:rgba(255,255,255,.25); box-shadow:0 10px 20px -12px rgba(198,151,31,.9); }
.main .db-wrap .db-btn-line{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.18); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.main .db-wrap .db-btn-line:hover{ background:rgba(255,255,255,.14); border-color:rgba(241,211,107,.35); }
.main .db-wrap .db-ring{ border-radius:50%; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.10), 0 12px 26px -14px rgba(0,0,0,.7); }
.main .db-wrap .db-ring-track{ stroke:rgba(255,255,255,.12); }
.main .db-wrap .db-ring-bar{ stroke:var(--db-gold); }
.main .db-wrap .db-ring-text span{ color:var(--db-soft); }
.main .db-wrap .db-kpis{
border:1px solid var(--db-line); border-radius:20px; padding:14px; gap:12px; background-color:var(--dbg);
background-image:
radial-gradient(120% 90% at 0% 0%, rgba(198,151,31,.20) 0%, rgba(198,151,31,0) 55%),
linear-gradient(180deg, rgba(6,16,36,.72) 0%, rgba(6,16,36,.90) 100%),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55");
background-size:auto, auto, cover; background-position:center;
box-shadow:0 18px 34px -22px rgba(4,12,30,.85);
}
.main .db-wrap .db-kpi, .main .db-wrap .db-kpi:first-child{
background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:14px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
-webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
transition:background .15s ease, border-color .15s ease;
}
.main .db-wrap .db-kpi:hover{ background:rgba(255,255,255,.10); border-color:rgba(241,211,107,.30); }
.main .db-wrap .db-kpi::before{ background:var(--db-gold); }
.main .db-wrap .db-kpi-label{ color:#D5DBEA; }
.main .db-wrap .db-kpi-val{ color:#fff; }
.main .db-wrap .db-kpi-note{ color:var(--db-soft); }
.main .db-wrap .db-kpi-bar{ background:rgba(255,255,255,.14); }
.main .db-wrap .db-kpi-bar i{ background:linear-gradient(90deg,#C6971F,#F1D36B); }
.main .db-wrap .db-panel, .main .db-wrap .progress-card{
color:var(--db-text); background-color:var(--dbg);
background-image:
radial-gradient(120% 60% at 0% 0%, rgba(198,151,31,.16) 0%, rgba(198,151,31,0) 55%),
linear-gradient(180deg, rgba(6,16,36,.80) 0%, rgba(6,16,36,.94) 100%),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55");
background-size:auto, auto, cover; background-position:center;
border:1px solid var(--db-line); border-radius:20px; padding:22px;
box-shadow:0 18px 34px -22px rgba(4,12,30,.85);
}
body.theme-dark .main .db-wrap .db-panel, body.theme-dark .main .db-wrap .progress-card{
background-color:var(--dbg) !important;
background-image:
radial-gradient(120% 60% at 0% 0%, rgba(217,164,65,.14) 0%, rgba(217,164,65,0) 55%),
linear-gradient(180deg, rgba(5,8,13,.78) 0%, rgba(5,8,13,.94) 100%),
url("https://images.unsplash.com/photo-1456324504439-367cee3b3c32?auto=format&fit=crop&w=800&q=55") !important;
background-size:auto, auto, cover !important; background-position:center !important;
color:var(--db-text) !important; border-color:var(--db-line) !important;
box-shadow:0 18px 34px -22px rgba(0,0,0,.8) !important;
}
.main .db-wrap .db-panel-head h2, .main .db-wrap .progress-card .card-title{ color:#fff !important; }
.main .db-wrap .progress-card .card-title{ border-bottom-color:rgba(255,255,255,.10); }
.main .db-wrap .db-panel-sub, .main .db-wrap .progress-card > p{ color:var(--db-soft) !important; }
.main .db-wrap .backlink{ color:var(--db-gold); }
.main .db-wrap .backlink:hover{ color:#fff; }
.main .db-wrap .db-body{
background:linear-gradient(150deg, color-mix(in srgb, var(--bc) 62%, #071429) 0%, color-mix(in srgb, var(--bc) 26%, #071429) 100%);
border:1px solid rgba(255,255,255,.14); border-radius:14px; box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
transition:transform .12s ease, border-color .15s ease;
}
.main .db-wrap .db-body:hover{ border-color:rgba(241,211,107,.45); }
.main .db-wrap .db-body b{ color:#fff; }
.main .db-wrap .db-body span{ color:#E3E8F4; opacity:1; }
.main .db-wrap .db-attempts{ gap:8px; }
.main .db-wrap .db-attempt{
padding:10px 12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.05);
transition:background .15s ease, border-color .15s ease;
}
.main .db-wrap .db-attempt:hover{ background:rgba(255,255,255,.09); border-color:rgba(241,211,107,.28); }
.main .db-wrap .db-attempt-mono{ border-radius:12px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.main .db-wrap .db-attempt-info b{ color:#fff !important; }
.main .db-wrap .db-attempt-info span{ color:var(--db-soft) !important; }
.main .db-wrap .db-attempt-score span{ color:var(--db-soft) !important; }
.main .db-wrap .db-bar{ background:rgba(255,255,255,.12); }
.main .db-wrap .db-bar i.good{ background:#5FCF9F; }
.main .db-wrap .db-bar i.mid{ background:#F1D36B; }
.main .db-wrap .db-bar i.low{ background:#FF8F82; }
.main .db-wrap .db-attempt-score.good b{ color:#5FCF9F !important; }
.main .db-wrap .db-attempt-score.mid b{ color:#F1D36B !important; }
.main .db-wrap .db-attempt-score.low b{ color:#FF8F82 !important; }
.main .db-wrap .db-subj{
background:rgba(255,255,255,.06) !important; color:var(--db-text) !important;
border-color:rgba(255,255,255,.10) !important; border-top-color:var(--sc) !important;
border-radius:14px; box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
transition:background .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.main .db-wrap .db-subj:hover{
background:rgba(255,255,255,.10) !important; border-color:rgba(241,211,107,.35) !important; border-top-color:var(--sc) !important;
box-shadow:0 14px 26px -16px rgba(0,0,0,.75) !important;
}
.main .db-wrap .db-subj-mono{ border-radius:12px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); }
.main .db-wrap .db-subj b{ color:#fff !important; }
.main .db-wrap .db-subj span{ color:var(--db-soft) !important; }
.main .db-wrap .progress-row{ border-bottom-color:rgba(255,255,255,.08); }
.main .db-wrap .progress-row b{ color:#fff; }
.main .db-wrap .progress-row span{ color:var(--db-soft); }
.main .db-wrap .progress-row strong{ color:var(--db-gold) !important; }
.main .db-wrap .progress-track{ background:rgba(255,255,255,.12); }
.main .db-wrap .progress-track i{ background:linear-gradient(90deg,#C6971F,#F1D36B); }
.main .db-wrap .progress-foot, .main .db-wrap .progress-card .empty{ color:var(--db-soft); }
.main .db-wrap .dashboard-notice{ border-bottom-color:rgba(255,255,255,.08); }
.main .db-wrap .dashboard-notice b{ color:#fff; }
.main .db-wrap .dashboard-notice span{ color:var(--db-soft); }
.main .db-wrap .db-empty{ color:var(--db-soft); }
.main .db-wrap .db-empty b{ color:#fff; }
@media (max-width:560px){
.main .db-wrap .db-panel, .main .db-wrap .progress-card{ padding:16px; border-radius:18px; }
.main .db-wrap .db-hero, .main .db-wrap .db-kpis{ border-radius:18px; }
}
@media (prefers-reduced-motion:reduce){
.main .db-wrap .db-kpi, .main .db-wrap .db-attempt, .main .db-wrap .db-subj, .main .db-wrap .db-body{ transition:none; }
}

.gm-hero{background:linear-gradient(135deg,var(--ink),var(--ink-2));color:#fff;border-radius:var(--radius-l);padding:24px 26px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.gm-hero h2{margin:0 0 4px;font-size:calc(22px * var(--fs,1));color:#fff}.gm-hero p{margin:0;opacity:.8;font-size:calc(13.5px * var(--fs,1))}
.gm-hero .gm-pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:8px 14px;border-radius:999px;font-size:calc(12.5px * var(--fs,1));font-weight:600}
.gm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.gm-card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gm-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px -10px rgba(10,35,66,.3)}
.gm-card:active{transform:scale(.98)}
.gm-art{height:96px;display:flex;align-items:center;justify-content:center;font-size:calc(34px * var(--fs,1));font-weight:800;color:#fff;letter-spacing:-1px}
.gm-info{padding:14px 16px 16px}.gm-info b{display:block;font-size:calc(15px * var(--fs,1));color:var(--text)}.gm-info p{margin:4px 0 12px;font-size:calc(12.5px * var(--fs,1));line-height:1.45;color:var(--text-soft);min-height:36px}
.gm-info div{display:flex;justify-content:space-between;align-items:center;font-size:calc(12px * var(--fs,1));color:var(--text-soft)}
.gm-info .btn{pointer-events:none}
.gm-back{display:inline-flex;align-items:center;gap:6px;font-size:calc(13px * var(--fs,1));font-weight:600;color:var(--text-soft);cursor:pointer;margin-bottom:12px}.gm-back:hover{color:var(--ink)}
.gm{position:relative;max-width:640px;margin:0 auto;background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius-l);padding:20px;box-shadow:var(--shadow-card);overflow:hidden;user-select:none;-webkit-user-select:none}
.gm-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.gm-head h3{margin:0;font-size:calc(17px * var(--fs,1));color:var(--text)}
.gm-stats{display:flex;gap:8px}.gm-stats div{background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:5px 12px;text-align:center;min-width:58px}
.gm-stats b{display:block;font-size:calc(16px * var(--fs,1));color:var(--text);font-variant-numeric:tabular-nums}.gm-stats span{font-size:calc(10px * var(--fs,1));text-transform:uppercase;letter-spacing:.6px;color:var(--text-soft)}
.gm-bar{height:6px;border-radius:10px;background:var(--border);overflow:hidden;margin-bottom:18px}.gm-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--forest),var(--amber));border-radius:10px;transition:width .12s linear}
.gm-q{font-size:calc(19px * var(--fs,1));font-weight:700;line-height:1.4;color:var(--text);min-height:56px;margin-bottom:14px;animation:gmIn .3s ease}
.gm-tag{display:inline-block;font-size:calc(10.5px * var(--fs,1));font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--amber-deep);margin-bottom:6px}
.gm-opts{display:grid;gap:10px}
.gm-opt{padding:13px 16px;text-align:left;font:600 14.5px var(--sans);color:var(--text);background:var(--paper);border:1.5px solid var(--border);border-radius:var(--radius-l);cursor:pointer;transition:all .18s}
.gm-opt:hover{border-color:var(--ink-2);transform:translateX(3px)}.gm-opt.ok{background:var(--forest);border-color:var(--forest);color:#fff}.gm-opt.no{background:var(--brick);border-color:var(--brick);color:#fff;animation:gmShake .35s}
.gm-in{width:100%;padding:14px;font:700 22px var(--mono);text-align:center;border:2px solid var(--border);border-radius:var(--radius-l);background:var(--paper);color:var(--text);outline:0;transition:border-color .2s}
.gm-in:focus{border-color:var(--amber)}.gm-in.no{border-color:var(--brick);animation:gmShake .35s}.gm-in.ok{border-color:var(--forest)}
.gm-row{display:flex;gap:10px;margin-top:12px}.gm-row .btn{flex:1}
.gm-tiles{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:6px 0 14px}
.gm-tile{width:44px;height:52px;display:flex;align-items:center;justify-content:center;font:800 22px var(--sans);color:#fff;background:linear-gradient(160deg,var(--ink-2),var(--ink));border-radius:10px;box-shadow:0 3px 0 rgba(0,0,0,.25);animation:gmPop .35s both}
.gm-hint{text-align:center;font-size:calc(13px * var(--fs,1));color:var(--text-soft);margin-bottom:12px}
.gm-mem{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gm-c{aspect-ratio:1/1.05;perspective:600px;cursor:pointer}.gm-c>div{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.gm-c.f>div{transform:rotateY(180deg)}.gm-c.m{opacity:.55;pointer-events:none}
.gm-c i,.gm-c u{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-decoration:none;font-style:normal}
.gm-c i{background:linear-gradient(150deg,var(--ink-2),var(--ink));color:var(--amber);font-size:calc(22px * var(--fs,1));font-weight:800;box-shadow:0 3px 0 rgba(0,0,0,.2)}
.gm-c u{transform:rotateY(180deg);background:var(--paper);border:2px solid var(--border);color:var(--text);font-size:calc(11.5px * var(--fs,1));font-weight:700;line-height:1.25}.gm-c.m u{background:var(--forest-wash);border-color:var(--forest)}
.gm-b{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--ink);padding:8px;border-radius:12px;touch-action:none;max-width:420px;margin:0 auto}
.gm-t{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font:800 clamp(18px,5vw,30px) var(--sans);background:rgba(255,255,255,.08);color:#123}.gm-t.n{animation:gmPop .2s both}
.gm-over{position:absolute;inset:0;background:rgba(10,35,66,.94);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:20px;animation:gmFade .3s;z-index:5}
.gm-over h3{margin:0;font-size:calc(24px * var(--fs,1));color:#fff}.gm-over .big{font-size:calc(56px * var(--fs,1));font-weight:800;color:var(--amber);line-height:1.1;font-variant-numeric:tabular-nums}.gm-over p{margin:0 0 12px;opacity:.85;font-size:calc(14px * var(--fs,1))}
@keyframes gmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes gmFade{from{opacity:0}to{opacity:1}}
@keyframes gmPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes gmShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media(max-width:520px){.gm{padding:14px}.gm-tile{width:36px;height:44px;font-size:calc(18px * var(--fs,1))}.gm-q{font-size:calc(17px * var(--fs,1))}}
.gm::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--forest),var(--amber),var(--brick))}
.gm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:640px;margin:0 auto 12px;flex-wrap:wrap}.gm-top .gm-back{margin:0}
.gm-chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper-raised);border:1px solid var(--border);border-radius:999px;padding:6px 13px;font-size:calc(12px * var(--fs,1));font-weight:700;color:var(--text-soft);cursor:pointer;text-decoration:none}
.gm-chip.st{cursor:default;color:var(--amber-deep)}.gm-chip.st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(198,151,31,.25)}
.gm-pick{max-width:760px;margin:20px auto;text-align:center;animation:gmIn .4s}.gm-pick h2{margin:4px 0 6px;font-size:calc(26px * var(--fs,1));color:var(--text)}.gm-pick>p{margin:0 0 24px;color:var(--text-soft);font-size:calc(14px * var(--fs,1))}
.gm-dept{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.gm-dc{border:0;border-radius:16px;padding:26px 18px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--sans);box-shadow:0 10px 26px -12px rgba(10,35,66,.5);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.gm-dc:hover{transform:translateY(-5px);box-shadow:0 18px 34px -12px rgba(10,35,66,.55)}.gm-dc:active{transform:scale(.97)}
.gm-dc i{font-style:normal;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:calc(26px * var(--fs,1));font-weight:800;margin-bottom:6px}
.gm-dc b{font-size:calc(19px * var(--fs,1))}.gm-dc span{font-size:calc(12.5px * var(--fs,1));opacity:.85;line-height:1.4}
.gm-lad{display:flex;gap:5px;margin-bottom:16px}.gm-lad i{flex:1;height:7px;border-radius:10px;background:var(--border);transition:background .3s}.gm-lad i.d{background:var(--forest)}.gm-lad i.c{background:var(--amber)}.gm-lad i.cp{box-shadow:0 0 0 2px var(--ink-2)}
.gm-opt:disabled{cursor:default}.btn:disabled{opacity:.4}
.gm-wg{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:300px;margin:0 auto 16px}
.gm-w{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:8px;font:800 24px var(--sans);color:var(--text);text-transform:uppercase}
.gm-w.f{border-color:var(--ink-2);animation:gmPop .12s}.gm-w.r{animation:gmFlip .5s both;color:#fff;border-color:transparent}.gm-w.g{background:var(--forest)}.gm-w.y{background:var(--amber)}.gm-w.x{background:var(--ink-soft)}
.gm-kb{display:grid;gap:6px}.gm-kb>div{display:flex;gap:5px;justify-content:center}
.gm-k{flex:1;max-width:38px;height:46px;border:0;border-radius:8px;background:var(--border);color:var(--text);font:700 14px var(--sans);cursor:pointer;padding:0;transition:background .3s}.gm-k.w{max-width:54px}.gm-k:active{transform:scale(.94)}
.gm-k.g{background:var(--forest);color:#fff}.gm-k.y{background:var(--amber);color:#fff}.gm-k.x{background:var(--ink-soft);color:#fff}
@keyframes gmFlip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.exam-resume-dock + .gm-dock{margin-top:84px}
.gm-dock .exam-resume-pulse{background:var(--amber);box-shadow:0 0 0 4px var(--amber-wash)}
@media(prefers-reduced-motion:reduce){.gm *,.gm-card{animation:none!important;transition:none!important}}

*{-webkit-tap-highlight-color:transparent}
:focus:not(:focus-visible){outline:none}
.btn,.side-link,.chat-top-action,.gm-opt{transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .12s ease}
.btn:active,.chat-top-action:active,.gm-opt:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.tutor-fab-hbtns{display:flex; align-items:center; gap:4px;}
.tutor-fab-header .tutor-fab-hbtns button{display:flex; align-items:center; justify-content:center; min-width:30px; height:30px; border-radius:8px; color:#fff;}
.tutor-fab-header .tutor-fab-hbtns button:hover{background:rgba(255,255,255,.16);}
.tutor-toolbar{display:flex; gap:8px; margin-bottom:10px;}
.tutor-toolbar .btn{display:inline-flex; align-items:center; gap:6px;}
.tutor-hist-head{display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:10px; font-size:calc(14px * var(--fs,1));}
.tutor-hist-head span{color:var(--text-soft); font-size:calc(12.5px * var(--fs,1));}
.tutor-hist-item{display:flex; align-items:stretch; gap:6px; margin-bottom:8px;}
.tutor-hist-open{flex:1; min-width:0; text-align:left; background:var(--paper-raised); border:1px solid var(--border); border-radius:12px; padding:10px 12px; cursor:pointer; color:var(--text); display:flex; flex-direction:column; gap:3px; font:inherit;}
.tutor-hist-open:hover{border-color:var(--ink);}
.tutor-hist-q{font-size:calc(14px * var(--fs,1)); font-weight:600; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; word-break:break-word;}
.tutor-hist-meta{font-size:calc(12px * var(--fs,1)); color:var(--text-soft);}
.tutor-hist-del{flex:0 0 auto; width:40px; border-radius:12px; border:1px solid var(--border); background:transparent; color:var(--brick); cursor:pointer; display:flex; align-items:center; justify-content:center;}
.tutor-hist-del:hover{background:rgba(214,72,56,.12);}
.tutor-hist-foot{margin-top:12px; display:flex; justify-content:center;}
.tutor-row-flash > div{outline:2px solid var(--amber); outline-offset:2px;}
.db-quick-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:10px;}
.main .db-wrap .db-quick-tile{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:14px 8px; min-height:84px; border-radius:14px; cursor:pointer; background:rgba(255,255,255,.06); border:1px solid var(--db-line); color:var(--db-text); transition:background .15s ease, border-color .15s ease, transform .15s ease;}
.main .db-wrap .db-quick-tile:hover{background:rgba(255,255,255,.11); border-color:rgba(241,211,107,.4); transform:translateY(-1px);}
.main .db-wrap .db-quick-tile b{font-size:calc(12.5px * var(--fs,1)); font-weight:600; line-height:1.25; color:var(--db-text);}
.db-quick-ic .eb-nav-logo{width:100%;height:100%;display:block;border-radius:12px;object-fit:cover}
.db-quick-ic{width:36px; height:36px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(241,211,107,.14); color:#F1D36B;}
.main .db-wrap .db-drop-btn{width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-radius:16px; cursor:pointer; text-align:left; font:inherit; color:var(--db-text); background-color:var(--dbg); border:1px solid var(--db-line); box-shadow:0 10px 24px -18px rgba(4,12,30,.85);}
.main .db-wrap .db-drop-btn:hover{border-color:rgba(241,211,107,.4);}
.db-drop-title{display:flex; flex-direction:column; gap:2px; min-width:0;}
.db-drop-title b{font-size:calc(15px * var(--fs,1)); font-weight:700;}
.db-drop-title small{font-size:calc(12.5px * var(--fs,1)); color:var(--db-soft);}
.db-drop-chev{flex:0 0 auto; display:flex; color:#F1D36B; transition:transform .2s ease;}
.db-drop.open .db-drop-chev{transform:rotate(180deg);}
.db-drop-body{display:none;}
.db-drop.open .db-drop-body{display:block;}
.db-drop-inner{display:flex; flex-direction:column; gap:18px; padding-top:16px;}
@media(max-width:560px){ .db-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;} .main .db-wrap .db-quick-tile{padding:12px 6px; min-height:78px;} }

body.tutor-route{overflow:hidden !important; height:100vh; height:100dvh;}
body.tutor-route .app{height:100vh; height:100dvh; min-height:0 !important; overflow:hidden !important;}
body.tutor-route .main{height:100vh; height:100dvh; min-height:0 !important; display:flex !important; flex-direction:column !important; overflow:hidden !important;}
body.tutor-route .topbar{position:relative !important; left:auto !important; right:auto !important; flex:0 0 auto !important;}
body.tutor-route .content.tutor-page{flex:1 1 auto !important; min-height:0 !important; height:auto !important; max-width:none !important; width:100% !important; padding:10px 12px 12px !important; overflow:hidden !important; display:flex !important; flex-direction:column !important;}
body.tutor-route .tutor-page > .tutor-wa-shell{flex:1 1 auto; width:min(100%, 900px); max-width:900px; height:100%; min-height:0; margin:0 auto;}
body.tutor-route .reload-fab{display:none !important;}
.tutor-wa-shell .tutor-msgs-wrap{position:relative; flex:1 1 auto; min-height:0; display:flex; flex-direction:column;}
.tutor-wa-shell .wa-chat-messages{flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;}
.tutor-wa-avatar{background:linear-gradient(135deg,#0B2545,#16407a); color:#F1D36B; letter-spacing:.5px;}
.tutor-wa-shell .wa-chat-header{flex:0 0 auto;}
.tutor-hist-toggle.active{background:rgba(0,0,0,.07);}
.tutor-wa-shell .wa-sender{color:#0B2545;}
.tutor-wa-shell .wa-bubble{max-width:min(78%, 640px);}
.tutor-wa-shell .wa-text{font-size:calc(14.5px * var(--fs,1)); line-height:1.5;}
.tutor-day{display:flex; justify-content:center; margin:10px 0 8px;}
.tutor-day span{background:rgba(255,255,255,.92); color:#54656f; font-size:calc(11.5px * var(--fs,1)); font-weight:600; padding:4px 11px; border-radius:8px; box-shadow:0 1px 1px rgba(0,0,0,.08);}
.tutor-typing{display:flex; align-items:center; gap:4px; padding:12px 14px !important;}
.tutor-typing span{width:7px; height:7px; border-radius:50%; background:#8696a0; animation:tutorDot 1.2s infinite ease-in-out;}
.tutor-typing span:nth-child(2){animation-delay:.2s;}
.tutor-typing span:nth-child(3){animation-delay:.4s;}
@keyframes tutorDot{0%,60%,100%{transform:translateY(0); opacity:.5;}30%{transform:translateY(-4px); opacity:1;}}
.tutor-welcome{display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; max-width:440px; margin:auto; padding:26px 16px; background:rgba(255,255,255,.88); border-radius:14px; box-shadow:0 1px 3px rgba(0,0,0,.08); color:#111b21;}
.tutor-welcome-mark{width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0B2545,#16407a); color:#F1D36B; font-weight:800; font-size:calc(17px * var(--fs,1));}
.tutor-welcome b{font-size:calc(16px * var(--fs,1));}
.tutor-welcome span{font-size:calc(13px * var(--fs,1)); color:#54656f; line-height:1.45;}
.tutor-ideas{display:flex; flex-direction:column; gap:7px; width:100%; margin-top:6px;}
.tutor-idea{border:1px solid #d8dadd; background:#fff; color:#0B2545; border-radius:999px; padding:9px 14px; font:inherit; font-size:calc(13px * var(--fs,1)); cursor:pointer; text-align:center;}
.tutor-idea:hover{border-color:#0B2545; background:#f5f8ff;}
.tutor-wa-shell .tutor-hist-head, .tutor-wa-shell .tutor-hist-foot{max-width:640px; margin-left:auto; margin-right:auto;}
.tutor-wa-shell .tutor-hist-head{background:rgba(255,255,255,.92); padding:9px 12px; border-radius:10px; color:#111b21; margin-bottom:12px;}
.tutor-wa-shell .tutor-hist-item{max-width:640px; margin-left:auto; margin-right:auto;}
.tutor-wa-shell .tutor-hist-open{background:#fff; color:#111b21;}
.tutor-wa-shell .tutor-hist-meta{color:#667781;}
.tutor-wa-shell .tutor-hist-del{background:#fff;}
.tutor-wa-shell .empty{background:rgba(255,255,255,.9); border-radius:12px; max-width:420px; margin:24px auto; padding:26px 18px; color:#54656f;}
.tutor-wa-shell .wa-composer-wrap{padding-bottom:max(8px, env(safe-area-inset-bottom));}
.tutor-fab-messages .wa-bubble{max-width:88%;}
.tutor-fab-messages .tutor-welcome{padding:18px 12px; background:transparent; box-shadow:none;}
.tutor-fab-messages .tutor-welcome-mark{width:44px; height:44px; font-size:calc(15px * var(--fs,1));}
body.theme-dark .tutor-day span{background:#1a2333; color:#9aa9bd;}
body.theme-dark .tutor-welcome, body.theme-dark .tutor-wa-shell .tutor-hist-head, body.theme-dark .tutor-wa-shell .empty{background:#141c29; color:#e8edf6;}
body.theme-dark .tutor-welcome span{color:#9aa9bd;}
body.theme-dark .tutor-idea, body.theme-dark .tutor-wa-shell .tutor-hist-open, body.theme-dark .tutor-wa-shell .tutor-hist-del{background:#141c29; color:#e8edf6; border-color:#273244;}
body.theme-dark .tutor-wa-shell .tutor-hist-meta{color:#9aa9bd;}
body.theme-dark .tutor-wa-shell .wa-chat-header{background:#0d1118; border-bottom-color:#273244;}
body.theme-dark .tutor-wa-shell .wa-chat-title b{color:#f3f6fb;}
body.theme-dark .tutor-wa-shell .wa-chat-title span, body.theme-dark .tutor-wa-shell .wa-header-btn{color:#9aa9bd;}
body.theme-dark .tutor-wa-shell .wa-sender{color:#6ee7a8;}
body.theme-dark .tutor-typing span{background:#9aa9bd;}
@media(max-width:700px){
body.tutor-route .content.tutor-page{padding:0 !important;}
body.tutor-route .tutor-page > .tutor-wa-shell{width:100%; max-width:none; border-radius:0; border-left:0; border-right:0; border-bottom:0;}
.tutor-wa-shell .wa-bubble{max-width:86%;}
}

.tutor-hbtn{display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 12px; border:0; border-radius:18px; background:rgba(11,37,69,.08); color:#0B2545; font:inherit; font-size:calc(13px * var(--fs,1)); font-weight:600; cursor:pointer; flex:0 0 auto;}
.tutor-hbtn:hover{background:rgba(11,37,69,.15);}
.tutor-hbtn-del{padding:0; width:36px; justify-content:center; color:#c0392b; background:rgba(192,57,43,.10);}
.tutor-hbtn-del:hover{background:rgba(192,57,43,.2);}
.tutor-wa-shell .wa-chat-header{gap:8px;}
.tutor-msg-del{display:inline-flex; align-items:center; vertical-align:middle; margin-right:6px; padding:2px; border:0; background:transparent; color:#8696a0; cursor:pointer; opacity:.7;}
.tutor-msg-del:hover{color:#c0392b; opacity:1;}
.tutor-hist-head{align-items:center !important;}
.tutor-hist-head > div{display:flex; flex-direction:column; gap:2px; min-width:0;}
.tutor-hist-clear{border:1px solid #c0392b; background:transparent; color:#c0392b; border-radius:999px; padding:6px 12px; font:inherit; font-size:calc(12.5px * var(--fs,1)); font-weight:600; cursor:pointer; flex:0 0 auto;}
.tutor-hist-clear:hover{background:rgba(192,57,43,.1);}
.tutor-fab-panel .tutor-hist-head{background:transparent; padding:0 2px;}
body.theme-dark .tutor-hbtn{background:rgba(255,255,255,.08); color:#e8edf6;}
body.theme-dark .tutor-hbtn-del{color:#ff9a8c; background:rgba(255,120,100,.12);}
body.theme-dark .tutor-hist-clear{color:#ff9a8c; border-color:#ff9a8c;}
@media(max-width:380px){ .tutor-hbtn:not(.tutor-hbtn-del) span{display:none;} .tutor-hbtn:not(.tutor-hbtn-del){padding:0; width:36px; justify-content:center;} }

.sp-hero{padding:0; overflow:hidden;}
.sp-hero-top{display:flex; gap:20px; align-items:center; padding:26px 24px 20px; background:linear-gradient(135deg,var(--forest-wash,#E6F2EC),transparent 70%);}
.sp-photo{position:relative; flex:none;}
.sp-cam{position:absolute; right:-2px; bottom:-2px; width:34px; height:34px; border-radius:50%; background:var(--forest); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; border:3px solid var(--paper-raised); box-shadow:0 1px 4px rgba(0,0,0,.2);}
.sp-id{min-width:0;}
.sp-name{font-size:calc(21px * var(--fs,1)); font-weight:800; letter-spacing:-.02em; color:var(--ink); word-break:break-word;}
.sp-sub{color:var(--text-soft); font-size:calc(14px * var(--fs,1)); margin-top:2px;}
.sp-badges{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
.sp-badge{display:inline-flex; align-items:center; gap:6px; font-size:calc(11.5px * var(--fs,1)); font-weight:700; padding:4px 10px; border-radius:999px; background:var(--paper); border:1px solid var(--border); color:var(--text);}
.sp-badge.role{background:var(--forest); border-color:var(--forest); color:#fff;}
.sp-badge i{width:7px; height:7px; border-radius:50%; background:var(--forest);}
.sp-badge.warn i{background:#C6971F;} .sp-badge.bad i{background:#C0392B;}
.sp-meta{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; padding:16px 24px; border-top:1px solid var(--border);}
.sp-meta span{display:block; font-size:calc(11px * var(--fs,1)); text-transform:uppercase; letter-spacing:.06em; color:var(--text-soft); font-weight:600;}
.sp-meta b{display:block; font-size:calc(14px * var(--fs,1)); margin-top:2px; word-break:break-word;}
.sp-prog{padding:14px 24px 20px; border-top:1px solid var(--border);}
.sp-prog-head{display:flex; justify-content:space-between; font-size:calc(13px * var(--fs,1)); font-weight:600; margin-bottom:8px;}
.sp-bar{height:8px; border-radius:999px; background:var(--border); overflow:hidden;}
.sp-bar div{height:100%; background:var(--forest); border-radius:999px; transition:width .4s;}
.sp-prog small{display:block; margin-top:8px; color:var(--text-soft); font-size:calc(12.5px * var(--fs,1));}
.sp-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;}
.sp-f input,.sp-f select,.sp-f textarea{width:100%; box-sizing:border-box;}
.sp-f textarea{resize:vertical; font:inherit; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--paper-raised); color:var(--text);}
.sp-req{color:#C0392B;}
@media(max-width:600px){.sp-grid{grid-template-columns:1fr;} .sp-hero-top{padding:20px 16px 16px; gap:14px;} .sp-meta,.sp-prog{padding-left:16px; padding-right:16px;} .profile-avatar-lg{width:76px; height:76px;}}

body .wa-chat-shell .wa-chat-messages{background-color:#efeae2; background-image:radial-gradient(rgba(110,95,70,.11) 1px,transparent 1.3px),radial-gradient(rgba(110,95,70,.07) 1px,transparent 1.3px); background-size:28px 28px,28px 28px; background-position:0 0,14px 14px; background-repeat:repeat; overflow-anchor:none; padding:8px 4% 14px;}
body .wa-chat-shell .wa-row{margin:8px 0 0; contain:layout style;}
body .wa-chat-shell .wa-row.wa-cont{margin-top:2px;}
body .wa-chat-shell .wa-bubble{border:0; border-radius:12px; padding:6px 10px 5px; font-size:calc(14.5px * var(--fs,1)); line-height:1.4; box-shadow:0 1px .5px rgba(11,20,26,.14);}
body .wa-chat-shell .wa-bubble-me{background:#d9fdd3;}
body .wa-chat-shell .wa-bubble-other{background:#fff;}
body .wa-chat-shell .wa-row:not(.wa-cont) .wa-bubble-me{border-top-right-radius:3px;}
body .wa-chat-shell .wa-row:not(.wa-cont) .wa-bubble-other{border-top-left-radius:3px;}
body .wa-chat-shell .wa-row:not(.wa-cont) .wa-bubble-me:after{display:block; right:-7px; border-color:transparent transparent transparent #d9fdd3;}
body .wa-chat-shell .wa-row:not(.wa-cont) .wa-bubble-other:before{display:block; left:-7px; border-color:#fff transparent transparent transparent;}
body .wa-chat-shell .wa-sender{font-weight:700; font-size:calc(12.5px * var(--fs,1)); margin-bottom:1px; letter-spacing:0;}
body .wa-chat-shell .wa-meta{color:#667781; font-size:calc(11px * var(--fs,1)); margin-top:4px; display:inline-flex; align-items:center; gap:3px;}
.wa-check svg,.wa-clock svg{width:15px; height:15px; vertical-align:-3px;}
.wa-clock{color:#8696a0; display:inline-flex;}
.wa-clock svg{width:12px; height:12px;}
.wa-day{display:flex; justify-content:center; margin:14px 0 6px; position:sticky; top:4px; z-index:3; pointer-events:none;}
.wa-day span{background:rgba(255,255,255,.95); color:#54656f; font-size:12px; font-weight:600; padding:4px 12px; border-radius:8px; box-shadow:0 1px .5px rgba(11,20,26,.14);}
.wa-more{display:flex; justify-content:center; margin:4px 0 8px;}
.wa-more button{border:0; background:#fff; color:#128c7e; font-size:12.5px; font-weight:700; padding:8px 14px; border-radius:999px; box-shadow:0 1px 2px rgba(0,0,0,.16); cursor:pointer;}
.wa-more button:disabled{opacity:.6;}
body .wa-chat-shell .wa-message-actions{display:none;}
body .wa-chat-shell .wa-row.wa-open .wa-message-actions{display:flex; animation:waIn .16s ease-out;}
@keyframes waIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
.wa-row.wa-in{animation:waIn .2s ease-out;}
.wa-chat-shell .wa-fab{position:absolute; right:14px; bottom:calc(var(--wa-comp,64px) + 14px); width:42px; height:42px; border-radius:50%; border:0; background:#fff; color:#54656f; box-shadow:0 2px 8px rgba(11,20,26,.28); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:35; touch-action:manipulation;}
.wa-chat-shell .wa-fab[hidden]{display:none !important;}
.wa-fab-n{position:absolute; top:-8px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:#25d366; color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; box-sizing:border-box;}
.wa-fab-n[hidden]{display:none;}
.wa-chat-shell button,.wa-chat-shell .wa-bubble{-webkit-tap-highlight-color:transparent;}
@media (prefers-reduced-motion:reduce){.wa-row.wa-in,body .wa-chat-shell .wa-row.wa-open .wa-message-actions{animation:none;}}
body.theme-dark .wa-chat-shell .wa-chat-messages{background-image:none;}
body.theme-dark .wa-day span{background:rgba(32,44,51,.95); color:#aebac1;}
body.theme-dark .wa-more button,body.theme-dark .wa-chat-shell .wa-fab{background:#202c33; color:#aebac1;}
body.theme-dark .wa-chat-shell .wa-sender{filter:brightness(1.7);}
body.theme-dark .wa-chat-shell .wa-row .wa-bubble-me:after,body.theme-dark .wa-chat-shell .wa-row .wa-bubble-other:before{display:none !important;}
.rc-ov{position:fixed; inset:0; z-index:2000; background:#f3f5f4; display:flex; flex-direction:column; color:#131B2B;}
.rc-bar{flex:0 0 auto; display:flex; align-items:center; gap:8px; padding:10px 12px; background:#0B2545; border-bottom:3px solid #C9A227;}
.rc-back{border:0; background:rgba(255,255,255,.14); color:#fff; font:600 14px/1 inherit; padding:10px 14px; border-radius:10px; cursor:pointer; display:inline-flex; align-items:center; gap:6px;}
.rc-bar b{color:#fff; font-size:15px; margin-left:4px;}
.rc-scroll{flex:1; overflow-y:auto; padding:18px 14px 28px; -webkit-overflow-scrolling:touch;}
.rc-paper{max-width:520px; margin:0 auto; background:#fff; border-radius:16px; box-shadow:0 8px 30px rgba(11,37,69,.12); overflow:hidden;}
.rc-head{background:#0B2545; color:#fff; padding:22px 22px 20px; display:flex; gap:14px; align-items:center; border-bottom:4px solid #C9A227;}
.rc-logo{width:48px; height:48px; border-radius:12px; background:#C9A227; color:#0B2545; font-weight:800; font-size:26px; display:flex; align-items:center; justify-content:center; flex:none;}
.rc-head b{display:block; font-size:19px; letter-spacing:.02em;}
.rc-head span{font-size:13px; opacity:.75;}
.rc-hero{text-align:center; padding:26px 20px 18px;}
.rc-ok{display:inline-flex; align-items:center; gap:7px; background:#E6F2EC; color:#1B6B4A; font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px;}
.rc-amt{font-size:38px; font-weight:800; letter-spacing:-.02em; margin:14px 0 4px;}
.rc-sub{color:#56617A; font-size:14px;}
.rc-rows{margin:6px 22px 0; padding:0;}
.rc-rows div{display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #E7EAF0; font-size:14.5px;}
.rc-rows dt{color:#56617A; flex:none;}
.rc-rows dd{margin:0; font-weight:700; text-align:right; word-break:break-all;}
.rc-foot{text-align:center; color:#56617A; font-size:13px; padding:20px 22px 24px; line-height:1.5;}
.rc-sign{text-align:center; padding:0 22px 26px;}
.rc-sig{font-family:"Snell Roundhand","Segoe Script","Brush Script MT","Lucida Handwriting",cursive; font-style:italic; font-weight:700; font-size:34px; color:#0B2545; line-height:1.2;}
.rc-sigline{width:60%; max-width:240px; height:2px; background:#C9A227; margin:4px auto 6px;}
.rc-siglbl{font-size:11.5px; font-weight:600; color:#56617A;}
.rc-actions{max-width:520px; margin:16px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
.rc-actions button{border:0; border-radius:12px; padding:14px 8px; font:700 14px/1.2 inherit; cursor:pointer; background:#fff; color:#0B2545; box-shadow:0 1px 4px rgba(11,37,69,.14);}
.rc-actions button.rc-main{background:#1B6B4A; color:#fff;}
@media print{body > *:not(.rc-ov){display:none !important;} .rc-ov{position:static; background:#fff;} .rc-bar,.rc-actions{display:none !important;} .rc-paper{box-shadow:none;}}

.cbt-modes{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 14px;}
.cbt-mode-btn{border:1.5px solid var(--border); background:var(--paper-raised); color:var(--text); border-radius:14px; padding:13px 14px; text-align:left; cursor:pointer; display:flex; flex-direction:column; gap:3px; font:inherit; touch-action:manipulation;}
.cbt-mode-btn b{font-size:calc(15px * var(--fs,1));}
.cbt-mode-btn span{font-size:calc(12px * var(--fs,1)); color:var(--text-soft);}
.cbt-mode-btn.on{border-color:var(--amber); box-shadow:0 0 0 2px rgba(201,162,39,.28);}
.utme-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.utme-chip{border:1.5px solid var(--border); background:var(--paper-raised); color:var(--text); border-radius:12px; padding:9px 12px; font:inherit; cursor:pointer; display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; text-align:left; touch-action:manipulation;}
.utme-chip b{font-size:calc(13.5px * var(--fs,1)); font-weight:700;}
.utme-chip i{font-style:normal; font-size:calc(11px * var(--fs,1)); color:var(--text-soft);}
.utme-chip.on{border-color:var(--forest); background:rgba(15,110,79,.14);}
.utme-chip.lock{cursor:default;}
.utme-chip:disabled{opacity:.45; cursor:not-allowed;}
.cbt-chip.utme-on{border-color:var(--amber); box-shadow:0 0 0 2px rgba(201,162,39,.28);}
.utme-plan{margin:16px 0; border:1px solid var(--border); border-radius:12px; padding:4px 14px;}
.utme-row{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); font-size:calc(14px * var(--fs,1));}
.utme-row:last-child{border-bottom:0;}
.utme-row small{font-weight:500; color:var(--text-soft);}
.utme-total{font-weight:700;}
.utme-tabs{display:flex; gap:8px; overflow-x:auto; padding:2px 2px 10px; margin-bottom:6px; -webkit-overflow-scrolling:touch;}
.utme-tab{flex:0 0 auto; border:1.5px solid var(--border); background:var(--paper-raised); color:var(--text); border-radius:12px; padding:8px 12px; cursor:pointer; display:flex; flex-direction:column; gap:1px; min-width:96px; touch-action:manipulation;}
.utme-tab b{font-size:calc(12.5px * var(--fs,1));}
.utme-tab span{font-size:calc(11px * var(--fs,1)); color:var(--text-soft);}
.utme-tab.cur{border-color:var(--amber); box-shadow:0 0 0 2px rgba(201,162,39,.28);}
.utme-tab.done span{color:var(--forest); font-weight:700;}
.utme-pal-h{font-size:calc(12px * var(--fs,1)); font-weight:700; margin:12px 0 6px; display:flex; justify-content:space-between; gap:8px; color:var(--text);}
.utme-pal-h span{color:var(--text-soft); font-weight:600;}
.utme-score{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:0 0 16px;}
.utme-score div{border:1px solid var(--border); background:var(--paper-raised); border-radius:12px; padding:12px 14px;}
.utme-score b{display:block; font-size:calc(20px * var(--fs,1));}
.utme-score span{font-size:calc(12px * var(--fs,1)); color:var(--text-soft);}
.utme-score i{display:block; height:6px; border-radius:999px; background:var(--border); margin-top:8px; overflow:hidden;}
.utme-score i u{display:block; height:100%; background:var(--forest); text-decoration:none;}

button,a,[data-nav],[data-action],.btn,.db-quick-tile,.db-game{-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
@media (prefers-reduced-motion:no-preference){
.btn,.db-quick-tile,.db-game,.db-attempt,.dashboard-notice{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;}
.btn:active,.db-quick-tile:active,.db-game:active,.db-attempt:active,.dashboard-notice:active{transform:scale(.97);}
#app.route-in > *{animation:edalenRouteIn .18s ease-out both;}
@keyframes edalenRouteIn{from{opacity:0}to{opacity:1}}
}

body.theme-dark .cbt-setup .utme-chip.on,
body.theme-dark .cbt-setup .utme-chip[aria-pressed="true"]{
background:linear-gradient(135deg,#17D494 0%,#0B9F78 55%,#067A63 100%) !important;
border-color:#9DFBD9 !important; color:#fff !important;
box-shadow:0 0 0 3px rgba(34,230,160,.35),0 12px 24px -12px rgba(23,212,148,.95) !important;
}
body.theme-dark .cbt-setup .utme-chip.on b,
body.theme-dark .cbt-setup .utme-chip.on i{color:#fff !important}
body.theme-dark .cbt-setup .utme-chip.on .utme-tick{
transform:translateY(-50%) scale(1) !important; background:#fff !important; color:#067A63 !important; border-color:#fff !important;
box-shadow:0 2px 8px rgba(0,0,0,.35);
}
body.theme-dark .cbt-setup .utme-seg-btn.on,
body.theme-dark .cbt-setup .cbt-mode-btn.on,
body.theme-dark .cbt-setup .utme-size.on,
body.theme-dark .cbt-setup .cbt-chip.on{
background:linear-gradient(180deg,#FFE9A3 0%,#F2C94C 55%,#D9A21F 100%) !important;
border-color:#FFF1BE !important; color:#0B2545 !important;
box-shadow:0 0 0 3px rgba(255,210,94,.38),0 12px 24px -12px rgba(242,201,76,.95) !important;
}
body.theme-dark .cbt-setup .cbt-mode-btn.on b,
body.theme-dark .cbt-setup .cbt-mode-btn.on span,
body.theme-dark .cbt-setup .utme-size.on b,
body.theme-dark .cbt-setup .utme-size.on span,
body.theme-dark .cbt-setup .utme-size.on em,
body.theme-dark .cbt-setup .cbt-chip.on b,
body.theme-dark .cbt-setup .cbt-chip.on span{color:#0B2545 !important}
body.theme-dark .cbt-setup .utme-chip:not(:disabled):not(.lock):active,
body.theme-dark .cbt-setup .utme-seg-btn:active,
body.theme-dark .cbt-setup .utme-size:active,
body.theme-dark .cbt-setup .cbt-mode-btn:active,
body.theme-dark .cbt-setup .cbt-chip:active{
transform:scale(.94) !important; background:#FFD25E !important; border-color:#FFF1BE !important; color:#0B2545 !important;
}
body.theme-dark .cbt-setup .utme-chip:active i,body.theme-dark .cbt-setup .utme-chip:active b{color:#0B2545 !important}

html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
svg{shape-rendering:geometricPrecision}
img{image-rendering:-webkit-optimize-contrast}
a,button,[data-action],[data-nav],[role="button"],label,select,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn,.bn-item,.sl-item,.db-btn,.cbt-start{transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease,opacity .15s ease}
.btn:active,.bn-item:active{transform:scale(.97)}
.route-in,#app.route-in{animation-duration:.14s !important}
.content,.main,#app{-webkit-overflow-scrolling:touch}
.card,.panel{backface-visibility:hidden}
.reload-fab{will-change:transform;transition:transform .1s ease,opacity .15s ease}
.reload-fab.spinning svg{animation-duration:.55s !important}
.reload-fab:disabled{opacity:1 !important}

.rn-wrap{position:relative;max-width:420px;margin:0 auto 12px;border-radius:16px;overflow:hidden;touch-action:none;background:#150c3a;box-shadow:0 14px 30px -16px rgba(0,0,0,.65);user-select:none;-webkit-user-select:none}
.rn-cv{display:block;width:100%;height:auto;touch-action:none}
.rn-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(10,8,30,.55);color:#fff;text-align:center;cursor:pointer;padding:20px}
.rn-start b{font-size:24px;color:#FFD25E}.rn-start span{font-size:13px;opacity:.92}
.rn-ctl{max-width:420px;margin:0 auto}.rn-ctl .btn{flex:1;font-size:16px;padding:14px}
.tq-lab{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text-soft);margin:12px 0 6px}
.tq-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.tq-chip{padding:9px 15px;border-radius:999px;border:1.5px solid var(--border);background:var(--paper);cursor:pointer;font-weight:700;font-size:13px;color:var(--text);user-select:none;transition:transform .12s,background .15s,box-shadow .15s}
.tq-chip:active{transform:scale(.94)}
.tq-chip.on,body.theme-dark .gm .tq-chip.on{background:linear-gradient(135deg,#17D494,#067A63)!important;border-color:#9DFBD9!important;color:#fff!important;box-shadow:0 0 0 3px rgba(34,230,160,.3),0 10px 20px -10px rgba(23,212,148,.9)}
.tq-msg{text-align:center;margin-top:10px}
.sq-terms{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 10px}
.sq-t{min-width:46px;padding:12px 10px;border-radius:12px;background:var(--paper);border:1.5px solid var(--border);font:800 20px var(--mono);text-align:center;color:var(--text)}
.sq-t.q{background:linear-gradient(135deg,#FFE9A3,#D9A21F);color:#0B2545;border-color:#FFF1BE}
.sq-rule{min-height:20px;text-align:center;margin-bottom:10px}
.sd{display:grid;grid-template-columns:repeat(9,1fr);width:100%;max-width:400px;margin:0 auto 12px;border:2.5px solid var(--text);border-radius:10px;overflow:hidden;background:var(--paper)}
.sd-wait{aspect-ratio:1;background:repeating-linear-gradient(45deg,var(--border),var(--border) 10px,transparent 10px,transparent 20px);opacity:.5}
.sd-c{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:700 calc(20px * var(--fs,1)) var(--sans);border:1px solid var(--border);cursor:pointer;user-select:none;color:#2563eb;transition:background .12s}
.sd-c.g{color:var(--text);font-weight:800;background:rgba(127,127,127,.09)}
.sd-c:nth-child(9n+3),.sd-c:nth-child(9n+6){border-right:2.5px solid var(--text)}
.sd-c:nth-child(n+19):nth-child(-n+27),.sd-c:nth-child(n+46):nth-child(-n+54){border-bottom:2.5px solid var(--text)}
.sd-c.rel{background:rgba(99,102,241,.13)}.sd-c.same{background:rgba(245,194,66,.4)}
.sd-c.sel{background:rgba(255,210,94,.7);box-shadow:inset 0 0 0 2px #D9A21F}
.sd-c.err{color:#ef4444;background:rgba(239,68,68,.18)}
.sd-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;max-width:400px;margin:0 auto 10px}
.sd-n{aspect-ratio:.82;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid var(--border);background:var(--paper);color:var(--text);font:800 calc(19px * var(--fs,1)) var(--sans);cursor:pointer;user-select:none;transition:transform .1s,background .15s}
.sd-n:active{transform:scale(.92);background:#FFD25E;color:#0B2545}.sd-n.done{opacity:.28;pointer-events:none}
@media(max-width:420px){.sd-c{font-size:calc(17px * var(--fs,1))}}
body.theme-dark .gm .gm-opt.ok{background:#12b573!important;border-color:#8CF5C2!important;color:#fff!important}
body.theme-dark .gm .gm-opt.no{background:#e0453a!important;border-color:#ffb3ad!important;color:#fff!important}
body.theme-dark .gm .gm-k.g{background:#12b573!important;color:#fff!important}
body.theme-dark .gm .gm-k.y{background:#E7B64B!important;color:#172033!important}
body.theme-dark .gm .gm-k.x{background:#3b4a63!important;color:#fff!important}
body.theme-dark .gm-dc[data-dept=art]{background:linear-gradient(135deg,#AE3226,#7d2219)!important;border-color:transparent!important}
body.theme-dark .gm-dc[data-dept=sci]{background:linear-gradient(135deg,#0F6E4F,#0B5A40)!important;border-color:transparent!important}
body.theme-dark .gm-dc[data-dept=com]{background:linear-gradient(135deg,#C6971F,#8a6a12)!important;border-color:transparent!important}
body.theme-dark .gm-dc,body.theme-dark .gm-dc *{color:#fff!important}

.gm-switch{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.gm-switch .gm-chip{padding:9px 15px;font-size:13px;cursor:pointer;transition:transform .12s,box-shadow .15s}
.gm-switch .gm-chip:active{transform:scale(.94)}
.gm-switch .gm-chip.on,body.theme-dark .gm-switch .gm-chip.on{background:linear-gradient(135deg,#FFE9A3,#D9A21F)!important;border-color:#FFF1BE!important;color:#0B2545!important;box-shadow:0 0 0 3px rgba(255,210,94,.32),0 8px 18px -10px rgba(242,201,76,.95)}
body.theme-dark .gm-switch .gm-chip:not(.on){color:#e8eef9}

.pq-pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0;position:sticky;top:0;z-index:5;padding:8px;border-radius:12px;background:var(--paper-raised,var(--paper));border:1px solid var(--border)}
.pq-pager-info{font-size:12.5px;font-weight:700;color:var(--text-soft);padding:0 6px;text-align:center}
.pq-pager .btn[disabled]{opacity:.35}

@media (max-width:880px){
.ed-confirm,.db-btn-line,.db-kpi,.side-foot,.topbar,.pubnav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.ed-confirm{background:rgba(8,16,32,.78)!important}
.bp-flame{filter:none!important}
.bp-habit .bp-count{animation:none!important}
.bp-spark{display:none!important}
}
@media (prefers-reduced-motion:reduce){
.x3-skel,.bk-skel,.bp-skel,.bp-flame,.bp-spark,.bp-habit .bp-count,.top-status-btn.has-new,.st-fab-dot{animation:none!important}
}

.sub-state{display:flex; align-items:center; gap:12px; padding:14px 16px; margin:0 0 16px; border-radius:14px; background:var(--forest-wash); border:1px solid rgba(15,110,79,.28);}
.sub-state p{margin:0; font-size:calc(14px * var(--fs,1)); line-height:1.5; color:var(--text);}
.sub-state-ico{flex:0 0 auto; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--forest); color:#fff; font-weight:800; font-size:calc(16px * var(--fs,1));}
.sub-state.warn{background:var(--amber-wash); border-color:rgba(198,151,31,.45);}
.sub-state.warn .sub-state-ico{background:var(--amber); color:#14213D;}
.pay-box{position:relative; overflow:hidden; padding:24px 18px 18px; border-radius:18px; box-shadow:0 8px 24px rgba(10,35,66,.08);}
.pay-box::before{content:""; position:absolute; left:0; right:0; top:0; height:5px; background:linear-gradient(90deg,var(--amber),#E8C766,var(--amber-deep));}
.pay-box-title{font-size:calc(18px * var(--fs,1)); font-weight:800; letter-spacing:-.01em; color:var(--ink);}
.pay-sub{margin:6px 0 16px;}
.pay-chips{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px;}
.pay-chip{grid-column:span 2; text-align:center; padding:13px 6px; border-radius:14px; font-weight:700; transition:transform .12s ease, box-shadow .12s ease;}
.pay-chip:nth-child(n+4){grid-column:span 3;}
.pay-chip:active{transform:scale(.97);}
.pay-chip.on{box-shadow:0 5px 14px rgba(198,151,31,.38);}
.pay-stepper{justify-content:space-between; margin:14px 0 0; padding:6px; border:1px solid var(--border); border-radius:14px;}
.pay-count{flex:1; min-width:0;}
.pay-summary{gap:0; padding:4px 16px 6px; margin:16px 0; border-radius:14px; border:1px dashed var(--border-strong);}
.pay-summary .pay-row{padding:10px 0; border-bottom:1px solid var(--border); align-items:baseline;}
.pay-summary .pay-row > span:first-child{color:var(--text-soft);}
.pay-summary .pay-row > span:last-child{font-weight:700; text-align:right;}
.pay-summary .pay-total{border-bottom:0; border-top:2px solid var(--amber); padding:14px 0 10px; margin-top:2px;}
.pay-summary .pay-total > span:first-child{color:var(--ink); font-weight:800;}
.pay-summary .pay-total > span:last-child{font-size:calc(24px * var(--fs,1)); font-weight:800; color:var(--ink); letter-spacing:-.02em;}
.pay-btn{padding:16px 18px; font-size:calc(17px * var(--fs,1)); font-weight:800; border-radius:14px; box-shadow:0 8px 18px rgba(10,35,66,.22);}
.pay-note{margin-top:12px; line-height:1.5;}
.pay-note::before{content:"\1F512\00a0";}
.pay-or{display:flex; align-items:center; gap:12px; margin:22px 0 14px; color:var(--text-soft); font-size:calc(13px * var(--fs,1)); font-weight:600;}
.pay-or::before,.pay-or::after{content:""; flex:1; height:1px; background:var(--border-strong);}
.pay-or + form[data-action="redeem-renewal"]{padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--paper);}
.pay-or + form[data-action="redeem-renewal"] label{font-weight:700;}
.pay-or + form[data-action="redeem-renewal"] .field{margin-bottom:12px;}
.pay-or + form[data-action="redeem-renewal"] .btn{width:100%; justify-content:center;}
body.theme-dark .pay-box{box-shadow:0 8px 24px rgba(0,0,0,.35);}
body.theme-dark .pay-stepper{border-color:#273244;}
body.theme-dark .pay-summary{border-color:#40516a;}
body.theme-dark .pay-summary .pay-row{border-bottom-color:#273244;}
body.theme-dark .pay-summary .pay-total{border-top-color:#d9a441;}
body.theme-dark .pay-summary .pay-row > span:first-child{color:#9aa7bd;}
body.theme-dark .pay-summary .pay-total > span{color:#f3f6fb !important;}
body.theme-dark .pay-box-title{color:#f3f6fb;}
body.theme-dark .sub-state{background:rgba(52,168,107,.12); border-color:rgba(52,168,107,.35);}
body.theme-dark .sub-state.warn{background:#1a1608; border-color:#d9a441;}
body.theme-dark .pay-or + form[data-action="redeem-renewal"]{background:#0d1118; border-color:#273244;}

.uni-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-radius:12px;background:linear-gradient(115deg,#102e50,#145b4b);color:#fff;margin-bottom:16px}.uni-hero b{font-size:calc(19px * var(--fs,1))}.uni-hero p{color:#d8e5ec;margin-top:5px;font-size:calc(13px * var(--fs,1))}.uni-hero>span{font-size:38px}.uni-filters{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(140px,.8fr) minmax(150px,.8fr) minmax(170px,.9fr) auto;gap:10px;align-items:center;margin-bottom:16px;padding:14px}.uni-filters input,.uni-filters select,.uni-admin input,.uni-admin select,.uni-admin textarea,#uniAddForm input,#uniAddForm select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--paper-raised);color:var(--text)}.uni-result-count{font-size:12px;color:var(--text-soft);white-space:nowrap}.uni-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.uni-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--paper-raised);min-width:0;transition:border-color .15s,transform .15s}.uni-card:hover{border-color:var(--forest);transform:translateY(-1px)}.uni-card>div{min-width:0}.uni-card b{display:block;font-size:calc(13.5px * var(--fs,1));line-height:1.4;color:var(--ink);overflow-wrap:anywhere;padding-right:8px}.uni-card span:not(.uni-mark):not(.uni-arrow){display:block;font-size:12px;color:var(--text-soft);margin-top:5px}.uni-card small{display:block;color:var(--forest);font-size:11px;margin-top:4px}.uni-mark{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--forest-wash);font-size:20px}.uni-arrow{margin-left:auto;color:var(--text-soft)}.uni-detail-top{display:flex;align-items:center;gap:14px}.uni-detail-top h2{font-size:calc(22px * var(--fs,1));overflow-wrap:anywhere}.uni-detail-top p{color:var(--text-soft);margin-top:4px}.uni-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.uni-info-grid>div{padding:14px;border:1px solid var(--border);border-radius:10px;min-width:0}.uni-info-grid small{display:block;color:var(--text-soft);margin-bottom:6px}.uni-info-grid a{color:var(--forest);overflow-wrap:anywhere}.uni-doc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.uni-doc:last-child{border-bottom:0}.uni-doc b,.uni-doc small{display:block;overflow-wrap:anywhere}.uni-doc small{color:var(--text-soft);font-size:12px;margin-top:4px}.uni-admin{margin-top:24px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--paper)}.uni-admin summary{font-weight:700;cursor:pointer;color:var(--ink);margin-bottom:14px}.uni-admin label,#uniAddForm label{display:block;font-size:12px;font-weight:700;color:var(--text-soft);margin:12px 0 5px}.uni-admin textarea{resize:vertical}.uni-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uni-admin hr{border:0;border-top:1px solid var(--border);margin:18px 0}.uni-admin .field-hint{margin:8px 0 12px}
@media(max-width:900px){.uni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uni-filters{grid-template-columns:1fr 1fr}.uni-result-count{grid-column:1/-1}}
@media(max-width:520px){.uni-grid{grid-template-columns:1fr}.uni-filters{grid-template-columns:1fr}.uni-info-grid,.uni-form-row{grid-template-columns:1fr}.uni-hero{padding:18px}.uni-card{padding:13px}.uni-doc{align-items:flex-start;flex-direction:column}.uni-doc .btn{white-space:normal}}
.uni-ai-box{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--paper-raised);margin:0 0 14px}
.uni-ai-box>b{display:block;font-size:calc(15px * var(--fs,1));margin-bottom:4px}
.uni-ai-box p{margin:0 0 10px;color:var(--text-soft);font-size:calc(13px * var(--fs,1));line-height:1.55}
.uni-btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;align-items:center}
.uni-stat{margin-top:12px;padding:10px 12px;border-radius:10px;font-size:calc(13px * var(--fs,1));line-height:1.55;background:var(--forest-wash);color:var(--text);white-space:pre-wrap}
.uni-stat[data-kind="err"]{background:rgba(174,50,38,.16)}
.uni-stat[data-kind="busy"]{background:var(--amber-wash)}
.uni-stat:empty{display:none}
.uni-aibadge{margin:16px 0 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.uni-sec{margin-top:20px}
.uni-sec h3{margin:0 0 8px}
.uni-chips{display:flex;gap:6px;flex-wrap:wrap}
.uni-chips span{padding:4px 11px;border-radius:999px;background:var(--forest-wash);font-size:calc(12.5px * var(--fs,1))}
.uq-ov{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:14px}
.uq-box{width:100%;max-width:580px;max-height:92vh;overflow:auto;background:var(--paper-raised);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:18px}
.uq-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.uq-x{border:0;background:transparent;color:var(--text-soft);font-size:18px;cursor:pointer;padding:4px 8px}
.uq-prog{height:5px;border-radius:5px;background:var(--forest-wash);overflow:hidden;margin-bottom:8px}
.uq-prog i{display:block;height:100%;background:#D9A441;transition:width .3s ease}
.uq-count{color:var(--text-soft)}
.uq-q{font-weight:650;line-height:1.55;margin:8px 0 14px;white-space:pre-wrap}
.uq-opt{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:12px 14px;margin:0 0 8px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font:inherit;line-height:1.45;cursor:pointer}
.uq-opt span{flex:0 0 auto;font-weight:700;color:var(--text-soft)}
.uq-opt:not([disabled]):hover{border-color:#D9A441}
.uq-opt.ok{border-color:#22c55e;background:rgba(34,197,94,.16)}
.uq-opt.bad{border-color:#ef4444;background:rgba(239,68,68,.16)}
.uq-exp{margin-top:12px}
.uq-exp p{color:var(--text-soft);margin:6px 0 12px;line-height:1.55}
.uq-end{text-align:center;padding:18px 0}
.uq-score{font-size:42px;font-weight:800;color:#D9A441}

.u2-toolbar{display:grid;gap:10px;margin-bottom:12px}
.u2-search{position:relative}
.u2-search:before{content:"⌕";position:absolute;left:15px;top:50%;transform:translateY(-54%);font-size:20px;color:var(--text-soft);pointer-events:none}
.u2-search input{width:100%;min-width:0;padding:13px 14px 13px 42px;border:1px solid var(--border-strong);border-radius:12px;background:var(--paper-raised);color:var(--text);font-size:calc(15px * var(--fs,1))}
.u2-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:center}
.u2-filters select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--paper-raised);color:var(--text)}
.u2-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;margin-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.u2-tabs::-webkit-scrollbar{display:none}
.u2-tab{flex:0 0 auto;display:inline-flex;gap:7px;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--paper-raised);color:var(--text);font:inherit;font-size:calc(13px * var(--fs,1));font-weight:600;cursor:pointer;white-space:nowrap}
.u2-tab b{font-weight:700;font-size:12px;color:var(--text-soft)}
.u2-tab:hover{border-color:var(--forest)}
.u2-tab.on{background:var(--forest);border-color:var(--forest);color:#fff}
.u2-tab.on b{color:rgba(255,255,255,.82)}
.u2-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 2px 12px;color:var(--text-soft);font-size:calc(13px * var(--fs,1))}
.uni-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.u2-tile{position:relative;display:flex;min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--paper-raised);transition:border-color .15s,transform .15s}
.u2-tile:hover{border-color:var(--forest);transform:translateY(-1px)}
.u2-main{flex:1;min-width:0;display:flex;gap:12px;align-items:flex-start;padding:14px 46px 14px 14px;color:inherit;text-decoration:none;cursor:pointer}
.u2-main>div{min-width:0}
.u2-main b{display:block;font-size:calc(14px * var(--fs,1));line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
.u2-loc{display:block;margin-top:3px;font-size:calc(12px * var(--fs,1));color:var(--text-soft)}
.u2-mono{flex:0 0 44px;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:.02em;color:#fff;background:#0E7A56}
.u2-mono.st{background:#B7791F}.u2-mono.pv{background:#4B6FA5}
.u2-mono.lg{width:68px;height:68px;flex-basis:68px;border-radius:18px;font-size:23px}
.u2-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.u2-tag{font-style:normal;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--forest-wash);color:var(--text)}
.u2-tag.res{background:var(--amber-wash)}
.u2-save{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:var(--text-soft);font-size:19px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.u2-save:hover{background:var(--forest-wash)}
.u2-save.on{color:#E7B64B}
.u2-save.big{position:static;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--border);font-size:21px}
.u2-more{display:flex;flex-direction:column;align-items:center;gap:8px;margin:20px 0 6px;color:var(--text-soft);font-size:calc(13px * var(--fs,1))}
.u2-empty{text-align:center;padding:34px 14px}
.u2-empty p{color:var(--text-soft);margin:6px 0 14px}
.u2-help{margin-top:22px;padding:20px}
.u2-help h3{margin:0 0 4px;font-size:calc(16px * var(--fs,1));color:var(--ink)}
.u2-help>p{margin:0 0 14px;color:var(--text-soft);font-size:calc(13px * var(--fs,1));line-height:1.55}
.u2-ai-row{display:flex;gap:8px;flex-wrap:wrap}
.u2-ai-row input{flex:1;min-width:180px;padding:12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--paper);color:var(--text)}
.u2-ai-out{margin-top:12px;white-space:pre-wrap;line-height:1.6}
.u2-ai-out:empty{display:none}
.u2-reg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.u2-reg a{display:block;padding:12px 14px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--paper)}
.u2-reg a b{display:block;color:var(--ink)}
.u2-reg a small{display:block;margin-top:3px;color:var(--text-soft)}
.u2-admin{margin-top:22px}
.u2-addbox{margin-top:18px;padding-top:6px;border-top:1px solid var(--border)}
.u2-back{margin-bottom:12px}
.u2-prof{padding:22px;margin-bottom:16px}
.u2-prof-top{display:flex;gap:16px;align-items:center}
.u2-prof-top>div{min-width:0;flex:1}
.u2-prof-top h1{margin:2px 0 9px;font-size:calc(24px * var(--fs,1));line-height:1.25;overflow-wrap:anywhere}
.u2-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.u2-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.u2-facts>div{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--paper)}
.u2-facts small{display:block;margin-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft)}
.u2-facts span{font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.u2-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.u2-col{display:grid;gap:16px;min-width:0}
.u2-card{padding:20px}
.u2-h{margin:0 0 12px;font-size:calc(16px * var(--fs,1));color:var(--ink)}
.u2-p{margin:0;white-space:pre-wrap;line-height:1.7;color:var(--text-soft)}
.u2-p+.u2-sub{margin-top:18px}
.u2-sub{margin:0 0 6px;font-size:calc(13px * var(--fs,1));text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft)}
.u2-extras .uni-sec{margin-top:0;padding-top:18px;margin-bottom:0;border-top:1px solid var(--border)}
.u2-extras .uni-sec:first-child,.u2-extras .uni-aibadge+.uni-sec{border-top:0;padding-top:6px}
.u2-extras .uni-sec h3{font-size:calc(14px * var(--fs,1));color:var(--ink)}
.u2-extras .uni-aibadge{margin:0 0 8px}
.u2-extras .uni-info-grid{margin-top:10px;gap:10px}
.u2-extras .uni-info-grid>div{background:var(--paper)}
.u2-grp+.u2-grp{margin-top:18px}
.u2-grp-h{display:flex;justify-content:space-between;align-items:center;margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--border);font-weight:700;color:var(--ink);font-size:calc(13.5px * var(--fs,1))}
.u2-grp-h span{font-weight:600;font-size:12px;color:var(--text-soft)}
.u2-links{display:grid;gap:8px}
.u2-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:var(--paper);overflow-wrap:anywhere}
.u2-links a:hover{border-color:var(--forest)}
.u2-links small{display:block;color:var(--text-soft);font-size:11.5px}
.u2-rel{display:grid;gap:2px}
.u2-rel a{display:block;padding:10px 4px;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer}
.u2-rel a:last-child{border-bottom:0}
.u2-rel a small{display:block;color:var(--text-soft);font-size:11.5px;margin-top:2px}
.u2-adminhead{margin:26px 0 -10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-soft)}
@media(max-width:900px){.u2-layout{grid-template-columns:1fr}.u2-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.u2-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.u2-filters .btn{grid-column:1/-1}}
@media(max-width:520px){.u2-prof{padding:16px}.u2-prof-top{flex-wrap:wrap}.u2-prof-top h1{font-size:calc(21px * var(--fs,1))}.u2-mono.lg{width:56px;height:56px;flex-basis:56px;font-size:19px}.u2-reg{grid-template-columns:1fr}.u2-filters{grid-template-columns:1fr}.u2-actions .btn{flex:1 1 100%;justify-content:center}.u2-card{padding:16px}}
.u2-mono.sm{flex-basis:36px;width:36px;height:36px;border-radius:10px;font-size:13px}
.u2-tag.pick{background:var(--amber-wash);color:var(--text)}
.u2-tag.ok{background:rgba(34,197,94,.18);color:var(--text)}
.u2-tag.warn{background:rgba(239,68,68,.16);color:var(--text)}
.u2-wiz{max-width:680px;margin:0 auto;padding:22px}
.u2-wiz-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.u2-step{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.u2-wiz-bar{height:5px;border-radius:5px;background:var(--forest-wash);overflow:hidden;margin-bottom:20px}
.u2-wiz-bar i{display:block;height:100%;background:#D9A441;transition:width .3s}
.u2-wiz h2{margin:0 0 6px;font-size:calc(21px * var(--fs,1));color:var(--ink)}
.u2-lead{margin:0 0 16px;color:var(--text-soft);line-height:1.6}
.u2-chosen{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;min-height:34px}
.u2-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 8px 7px 12px;border-radius:999px;background:var(--forest-wash);color:var(--text);font-size:calc(13px * var(--fs,1))}
.u2-chip b{color:#E7B64B}
.u2-chip button{border:0;background:transparent;color:var(--text-soft);cursor:pointer;font-size:13px;padding:2px 6px}
.u2-hint{margin:6px 2px;color:var(--text-soft);font-size:calc(13px * var(--fs,1))}
.u2-results{display:grid;gap:8px;margin-top:10px}
.u2-pick{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--text);font:inherit;cursor:pointer}
.u2-pick:hover{border-color:var(--forest)}
.u2-pick>span:nth-child(2){flex:1;min-width:0}
.u2-pick b{display:block;color:var(--ink);font-size:calc(13.5px * var(--fs,1));overflow-wrap:anywhere}
.u2-pick small{display:block;color:var(--text-soft);font-size:11.5px;margin-top:2px}
.u2-pick i{font-style:normal;font-weight:700;font-size:12px;color:var(--forest)}
.u2-wiz-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px;flex-wrap:wrap}
.u2-lab{display:block;margin:16px 0 7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft)}
.u2-in{width:100%;min-width:0;padding:12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--paper);color:var(--text);font:inherit}
.u2-stages{display:flex;gap:8px;flex-wrap:wrap}
.u2-stage{padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--paper);color:var(--text);font:inherit;font-size:calc(13px * var(--fs,1));cursor:pointer}
.u2-stage.on{background:var(--forest);border-color:var(--forest);color:#fff}
.u2-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.u2-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:14px;flex-wrap:wrap}
.u2-banner b{color:var(--ink)}
.u2-banner p{margin:4px 0 0;color:var(--text-soft);font-size:calc(13px * var(--fs,1));line-height:1.5;max-width:520px}
.u2-dash{padding:20px;margin-bottom:16px}
.u2-dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.u2-dash-head h2{margin:2px 0 8px;font-size:calc(20px * var(--fs,1));color:var(--ink)}
.u2-dash-head .u2-tags{margin-top:0}
.u2-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.u2-choice{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:inherit;text-decoration:none;cursor:pointer;min-width:0}
.u2-choice:hover{border-color:var(--forest)}
.u2-choice>div{min-width:0}
.u2-choice b{display:block;color:var(--ink);overflow-wrap:anywhere;font-size:calc(14px * var(--fs,1))}
.u2-choice small{display:block;color:var(--text-soft);margin-top:3px;font-size:12px}
.u2-rank{flex:0 0 auto;align-self:flex-start;padding:4px 9px;border-radius:8px;background:#D9A441;color:#1b1405;font-weight:800;font-size:12px}
.u2-next{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.u2-next b{color:var(--ink)}
.u2-next ul{margin:8px 0 0;padding-left:18px;color:var(--text-soft);line-height:1.7;font-size:calc(13.5px * var(--fs,1))}
.u2-note{margin:12px 0 0;color:var(--text-soft);font-size:12px}
.u2-auto{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--paper-raised);cursor:pointer}
.u2-auto input{width:auto!important;margin-top:3px}
.u2-auto b{display:block;color:var(--ink)}
.u2-auto small{display:block;color:var(--text-soft);margin-top:3px;line-height:1.5}
@media(max-width:520px){.u2-wiz{padding:16px}.u2-two{grid-template-columns:1fr}.u2-dash{padding:16px}.u2-dash-head{flex-wrap:wrap}}

.u2-cb{position:relative;scroll-margin-top:96px}
#uwCb{scroll-margin-top:96px}
.u2-cb .u2-in{padding-right:50px}
.u2-cb-btn{position:absolute;right:5px;top:5px;width:40px;height:40px;border:0;background:transparent;color:var(--text-soft);font-size:13px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.u2-cb-btn:hover{background:var(--forest-wash)}
.u2-cb-btn[aria-expanded="true"] span{transform:rotate(180deg)}
.u2-cb-panel{margin-top:8px;border:1px solid var(--border-strong);border-radius:12px;background:var(--paper-raised);max-height:min(46vh,340px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 14px 30px -18px rgba(11,37,69,.5)}
.u2-cb-panel[hidden]{display:none}
.u2-cb-g{position:sticky;top:0;z-index:1;padding:8px 14px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-soft);background:var(--paper);border-bottom:1px solid var(--border)}
.u2-cb-o{display:block;width:100%;min-height:44px;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:calc(14.5px * var(--fs,1));cursor:pointer}
.u2-cb-o:hover,.u2-cb-o.on{background:var(--forest-wash)}
.u2-cb-o.on{font-weight:700}
.u2-cb-use{font-weight:700;color:var(--forest);background:var(--amber-wash)}
.u2-cb-count{padding:9px 14px;font-size:12px;color:var(--text-soft);border-bottom:1px solid var(--border)}
.u3-hero{position:relative;overflow:hidden;border-radius:18px;padding:26px;margin-bottom:16px;color:#fff;background:linear-gradient(135deg,#0B2545 0%,#123A6B 58%,#0F6E4F 140%);box-shadow:0 14px 34px -18px rgba(11,37,69,.6)}
.u3-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.30),transparent 65%);pointer-events:none}
.u3-hero>*{position:relative;z-index:1}
.u3-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E7B64B}
.u3-hero h1{margin:6px 0 6px;font-size:calc(27px * var(--fs,1));line-height:1.2;color:#fff}
.u3-hero p{margin:0;max-width:580px;color:#C9D6E8;line-height:1.6;font-size:calc(13.5px * var(--fs,1))}
.u3-hero .pill{margin-top:12px}
.u3-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.u3-stats>div{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15)}
.u3-stats b{display:block;font-size:calc(21px * var(--fs,1));line-height:1.1;color:#fff}
.u3-stats small{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#B9C8DE}
.u3-toolbar{padding:14px;margin-bottom:12px;border-radius:14px;box-shadow:var(--shadow-card)}
.u3-toolbar .u2-toolbar{margin-bottom:0}
.u3-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:8px 2px 0}
.u3-sec-h h2{margin:0;font-size:calc(18px * var(--fs,1));color:var(--ink)}
.u3-sec-h span{font-size:calc(12.5px * var(--fs,1));color:var(--text-soft)}
.u3-sec-h.in{margin:0 0 12px}
#u3Browse{scroll-margin-top:90px}
.u2-tile{content-visibility:auto;contain-intrinsic-size:auto 150px}
.u3-choice,.u2-tile{-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:reduce){.u3-dash.fresh>*{animation:none}.u2-tile,.u3-choice{transition:none}}
.uni-grid{gap:14px}
.u2-tile{flex-direction:column;border-radius:16px;overflow:hidden;background:var(--paper-raised);border-color:var(--border);box-shadow:var(--shadow-card);transition:transform .18s,box-shadow .18s,border-color .18s}
.u2-tile:before{content:"";display:block;height:3px;background:#0E7A56}
.u2-tile.st:before{background:#B7791F}
.u2-tile.pv:before{background:#4B6FA5}
.u2-tile:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 16px 30px -18px rgba(11,37,69,.45)}
.u2-main{flex-direction:column;gap:12px;padding:16px 54px 14px 16px}
.u3-tile-top{display:flex;gap:12px;align-items:flex-start;min-width:0}
.u3-tile-top>div{min-width:0}
.u2-main b{font-size:calc(14.5px * var(--fs,1));line-height:1.35}
.u2-loc{display:flex;align-items:center;gap:5px;margin-top:4px}
.u2-loc svg{flex:0 0 12px;opacity:.7}
.u2-main .u2-tags{margin-top:0}
.u3-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-soft)}
.u3-go{font-weight:700;color:var(--forest);white-space:nowrap}
.u2-tile:hover .u3-go{text-decoration:underline}
.u2-save{top:14px;right:12px}
.u2-tab.on{box-shadow:0 6px 14px -8px rgba(15,110,79,.7)}
.u3-dash{display:grid;gap:14px;margin-bottom:22px;scroll-margin-top:90px}
.u3-dash.fresh>*{animation:u3pop .55s cubic-bezier(.2,.7,.2,1) both}
.u3-dash.fresh>*:nth-child(2){animation-delay:.08s}.u3-dash.fresh>*:nth-child(3){animation-delay:.16s}.u3-dash.fresh>*:nth-child(4){animation-delay:.24s}.u3-dash.fresh>*:nth-child(5){animation-delay:.32s}
@keyframes u3pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.u3-dash-hero{position:relative;overflow:hidden;border-radius:18px;padding:22px;color:#fff;background:linear-gradient(135deg,#0B2545 0%,#123A6B 58%,#0F6E4F 140%);box-shadow:0 14px 34px -18px rgba(11,37,69,.6)}
.u3-dash-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.30),transparent 65%);pointer-events:none}
.u3-dash-hero>*{position:relative;z-index:1}
.u3-dash-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.u3-dash-hd h2{margin:6px 0 10px;font-size:calc(22px * var(--fs,1));line-height:1.25;color:#fff;overflow-wrap:anywhere}
.u3-dash-hd .u2-tags{margin-top:0}
.u3-dash-hero .u2-tag{background:rgba(255,255,255,.15);color:#fff}
.u3-dash-hero .btn-ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.32);flex:0 0 auto}
.u3-dash-hero .btn-ghost:hover{background:rgba(255,255,255,.2)}
.u3-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.u3-kpi{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);min-width:0}
.u3-kpi small{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:#B9C8DE}
.u3-kpi b{display:block;margin:4px 0 2px;font-size:calc(21px * var(--fs,1));line-height:1.1;color:#fff}
.u3-kpi span{display:block;font-size:11.5px;line-height:1.4;color:#C9D6E8}
.u3-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.u3-choice{display:flex;flex-direction:column;gap:9px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--paper-raised);box-shadow:var(--shadow-card);color:inherit;text-decoration:none;cursor:pointer;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.u3-choice:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 16px 30px -18px rgba(11,37,69,.45)}
.u3-choice b{display:block;color:var(--ink);font-size:calc(15px * var(--fs,1));line-height:1.35;overflow-wrap:anywhere}
.u3-choice small{display:block;margin-top:-5px;color:var(--text-soft);font-size:12px}
.u3-choice-top{display:flex;justify-content:space-between;align-items:center}
.u3-rankbadge{padding:4px 10px;border-radius:999px;background:#D9A441;color:#1b1405;font-weight:800;font-size:11.5px;letter-spacing:.02em}
.u3-choice .u2-tags{margin-top:0}
.u3-meter{position:relative;height:8px;border-radius:999px;background:var(--forest-wash);overflow:visible;margin-top:2px}
.u3-meter i{display:block;height:100%;border-radius:999px;background:#0F6E4F}
.u3-meter i.warn{background:#D9A441}
.u3-meter em{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px;background:var(--ink);transform:translateX(-1px)}
.u3-meter-l{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--text-soft)}
.u3-cut{font-size:12.5px;color:var(--text)}
.u3-muted{color:var(--text-soft)}
.u3-card{padding:20px;border-radius:16px;box-shadow:var(--shadow-card)}
.u3-pct{font-size:12.5px;font-weight:700;color:var(--forest)}
.u3-prog{height:8px;border-radius:999px;background:var(--forest-wash);overflow:hidden;margin-bottom:14px}
.u3-prog i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#D9A441,#0F6E4F);transition:width .35s ease}
.u3-tasks{display:grid;gap:8px}
.u3-task{display:flex;gap:12px;align-items:flex-start;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--text);font:inherit;font-size:calc(13.5px * var(--fs,1));line-height:1.5;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.u3-task:hover{border-color:var(--forest)}
.u3-task i{flex:0 0 22px;width:22px;height:22px;margin-top:1px;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-style:normal;transition:background .15s,border-color .15s}
.u3-task.done{background:var(--forest-wash)}
.u3-task.done i{background:var(--forest);border-color:var(--forest)}
.u3-task.done i:after{content:"✓";color:#fff;font-size:13px;font-weight:800;line-height:1}
.u3-task.done span{color:var(--text-soft);text-decoration:line-through}
.u3-quick{display:flex;gap:10px;flex-wrap:wrap}
.u2-prof{padding:0;overflow:hidden;border-radius:18px;box-shadow:var(--shadow-card)}
.u3-prof-band{padding:26px;color:#fff;background:linear-gradient(135deg,#0B2545 0%,#123A6B 60%,#0F6E4F 145%);position:relative}
.u3-prof-band:after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(217,164,65,.28),transparent 65%);pointer-events:none}
.u3-prof-band>*{position:relative;z-index:1}
.u3-prof-band .practice-eyebrow{color:#E7B64B}
.u3-prof-band h1{color:#fff}
.u3-prof-band .u2-tag{background:rgba(255,255,255,.15);color:#fff}
.u3-prof-band .u2-save.big{border-color:rgba(255,255,255,.35);color:#fff}
.u3-prof-band .u2-save.big.on{color:#E7B64B}
.u3-prof-band .u2-save.big:hover{background:rgba(255,255,255,.14)}
.u3-prof-band .btn-primary{background:#D9A441;color:#1b1405;box-shadow:none}
.u3-prof-band .btn-primary:hover{background:#E7B64B}
.u3-prof-band .btn-forest{background:rgba(255,255,255,.16);color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.3)}
.u3-prof-band .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.35)}
.u3-prof-band .btn-ghost:hover,.u3-prof-band .btn-forest:hover{background:rgba(255,255,255,.2)}
.u2-facts{margin:0;gap:0;border-top:0}
.u2-facts>div{border:0;border-right:1px solid var(--border);border-radius:0;background:var(--paper-raised);padding:14px 18px}
.u2-facts>div:last-child{border-right:0}
.u2-card{border-radius:16px;box-shadow:var(--shadow-card)}
.u2-h{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:calc(16.5px * var(--fs,1))}
.u2-h:before{content:"";flex:0 0 4px;height:18px;border-radius:2px;background:#D9A441}
.u2-p{color:var(--text)}
.u2-p.u2-none{color:var(--text-soft);font-style:italic}
.u2-links a{border-radius:12px;padding:13px 14px;background:var(--paper-raised);transition:border-color .15s,transform .15s}
.u2-links a:hover{transform:translateX(2px)}
.u2-links a>span:last-child{color:var(--forest);font-weight:700}
.u2-rel a b{display:block}
.u2-grp-h{padding:0 0 9px}
.u2-extras .uni-info-grid>div{border-radius:12px}
.u2-extras .uni-sec h3{display:flex;align-items:center;gap:8px}
.u2-extras .uni-sec h3:before{content:"";width:6px;height:6px;border-radius:50%;background:#D9A441}
.uni-doc{padding:14px 0}
.u2-help{border-radius:16px;box-shadow:var(--shadow-card)}
@media(max-width:900px){
.u3-stats,.u3-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
.u2-facts>div:nth-child(2){border-right:0}
.u2-facts>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
}
@media(max-width:520px){
.u3-hero{padding:20px;border-radius:16px}
.u3-hero h1{font-size:calc(23px * var(--fs,1))}
.u3-dash-hero{padding:18px;border-radius:16px}
.u3-dash-hd{flex-wrap:wrap}
.u3-prof-band{padding:20px}
.u2-main{padding:15px 50px 13px 15px}
.u3-card{padding:16px}
.u3-quick .btn{flex:1 1 100%;justify-content:center}
}

.u3-ai{margin:0 0 16px;padding:18px;border-radius:16px;box-shadow:var(--shadow-card)}
.u3-ai>b{font-size:calc(16px * var(--fs,1));color:var(--ink)}
.u3-ai label{display:block;margin:0 0 5px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft)}
.u3-ai select,.u3-ai input[type=search]{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--paper);color:var(--text);font:inherit}
.u3-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 10px}
.u3-ai-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.u3-ai-stat{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-soft);margin-top:-6px}
.u3-ai-sep{height:1px;background:var(--border);margin:18px 0 14px}
.u3-ai-fails{margin-top:8px;font-size:12.5px}
.u3-ai-fails summary{cursor:pointer;color:var(--text-soft)}
.u3-ai-fails div{padding:6px 0;border-bottom:1px solid var(--border)}
.u3-ai-fails small{display:block;color:var(--text-soft)}
.u3-found{display:grid;gap:6px;margin-top:10px;max-height:300px;overflow:auto}
.u3-found-row{display:flex!important;gap:10px;align-items:flex-start;margin:0!important;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--paper);text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-size:calc(13.5px * var(--fs,1))!important;color:var(--text)!important;cursor:pointer}
.u3-found-row input{margin-top:3px;width:auto}
.u3-found-row b{display:block;color:var(--ink)}
.u3-found-row small{display:block;color:var(--text-soft);font-size:12px}
.u3-found-fill{display:flex!important;gap:8px;align-items:center;margin:12px 0 0!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;font-size:13px!important;color:var(--text)!important}
@media(max-width:700px){.u3-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.u3-ai-grid.two{grid-template-columns:1fr}}

.u2-stage,.u2-tab,.u3-task,.u2-cb-o,.u2-pick,.u2-save{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s,transform .12s,box-shadow .15s}
.u2-stage:active,.u2-tab:active,.u3-task:active,.u2-cb-o:active,.u2-pick:active{transform:scale(.97)}
.u2-stage.on:before{content:"✓";margin-right:7px;font-weight:800}
.u2-stage.on{box-shadow:0 6px 14px -8px rgba(15,110,79,.8)}
body.theme-dark .u2-stage.on,body.theme-dark .u2-tab.on{background:#0F6E4F!important;border-color:#34C08F!important;color:#fff!important;box-shadow:0 0 0 2px rgba(52,192,143,.35)!important}
body.theme-dark .u2-tab.on b{color:#D5F5E8!important}
body.theme-dark .u2-stage:active,body.theme-dark .u2-tab:active,body.theme-dark .u2-pick:active{background:#14301F!important;border-color:#34C08F!important}
body.theme-dark .u3-task:hover,body.theme-dark .u3-task:active{border-color:#34C08F!important}
body.theme-dark .u3-task.done{background:#10291F!important;border-color:#1F7A58!important}
body.theme-dark .u3-task.done span{color:#9FB3AA!important}
body.theme-dark .u2-cb-o:hover,body.theme-dark .u2-cb-o:active,body.theme-dark .u2-cb-o.on{background:#12342B!important}
body.theme-dark .u2-cb-use{background:#3A2F12!important;color:#F0C15A!important}
body.theme-dark .u2-cb-btn,body.theme-dark .u2-chip button,body.theme-dark .u2-save{background:transparent!important;border-color:transparent!important}
body.theme-dark .u2-save.big{border-color:#334155!important}
body.theme-dark .u2-save.on{color:#E7B64B!important}
body.theme-dark .u2-save:hover,body.theme-dark .u2-cb-btn:hover{background:rgba(255,255,255,.08)!important}
.u2-save:active{transform:scale(.88)}

.cf-head{display:flex;align-items:center;gap:12px}
.cf-ic{flex:0 0 44px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#0B2545;color:#F1D36B}
.cf-eyebrow{font-size:calc(11px*var(--fs,1));font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#B8891A;margin-bottom:2px}
.cf-lead{margin:12px 0 14px;font-size:calc(13.5px*var(--fs,1));line-height:1.55;color:var(--text-soft)}
.cf-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--paper);margin-bottom:14px}
.cf-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cf-status-lbl{font-size:calc(12.5px*var(--fs,1));color:var(--text-soft);font-weight:600}
.cf-pill{padding:4px 10px;border-radius:999px;font-size:calc(12px*var(--fs,1));font-weight:700;border:1px solid var(--border-strong);color:var(--text-soft);background:var(--paper-raised)}
.cf-pill.ok{background:#E6F4EC;border-color:#9ED3B5;color:#0B5A40}
.cf-pill.warn{background:#FFF4DA;border-color:#E8C766;color:#7A5416}
.cf-price{display:flex;align-items:baseline;gap:6px;margin:14px 0 12px}
.cf-amt{font-size:calc(34px*var(--fs,1));font-weight:800;letter-spacing:-.02em;color:#0B2545}
.cf-per{font-size:calc(14px*var(--fs,1));color:var(--text-soft);font-weight:600}
.cf-list{list-style:none;margin:0;padding:12px 0 0;border-top:1px dashed var(--border-strong);display:grid;gap:9px}
.cf-list li{display:flex;gap:9px;align-items:flex-start;font-size:calc(13.5px*var(--fs,1));line-height:1.45}
.cf-list svg{flex:0 0 16px;margin-top:2px;color:#0F6E4F}
.cf-group{margin:14px 0 4px;padding:14px;border-radius:14px;border:1px solid #9ED3B5;background:#E6F4EC;color:#0B5A40;text-align:center}
.cf-group-t{font-weight:800;font-size:calc(15px*var(--fs,1))}
.cf-group-s{font-size:calc(13px*var(--fs,1));margin:4px 0 12px;line-height:1.45}
.cf-group-btn{display:flex;justify-content:center;width:100%;text-decoration:none;background:#25D366;border-color:#25D366;color:#06301a}
.cf-group-tg{margin-top:10px;background:#2AABEE;border-color:#2AABEE;color:#04243a}
body.theme-dark .cf-group{background:#0f3d2e;border-color:rgba(110,231,168,.35);color:#8ff0c2}
.cf-methods{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:14px}
.cf-methods span{padding:5px 12px;border-radius:999px;border:1px solid var(--border);font-size:calc(12px*var(--fs,1));font-weight:700;color:var(--text-soft)}
body.theme-dark .cf-ic{background:#F1D36B;color:#0B2545}
body.theme-dark .cf-eyebrow{color:#F1D36B}
body.theme-dark .cf-card{background:#111826;border-color:#273244}
body.theme-dark .cf-amt,body.theme-dark .cf-list li{color:#f3f6fb}
body.theme-dark .cf-pill{background:#1a2230;border-color:#40516a;color:#9aa7bd}
body.theme-dark .cf-pill.ok{background:#0f3d2e;border-color:rgba(110,231,168,.35);color:#8ff0c2}
body.theme-dark .cf-pill.warn{background:#1a1608;border-color:#d9a441;color:#f1d36b}
body.theme-dark .cf-list svg{color:#6ee7a8}
body.theme-dark .cf-methods span{border-color:#273244;color:#9aa7bd}
.cf-join{border-radius:18px;padding:22px 18px 18px;position:relative;overflow:hidden}
.cf-join{border:1px solid rgba(214,168,45,.5);background-image:radial-gradient(120% 70% at 100% 0%,rgba(241,211,107,.20),transparent 62%),radial-gradient(90% 60% at 0% 100%,rgba(214,168,45,.10),transparent 65%);box-shadow:0 14px 34px rgba(10,35,66,.14),0 0 0 1px rgba(241,211,107,.10) inset}
.cf-join::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#B8891A,#F1D36B,#E0B340,#F1D36B,#B8891A)}
.cfj-hero{display:flex;align-items:center;gap:14px}
.cfj-badge{flex:0 0 56px;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#F7E39A,#D6A82D);color:#2a1d00;box-shadow:0 8px 20px rgba(214,168,45,.40),0 0 0 4px rgba(241,211,107,.18)}
.cfj-hero-t{min-width:0}
.cfj-eyebrow{display:inline-block;font-size:calc(10.5px*var(--fs,1));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8a6410;background:rgba(241,211,107,.32);padding:3px 9px;border-radius:999px;margin-bottom:5px}
body.theme-dark .cfj-eyebrow{color:#F1D36B;background:rgba(241,211,107,.14)}
.cfj-title{font-size:calc(21px*var(--fs,1));font-weight:800;letter-spacing:-.015em;line-height:1.15;color:var(--ink)}
body.theme-dark .cfj-title{color:#f3f6fb}
.cfj-sub{margin:14px 0 4px;font-size:calc(14px*var(--fs,1));line-height:1.55;color:var(--text-soft)}
.cfj-price{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px;padding:12px 14px;border-radius:14px;border:1px dashed rgba(214,168,45,.65);background:rgba(241,211,107,.12)}
.cfj-amt{font-size:calc(28px*var(--fs,1));font-weight:800;letter-spacing:-.02em;color:#8a6410}
body.theme-dark .cfj-amt{color:#F1D36B}
.cfj-per{font-size:calc(13.5px*var(--fs,1));font-weight:700;color:var(--text-soft)}
.cfj-price-r{margin-left:auto;font-size:calc(11.5px*var(--fs,1));font-weight:800;letter-spacing:.04em;color:#0F6E4F;background:rgba(15,110,79,.12);padding:4px 10px;border-radius:999px;white-space:nowrap}
body.theme-dark .cfj-price-r{color:#6ee7a8;background:rgba(110,231,168,.12)}
.cfj-perks{display:grid;gap:10px;margin:14px 0 16px}
.cfj-perk{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:16px;border:1px solid var(--border);background:rgba(214,168,45,.07)}
.cfj-pi{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(247,227,154,.95),rgba(214,168,45,.95));color:#2a1d00}
.cfj-pt{display:block;font-size:calc(15px*var(--fs,1));font-weight:800;line-height:1.25;color:var(--ink);margin-bottom:3px}
body.theme-dark .cfj-pt{color:#f3f6fb}
.cfj-pd{display:block;font-size:calc(13.5px*var(--fs,1));line-height:1.5;color:var(--text-soft)}
.cfj-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px}
.cfj-cta::after{content:"";position:absolute;top:0;bottom:0;width:60px;left:-80px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:cfjShine 3.6s ease-in-out infinite}
@keyframes cfjShine{0%,55%{left:-80px}100%{left:120%}}
@media (prefers-reduced-motion:reduce){.cfj-cta::after{animation:none;display:none}}
.cfj-foot{margin-top:12px;text-align:center;font-size:calc(12px*var(--fs,1));color:var(--text-soft)}
.cf-warn{margin:0 0 12px;padding:11px 13px;border-radius:12px;background:#FFF4DA;border:1px solid #E8C766;color:#7A5416;font-size:calc(13px*var(--fs,1));line-height:1.5}
body.theme-dark .cf-warn{background:#1a1608;border-color:#d9a441;color:#f1d36b}
.cc-group{margin:4px 0 14px}
.cc-title{font-size:calc(13px*var(--fs,1));font-weight:700;margin:0 0 8px;color:var(--text)}
.cc-opt{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;margin:0 0 10px;border:1.5px solid var(--border-strong,#C7CEDC);border-radius:14px;background:var(--paper-raised,#fff);cursor:pointer;position:relative;font-weight:400}
.cc-opt input{position:absolute;opacity:0;pointer-events:none}
.cc-tick{flex:0 0 22px;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong,#C7CEDC);display:grid;place-items:center;color:transparent;margin-top:1px}
.cc-tick svg{width:14px;height:14px}
.cc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.cc-body b{font-size:calc(14.5px*var(--fs,1));color:var(--text)}
.cc-body small{font-size:calc(12.5px*var(--fs,1));line-height:1.45;color:var(--text-soft)}
.cc-opt:has(input:checked){border-color:#B8891A;background:rgba(241,211,107,.16)}
.cc-opt:has(input:checked) .cc-tick{background:#0B2545;border-color:#0B2545;color:#F1D36B}
.cc-opt:has(input:focus-visible){outline:2px solid #B8891A;outline-offset:2px}
body.theme-dark .cc-opt{background:#0d1118;border-color:#273244}
body.theme-dark .cc-opt:has(input:checked){border-color:#F1D36B;background:rgba(241,211,107,.08)}
body.theme-dark .cc-opt:has(input:checked) .cc-tick{background:#F1D36B;border-color:#F1D36B;color:#0B2545}
body.theme-dark .cc-tick{border-color:#40516a}
html body .auth-pro .ed-demo2-btn:disabled{opacity:1;cursor:wait}
.ed-demo2-btn[aria-busy="true"] svg{display:none}
.ed-demo2-btn[aria-busy="true"]::before{content:"";flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:authNoteSpin .8s linear infinite}

.mx-done{font-family:"Cambria Math","STIX Two Math","Latin Modern Math","Times New Roman",serif;font-size:1.06em;letter-spacing:.01em}
.mx-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .2em;line-height:1.25}
.mx-frac>.mx-n{padding:0 .3em .08em;border-bottom:1.5px solid currentColor}
.mx-frac>.mx-d{padding:.08em .3em 0}
.mx-frac .mx-frac{font-size:.86em}
.mx-rad{display:inline-flex;align-items:stretch;white-space:nowrap;vertical-align:-.2em;margin:0 .06em}
.mx-rad>.mx-rs{flex:none;width:.72em;min-height:1.1em;margin-right:-.02em;overflow:visible}
.mx-rad>.mx-rb{display:inline-block;border-top:1.5px solid currentColor;padding:.1em .14em 0;line-height:1.15}
.mx-rad .mx-idx{font-size:.6em;margin-right:-.3em;vertical-align:.6em}
.mx-rad.mx-tall{vertical-align:middle}
.mx-sup{font-size:.72em;vertical-align:.55em;line-height:0}
.mx-sub{font-size:.72em;vertical-align:-.3em;line-height:0}
.mx-steps{display:block;margin-top:6px}
.mx-line{display:block;padding:5px 0;line-height:1.9}
.mx-line+.mx-line{border-top:1px dashed rgba(128,128,128,.22)}
.mx-eq{padding:9px 0;font-size:1.12em;overflow-x:auto;overflow-y:hidden;max-width:100%}
.explain .mx-steps{margin-top:8px}
.mx-done{font-family:inherit;font-size:inherit}
.mx-eq,.mx-frac,.mx-rad,.mx-mat{font-family:"Cambria Math","STIX Two Math","Latin Modern Math","Times New Roman",serif}
.mx-eq{font-size:1.14em}
.mx-sup,.mx-sub{font-family:inherit}
.mx-mat{display:inline-grid;grid-template-columns:repeat(var(--c,2),auto);gap:.15em .9em;vertical-align:middle;padding:.15em .5em;margin:0 .25em;position:relative;text-align:center}
.mx-mat::before,.mx-mat::after{content:"";position:absolute;top:0;bottom:0;width:.4em;border:1.5px solid currentColor}
.mx-mat::before{left:0;border-right:0}.mx-mat::after{right:0;border-left:0}
.mx-m-p::before{border-radius:.9em 0 0 .9em/50% 0 0 50%}.mx-m-p::after{border-radius:0 .9em .9em 0/0 50% 50% 0}
.mx-m-v::before,.mx-m-v::after{width:0;border-top:0;border-bottom:0}
.mx-m-v::before{border-right:0}.mx-m-v::after{border-left:0}

@media (min-width:1000px){
.dx-actions{justify-content:flex-start}
.dx-actions .dx-btn,.dx-actions .dx-btn-gold{flex:0 1 auto;min-width:220px;max-width:320px;padding:0 28px}
}


.dtx-exh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.dtx-explanation>.dtx-exh>b,.dtx-exh>b{display:block;margin:0;color:#D9620B;font-size:1.05rem;font-weight:800}
.dtx-cor{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border-radius:999px;background:var(--paper-raised,#fff);box-shadow:0 1px 6px rgba(0,0,0,.12);font-size:.8rem;font-weight:600;white-space:nowrap}
.dtx-cor i{font-style:normal;font-weight:800;color:#0E7C7B}
.dtx-explanation{background:rgba(127,127,127,.09);border-radius:16px}
.dtx-explanation-text{white-space:normal!important;line-height:1.8}
.dtx-explanation-text .mx-line{padding:6px 0}
