:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--t1:#191f28;--t2:#4e5968;--t3:#6b7684;--t4:#8b95a1;--s0:#f2f4f6;--s1:#fff;--s2:#edeff2;--sk:#f5f6f9;--ln:#e5e8eb;--ln2:#d1d6db;--ik:#2c323b;--ik2:#5a6272;--doc:#ebedf0;--doc2:#fff;--sh:#0000000f;--cb:#3182f6;--cb2:#3182f6;--cbt:#e8f3ff;--cbl:#b7d5fb;--cbm:#8ab9f8;--cg:#00c471;--cg2:#02a661;--cgt:#e6f8f0;--cgl:#9de6c6;--cr:#f04452;--cr2:#f04452;--crt:#feefef;--crl:#ffc3c8;--co:#ff9500;--co2:#e07c00;--cot:#fff6e5;--col:#ffdca0;--cp:#7a5af8;--cp2:#6f52e8;--cpt:#f1ecfe;--cpl:#d3c4fc;--tx:none;--tx2:none;--tls:#191f28;--tds:#8b95a1;--r-sm:8px;--r-md:12px;--r-lg:14px;--r-xl:16px;--r-pill:999px;--r-card:12px;--ff-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif;--ff-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--ff-serif:"Noto Serif KR", AppleMyungjo, serif;--sh-card:none;--sh-screen:0 6px 24px var(--sh);--sh-pop:0 6px 24px var(--sh);--sh-drawer:0 6px 24px var(--sh);--sh-crimson:none;--sh-green:none;--sh-focus:0 0 0 3px #3182f62e;--ease:cubic-bezier(.2, .7, .2, 1);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--t-fast:.12s;--t-med:.2s;--t-press:.16s;--ring:0 0 0 3px #3182f624;--rail-w:218px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--t1:#edeff2;--t2:#b9c0ca;--t3:#9aa2ae;--t4:#79818d;--s0:#16181c;--s1:#1e2126;--s2:#24272d;--sk:#31353d;--ln:#2e3238;--ln2:#3c4149;--ik:#e3e7ec;--ik2:#b4bbc5;--doc:#0b0d10;--doc2:#121418;--sh:#0000008c;--cb:#3b85f7;--cb2:#6ba6ff;--cbt:#17273c;--cbl:#2f4c74;--cbm:#4e86d6;--cg:#00a05c;--cg2:#12a36e;--cgt:#0e2a20;--cgl:#1e5a44;--cr:#f0505e;--cr2:#ff7c86;--crt:#351d20;--crl:#6e3940;--co:#d97a00;--co2:#c97a00;--cot:#302411;--col:#6a4e1c;--cp:#8e72ff;--cp2:#a98cff;--cpt:#241e3d;--cpl:#47396f;--tx:translateX(26px);--tx2:translateX(36px);--tls:#79818d;--tds:#edeff2;--sh-focus:0 0 0 3px #3b85f747;--ring:0 0 0 3px #3b85f733}html.no-tr *,html.no-tr :before,html.no-tr :after{transition:none!important}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--ff-sans);color:var(--t1);background:var(--s0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:13px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}img,svg{display:block}:focus-visible{outline:2px solid var(--cb);outline-offset:2px}.ms{letter-spacing:normal;-webkit-user-select:none;user-select:none;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle;font-family:Material Symbols Outlined;font-style:normal;font-weight:400;line-height:1;display:inline-block}.ms.fill{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.mono,.mn{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-feature-settings:"zero" 1}.sf{font-family:var(--ff-serif)}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.2em;font-size:9.5px;font-weight:600}.muted{color:var(--t3)}.subtle{color:var(--t4)}.crimson{color:var(--cb2)}.green{color:var(--cg2)}.amber{color:var(--co2)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;display:flex}.spacer{flex:1}.fw-b{font-weight:700}.fw-x{font-weight:800}.fw-9{font-weight:900}.nowrap{white-space:nowrap}.center{justify-content:center;align-items:center;display:flex}.scroll-y{min-height:0;overflow-y:auto}.hidden{display:none!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ln2);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}kbd,.kcap{box-shadow:none;background:var(--s1);border:1px solid var(--ln2);min-width:19px;height:19px;font-family:var(--ff-mono);color:var(--ik);border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.kcap.kd{background:var(--s0);border-color:var(--ln2);color:var(--t1)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}@keyframes halo{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.5)}}@keyframes glow{0%,to{box-shadow:0 0 #3182f657}70%,to{box-shadow:0 0 0 8px #3182f600}}@keyframes draw{0%{stroke-dashoffset:var(--d,600)}to{stroke-dashoffset:0}}@keyframes ringto{0%{stroke-dashoffset:var(--c,340)}to{stroke-dashoffset:var(--o,120)}}@keyframes growy{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes growx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,46%{opacity:1}50%,96%{opacity:0}}@keyframes shim{0%{background-position:100% 0}to{background-position:-100% 0}}.sk{background:linear-gradient(90deg, var(--s2) 25%, var(--sk) 37%, var(--s2) 63%);background-size:400% 100%;border-radius:5px;animation:1.5s infinite shim}@property --n{syntax:"<integer>";inherits:false;initial-value:0}.r{counter-reset:n var(--n);animation:1.5s cubic-bezier(.16,.9,.24,1) both roll}.r:after{content:counter(n)}@keyframes roll{0%{--n:0}}.livedot{flex:none;width:5px;height:5px;display:inline-block;position:relative}.livedot:before{content:"";background:currentColor;border-radius:50%;animation:1.9s ease-in-out infinite halo;position:absolute;inset:-3px}.livedot:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:0}::selection{background:var(--cbl);color:var(--t1)}.mth{display:inline}.mth .katex-html,.mth .katex-mathml{-webkit-user-select:none;user-select:none}.mth-tex{clip-path:inset(50%);white-space:pre;-webkit-user-select:text;user-select:text;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex-display{padding-bottom:2px;overflow:auto hidden}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{background:var(--s0);flex:1;min-height:0;display:flex}.app-main{background:var(--s0);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.app-main>.page{flex:1;min-height:0}.app.full .app-body{display:block}.inkbar{background:var(--s0);height:56px;color:var(--t1);border-bottom:1px solid var(--ln);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-shrink:0;align-items:center;gap:14px;padding:0 22px;display:flex}.inkbar .brand{align-items:center;gap:9px;display:flex}.inkbar .brand .dot{background:var(--cb);border-radius:3px;width:9px;height:9px}.inkbar .brand .word{letter-spacing:.22em;color:var(--t1);font-size:11.5px;font-weight:800}.inkbar .brand .sect{color:var(--t4);letter-spacing:.08em;font-size:11px}.inkbar .crumb{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.04em;flex:1;font-size:11px}.inkbar .ibtns{color:var(--t3);align-items:center;gap:10px;font-size:11.5px;display:flex}.inkbar .ibtns button{color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.inkbar .ibtns>button.ms{background:var(--s1);border:1px solid var(--ln);width:32px;height:32px;color:var(--t2);cursor:pointer;border-radius:9px;font-size:17px}.inkbar .ibtns>button.ms:hover{background:var(--s0)}.inkbar .ibtns .div{background:var(--ln);width:1px;height:16px}.inkbar .ibtns .who{color:var(--t1);cursor:pointer;font-weight:600}.inkbar .ibtns .who.dim{color:var(--t3);font-weight:600}.inkbar .ibtns .pill{background:var(--s1);border:1px solid var(--ln);color:var(--t2);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-flex}.inkbar .ibtns .pill .dot{border-radius:50%;width:5px;height:5px}.rail{width:var(--rail-w);box-sizing:border-box;background:var(--s1);border-right:1px solid var(--ln);flex-direction:column;flex-shrink:0;padding:14px 10px 12px;display:flex;overflow-y:auto}.rail-head{align-items:center;gap:9px;padding:2px 8px 12px;display:flex}.rail-head .k{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.2em;font-size:8.5px;font-weight:600}.rail-head .v{letter-spacing:.12em;color:var(--t1);white-space:nowrap;font-size:11.5px;font-weight:800}.rail-head .mark{background:var(--cb);border-radius:3px;flex:none;width:10px;height:10px}.rail-group{padding:13px 0 0}.rail-group:first-of-type{padding-top:2px}.rail-group .glabel{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.2em;margin:0 9px 5px;font-size:9.5px;font-weight:600}.rail a.nav{height:29px;color:var(--t3);white-space:nowrap;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;padding:0 10px;font-size:12px;font-weight:600;display:flex;position:relative}.rail a.nav .ms{font-size:16px}.rail a.nav .lbl{text-overflow:ellipsis;overflow:hidden}.rail a.nav:hover{background:var(--s0);color:var(--t1)}.rail a.nav.active{color:var(--t1);background:var(--cbt);border:1px solid var(--cb);padding:0 9px;font-weight:700}.rail a.nav.active:before{content:"";background:var(--cb);border-radius:0 2px 2px 0;width:3px;position:absolute;top:7px;bottom:7px;left:0}.rail a.nav.active .ms{color:var(--cb2);font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.rail a.nav .count{font-family:var(--ff-mono);color:var(--t4);margin-left:auto;font-size:10px}.rail a.nav.active .count{color:var(--t4)}.rail a.nav .count.pill{font-family:var(--ff-sans);background:var(--cgt);border:1px solid var(--cgl);color:var(--cg2);border-radius:999px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.rail a.nav .count.crim{font-family:var(--ff-sans);background:var(--crt);border:1px solid var(--cr);color:var(--cr2);border-radius:999px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.rail a.nav .count.live{font-family:var(--ff-sans);background:var(--cgt);border:1px solid var(--cgl);color:var(--cg2);border-radius:999px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.rail a.nav .count.lead{font-family:var(--ff-sans);background:var(--cpt);border:1px solid var(--cpl);color:var(--cp2);border-radius:999px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.rail a.nav .count.warn{font-family:var(--ff-sans);background:var(--cot);border:1px solid var(--col);color:var(--co2);border-radius:999px;align-items:center;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.rail-foot{background:var(--s1);border:1px solid var(--ln);border-radius:9px;align-items:center;gap:7px;margin-top:auto;padding:4px 4px 4px 11px;display:flex}.rail-foot .d{width:5px;height:5px;color:var(--cg);flex:none;position:relative}.rail-foot .d:before{content:"";background:currentColor;border-radius:50%;animation:2.4s ease-in-out infinite halo;position:absolute;inset:-3px}.rail-foot .d:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:0}.rail-foot .t{font-family:var(--ff-mono);color:var(--t4);font-size:10px}.thsw{background:var(--s0);border:1px solid var(--ln);cursor:pointer;border-radius:999px;flex:none;align-items:center;height:26px;padding:3px;display:inline-flex;position:relative}.thsw .knob{background:var(--s1);border:1px solid var(--ln2);width:26px;height:18px;transform:var(--tx,none);border-radius:999px;transition:transform .26s cubic-bezier(.2,.7,.2,1);position:absolute;top:3px;left:3px}.thsw .ms{text-align:center;width:26px;font-size:14px;transition:color .2s;position:relative}.thsw .ms.l{color:var(--tls)}.thsw .ms.d{color:var(--tds)}.page{flex-direction:column;gap:16px;padding:18px 22px;display:flex}.page.tight{padding:16px 20px}.page-head{align-items:flex-end;gap:16px;display:flex}.page-head .titles{flex:1;min-width:0}.page-head h1{letter-spacing:-.03em;color:var(--t1);margin-top:5px;font-size:25px;font-weight:800}.page-head .meta{font-family:var(--ff-mono);color:var(--t4);font-size:11px}.section{margin-bottom:0}.grid{gap:13px;display:grid}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}.card{background:var(--s1);border:1px solid var(--ln);box-shadow:none;border-radius:13px}.card.pad{padding:15px 17px}.card.pad-sm{padding:13px 15px}.card.tint{background:var(--cbt);border-color:var(--cb)}.card-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:13px;display:flex}.card-title{color:var(--t1);letter-spacing:-.01em;margin-top:3px;font-size:13px;font-weight:800}.kpi{background:var(--s1);border:1px solid var(--ln);border-radius:12px;padding:14px 17px}.kpi.tint{background:var(--cbt);border-color:var(--cb)}.kpi .k{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.18em;font-size:9.5px;font-weight:600}.kpi.tint .k{color:var(--t3)}.kpi .v{align-items:flex-end;gap:6px;margin-top:7px;display:flex}.kpi .n{font-family:var(--ff-mono);letter-spacing:-.03em;color:var(--t1);font-variant-numeric:tabular-nums;font-size:29px;font-weight:700;line-height:1}.kpi .n.dim{color:var(--t4)}.kpi .unit{color:var(--t4);padding-bottom:2px;font-size:11px}.kpi .delta{background:var(--s1);border:1px solid var(--ln);font-family:var(--ff-mono);color:var(--t3);border-radius:999px;align-items:center;gap:3px;margin-left:auto;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.kpi .delta.up{border-color:var(--cgl);background:var(--cgt);color:var(--cg2)}.kpi .delta.down{border-color:var(--crl);background:var(--crt);color:var(--cr2)}.kpi .sub{font-family:var(--ff-mono);color:var(--t4);flex-wrap:wrap;gap:8px;margin-top:6px;font-size:10px;display:flex}.kpi .sub.crimson{color:var(--cb2)}.kpi .sub b{font-family:var(--ff-mono);color:var(--t2)}.splitbar{background:var(--s2);border-radius:999px;gap:0;height:6px;display:flex;overflow:hidden}.splitbar>span{display:block}.pbar{background:var(--s2);border-radius:999px;height:6px;overflow:hidden}.pbar>i{background:var(--cb);transform-origin:0;height:100%;animation:growx .8s var(--ease) both;border-radius:999px;display:block}.badge{background:var(--s0);border-radius:var(--r-pill);color:var(--t2);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.badge .dot{background:var(--t4);border-radius:50%;width:5px;height:5px}.badge.lg{padding:4px 10px;font-size:11px}.badge.lg .dot{width:6px;height:6px}.badge.outline{background:var(--s1);border-color:var(--ln)}.badge.pass,.badge.done,.badge.tone-green{background:var(--cgt);border-color:var(--cgl);color:var(--cg2)}.badge.pass .dot,.badge.done .dot,.badge.tone-green .dot{background:var(--cg)}.badge.fix,.badge.tone-amber,.badge.queue{background:var(--cot);border-color:var(--col);color:var(--co2)}.badge.fix .dot,.badge.tone-amber .dot,.badge.queue .dot{background:var(--co)}.badge.drop,.badge.fail,.badge.tone-crim{background:var(--crt);border-color:var(--crl);color:var(--cr2)}.badge.drop .dot,.badge.fail .dot,.badge.tone-crim .dot{background:var(--cr)}.badge.prog,.badge.running,.badge.live,.badge.tone-info{background:var(--cbt);border-color:var(--cb);color:var(--cb2)}.badge.prog .dot,.badge.running .dot,.badge.live .dot,.badge.tone-info .dot{background:var(--cb)}.badge.running .dot,.badge.live .dot{animation:1.8s ease-in-out infinite halo}.badge.lead,.badge.tone-lead{background:var(--cpt);border-color:var(--cpl);color:var(--cp2)}.badge.lead .dot,.badge.tone-lead .dot{background:var(--cp)}.badge.none{background:var(--s0);border-color:var(--ln);color:var(--t3)}.badge.none .dot{background:var(--t4)}.badge.hold{background:var(--s2);border-color:var(--ln2);color:var(--t3)}.badge.hold .dot{background:var(--t3)}.badge.tone-ink{background:var(--s0);border-color:var(--ln2);color:var(--t1)}.chip{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-pill);height:26px;color:var(--t2);cursor:pointer;white-space:nowrap;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-press) var(--ease-out);align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.chip .n{font-family:var(--ff-mono);color:var(--t4);font-weight:700}.chip:hover{border-color:var(--ln2)}.chip:active{transform:scale(.96)}.chip.on{background:var(--cb);color:#fff;border-color:var(--cb);font-weight:700}.chip.on .n{color:#fff}.chip.on-brand{background:var(--cbt);color:var(--cb2);border-color:var(--cb);font-weight:700}.chip.tag{height:24px;color:var(--t3);padding:0 10px;font-size:11px;font-weight:600}.chip.tag.on{background:var(--cbt);border-color:var(--cb);color:var(--cb2);font-weight:700}.fchip{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-sm);height:30px;color:var(--t2);cursor:pointer;align-items:center;gap:6px;padding:0 11px;font-size:11.5px;font-weight:600;display:inline-flex}.fchip:hover{border-color:var(--ln2)}.fchip .ms{color:var(--t4);font-size:15px}.fchip .lead{color:var(--t4);font-weight:600}.fchip.grow{flex:1}.fchip.search{color:var(--t4);font-weight:400}.fchip select{cursor:pointer;color:var(--t2);background:0 0;border:0;font-weight:600}.fchip input{background:0 0;border:0;flex:1;min-width:0}.btn{height:32px;color:var(--t1);white-space:nowrap;background:var(--s1);border:1px solid var(--ln2);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-press) var(--ease-out);border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:11.5px;font-weight:700;display:inline-flex}.btn .ms{font-size:14px}.btn:hover{background:var(--s0)}.btn:active{transform:scale(.97)}.btn:disabled{color:var(--t4);background:var(--s1);border-color:var(--ln);cursor:not-allowed}.btn:disabled:active{transform:none}.btn.sm{height:28px;padding:0 11px;font-size:11px}.btn.sm .ms{font-size:13px}.btn.lg{height:36px;padding:0 16px;font-size:12.5px}.btn.block{width:100%}.btn.primary{background:var(--cb);color:#fff;border-color:var(--cb);transition:transform .2s var(--ease), background var(--t-fast) var(--ease);font-weight:800}.btn.primary:hover{background:var(--cb);transform:translateY(-2px)}.btn.primary:disabled{background:var(--ln);color:var(--t4);border-color:var(--ln);transform:none}.btn.ink{background:var(--s0);color:var(--t1);border-color:var(--ln2)}.btn.ink:hover{background:var(--ln)}.btn.success{background:var(--cgt);color:var(--cg2);border-color:var(--cg);font-weight:700}.btn.success:hover{background:var(--s1)}.btn.danger{background:var(--crt);color:var(--cr2);border-color:var(--cr)}.btn.danger:hover{background:var(--s1)}.btn.warn{background:var(--co2);color:#fff;border-color:var(--co2);font-weight:800}.btn.warn:hover{background:var(--co)}.btn.ghost{color:var(--t2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--s0)}.btn.icon{width:32px;padding:0}.btn.icon.sm{width:28px}.seg{background:var(--s0);border:1px solid var(--ln);border-radius:9px;padding:3px;display:inline-flex}.seg.block{width:100%;display:flex}.seg button{height:26px;color:var(--t3);white-space:nowrap;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-press) var(--ease-out);border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:11.5px;font-weight:600;display:inline-flex}.seg button:active{transform:scale(.96)}.seg button.on{background:var(--s1);color:var(--t1);box-shadow:none;font-weight:700}.seg.ink button.on{background:var(--cb);color:#fff}.seg .pill{font-family:var(--ff-mono);border-radius:999px;padding:1px 6px;font-size:10px}.seg button.on .pill.crim{background:var(--cb);color:#fff}.verdict{gap:7px;display:flex}.verdict button{height:40px;color:var(--t2);background:var(--s1);border:1px solid var(--ln2);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-press) var(--ease-out);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.verdict button:active{transform:scale(.96)}.verdict button .d{border-radius:50%;width:7px;height:7px}.verdict button.pass:hover{background:var(--cgt);color:var(--cg2)}.verdict button.fix:hover{background:var(--cot);color:var(--co2)}.verdict button.drop:hover{background:var(--crt);color:var(--cr2)}.verdict button.pass.on{background:var(--cg2);color:#fff;border-color:var(--cg);font-weight:800}.verdict button.pass.on .d{background:#fff}.verdict button.fix.on{background:var(--co2);color:#fff;border-color:var(--co);font-weight:800}.verdict button.fix.on .d{background:#fff}.verdict button.drop.on{background:var(--cr);color:#fff;border-color:var(--cr);font-weight:800}.verdict button.drop.on .d{background:#fff}.verdict button .d.pass{background:var(--cg)}.verdict button .d.fix{background:var(--co)}.verdict button .d.drop{background:var(--cr)}.tri{gap:5px;display:flex}.tri button{height:32px;color:var(--t3);background:var(--s1);border:1px solid var(--ln);border-radius:8px;flex:1;font-size:12px;font-weight:600}.tri button.on{background:var(--cbt);color:var(--cb2);border-color:var(--cb);font-weight:700}.flabel{color:var(--t3);letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.flabel .req{font-family:var(--ff-mono);color:var(--cb2);font-size:9px;font-weight:700}.flabel .opt{color:var(--t4);font-weight:500}.field{background:var(--s1);border:1px solid var(--ln);width:100%;height:36px;color:var(--t1);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);border-radius:10px;padding:0 12px;font-size:12.5px}.field:focus{background:var(--cbt);border-color:var(--cb);box-shadow:var(--ring);outline:none}.field::placeholder{color:var(--t4)}textarea.field{resize:vertical;height:auto;min-height:54px;padding:9px 12px;line-height:1.55}select.field{cursor:pointer}.fieldbox{margin-bottom:14px}.toggle{background:var(--ln);cursor:pointer;width:42px;height:24px;transition:background var(--t-med) var(--ease-out);border-radius:999px;flex-shrink:0;position:relative}.toggle .knob{width:20px;height:20px;transition:left var(--t-med) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--cb)}.toggle.on .knob{left:20px}.toggle.sm{width:34px;height:20px}.toggle.sm .knob{width:16px;height:16px}.toggle.sm.on .knob{left:16px}.table{background:var(--s1);border:1px solid var(--ln);border-radius:13px;overflow:hidden}.thead,.trow{align-items:center;display:grid}.thead{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.12em;border-bottom:1px solid var(--ln);background:var(--s1);padding:10px 18px;font-size:9.5px;font-weight:600}.trow{border-bottom:1px solid var(--ln);color:var(--t1);transition:background var(--t-fast) var(--ease);padding:9px 18px;font-size:12px}.trow:last-child{border-bottom:0}.trow:hover{background:var(--s0);cursor:pointer}.trow.sel{background:var(--cbt);box-shadow:inset 3px 0 0 var(--cb)}.trow .mono,.thead+.trow .mono{font-family:var(--ff-mono)}.tfoot{border-top:1px solid var(--ln2);background:var(--s0);color:var(--t1);align-items:center;padding:11px 18px;font-size:11.5px;font-weight:700;display:grid}.tcap{border-bottom:1px solid var(--ln);align-items:center;padding:11px 18px;display:flex}.choices{flex-direction:column;gap:10px;display:flex}.choice{border:1px solid var(--ln);background:var(--s1);border-radius:10px;gap:13px;padding:12px 14px;display:flex}.choice .mark{border:1.5px solid var(--ln2);width:24px;height:24px;color:var(--t2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.choice .txt{color:var(--ik);flex:1;font-size:14px;line-height:1.65}.choice.correct{border:1px solid var(--cg);background:var(--cgt)}.choice.correct .mark{background:var(--cg);color:#fff;border-color:var(--cg)}.choice .ans{background:var(--s1);border:1px solid var(--cg);color:var(--cg2);border-radius:999px;align-self:flex-start;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.choice.sm{background:var(--s1);border-radius:8px;gap:8px;padding:7px 10px}.choice.sm .mark{border-width:1px;width:18px;height:18px;font-size:10px}.choice.sm .txt{font-size:12.5px;line-height:1.55}.exam{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-md);box-shadow:var(--sh-card);padding:32px 40px}.exam .qno{align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.exam .qno .n{font-family:var(--ff-mono);color:var(--t4);letter-spacing:.18em;font-size:11px;font-weight:700}.exam .qno .h{font-family:var(--ff-mono);color:var(--t4);font-size:11px}.exam .stem{font-family:var(--ff-serif);color:var(--t1);margin-bottom:18px;font-size:17px;line-height:1.7}.exam .choice .txt{font-family:var(--ff-serif)}.passage-body p{text-indent:1.1em;margin:0}.passage-body p.pf{text-indent:0}.exam .neg{color:var(--cb);font-weight:700}.explain{background:var(--s0);border:1px dashed var(--ln2);border-radius:var(--r-card);margin-top:20px;padding:16px 18px}.explain .k{color:var(--t4);letter-spacing:.18em;margin-bottom:6px;font-size:10px;font-weight:700}.explain .b{color:var(--t1);font-size:13px;line-height:1.7}.verify-thin{font-family:var(--ff-mono);align-items:center;gap:10px;margin-top:14px;font-size:11px;display:flex}.verify-thin .ok{color:var(--cg);align-items:center;gap:6px;display:inline-flex}.stmts{background:var(--s0);border:1px solid var(--ln);border-radius:var(--r-sm);flex-direction:column;gap:6px;padding:12px 14px;font-size:13.5px;line-height:1.7;display:flex}.exam .stmts{font-family:var(--ff-serif)}.stmts .s{gap:8px;display:flex}.stmts .s .m{font-family:var(--ff-mono);color:var(--t3);flex-shrink:0}.stepper{align-items:center;display:flex}.step{align-items:center;gap:10px;display:flex}.step .circ{background:var(--s1);border:1.5px solid var(--ln2);width:28px;height:28px;color:var(--t4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.step .circ .ms{font-size:15px}.step .k{color:var(--t4);letter-spacing:.1em;font-size:11px;font-weight:700}.step .v{color:var(--t1);font-size:14px;font-weight:800}.step .t{font-family:var(--ff-mono);color:var(--t3);font-size:10px}.step.done .circ{background:var(--s1);border-color:var(--s1);color:#fff}.step.done .t{color:var(--cg);font-weight:700}.step.active .circ{background:var(--cb);border-color:var(--cb);color:#fff;box-shadow:0 0 0 4px var(--cbt)}.step.active .k{color:var(--cb)}.step.idle .v,.step.idle .t{color:var(--t4)}.step-line{background:var(--ln);flex:1;height:2px;margin:0 4px}.step-line.on{background:var(--s1)}.trace{background:var(--s0);border:1px solid var(--ln);min-height:0;color:var(--t1);border-radius:12px;flex-direction:column;flex:1;margin:0 12px 12px;font-size:12px;line-height:1.6;display:flex;position:relative;overflow:hidden}.trace .tr-bar{background:var(--s1);border-bottom:1px solid var(--ln);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.trace .tr-bar .k{color:var(--t4);letter-spacing:.18em;flex:none;font-size:9.5px;font-weight:700}.trace .tr-bar .lv{background:var(--cgt);border:1px solid var(--cgl);color:var(--cg2);letter-spacing:.08em;border-radius:999px;flex:none;align-items:center;gap:5px;padding:2px 8px 3px;font-size:9.5px;font-weight:800;display:inline-flex}.trace .tr-bar .lv .d{background:var(--cg2);border-radius:50%;width:5px;height:5px;animation:1.1s infinite pulseDot}.trace .tr-bar .fcs{scrollbar-width:none;gap:5px;min-width:0;display:flex;overflow-x:auto}.trace .tr-bar .fcs::-webkit-scrollbar{display:none}.trace .fc{border:1px solid var(--ln);background:var(--s1);height:24px;color:var(--t3);transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 9px;font-size:10.5px;font-weight:600;display:inline-flex}.trace .fc .d{background:var(--ag,var(--t4));border-radius:50%;width:5px;height:5px}.trace .fc:hover{background:var(--s2);color:var(--t2)}.trace .fc.on{background:color-mix(in srgb, var(--ag,var(--cb)) 10%, var(--s1));border-color:color-mix(in srgb, var(--ag,var(--cb)) 45%, var(--ln));color:var(--t1)}.trace .sp{flex:1;min-width:8px}.trace .tbtn{border:1px solid var(--ln);background:var(--s1);width:26px;height:26px;color:var(--t3);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.trace .tbtn:hover:not(:disabled){background:var(--s2);color:var(--t1)}.trace .tbtn:disabled{opacity:.45;cursor:default}.trace .tbtn .ms{font-size:15px}.trace .tr-scroll{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 12px 14px;display:flex;overflow-y:auto}.trace .tr-scroll::-webkit-scrollbar{width:8px}.trace .tr-scroll::-webkit-scrollbar-thumb{background:var(--ln2);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.trace .tr-scroll::-webkit-scrollbar-track{background:0 0}.trace .tr-empty{text-align:center;color:var(--t4);padding:44px 0;font-size:12px}.trace .mts{color:var(--t4);flex:none;margin-left:2px;font-size:9.5px}.trace .spin{border:2px solid color-mix(in srgb, var(--ag,var(--cb)) 30%, transparent);border-top-color:var(--ag,var(--cb));border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite spin}.trace .terr{background:var(--crt);border:1px solid var(--crl);color:var(--cr2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:180px;margin-top:6px;padding:7px 10px;font-size:10.5px;line-height:1.55;overflow-y:auto}.trace .ref{background:var(--s2);font-family:var(--ff-mono);color:var(--t4);white-space:nowrap;border-radius:4px;margin:0 1px;padding:0 4px;font-size:9px;font-style:normal;display:inline-block;transform:translateY(-1px)}.trace .tg{background:var(--s1);border:1px solid var(--ln);min-width:0;animation:riseIn .22s var(--ease-out) backwards;border-radius:12px;flex:none;overflow:hidden}.trace .tg.run{border-color:color-mix(in srgb, var(--ag) 38%, var(--ln))}.trace .tg-h{background:color-mix(in srgb, var(--ag) 4%, var(--s1));border-bottom:1px solid color-mix(in srgb, var(--ag) 10%, var(--ln));align-items:center;gap:8px;padding:9px 12px;display:flex}.trace .tg-h .ic{background:color-mix(in srgb, var(--ag) 12%, transparent);width:26px;height:26px;color:var(--ag);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.trace .tg-h .ic .ms{font-size:16px}.trace .tg-h .nm{color:var(--t1);letter-spacing:-.01em;flex:none;font-size:12.5px;font-weight:800}.trace .tg-h .nm em{background:var(--s2);color:var(--t3);vertical-align:1px;border-radius:999px;margin-left:5px;padding:1px 6px 2px;font-size:9.5px;font-style:normal;font-weight:700}.trace .tg-h .sb{color:var(--t4);font-size:10px;font-weight:600}.trace .tg-h .st{flex:none;align-items:center;gap:5px;font-size:10.5px;font-weight:700;display:inline-flex}.trace .tg-h .st .ms{font-size:13px}.trace .tg-h .st.run{color:var(--ag)}.trace .tg-h .st.done{color:var(--cg2)}.trace .tg-h .st.fail{color:var(--cr2)}.trace .tg-h .st.cut{color:var(--t4);font-weight:600}.trace .tg-b{flex-direction:column;gap:8px;padding:10px 12px 12px 15px;display:flex;position:relative}.trace .tg-b:empty{display:none}.trace .tg-b:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--ag) 45%, transparent), color-mix(in srgb, var(--ag) 10%, transparent));width:3px;position:absolute;top:0;bottom:0;left:0}.trace .tg.sub{background:color-mix(in srgb, var(--ag) 3%, var(--s1));border-color:color-mix(in srgb, var(--ag) 20%, var(--ln));border-radius:10px;margin:2px 0;animation:none}.trace .tg.sub .tg-h{padding:7px 11px}.trace .tg.sub .tg-h .ic{border-radius:7px;width:22px;height:22px}.trace .tg.sub .tg-h .ic .ms{font-size:14px}.trace .tg.sub .tg-h .nm{font-size:11.5px}.trace .tw{flex-direction:column;min-width:0;display:flex}.trace .ti{border-radius:8px;align-items:center;gap:7px;min-width:0;padding:4px 6px;display:flex}.trace .ti:hover{background:color-mix(in srgb, var(--ag) 4%, transparent)}.trace .ti .gl{color:var(--t4);flex:none;font-size:14px}.trace .ti .gl.ok{color:var(--cg2)}.trace .ti .gl.bad{color:var(--cr2)}.trace .ti .lb{color:var(--t1);flex:none;font-size:11.5px;font-weight:700}.trace .ti.dim .lb{color:var(--t3);font-weight:600}.trace .ti .ar{white-space:nowrap;min-width:0;color:var(--t4);gap:8px;font-size:10px;display:flex;overflow:hidden}.trace .ti .ar .kv{min-width:0;display:inline-flex}.trace .ti .ar .kv em{color:var(--t4);flex:none;font-style:normal}.trace .ti .ar .kv em:after{content:"=";opacity:.6}.trace .ti .ar .kv .vv{text-overflow:ellipsis;color:var(--t3);overflow:hidden}.trace .ti .mmeta{color:var(--t4);flex:none;font-size:10px;font-weight:600}.trace .ti .mmeta.ok{color:var(--cg2);font-weight:700}.trace .ti .el{color:var(--t3);flex:none;font-size:10px}.trace .ti .rr{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--t3);font-size:10px;overflow:hidden}.trace .tres{margin:2px 0 4px 27px}.trace .fold{min-width:0}.trace .fold .fx{background:var(--s0);border:1px solid var(--ln);color:var(--t2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:8px 11px;font-size:11px;line-height:1.6;position:relative}.trace .fold.open .fx{max-height:420px;overflow-y:auto}.trace .fold .fade{background:linear-gradient(180deg, transparent, var(--s0));pointer-events:none;border-radius:0 0 8px 8px;height:40px;position:absolute;bottom:1px;left:1px;right:1px}.trace .fbtn{color:var(--t3);border-radius:7px;align-items:center;gap:4px;margin-top:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.trace .fbtn:hover{background:var(--s2);color:var(--t1)}.trace .fbtn .ms{font-size:13px}.trace .tt,.trace .tsum{background:color-mix(in srgb, var(--ag) 2.5%, var(--s1));border:1px solid color-mix(in srgb, var(--ag) 16%, var(--ln));border-radius:10px;min-width:0;overflow:hidden}.trace .tt.bad{border-color:var(--crl)}.trace .tt-h{background:color-mix(in srgb, var(--ag) 5%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ag) 10%, var(--ln));align-items:center;gap:7px;padding:6px 11px;display:flex}.trace .tt-h .ms{color:var(--ag);flex:none;font-size:14px}.trace .tt-h .md{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--t2);font-size:10.5px;font-weight:700;overflow:hidden}.trace .tsum .tt-h .md{font-family:var(--ff-sans);color:var(--ag);font-size:11.5px;font-weight:800}.trace .tt-h .du{color:var(--t4);flex:none;font-size:10px}.trace .tt-b{flex-direction:column;gap:9px;padding:10px 12px;display:flex}.trace .tb{min-width:0}.trace .tb-lab{color:var(--ag);letter-spacing:.1em;margin-bottom:3px;font-size:9.5px;font-weight:800;display:block}.trace .prose{color:var(--t1);overflow-wrap:anywhere;font-size:12.5px;line-height:1.72}.trace .prose p{white-space:pre-wrap;margin:0 0 7px}.trace .prose p:last-child{margin-bottom:0}.trace .prose .li{gap:7px;margin:0 0 4px;display:flex}.trace .prose .li:last-child{margin-bottom:0}.trace .prose .li .bt{color:var(--ag);flex:none;font-weight:700}.trace .prose .li.li2{padding-left:16px}.trace .prose .li span:last-child{white-space:pre-wrap;min-width:0}.trace .tb-call{background:color-mix(in srgb, var(--ag) 8%, transparent);border:1px solid color-mix(in srgb, var(--ag) 22%, transparent);color:var(--t2);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px 5px;font-size:11px;font-weight:600;display:inline-flex}.trace .tb-call .ms{color:var(--ag);font-size:13px}.trace .tb-call b{font-family:var(--ff-mono);color:var(--t1);font-weight:700}.trace .tb-call.fin{background:var(--cgt);border-color:var(--cgl);color:var(--cg2)}.trace .tb-call.fin .ms{color:var(--cg2)}.trace .tb-cite{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.trace .tb-cite .cl{color:var(--ag);letter-spacing:.1em;margin-right:2px;font-size:9.5px;font-weight:800}.trace .tb-cite .cc{background:var(--s2);color:var(--t2);border-radius:6px;padding:2px 8px 3px;font-size:10.5px;font-weight:600}.trace .tt-rea{border-bottom:1px solid color-mix(in srgb, var(--ag) 8%, var(--ln))}.trace .tt-rea summary,.trace .reg summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--t3);align-items:center;gap:6px;padding:6px 11px;font-size:10.5px;font-weight:700;list-style:none;display:flex}.trace .tt-rea summary::-webkit-details-marker{display:none}.trace .reg summary::-webkit-details-marker{display:none}.trace .tt-rea summary .ms,.trace .reg summary .ms{color:var(--t4);font-size:13px}.trace .tt-rea summary .caret,.trace .reg summary .caret{color:var(--t4);transition:transform .12s var(--ease);margin-left:auto}.trace .tt-rea[open] summary .caret,.trace .reg[open] summary .caret{transform:rotate(90deg)}.trace .tt-rea .rx{color:var(--t3);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;padding:0 12px 10px;font-size:11px;line-height:1.65;overflow-y:auto}.trace .reg{border-top:1px dashed var(--ln)}.trace .reg summary{padding:7px 2px 6px}.trace .reg pre{background:var(--s0);border:1px solid var(--ln);color:var(--t3);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:300px;margin:0 0 6px;padding:8px 10px;font-size:10px;line-height:1.55;overflow-y:auto}.trace .tstream{border:1px solid color-mix(in srgb, var(--ag) 26%, var(--ln));background:color-mix(in srgb, var(--ag) 4%, var(--s1));border-radius:10px;padding:8px 11px 9px}.trace .tstream .hd{align-items:center;gap:7px;min-width:0;display:flex}.trace .tstream .pulse{flex:none;width:8px;height:8px;position:relative}.trace .tstream .pulse:before,.trace .tstream .pulse:after{content:"";border-radius:50%;position:absolute;inset:0}.trace .tstream .pulse:before{background:var(--cg2)}.trace .tstream .pulse:after{border:1.5px solid var(--cg2);animation:tracePing 1.4s var(--ease) infinite}.trace .tstream .st{color:var(--t1);flex:none;font-size:11.5px;font-weight:800}.trace .tstream .md{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--t4);font-size:10px;overflow:hidden}.trace .tstream .el{color:var(--t3);flex:none;margin-left:auto;font-size:10px}.trace .tstream .tx{border-left:2px solid color-mix(in srgb, var(--ag) 30%, transparent);color:var(--t3);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;padding-left:13px;font-size:11px;line-height:1.6}.trace .tstream .caret{color:var(--ag);animation:1s step-end infinite blink}@keyframes tracePing{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.trace .trc{--rc:var(--co2);--rct:var(--cot);--rcl:var(--col);background:var(--rct);border:1px solid var(--rcl);border-radius:10px;min-width:0;padding:9px 12px 10px}.trace .trc.fatal{--rc:var(--cr2);--rct:var(--crt);--rcl:var(--crl)}.trace .trc .hd{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.trace .trc .hd .ms{color:var(--rc);font-size:15px}.trace .trc .hd b{color:var(--rc);font-size:11.5px;font-weight:800}.trace .trc .stg{background:var(--s1);border:1px solid var(--rcl);color:var(--t2);border-radius:999px;align-items:center;gap:4px;padding:1px 7px 2px;font-size:9.5px;font-weight:700;display:inline-flex}.trace .trc .stg .ms{color:var(--ag);font-size:11px}.trace .trc .rs{color:var(--t1);font-size:11px;font-weight:600}.trace .trc .ck{margin:7px 0 0;padding-left:20px;list-style:outside}.trace .trc .ck li{color:var(--t2);margin-top:2px;font-size:11px;line-height:1.6}.trace .trc .ck li::marker{color:var(--rc)}.trace .trc .fx{background:var(--s1);color:var(--t2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin-top:7px;padding:7px 10px;font-size:11px;line-height:1.6}.trace .trc .fx b{color:var(--rc);margin-right:6px}.trace .trc .dt{color:var(--t3);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.6}.trace .trc .er{background:var(--s1);border:1px solid var(--rcl);color:var(--rc);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:160px;margin-top:7px;padding:7px 10px;font-size:10.5px;overflow-y:auto}.trace .tr-more{border:1px dashed var(--ln2);width:100%;color:var(--t3);border-radius:8px;padding:5px 0 6px;font-size:10.5px;font-weight:600;display:block}.trace .tr-more:hover{background:var(--s2);color:var(--t1)}.trace .jump{z-index:5;background:var(--ik);height:30px;color:var(--s1);box-shadow:0 4px 14px var(--sh);border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;bottom:42px;right:16px}.trace .jump .ms{font-size:14px}.trace .jump:hover{background:var(--ik2)}.trace .tr-foot{background:var(--s1);border-top:1px solid var(--ln);color:var(--t4);flex:none;align-items:center;gap:8px;padding:7px 14px;font-size:10px;display:flex}.jcard{border-bottom:1px solid var(--ln);transition:background var(--t-fast);border-left:2px solid #0000;position:relative}.jcard:hover{background:var(--s1)}.jcard.sel{background:var(--s1);border-left-color:var(--cb)}.jcard.dim{opacity:.72}.jcard.dim:hover,.jcard.sel{opacity:1}.jcard>a{color:inherit;padding:11px 18px 12px;text-decoration:none;display:block}.jcard .r1{align-items:center;gap:8px;margin-bottom:4px;display:flex}.jcard .id{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.jcard .right{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;color:var(--t3);white-space:nowrap;margin-left:auto;font-size:11px}.jcard .ttl{color:var(--t1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4;overflow:hidden}.jcard .meta{color:var(--t3);margin-top:3px;font-size:11px}.jcard .meta.err{color:var(--cb)}.jcard .acts{gap:4px;display:flex;position:absolute;top:9px;right:14px}.jstats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.jstats .cell{background:var(--s1);border:1px solid var(--ln);border-radius:10px;min-width:0;padding:8px 12px 9px}.jstats .cell .k{letter-spacing:.13em;color:var(--t4);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:800;overflow:hidden}.jstats .cell .v{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;color:var(--t1);margin-top:2px;font-size:16px;font-weight:800}.jstats .cell .s{font-family:var(--ff-mono);color:var(--t3);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9.5px;overflow:hidden}@media (width<=900px){.jstats{grid-template-columns:repeat(2,1fr)}}.tok-models{flex-wrap:wrap;gap:6px;display:flex}.tok-models .tm{background:var(--s1);border:1px solid var(--ln);font-family:var(--ff-mono);font-variant-numeric:tabular-nums;color:var(--t3);white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px 4px;font-size:10.5px;display:inline-flex}.tok-models .tm b{color:var(--t1);font-weight:800}.jsearch{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-sm);align-items:center;gap:6px;height:30px;padding:0 10px;display:flex}.jsearch:focus-within{border-color:var(--ln2)}.jsearch .ms{color:var(--t4);font-size:14px}.jsearch input{min-width:0;color:var(--t1);background:0 0;border:0;flex:1;font-size:12px}.jsearch input::placeholder{color:var(--t4)}.timeline{padding-left:36px;position:relative}.timeline:before{content:"";background:var(--ln);width:2px;position:absolute;top:8px;bottom:8px;left:14px}.tl-item{margin-bottom:18px;position:relative}.tl-item:last-child{margin-bottom:0}.tl-node{background:var(--s0);border:1.5px solid var(--ln2);width:18px;height:18px;color:var(--t3);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:-28px}.tl-node .ms{font-size:11px}.tl-item.active .tl-node{background:var(--cb);border-color:var(--cb);color:#fff;box-shadow:0 0 0 4px var(--cbt)}.diff{font-family:var(--ff-mono);font-size:11.5px;line-height:1.55}.diff .l{color:var(--t1);white-space:pre-wrap}.diff .l.ctx{color:var(--t4)}.diff .l.add{background:var(--cgt);color:var(--cg2);margin:0 -14px;padding:0 14px}.diff .l.del{background:var(--cbt);color:var(--cb2);margin:0 -14px;padding:0 14px}.diff .l .pm{font-weight:700}.diff .l.add .pm{color:var(--cg)}.diff .l.del .pm{color:var(--cb)}.progress{background:var(--s0);border-radius:4px;height:8px;position:relative;overflow:hidden}.progress .fill{background:var(--s1);height:100%;transition:width .4s var(--ease-in-out);position:relative}.progress .fill .tip{background:var(--cg);width:4px;height:100%;animation:1.4s infinite pulseDot;position:absolute;top:0;right:-2px}.progress.sm{height:6px}.hbar{background:var(--s0);border-radius:3px;height:14px;display:flex;overflow:hidden}.hbar>span{background:var(--s1);height:100%;display:block}.score-bars{gap:3px;display:flex}.score-bars .seg5{background:var(--s0);border-radius:2px;flex:1;height:5px}.score-bars .seg5.on{background:var(--s1)}.drawer{background:var(--s1);border-left:1px solid var(--ln);width:440px;box-shadow:var(--sh-drawer);flex-shrink:0;overflow-y:auto}.drawer.pad{padding:18px 20px}.popover{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-card);box-shadow:var(--sh-pop);z-index:30;transform-origin:var(--pop-origin,top right);animation:popIn .14s var(--ease-out) both;padding:14px 16px}.modal-scrim{z-index:60;background:#0f0f1266;justify-content:center;align-items:center;animation:.15s ease-out both fadeInPlain;display:flex;position:fixed;inset:0}.modal{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-md);box-shadow:var(--sh-pop);box-sizing:border-box;transform-origin:50%;width:460px;max-width:92vw;max-height:calc(100dvh - 24px);animation:modalIn .2s var(--ease-out) both;padding:20px 22px;overflow-y:auto}.modal-scrim>.drawer{animation:drawerInRight .28s var(--ease-drawer) both}@keyframes drawerInRight{0%{transform:translate(100%)}}.note{border-radius:var(--r-sm);padding:12px 14px;font-size:12px;line-height:1.55}.note.dash{background:var(--s0);border:1px dashed var(--ln2)}.note.info{background:var(--cbt);border:1px solid var(--cbl);color:var(--cb2);align-items:flex-start;gap:10px;display:flex}.note.info .ms{color:var(--cb);flex-shrink:0;font-size:16px}.note.dimfb{background:var(--cbt);border:1px dashed var(--cbl)}.note.dimfb .k{color:var(--cb2);letter-spacing:.1em;margin-bottom:4px;font-size:10px;font-weight:700}.tabs{border-bottom:1px solid var(--ln);align-items:center;gap:24px;display:flex}.tabs a,.tabs button{height:41px;color:var(--t4);white-space:nowrap;transition:color var(--t-fast) var(--ease);align-items:center;gap:7px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex;position:relative}.tabs a:hover,.tabs button:hover{color:var(--t1)}.tabs a.on,.tabs button.on{color:var(--t1);font-weight:800}.tabs a.on .ms,.tabs button.on .ms{color:var(--cb2);font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.tabs a.on:after,.tabs button.on:after{content:"";background:var(--cb);transform-origin:0;height:2px;animation:growx .45s var(--ease) .1s both;border-radius:2px;position:absolute;bottom:-1px;left:0;right:0}.ptabs{background:var(--s0);border:1px solid var(--ln);border-radius:9px;padding:3px;display:inline-flex}.ptabs button{height:26px;color:var(--t3);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-press) var(--ease-out);border-radius:7px;align-items:center;gap:6px;padding:0 13px;font-size:11.5px;font-weight:600;display:inline-flex}.ptabs button:active{transform:scale(.96)}.ptabs button.on{background:var(--s1);color:var(--t1);font-weight:700}.empty{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-md);padding:48px 40px;position:relative;overflow:hidden}.empty .ghost{color:var(--t1);opacity:.035;pointer-events:none;font-size:280px;position:absolute;top:50%;right:32px;transform:translateY(-50%)}.empty .inner{max-width:600px;position:relative}.empty.center{justify-content:center;align-items:center;min-height:480px;display:flex}.empty.center .inner{text-align:center;margin:0 auto}.empty h2{letter-spacing:-.02em;color:var(--t1);margin-top:8px;font-size:26px;font-weight:900;line-height:1.2}.empty p{color:var(--t3);margin-top:10px;font-size:14px;line-height:1.65}.empty .actions{gap:10px;margin-top:22px;display:flex}.empty.center .actions{justify-content:center}.error-state{background:var(--s1);border:1px solid var(--cbl);border-radius:var(--r-md);padding:40px;position:relative;overflow:hidden}.error-state .inner{max-width:600px;position:relative}.error-state.center{justify-content:center;align-items:center;min-height:320px;display:flex}.error-state.center .inner{text-align:center;margin:0 auto}.error-state .ico{background:var(--cbt);border:1px solid var(--cbl);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.error-state .ico .ms{color:var(--cb);font-size:24px}.error-state h2{letter-spacing:-.02em;color:var(--t1);margin-top:14px;font-size:22px;font-weight:900;line-height:1.25}.error-state p{color:var(--t3);overflow-wrap:anywhere;margin-top:8px;font-size:13.5px;line-height:1.6}.error-state .actions{gap:10px;margin-top:20px;display:flex}.error-state.center .actions{justify-content:center}.error-inline{background:var(--cbt);border:1px dashed var(--cbl);border-radius:var(--r-card);color:var(--cb2);align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.error-inline>.ms{color:var(--cb);flex-shrink:0;font-size:15px}.error-inline .msg{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.5}.error-inline.spaced{margin:14px 0}.state-pad{padding:24px}.chk{border:1.5px solid var(--t1);width:18px;height:18px;font-family:var(--ff-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.chk.off{border-color:var(--ln2);color:var(--t4)}.rev{flex-direction:column;height:100vh;display:flex;overflow:hidden}.rev-body{background:var(--s0);flex:1;min-height:0;display:flex}.rev-center{background:var(--s0);flex:1;min-width:0;padding:24px 32px;overflow-y:auto}.rev-fb{background:var(--s1);border-left:1px solid var(--ln);flex-direction:column;flex-shrink:0;width:clamp(320px,30vw,420px);min-height:0;display:flex}.rev-fb .fbhead{border-bottom:1px solid var(--ln);align-items:center;gap:8px;padding:14px 18px;display:flex}.rev-fb .fbbody{flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px 18px;display:flex;overflow-y:auto}.rev-toolbar{background:var(--s0);border-top:1px solid var(--ln);flex-shrink:0;align-items:center;gap:14px;height:48px;padding:0 20px;display:flex}.rev-toolbar .keys{font-family:var(--ff-mono);color:var(--t3);align-items:center;gap:14px;font-size:11px;display:flex}.metapills{align-items:center;gap:8px;margin-bottom:14px;display:flex}.metapill{background:var(--s1);border:1px solid var(--ln);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.toast-host{z-index:80;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-sm);box-shadow:var(--sh-pop);min-width:220px;animation:toastIn .24s var(--ease-out) both;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.toast .dot{background:var(--cg);border-radius:50%;width:7px;height:7px}.toast.error .dot,.toast.info .dot{background:var(--cb)}.login{background:var(--s0);flex-direction:column;min-height:100vh;display:flex}.login-body{flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-card{background:var(--s1);border:1px solid var(--ln);border-radius:var(--r-card);width:min(100%,408px);box-shadow:var(--sh-card);padding:32px}.login-head{margin-bottom:26px}.login-brand{align-items:center;gap:8px;display:flex}.login-brand .dot{background:var(--cb);border-radius:50%;width:7px;height:7px}.login-brand .word{letter-spacing:.22em;color:var(--t1);font-size:12px;font-weight:800}.login-head h1{letter-spacing:-.02em;color:var(--t1);margin-top:18px;font-size:24px;font-weight:900;line-height:1.25}.login-workflow{color:var(--t3);margin-top:8px;font-size:13px;line-height:1.65}.login-fields{gap:16px;margin-bottom:20px;display:grid}.login-fields .fieldbox{margin-bottom:0}.login-card .field{height:42px}.login-card .field[aria-invalid=true]{border-color:var(--cb);background:var(--cbt)}.login-error{color:var(--cb2);margin-top:7px;font-size:11.5px;font-weight:700;line-height:1.5}.login-card .btn.lg{height:44px}.login-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite loginSpin}.login-foot{text-align:center;color:var(--t3);margin-top:14px;font-size:11px;line-height:1.5}@keyframes loginSpin{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg, var(--s2) 25%, var(--sk) 37%, var(--s2) 63%);background-size:400% 100%;border-radius:5px;animation:1.4s infinite shim}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.exam-skel{pointer-events:none}.exam-skel .skel-qno{width:180px;height:12px;margin-bottom:24px}.exam-skel .skel-stem{height:17px;margin-bottom:12px}.exam-skel .skel-stem.tail{width:68%;margin-bottom:28px}.exam-skel .skel-choice{align-items:center;gap:12px;margin-bottom:14px;display:flex}.exam-skel .skel-choice .skel-mark{border-radius:50%;flex-shrink:0;width:22px;height:22px}.exam-skel .skel-choice .skel-line{height:13px}.exam-skel .skel-choice:first-of-type .skel-line{width:82%}.exam-skel .skel-choice:nth-of-type(2) .skel-line{width:74%}.exam-skel .skel-choice:nth-of-type(3) .skel-line{width:88%}.exam-skel .skel-choice:nth-of-type(4) .skel-line{width:66%}.exam-skel .skel-choice:nth-of-type(5) .skel-line{width:78%}.fade-in{animation:.18s ease-out both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}@keyframes fadeInPlain{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.96)translateY(-2px)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}}@keyframes barGrowY{0%{opacity:0;transform:scaleY(.4)}}.rise-in{animation:riseIn .24s var(--ease-out) backwards}.stagger>*{animation:riseIn .26s var(--ease-out) backwards;animation-delay:.48s}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:40ms}.stagger>:nth-child(3){animation-delay:80ms}.stagger>:nth-child(4){animation-delay:.12s}.stagger>:nth-child(5){animation-delay:.16s}.stagger>:nth-child(6){animation-delay:.2s}.stagger>:nth-child(7){animation-delay:.24s}.stagger>:nth-child(8){animation-delay:.28s}.stagger>:nth-child(9){animation-delay:.32s}.stagger>:nth-child(10){animation-delay:.36s}.stagger>:nth-child(11){animation-delay:.4s}.stagger>:nth-child(12){animation-delay:.44s}.bar-grow{transform-origin:bottom;animation:barGrowY .42s var(--ease-out) backwards}.press{transition:transform var(--t-press) var(--ease-out)}.press:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.card-link{transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-med) var(--ease), transform var(--t-med) var(--ease-out)}.card-link:hover{border-color:var(--ln2);transform:translateY(-1px);box-shadow:0 4px 14px #0f0f1212}[data-theme=dark] .card-link:hover{box-shadow:0 4px 14px #00000073}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}[style*=ringto]{stroke-dashoffset:var(--o,120)!important}}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.scroll-x{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.inkbar .ibtns .who.dim{color:var(--t3)}.inkbar .ibtns .who.dim:hover{color:var(--t1)}.nav-burger{width:32px;height:32px;color:var(--t2);background:var(--s1);border:1px solid var(--ln);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-8px;display:inline-flex}.nav-burger .ms{font-size:20px}.nav-burger:hover,.nav-burger:active{background:var(--s0)}.railover{z-index:70;background:#0f0f1273;position:fixed;inset:0}.railover .rail{width:min(84vw,300px);height:100%;animation:slideInLeft .2s var(--ease) both;box-shadow:12px 0 28px #0f0f1238}.railover .rail a.nav{padding:11px 18px;font-size:14px}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:none}}.app,.rev{height:100dvh}.login{min-height:100dvh}@media (width>=769px) and (width<=1024px){.rail{width:64px;padding:12px 0}.rail-head{display:none}.rail-group{padding:10px 0 4px}.rail-group .glabel{display:none}.rail a.nav{justify-content:center;padding:10px 0;position:relative}.rail a.nav .lbl{display:none}.rail a.nav .ms{font-size:20px}.rail a.nav .count{display:none}.rail a.nav .count.crim{background:var(--cb);border-radius:50%;width:6px;height:6px;margin-left:0;padding:0;font-size:0;display:block;position:absolute;top:7px;right:15px}.rail a.nav .count.crim .d{display:none}.rail-foot{justify-content:center;padding:10px 0 0}.rail-foot .t{display:none}}@media (width<=1024px){.grid.c4,.grid.c3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-body>.rail{display:none}.inkbar{gap:10px;padding:0 12px}.inkbar .crumb{display:none}.inkbar .brand .sect{text-overflow:ellipsis;white-space:nowrap;max-width:34vw;overflow:hidden}.inkbar .ibtns{gap:10px;margin-left:auto}.inkbar .ibtns .who{text-overflow:ellipsis;white-space:nowrap;max-width:96px;overflow:hidden}.grid.c3,.grid.c2,.grid.m1{grid-template-columns:1fr}.kpi .n{font-size:24px}.scroll-x>.table,.table-wrap>.table{min-width:var(--table-min,640px)}.page{padding:16px 14px}.page.tight{padding:14px 12px}.page-head{flex-wrap:wrap;gap:10px;margin-bottom:16px}.page-head h1{font-size:21px}.exam{padding:20px 16px}.empty{padding:32px 20px}.empty .ghost{font-size:150px;right:12px}.empty h2{font-size:21px}.empty.center{min-height:360px}.error-state{padding:28px 20px}.modal{padding:18px 16px}.metapills{flex-wrap:wrap}.stepper{flex-wrap:wrap;gap:10px}.step-line{display:none}.drawer{width:100%;max-width:100vw}.toast-host{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.toast{min-width:0}.login-body{padding:28px 14px}.login-card{max-width:100%;padding:26px 20px}.login-head h1{font-size:22px}.rev{height:auto;min-height:100dvh;overflow:visible}.rev-body{flex-direction:column}.rev-center{padding:16px 14px;overflow-y:visible}.rev-fb{border-left:0;border-top:1px solid var(--ln);width:auto}.rev-toolbar{z-index:20;height:auto;min-height:48px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:10px;position:sticky;bottom:0}.rev-toolbar .keys{display:none}.hide-mobile{display:none!important}}@media (width>=769px){.only-mobile{display:none!important}}@media (pointer:coarse){.field,input.field,textarea.field,select.field{font-size:16px}.btn,.chip,.seg button,.verdict button,.tri button,.tabs a,.tabs button,.ptabs button,.toggle,.nav-burger,.inkbar .ibtns .ms,.inkbar .ibtns .who{position:relative}.btn:after,.chip:after,.seg button:after,.verdict button:after,.tri button:after,.tabs a:after,.tabs button:after,.ptabs button:after,.toggle:after,.nav-burger:after,.inkbar .ibtns .ms:after,.inkbar .ibtns .who:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.app-userdock{z-index:55;background:var(--s1);border:1px solid var(--ln);height:32px;color:var(--t3);border-radius:9px;align-items:center;gap:9px;padding:0 10px 0 12px;font-size:11.5px;display:inline-flex;position:fixed;top:12px;right:22px}.app-userdock a{color:var(--t3);font-size:10.5px}.app-userdock a:hover{color:var(--t1)}.app-userdock .sep{background:var(--ln);width:1px;height:14px}.app-userdock .who{color:var(--t1);font-weight:600}.app-userdock .ms{color:var(--t4);font-size:16px}.app-userdock .ms:hover{color:var(--t1)}@media (width<=768px){.app-userdock{display:none}}
