:root{--pm-terracotta:#c85a42;--pm-terracotta-light:#d48a6a;--pm-terracotta-dark:#a04030;--pm-terracotta-pale:#f5e8e0;--pm-red:#ff6766;--pm-red-light:#ff8f8e;--pm-red-pale:#fff0f0;--pm-gold:#d4a060;--pm-gold-light:#e8c080;--pm-gold-pale:#fdf6e8;--pm-teal:#00b8a9;--pm-teal-pale:#e0f7f5;--pm-mauve:#b08090;--bg-primary:#fefcfa;--bg-secondary:#f8f4f0;--bg-tertiary:#f0eae4;--text-primary:#1a1614;--text-secondary:#7a6a5a;--text-tertiary:#b09880;--border:rgba(200,90,66,.1);--border-strong:rgba(200,90,66,.2);--shadow:0 2px 8px rgba(200,90,66,.06);--pm-bg:var(--bg-primary);--pm-surf:var(--bg-secondary);--pm-surf2:var(--bg-tertiary);--pm-surf3:#e8e0d8;--pm-bdr:var(--border);--pm-text:var(--text-primary);--pm-dim:var(--text-secondary);--pm-muted:var(--text-tertiary);--pm-inp:var(--bg-secondary);--pm-shadow:var(--shadow);--primary:#c85a42;--accent:#d4a060;--warm:#ff6766;--error:#dc2626;--success:#00b8a9;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sh-sm:0 1px 2px rgba(26,22,20,.04),0 1px 3px rgba(200,90,66,.06);--sh-md:0 2px 6px rgba(26,22,20,.05),0 8px 24px rgba(200,90,66,.07);--sh-lg:0 8px 24px rgba(26,22,20,.07),0 24px 48px rgba(200,90,66,.1);--font-sans:"Inter","Plus Jakarta Sans",-apple-system,system-ui,sans-serif}[data-theme=dark]{--pm-terracotta-pale:#2a1810;--pm-red-pale:#2a1a1a;--pm-gold-pale:#2a2010;--pm-teal-pale:#0a1f1e;--bg-primary:#1a1210;--bg-secondary:#241a16;--bg-tertiary:#110a08;--text-primary:#f0e6da;--text-secondary:#b8a490;--text-tertiary:#7a6858;--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.15);--shadow:0 2px 8px rgba(0,0,0,.4);--pm-surf3:#0d0d1a;--pm-inp:#0f0f1a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);background:var(--pm-bg);color:var(--pm-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.01em;min-height:100vh}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--pm-bdr);border-radius:4px}.shell{display:flex;flex:1 1;overflow:hidden;position:relative;min-height:0}.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sb-overlay.open{display:block}.sb{width:220px;background:var(--pm-surf);border-right:1px solid var(--pm-bdr);display:flex;flex-direction:column;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:100}@media(max-width:1023px){.sb{position:fixed;top:0;left:0;bottom:0;transform:translateX(-100%);width:260px}.sb.open{transform:translateX(0);box-shadow:4px 0 32px rgba(0,0,0,.3)}}.sb-head{padding:16px 14px 12px;border-bottom:1px solid var(--pm-bdr);display:flex;align-items:center;justify-content:space-between}.sb-close-btn{display:none;background:var(--pm-surf2);border:none;color:var(--pm-dim);width:28px;height:28px;border-radius:7px;align-items:center;justify-content:center;font-size:16px;cursor:pointer}@media(max-width:1023px){.sb-close-btn{display:flex}}.nav{flex:1 1;padding:8px;overflow-y:auto}.nsec{font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--pm-muted);padding:10px 10px 4px;margin-top:2px}.ni{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:9px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--pm-dim);transition:all .14s;border:none;background:none;width:100%;text-align:left;font-family:Plus Jakarta Sans,sans-serif}.ni:hover{background:var(--pm-surf2);color:var(--pm-text)}.ni.act{background:var(--primary);color:#fff}.ni .ic{width:18px;text-align:center;font-size:14px;flex-shrink:0}.nbadge{margin-left:auto;background:#ff6766;color:#fff;font-size:9px;font-weight:800;padding:1px 6px;border-radius:20px}.ni.act .nbadge{background:hsla(0,0%,100%,.3)}.sb-foot{padding:12px 10px;border-top:1px solid var(--pm-bdr)}.tt{display:flex;background:var(--pm-surf2);border-radius:20px;padding:3px;border:1px solid var(--pm-bdr);margin-bottom:10px}.ttb{flex:1 1;padding:4px 0;border-radius:16px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;background:none;color:var(--pm-dim);transition:all .14s}.ttb.on{background:var(--primary);color:#fff}.uc{gap:8px}.av,.uc{display:flex;align-items:center}.av{border-radius:50%;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}.uname{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.urole{font-size:10px;color:var(--pm-muted);text-transform:capitalize}.main{flex:1 1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{padding:12px 16px;border-bottom:1px solid var(--pm-bdr);display:flex;flex-wrap:wrap;gap:10px;background:var(--pm-surf);position:-webkit-sticky;position:sticky;top:0;z-index:50}.tb-burger,.topbar{align-items:center;flex-shrink:0}.tb-burger{display:none;background:var(--pm-surf2);border:1px solid var(--pm-bdr);color:var(--pm-dim);width:34px;height:34px;border-radius:9px;justify-content:center;font-size:16px;cursor:pointer}@media(max-width:1023px){.tb-burger{display:flex}}.tb-mid{flex:1 1;min-width:0}.pgtitle{font-family:Syne,sans-serif;font-size:clamp(15px,2.5vw,19px);font-weight:800;color:var(--pm-text)}.pgsub,.pgtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgsub{font-size:clamp(10px,1.5vw,12px);color:var(--pm-dim);margin-top:1px;min-width:0}.tba{display:flex;gap:8px;align-items:center;flex-shrink:1;min-width:0}@media(max-width:639px){.tba .hide-mob{display:none}}.content{flex:1 1;overflow-y:auto;padding:clamp(12px,2.5vw,20px) clamp(12px,3vw,22px)}.bot-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--pm-surf);border-top:1px solid var(--pm-bdr);z-index:80;padding:6px 0 max(6px,env(safe-area-inset-bottom))}@media(max-width:639px){.bot-nav{display:flex}.content{padding-bottom:74px}}.bn-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;cursor:pointer;border:none;background:none;font-family:Plus Jakarta Sans,sans-serif}.bn-ic{font-size:18px;line-height:1}.bn-lb{font-size:9px;font-weight:700;color:var(--pm-muted)}.bn-item.act .bn-lb{color:var(--primary)}.bn-ic-wrap{position:relative;display:inline-flex}.bn-dot{width:5px;height:5px;border-radius:50%;background:#ff6766;position:absolute;top:2px;right:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;font-size:12.5px;font-weight:600;font-family:var(--font-sans);letter-spacing:-.01em;cursor:pointer;border:none;transition:all .16s cubic-bezier(.2,.7,.3,1);white-space:nowrap;line-height:1.2}.b-pr{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(200,90,66,.25)}.b-pr:hover{background:#9a382a;transform:translateY(-1px);box-shadow:0 6px 18px rgba(200,90,66,.3)}.b-co{background:#ff6766;color:#fff}.b-co:hover{background:#e84f4e}.b-ye{background:var(--accent);color:var(--text-primary)}.b-ye:hover{background:#b08040;color:#fff}.b-te{background:#00b8a9;color:#fff}.b-te:hover{background:#008f83}.b-ou{background:transparent;color:var(--pm-text);border:1.5px solid var(--pm-bdr)}.b-ou:hover{border-color:var(--primary);color:var(--primary)}.b-gh{background:transparent;color:var(--pm-dim);border:none}.b-gh:hover{background:var(--pm-surf2);color:var(--pm-text)}.b-sm{padding:5px 11px;font-size:11.5px}.b-xs{padding:3px 8px;font-size:11px}.b-icon{padding:7px}.card{background:var(--pm-surf);border:1px solid var(--pm-bdr);border-radius:12px;overflow:hidden}.ch{padding:12px 15px;border-bottom:1px solid var(--pm-bdr);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ct{font-size:13px;font-weight:700;color:var(--pm-text)}.cb{padding:13px 15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:14px}@media(max-width:1023px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--pm-surf);border-radius:12px;padding:clamp(11px,2vw,15px) clamp(12px,2.5vw,16px);border:1px solid var(--pm-bdr);border-top:3px solid;overflow:hidden}.slbl{font-size:clamp(9px,1.2vw,10px);color:var(--pm-muted);text-transform:uppercase;letter-spacing:.8px}.slbl,.sval{font-weight:800}.sval{font-family:Syne,sans-serif;font-size:clamp(20px,3vw,26px);margin:4px 0 2px}.ssub{font-size:clamp(10px,1.2vw,11px);font-weight:600}.g2{grid-template-columns:1fr 1fr;grid-gap:14px}.g2,.g3{display:grid;gap:14px}.g3{grid-template-columns:repeat(3,1fr);grid-gap:14px}@media(max-width:1023px){.g2{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}}@media(max-width:639px){.g3{grid-template-columns:1fr}}.tg{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.tg-b{background:rgba(200,90,66,.1);color:var(--primary);border:1px solid rgba(200,90,66,.16)}.tg-c{background:#ff676618;color:#ff6766;border:1px solid #ff676628}.tg-y{background:rgba(212,160,96,.16);color:#7a6040;border:1px solid rgba(212,160,96,.31)}.tg-t{background:#00b8a918;color:#00b8a9;border:1px solid #00b8a928}.tg-g{background:var(--pm-surf2);color:var(--pm-dim);border:1px solid var(--pm-bdr)}.tabs{display:flex;border-bottom:2px solid var(--pm-bdr);margin-bottom:13px;overflow-x:auto}.tabs::-webkit-scrollbar{height:0}.tab{padding:8px 13px;font-size:12px;font-weight:700;cursor:pointer;color:var(--pm-dim);margin-bottom:-2px;background:none;border:none;border-bottom:3px solid transparent;font-family:Plus Jakarta Sans,sans-serif;transition:all .14s;white-space:nowrap}.tab.on{color:var(--primary);border-bottom-color:var(--primary)}.fg{margin-bottom:12px}.fl{font-size:10px;font-weight:800;color:var(--pm-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;display:block}.fi{width:100%;background:var(--pm-inp);border:1px solid var(--pm-bdr);color:var(--pm-text);padding:10px 13px;border-radius:10px;font-size:13px;font-family:var(--font-sans);font-weight:500;transition:border .16s,box-shadow .16s;outline:none}.fi:focus{box-shadow:0 0 0 3px rgba(200,90,66,.12);outline:none;border-color:var(--primary)}.fta{width:100%;background:var(--pm-inp);border:1.5px solid var(--pm-bdr);color:var(--pm-text);padding:8px 11px;border-radius:9px;font-size:13px;font-family:Plus Jakarta Sans,sans-serif;font-weight:500;resize:vertical;min-height:70px}.fta:focus{outline:none;border-color:var(--primary)}.fr2{grid-template-columns:1fr 1fr;grid-gap:11px}.fr2,.fr3{display:grid;gap:11px}.fr3{grid-template-columns:1fr 1fr 1fr;grid-gap:11px}@media(max-width:639px){.fr2{grid-template-columns:1fr}.fr3{grid-template-columns:1fr 1fr}}.qc{background:var(--pm-surf);border:1.5px solid var(--pm-bdr);border-radius:11px;padding:11px 13px;cursor:pointer;transition:all .15s}.qc:hover{border-color:var(--primary);box-shadow:0 2px 14px rgba(200,90,66,.1)}.qc.sel{border-color:var(--accent);background:rgba(212,160,96,.02)}.qmeta{gap:4px;flex-wrap:wrap;margin-top:7px}.chk,.qmeta{display:flex}.chk{width:17px;height:17px;border-radius:5px;border:2px solid var(--pm-bdr);align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0;cursor:pointer;transition:all .14s;color:transparent}.chk.on{background:var(--accent);border-color:var(--accent);color:var(--text-primary)}.chip{padding:4px 10px;border-radius:20px;font-size:11px;cursor:pointer;border:1.5px solid var(--pm-bdr);color:var(--pm-dim);background:none;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;transition:all .13s;white-space:nowrap}.chip:hover{border-color:var(--pm-dim);color:var(--pm-text)}.chip.on{border-color:var(--primary);color:var(--primary);background:rgba(200,90,66,.06)}.pb{height:6px;background:var(--pm-surf2);overflow:hidden}.pb,.pf{border-radius:3px}.pf{height:100%;transition:width .5s}.ov{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--pm-surf);border:1px solid var(--pm-bdr);border-radius:14px;width:100%;max-width:680px;max-height:92dvh;overflow-y:auto;box-shadow:var(--pm-shadow)}.modal-lg{max-width:860px}.mh{padding:14px 18px;border-bottom:1px solid var(--pm-bdr);display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;background:var(--pm-surf);z-index:1}.mtt{font-family:Syne,sans-serif;font-size:16px;font-weight:800}.mb{padding:16px 18px}.mf{padding:12px 18px;border-top:1px solid var(--pm-bdr);display:flex;justify-content:flex-end;gap:8px}.xb{background:none;border:none;color:var(--pm-dim);font-size:20px;cursor:pointer;padding:3px 6px;border-radius:6px;line-height:1}.xb:hover{color:var(--pm-text);background:var(--pm-surf2)}.uz{border:2px dashed var(--pm-bdr);border-radius:12px;padding:clamp(20px,4vw,30px);text-align:center;cursor:pointer;transition:all .2s}.uz:hover{border-color:var(--primary);background:rgba(200,90,66,.02)}.ibox{background:rgba(200,90,66,.05);border:1px solid rgba(200,90,66,.13);border-radius:9px;color:var(--primary);margin-bottom:13px}.gbox,.ibox{padding:10px 13px;font-size:12px;font-weight:600;line-height:1.6}.gbox{background:#00b8a90e;border:1px solid #00b8a922;border-radius:9px;color:#00b8a9}.ybox{background:rgba(212,160,96,.1);border:1px solid rgba(212,160,96,.27);border-radius:9px;padding:9px 13px;color:#7a6040}.rbox,.ybox{font-size:12px;font-weight:600;line-height:1.6}.rbox{background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.18);border-radius:10px;padding:11px 14px;color:var(--error)}.notice{background:linear-gradient(135deg,var(--primary),#a04030);border-radius:12px;padding:clamp(14px,3vw,18px) clamp(14px,3vw,20px);color:#fff;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ntitle{font-family:Syne,sans-serif;font-size:clamp(13px,2vw,15px);font-weight:800;margin-bottom:3px}.nsub{font-size:clamp(11px,1.5vw,12px);opacity:.88;font-weight:500}.row{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--pm-bdr)}.row:last-child{border:none}.fbc{background:var(--pm-surf2);border-radius:10px;padding:11px 13px;margin-bottom:9px;border:1px solid var(--pm-bdr)}.ai{display:inline-flex;gap:3px;background:linear-gradient(135deg,rgba(176,128,144,.13),rgba(200,90,66,.1));border:1px solid rgba(176,128,144,.2);color:var(--pm-mauve);padding:2px 8px;border-radius:20px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.ai,.selbanner{align-items:center}.selbanner{display:flex;gap:10px;background:rgba(212,160,96,.07);border:1.5px solid rgba(212,160,96,.31);border-radius:10px;padding:8px 13px;margin-bottom:12px;flex-wrap:wrap}.toast{position:fixed;bottom:max(20px,calc(env(safe-area-inset-bottom) + 70px));right:16px;background:var(--primary);color:#fff;padding:11px 18px;border-radius:11px;font-size:13px;font-weight:700;z-index:999;animation:su .3s ease;box-shadow:0 6px 24px rgba(200,90,66,.33);max-width:calc(100vw - 32px)}@media(min-width:640px){.toast{bottom:20px}}@keyframes su{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}hr.dv{border:none;border-top:1px solid var(--pm-bdr);margin:12px 0}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px;max-width:720px;width:100%}@media(max-width:767px){.role-grid{grid-template-columns:repeat(2,1fr)}}.rcard{background:var(--pm-surf);border:2px solid var(--pm-bdr);border-radius:14px;padding:clamp(16px,3vw,22px) clamp(14px,2.5vw,18px);cursor:pointer;text-align:center;transition:all .2s}.rcard-icon{font-size:clamp(26px,5vw,32px);margin-bottom:9px}.rcard-name{font-family:Syne,sans-serif;font-size:clamp(13px,2vw,15px);font-weight:800;color:var(--pm-text);margin-bottom:5px}.rcard-desc{font-size:clamp(10px,1.3vw,11.5px);color:var(--pm-dim);font-weight:500;line-height:1.55}.filter-wrap{gap:6px;flex-wrap:wrap}.filter-wrap,.opt-btn{display:flex;align-items:center}.opt-btn{gap:10px;padding:10px 13px;border:1.5px solid var(--pm-bdr);border-radius:9px;cursor:pointer;background:none;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:500;color:var(--pm-text);transition:all .14s;text-align:left;width:100%}.opt-btn:hover{border-color:var(--primary);background:rgba(200,90,66,.02)}.opt-btn.sel{border-color:var(--primary);background:rgba(200,90,66,.07)}.opt-btn.correct{border-color:#00b8a9;background:#00b8a912}.opt-btn.wrong{border-color:#ff6766;background:#ff67660e}.timer{font-family:Syne,sans-serif;font-size:18px;font-weight:800;color:var(--primary);letter-spacing:1px}.timer.warn{color:#ff6766}.res-card{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--pm-bdr);border-radius:10px;background:var(--pm-surf);margin-bottom:8px;cursor:pointer;transition:all .14s}.res-card:hover{border-color:var(--primary);box-shadow:0 2px 12px rgba(200,90,66,.08)}.res-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.bs-paid{background:#00b8a918;color:#00b8a9;border:1px solid #00b8a928}.bs-due{background:#ff676618;color:#ff6766;border:1px solid #ff676628}.bs-over{background:rgba(212,160,96,.16);color:#7a6040;border:1px solid rgba(212,160,96,.31)}.login-card{background:var(--bg-primary);border:1px solid var(--pm-bdr);border-radius:var(--r-xl);padding:clamp(28px,4vw,40px);width:100%;max-width:420px;box-shadow:var(--sh-lg)}.att-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--pm-surf2);border-radius:8px;margin-bottom:6px}.notif-item{padding:10px 13px;border-bottom:1px solid var(--pm-bdr);cursor:pointer;transition:background .1s}.notif-item:hover{background:var(--pm-surf2)}.notif-item.unread{border-left:3px solid var(--primary);background:rgba(200,90,66,.02)}.olet{width:26px;height:26px;border-radius:50%;border:2px solid var(--pm-bdr);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--pm-dim);flex-shrink:0;cursor:pointer;transition:all .14s}.olet.cor{border-color:#00b8a9;background:#00b8a920;color:#00b8a9}.q-expand{background:var(--pm-surf2);border-radius:10px;padding:12px 14px;margin-top:8px}.star{background:none;border:none;cursor:pointer;font-size:16px;padding:2px;transition:transform .1s}.star:hover{transform:scale(1.2)}.recharts-tooltip-wrapper{font-family:Plus Jakarta Sans,sans-serif!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.site-header{background:var(--bg-primary);border-bottom:1px solid var(--pm-bdr);box-shadow:0 1px 0 rgba(200,90,66,.04),0 4px 16px rgba(200,90,66,.04);padding:0 clamp(14px,3vw,28px);justify-content:space-between;height:60px;flex-shrink:0;z-index:60;position:relative}.site-header,.site-header-left{display:flex;align-items:center}.site-header-left{gap:14px}.site-logo-wrap{height:36px;display:flex;align-items:center;gap:10px;text-decoration:none}.site-logo-img{height:38px;width:auto;object-fit:contain;animation:logoGlow 4.5s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 0 rgba(52,51,153,0))}50%{filter:drop-shadow(0 0 5px rgba(200,90,66,.3))}}@media (prefers-reduced-motion:reduce){.site-logo-img{animation:none}}.site-logo-placeholder{height:36px;width:130px;background:var(--pm-surf2);border:1.5px dashed var(--pm-bdr);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--pm-muted);letter-spacing:.8px;text-transform:uppercase}.site-header-divider{width:1px;height:22px;background:var(--pm-bdr)}.site-header-tagline{font-size:11px;color:var(--pm-muted);font-weight:600;letter-spacing:.3px}.site-header-right{display:flex;align-items:center;gap:10px}.site-header-user{display:flex;align-items:center;gap:8px}.site-header-name{font-size:12px;font-weight:700;color:var(--pm-text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header-role{font-size:10px;color:var(--pm-muted);text-transform:capitalize}@media(max-width:639px){.site-header-name,.site-header-tagline{display:none}}.site-footer{background:var(--pm-surf);border-top:1px solid var(--pm-bdr);padding:10px clamp(12px,3vw,24px);justify-content:space-between;flex-shrink:0;flex-wrap:wrap;font-size:11px;color:var(--pm-muted)}.site-footer,.site-footer-left{display:flex;align-items:center;gap:8px}.site-footer-logo{height:20px;object-fit:contain;opacity:.6}.site-footer-links{display:flex;gap:14px}.site-footer-link{font-size:11px;color:var(--pm-muted);text-decoration:none;transition:color .12s}.site-footer-link:hover{color:var(--primary)}@media(max-width:639px){.site-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.site-footer-links{display:none}}.shell-with-chrome{display:flex;flex-direction:column;height:100dvh}.shell-body{display:flex;flex:1 1;overflow:hidden;min-height:0}.q-meta-bar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.qmb{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.qmb-type{background:var(--primary);color:#fff}.qmb-subj{background:var(--pm-surf2);color:var(--pm-dim);border:1px solid var(--pm-bdr)}.qmb-diff{background:rgba(212,160,96,.16);color:#7a6040;border:1px solid rgba(212,160,96,.27)}.qmb-marks{background:#00b8a918;color:#00b8a9;border:1px solid #00b8a928}.qmb-neg{background:#ff676618;color:#ff6766;border:1px solid #ff676628}.qmb-time{background:var(--pm-surf2);color:var(--pm-muted);border:1px solid var(--pm-bdr)}.tf-group{display:flex;gap:10px;margin-bottom:10px}.tf-opt{padding:10px 24px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;border:1.5px solid var(--pm-bdr);background:none;color:var(--pm-text);font-family:Plus Jakarta Sans,sans-serif;transition:all .14s}.tf-opt:hover{background:rgba(200,90,66,.03)}.tf-opt.sel,.tf-opt:hover{border-color:var(--primary);color:var(--primary)}.tf-opt.sel{background:rgba(200,90,66,.07)}.tf-opt.correct{border-color:#00b8a9;background:#00b8a912;color:#00b8a9}.tf-opt.wrong{border-color:#ff6766;background:#ff676610;color:#ff6766}.hint-toggle{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,rgba(176,128,144,.1),rgba(200,90,66,.07));border:1px solid rgba(176,128,144,.16);color:var(--pm-mauve);padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:8px;transition:all .12s}.hint-toggle:hover{background:linear-gradient(135deg,rgba(176,128,144,.16),rgba(200,90,66,.12))}.hint-box-test{background:rgba(176,128,144,.05);border:1px solid rgba(176,128,144,.13);border-radius:9px;padding:10px 13px;font-size:12.5px;color:var(--pm-mauve);line-height:1.6;margin-bottom:10px}.sol-toggle{display:inline-flex;align-items:center;gap:5px;background:#00b8a912;border:1px solid #00b8a928;color:#00b8a9;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:8px;transition:all .12s}.sol-box-test{background:#00b8a908;border:1px solid #00b8a922;border-radius:9px;padding:12px 14px;font-size:12.5px;color:var(--pm-dim);line-height:1.75;margin-bottom:10px}.sol-title{font-size:10px;font-weight:800;color:#00b8a9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.q-submit-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.q-result{padding:9px 13px;border-radius:8px;font-size:12.5px;font-weight:600;line-height:1.5;margin-top:10px;white-space:pre-wrap}.q-result.pass{background:#00b8a910;border:1.5px solid #00b8a930;color:#00b8a9}.q-result.fail{background:#ff676610;border:1.5px solid #ff676630;color:#ff6766}.q-result.partial{background:rgba(212,160,96,.1);border:1.5px solid rgba(212,160,96,.27);color:#7a6040}.q-result.info{background:rgba(200,90,66,.06);border:1.5px solid rgba(200,90,66,.15);color:var(--primary)}.q-result.manual{background:rgba(176,128,144,.06);border:1.5px solid rgba(176,128,144,.16);color:var(--pm-mauve)}.test-summary{display:flex;flex-direction:column;gap:14px;padding:clamp(16px,3vw,24px);max-width:740px;margin:0 auto}.summary-banner{background:linear-gradient(135deg,var(--primary),#a04030);border-radius:14px;padding:clamp(18px,3vw,26px);color:#fff}.summary-score-big{font-family:Syne,sans-serif;font-size:clamp(36px,6vw,52px);font-weight:800;line-height:1}.summary-score-sub{font-size:13px;opacity:.88;margin-top:4px}.summary-grade{font-family:Syne,sans-serif;font-size:clamp(28px,5vw,40px);font-weight:800;line-height:1}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media(max-width:639px){.summary-stats{grid-template-columns:repeat(2,1fr)}}.summary-q-row{display:flex;align-items:flex-start;gap:10px;padding:9px 13px;border-bottom:1px solid var(--pm-bdr);font-size:12px}.summary-q-row:last-child{border:none}.sq-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:2px}.sq-dot.pass{background:#00b8a9}.sq-dot.fail{background:#ff6766}.sq-dot.partial{background:var(--accent)}.sq-dot.manual{background:var(--pm-mauve)}.sq-dot.skip{background:var(--pm-muted)}.qnav-btn{padding:5px 0;border:none;border-radius:5px;background:var(--pm-surf);color:var(--pm-dim);font-weight:700;font-size:11px;cursor:pointer;font-family:inherit;transition:all .12s;text-align:center}.qnav-btn.current{background:var(--primary);color:#fff}.qnav-btn.answered{background:#00b8a933;color:#00b8a9}.qnav-btn.submitted{background:#00b8a9;color:#fff}.math-wrap{overflow-x:auto;overflow-y:hidden;max-width:100%}.MJX-TEX{font-size:1em!important}.test-dual-timer{display:flex;flex-direction:column;align-items:center;line-height:1.05}.timer-elapsed{font-family:Syne,sans-serif;font-size:28px;font-weight:800;color:var(--primary);letter-spacing:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-elapsed.warn{color:#ff6766;animation:pulse 1s ease infinite}.timer-left-label{font-size:9px;font-weight:700;color:var(--pm-muted);text-transform:uppercase;letter-spacing:1px;margin-top:1px}.timer-total{font-size:11px;color:var(--pm-dim);font-weight:700}.cat-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.cat-practice{background:rgba(176,128,144,.1);color:var(--pm-mauve);border:1px solid rgba(176,128,144,.19)}.cat-performance{background:rgba(200,90,66,.08);color:var(--primary);border:1px solid rgba(200,90,66,.16)}.test-shell{display:flex;flex-direction:column;height:100%;background:var(--pm-bg)}.test-topbar{padding:8px 16px;background:var(--pm-surf);align-items:center;gap:14px}.test-tab-bar,.test-topbar{border-bottom:1px solid var(--pm-bdr);display:flex;flex-shrink:0}.test-tab-bar{background:var(--pm-surf2);padding:0 16px;gap:0}.test-tab{padding:8px 16px;font-size:12px;font-weight:700;color:var(--pm-muted);background:none;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;border:none;border-bottom:2px solid transparent;transition:all .14s}.test-tab.on{color:var(--primary);border-bottom-color:var(--primary)}.test-body{display:flex;flex:1 1;overflow:hidden;min-height:0}.test-q-area{flex:1 1;overflow-y:auto;padding:clamp(12px,2vw,20px)}.test-nav-panel{width:220px;background:var(--pm-surf);border-left:1px solid var(--pm-bdr);overflow-y:auto;padding:12px;flex-shrink:0}.q-matrix{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px;gap:4px}.q-matrix-btn{width:100%;aspect-ratio:1;border:1.5px solid var(--pm-bdr);border-radius:6px;font-size:11px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .1s;background:var(--pm-surf2)}.q-matrix-btn.cur{border-color:var(--primary);background:var(--primary);color:#fff}.q-matrix-btn.pass{background:#00b8a9;color:#fff;border-color:#00b8a9}.q-matrix-btn.fail{background:#ff6766;color:#fff;border-color:#ff6766}.q-matrix-btn.partial{background:var(--accent);color:var(--text-primary);border-color:var(--accent)}.q-matrix-btn.ans{background:#00b8a930;color:#00b8a9;border-color:#00b8a960}.q-matrix-btn.review{background:rgba(176,128,144,.15);color:var(--pm-mauve);border-color:rgba(176,128,144,.33)}.nav-legend{display:flex;flex-direction:column;gap:3px;margin-top:10px;font-size:10px;color:var(--pm-muted)}.nav-legend-row{display:flex;align-items:center;gap:5px}.nav-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.test-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--pm-bdr)}.section-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1.5px solid var(--pm-bdr);border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;color:var(--pm-dim);transition:all .14s;background:none}.section-chip.on{border-color:var(--primary);color:var(--primary);background:rgba(200,90,66,.06)}.tb-cat-btn{padding:8px 16px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;border:1.5px solid var(--pm-bdr);background:none;color:var(--pm-dim);transition:all .14s}.tb-cat-btn.on.practice{border-color:var(--pm-mauve);background:rgba(176,128,144,.08);color:var(--pm-mauve)}.tb-cat-btn.on.performance{border-color:var(--primary);background:rgba(200,90,66,.07);color:var(--primary)}.tb-section-card{background:var(--pm-surf2);border:1px solid var(--pm-bdr);border-radius:10px;padding:12px 14px;margin-bottom:10px}.tb-part-row{background:var(--pm-surf);border:1px solid var(--pm-bdr);border-radius:8px;padding:9px 12px;margin-top:8px;display:grid;grid-template-columns:1fr 72px 72px 72px auto;grid-gap:8px;gap:8px;align-items:center}@media(max-width:639px){.tb-part-row{grid-template-columns:1fr;gap:6px}}.group-card{background:var(--pm-surf);border:1px solid var(--pm-bdr);border-radius:11px;padding:14px 16px;cursor:pointer;transition:all .14s;margin-bottom:8px}.group-card:hover{border-color:var(--primary);box-shadow:0 2px 12px rgba(200,90,66,.07)}.group-tests-row{display:grid;grid-gap:6px;gap:6px}.group-test-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--pm-surf2);border-radius:8px;cursor:pointer;transition:background .1s}.group-test-item:hover{background:var(--pm-surf3)}.analysis-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}@media(max-width:639px){.analysis-grid{grid-template-columns:repeat(2,1fr)}}.analysis-stat{background:var(--pm-surf);border:1px solid var(--pm-bdr);border-radius:10px;padding:12px;text-align:center}.analysis-val{font-family:Syne,sans-serif;font-size:24px;font-weight:800;line-height:1}.analysis-lbl{font-size:9px;font-weight:700;color:var(--pm-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:4px}.section-analysis-row{padding:10px 14px;border-bottom:1px solid var(--pm-bdr)}.section-analysis-row:last-child{border:none}.skill-toggle{display:flex;gap:0;background:var(--pm-surf2);border:1px solid var(--pm-bdr);border-radius:20px;padding:2px;width:-moz-fit-content;width:fit-content}.skill-toggle-btn{padding:4px 12px;border-radius:18px;font-size:11px;font-weight:700;cursor:pointer;border:none;background:none;color:var(--pm-dim);font-family:inherit;transition:all .14s}.skill-toggle-btn.on{background:var(--primary);color:#fff}.bar-wrap{display:flex;align-items:center;gap:8px;margin-top:4px}.bar-bg{flex:1 1;height:8px;background:var(--pm-surf3);border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.spider-chart-wrap{width:100%;height:280px;position:relative}.practice-penalty-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:12px;font-size:10px;font-weight:700}.penalty-hint{background:rgba(212,160,96,.12);color:#7a6040;border:1px solid rgba(212,160,96,.27)}.penalty-sol{background:#ff676618;color:#ff6766;border:1px solid #ff676630}.q-expand-answer{background:var(--pm-surf2);border-radius:8px;padding:10px 12px;margin-top:8px;font-size:12px;color:var(--pm-dim);line-height:1.65}.solution-expand-btn{font-size:11px;font-weight:700;color:#00b8a9;background:none;border:none;cursor:pointer;padding:3px 0;font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}.ProseMirror{outline:none;min-height:inherit}.ProseMirror p{margin:0 0 6px}.ProseMirror p:last-child{margin-bottom:0}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--pm-muted);pointer-events:none;float:left;height:0;font-size:13px}.ProseMirror ol,.ProseMirror ul{padding-left:20px;margin:4px 0}.ProseMirror li{margin-bottom:2px}.ProseMirror code{background:var(--pm-surf2);border:1px solid var(--pm-bdr);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:.88em}.ProseMirror pre{background:var(--pm-surf2);border:1px solid var(--pm-bdr);padding:10px 12px;border-radius:7px;overflow-x:auto;margin:6px 0}.ProseMirror pre code{background:none;border:none;padding:0}.ProseMirror img{max-width:100%;border-radius:6px;margin:4px 0;display:block}.ProseMirror strong{font-weight:800}.ProseMirror em{font-style:italic}