@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Manrope Variable", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--ink-900: #0b1626;--ink-800: #142033;--ink-700: #243247;--ink-500: #5b6b82;--ink-400: #8393a8;--ink-300: #c3ccd8;--ink-200: #e2e7ee;--ink-100: #eef1f5;--ink-50: #f6f8fb;--white: #ffffff;--brand-900: #072a40;--brand-700: #0b3c5d;--brand-600: #10507a;--brand-500: #1a6aa0;--brand-100: #dfeaf3;--brand-50: #eef4f9;--accent-600: #d98a1f;--accent-500: #f2a541;--accent-100: #fdf0da;--ok-600: #157f6f;--ok-500: #1b998b;--ok-100: #d9f3ee;--warn-600: #b7791f;--warn-100: #fdf1d6;--danger-600: #b91c3c;--danger-500: #d7263d;--danger-100: #fbe0e4;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(11, 22, 38, .06);--shadow: 0 4px 16px rgba(11, 22, 38, .08);--shadow-lg: 0 16px 48px rgba(11, 22, 38, .18);--ring: 0 0 0 3px rgba(26, 106, 160, .25)}:root[data-theme=dark]{--ink-900: #f3f6fa;--ink-800: #e4e9f1;--ink-700: #c9d2df;--ink-500: #93a1b6;--ink-400: #6f7f96;--ink-300: #3d4c63;--ink-200: #2a3749;--ink-100: #1f2a3a;--ink-50: #0f1622;--white: #172033;--brand-100: #16344b;--brand-50: #14263a;--accent-100: #3a2c14;--ok-100: #12332e;--warn-100: #3a2e14;--danger-100: #3b1b22;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.45);--shadow-lg: 0 16px 48px rgba(0,0,0,.6)}:root[data-theme=dark] .btn-primary{background:var(--brand-500)}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:var(--brand-600)}:root[data-theme=dark] .sidebar{background:#0a111c}:root[data-theme=dark] .qn{background:var(--brand-500)}:root[data-theme=dark] .toast,:root[data-theme=dark] .console{background:#0a111c}:root[data-theme=dark] .chip.active{background:var(--brand-500);border-color:var(--brand-500)}:root[data-theme=dark] .avatar{color:#cfe3f2}:root[data-theme=dark] .badge-brand{color:#8ec5ea}:root[data-theme=dark] .badge-ok{color:#6fd8c6}:root[data-theme=dark] .badge-warn{color:#f0c36a}:root[data-theme=dark] .badge-danger{color:#f5a3ae}:root[data-theme=dark] .badge-accent{color:#f2a541}:root[data-theme=dark] .page-head .eyebrow,:root[data-theme=dark] a{color:#6fb1dc}:root[data-theme=dark] .btn-ghost{color:#8ec5ea}:root[data-theme=dark] .info:after{background:var(--ink-100);color:var(--ink-900);border:1px solid var(--ink-300)}:root[data-theme=dark] .gate{background:#2a2416}:root[data-theme=dark] .choice.correct{background:#12332e}:root[data-theme=dark] .choice.wrong{background:#3b1b22}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-ui);font-size:15px;line-height:1.5;color:var(--ink-800);background:var(--ink-50);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em;color:var(--ink-900)}h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}p{margin:0}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);font-size:.92em}small{font-size:13px}.muted{color:var(--ink-500)}.subtle{color:var(--ink-400);font-size:13px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1}.right{margin-inline-start:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;text-decoration:none!important}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-700);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-accent{background:var(--accent-500);color:var(--ink-900)}.btn-accent:hover:not(:disabled){background:var(--accent-600);color:var(--white)}.btn-secondary{background:var(--white);color:var(--ink-800);border-color:var(--ink-300)}.btn-secondary:hover:not(:disabled){background:var(--ink-100);border-color:var(--ink-400)}.btn-ghost{background:transparent;color:var(--brand-600)}.btn-ghost:hover:not(:disabled){background:var(--brand-50)}.btn-danger{background:var(--danger-500);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--danger-600)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:44px;padding:0 22px;font-size:15px}.btn-block{width:100%}.btn-icon{width:34px;height:34px;padding:0}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:13px;font-weight:600;color:var(--ink-700)}.field .hint{font-size:12px;color:var(--ink-400)}.input,.select,.textarea{width:100%;font:inherit;font-size:14px;color:var(--ink-900);background:var(--white);border:1px solid var(--ink-300);border-radius:var(--radius-sm);padding:9px 12px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:var(--ring)}.input[aria-invalid=true]{border-color:var(--danger-500)}.textarea{min-height:96px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;text-align:start;cursor:pointer;padding-inline-end:34px;position:relative;font-weight:500}.select:after{content:"";position:absolute;inset-inline-end:12px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-500);border-bottom:2px solid var(--ink-500);transform:translateY(-70%) rotate(45deg);transition:transform .15s;pointer-events:none}.select.open:after{transform:translateY(-30%) rotate(-135deg)}.select.open,.select:focus-visible{outline:none;border-color:var(--brand-500);box-shadow:var(--ring)}.select:disabled{opacity:.55;cursor:not-allowed}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu{position:fixed;z-index:200;margin:0;padding:6px;list-style:none;max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:pop .12s}.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:8px 12px;border-radius:var(--radius-sm);font:500 14px/1.4 var(--font-ui);color:var(--ink-800);cursor:pointer;white-space:nowrap}.select-option.active{background:var(--brand-50);color:var(--brand-700)}.select-option.selected{font-weight:700}.select-option.disabled{opacity:.5;cursor:not-allowed}.select-option span:last-child:not(:first-child){color:var(--brand-600);font-weight:800}:root[data-theme=dark] .select-menu{background:var(--ink-100);border-color:var(--ink-300)}:root[data-theme=dark] .select-option.active{background:var(--brand-100);color:#cfe3f2}.checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px}.checkbox input{width:17px;height:17px;margin-top:2px;accent-color:var(--brand-600);flex:none}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:600}.switch input{position:absolute;opacity:0}.switch .track{width:38px;height:22px;border-radius:999px;background:var(--ink-300);position:relative;transition:background .15s;flex:none}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--white);transition:transform .15s;box-shadow:var(--shadow-sm)}.switch input:checked+.track{background:var(--ok-500)}.switch input:checked+.track:after{transform:translate(16px)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.form-error{color:var(--danger-600);font-size:13px;font-weight:600}.card{background:var(--white);border:1px solid var(--ink-200);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ink-200)}.panel{background:var(--ink-900);color:var(--white);border-radius:var(--radius-lg)}.divider{height:1px;background:var(--ink-200);margin:4px 0}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.badge-neutral{background:var(--ink-100);color:var(--ink-700)}.badge-brand{background:var(--brand-100);color:var(--brand-700)}.badge-ok{background:var(--ok-100);color:var(--ok-600)}.badge-warn{background:var(--warn-100);color:var(--warn-600)}.badge-danger{background:var(--danger-100);color:var(--danger-600)}.badge-accent{background:var(--accent-100);color:var(--accent-600)}.sw{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.cat-icon{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-grid{display:flex;flex-wrap:wrap;gap:6px}.icon-pick{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--ink-300);background:var(--white);color:var(--ink-600, var(--ink-700));cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-pick:hover{border-color:var(--ink-500)}.icon-pick.on{border-width:2px}.level{display:inline-flex;gap:3px}.level i{width:6px;height:12px;border-radius:2px;background:var(--ink-200)}.level i.on{background:var(--brand-600)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}.table-wrap{overflow-x:auto;border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--white)}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500);padding:12px 14px;background:var(--ink-50);border-bottom:1px solid var(--ink-200);white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid var(--ink-100);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--brand-50)}.table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table .row{flex-wrap:nowrap}.topbar{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--ink-200)}.topbar-inner{max-width:1180px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:24px}.topbar nav{display:flex;gap:4px}.topbar nav a{padding:8px 12px;border-radius:var(--radius-sm);color:var(--ink-700);font-weight:600;font-size:14px}.topbar nav a.active,.topbar nav a:hover{background:var(--ink-100);text-decoration:none;color:var(--ink-900)}.page{max-width:1180px;margin:0 auto;padding:32px 24px 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-600);margin-bottom:4px}.page-head p{color:var(--ink-500);margin-top:6px;max-width:640px}.admin{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--ink-900);color:var(--ink-300);padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}.sidebar .brand{padding:6px 10px 18px}.sidebar .section{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);padding:14px 10px 6px}.sidebar a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--ink-300);font-weight:600;font-size:14px}.sidebar a:hover{background:#ffffff0f;text-decoration:none;color:var(--white)}.sidebar a.active{background:var(--brand-600);color:var(--white)}.sidebar .foot{margin-top:auto;padding:10px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.sidebar .foot .btn{color:var(--ink-300)}.admin-main{padding:32px 36px 64px;min-width:0}@media (max-width: 900px){.admin{grid-template-columns:1fr}.sidebar{position:static;height:auto}.admin-main{padding:20px 16px 48px}.topbar-inner,.page{padding-left:16px;padding-right:16px}}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-hero{background:radial-gradient(1200px 600px at 20% 0%,#164b6d 0%,var(--brand-900) 55%,var(--ink-900) 100%);color:var(--white);padding:48px;display:flex;flex-direction:column;justify-content:space-between}.auth-hero h2{color:var(--white);font-size:34px;line-height:1.15;max-width:520px;font-weight:800}.auth-hero p{color:#ffffffb8;max-width:480px;margin-top:14px;font-size:16px}.auth-hero ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.auth-hero li{display:flex;gap:12px;align-items:flex-start;color:#ffffffd9}.auth-hero li b{color:var(--white)}.auth-form{display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-form .card{width:400px;max-width:100%}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-hero{padding:32px 24px}}.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.exam-card{display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s,transform .15s}.exam-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.exam-card .stripe{height:5px}.exam-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}.exam-card .meta{display:flex;gap:14px;color:var(--ink-500);font-size:13px;flex-wrap:wrap}.exam-card .desc{color:var(--ink-700);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.exam-card .foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.exam-card .foot .row{flex-wrap:nowrap}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--ink-300);background:var(--white);font:inherit;font-size:13px;font-weight:600;color:var(--ink-700);cursor:pointer;display:inline-flex;align-items:center;gap:8px}.chip.active{background:var(--ink-900);color:var(--white);border-color:var(--ink-900)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat{padding:16px 18px}.stat .v{font-size:26px;font-weight:800;color:var(--ink-900);font-variant-numeric:tabular-nums}.stat-btn{text-align:start;font:inherit;cursor:pointer;border-color:var(--accent-500)}.stat-btn:hover{box-shadow:var(--shadow)}.stat .k{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.session{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}@media (max-width: 960px){.session{grid-template-columns:1fr}}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}.countdown{font-family:var(--font-mono);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-900)}.countdown.warn{color:var(--danger-600)}.progress{height:8px;background:var(--ink-100);border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--brand-600);border-radius:999px;transition:width .2s}.question{padding:20px}.question h3{font-size:15px;line-height:1.5;display:flex;gap:12px}.question .qn{flex:none;width:28px;height:28px;border-radius:8px;background:var(--ink-900);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.choices{display:grid;gap:8px;margin-top:14px}.choice{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:border-color .12s,background .12s}.choice:hover{border-color:var(--brand-500);background:var(--brand-50)}.choice.on{border-color:var(--brand-600);background:var(--brand-50)}.choice input{accent-color:var(--brand-600);width:16px;height:16px}.choice.correct{border-color:var(--ok-500);background:var(--ok-100)}.choice.wrong{border-color:var(--danger-500);background:var(--danger-100)}.terminal{width:100%;height:540px;border:1px solid var(--ink-700);border-radius:var(--radius);background:#0b0f14;display:block}.console{background:var(--ink-900);color:var(--ink-200);padding:14px 16px;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;white-space:pre-wrap;margin:0;border-left:4px solid var(--ink-500)}.console.ok{border-left-color:var(--ok-500)}.console.ko{border-left-color:var(--danger-500)}.preview{width:100%;aspect-ratio:4/3;background:var(--ink-900);border-radius:var(--radius-sm);object-fit:cover}.score-ring{position:relative;width:132px;height:132px}.score-ring svg{transform:rotate(-90deg)}.score-ring .val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-ring .val b{font-size:26px;font-weight:800}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b16268c;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fade .15s}.modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:480px;max-width:100%;max-height:90vh;overflow:auto;animation:pop .18s}.modal.wide{width:760px}.modal-head{padding:22px 24px 8px}.modal-head h2{font-size:18px}.modal-body{padding:8px 24px 20px;color:var(--ink-700)}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 22px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:110}.toast{display:flex;align-items:center;gap:12px;background:var(--ink-900);color:var(--white);padding:12px 16px;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:280px;max-width:420px;font-size:14px;animation:pop .18s;border-left:4px solid var(--ink-500)}.toast.ok{border-left-color:var(--ok-500)}.toast.err{border-left-color:var(--danger-500)}.toast.info{border-left-color:var(--brand-500)}.empty{text-align:center;padding:48px 24px;color:var(--ink-500)}.empty h3{color:var(--ink-800);margin-bottom:6px}.timeline{padding:18px 20px 12px}.timeline svg{width:100%;height:auto;display:block}.timeline .lane-label{font-size:12px;font-weight:700;fill:var(--ink-500);text-transform:uppercase;letter-spacing:.05em}.timeline .axis{stroke:var(--ink-200)}.timeline .tick{font-size:11px;fill:var(--ink-400);font-family:var(--font-mono)}.timeline .mark{cursor:pointer;stroke:var(--white);stroke-width:1.5}.timeline .mark:hover{stroke:var(--ink-900)}.timeline .mark.info{fill:var(--ink-400)}.timeline .mark.warn{fill:var(--accent-500)}.timeline .mark.alert{fill:var(--danger-500)}.timeline .mark.good{fill:var(--ok-500)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-500);padding:6px 0 0}.event-list{display:grid;gap:6px}.event{display:grid;grid-template-columns:74px 12px 1fr;gap:12px;align-items:center;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px}.event:hover,.event.active{background:var(--ink-50)}.event .t{font-family:var(--font-mono);color:var(--ink-500);font-size:12px}.event .d{color:var(--ink-400);font-family:var(--font-mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gauge{position:relative;width:180px}.gauge .val{position:absolute;left:0;right:0;bottom:2px;text-align:center}.gauge .val b{font-size:30px;font-weight:800}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 14px;font-size:13px}.kv code{color:var(--ink-700)}.kv b{font-variant-numeric:tabular-nums}.qedit{border:1px solid var(--ink-200);border-radius:var(--radius);padding:16px;background:var(--ink-50);display:grid;gap:12px}.qedit .choice-row{display:grid;grid-template-columns:24px 1fr 34px;gap:10px;align-items:center}.qedit .choice-row input[type=checkbox],.qedit .choice-row input[type=radio]{accent-color:var(--ok-500);width:16px;height:16px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ink-200);margin-bottom:20px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font:inherit;font-weight:600;font-size:14px;color:var(--ink-500);cursor:pointer;margin-bottom:-1px}.tabs button.active{color:var(--brand-700);border-bottom-color:var(--brand-700)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filters .input,.filters .select{width:auto;min-width:160px}.spinner{width:18px;height:18px;border:2px solid var(--ink-300);border-top-color:var(--brand-600);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center{min-height:60vh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink-500)}.list-check{display:grid;gap:6px;max-height:320px;overflow:auto;padding:4px}.list-check .checkbox{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--ink-200)}.list-check .checkbox:hover{background:var(--ink-50)}.pw{position:relative}.pw .input{padding-inline-end:42px}.pw-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:none;color:var(--ink-500);cursor:pointer;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.pw-toggle:hover{background:var(--ink-100);color:var(--ink-900)}.select-sm{width:auto;padding:6px 30px 6px 10px;font-size:13px;font-weight:600;cursor:pointer}.select-compact{padding-inline-start:8px}.auth-hero .select,.sidebar .select{background-color:#ffffff14;border-color:#ffffff38;color:#fff}.auth-hero .select:after,.sidebar .select:after{border-color:#ffffffb3}.auth-hero .btn-ghost,.sidebar .btn-ghost{color:#ffffffd9}.auth-hero .btn-ghost:hover,.sidebar .btn-ghost:hover{background:#ffffff1a}.info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ink-400);cursor:help;position:relative;vertical-align:middle;flex:none}.info:hover,.info:focus-visible{color:var(--brand-600);outline:none}.info:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);inset-inline-start:50%;transform:translate(-50%);width:max-content;max-width:320px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--ink-900);color:var(--ink-50);font:500 13px/1.45 var(--font-ui);letter-spacing:0;text-transform:none;white-space:normal;text-align:start;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .12s;z-index:30}[dir=rtl] .info:after{transform:translate(50%)}.info:hover:after,.info:focus-visible:after{opacity:1}.gate{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:28px;border:1px dashed var(--accent-500);background:var(--accent-100)}.rec{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--danger-600);text-transform:uppercase;letter-spacing:.06em}.rec:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--danger-500);animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.2}}.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.shot{border:1px solid var(--ink-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--ink-900);cursor:zoom-in}.shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.shot .cap{display:flex;justify-content:space-between;padding:6px 8px;font-size:11px;font-family:var(--font-mono);color:var(--ink-500);background:var(--white)}.segments{display:grid;gap:8px}.segment{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);font-size:13px}.segment.active{border-color:var(--brand-500);background:var(--brand-50)}.player{width:100%;max-height:480px;background:#000;border-radius:var(--radius)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;border-radius:var(--radius)}.oauth{display:grid;gap:8px}.oauth .btn{justify-content:flex-start;gap:12px}.or{display:flex;align-items:center;gap:12px;color:var(--ink-400);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--ink-200)}[dir=rtl] .exam-card .stripe,[dir=rtl] .risk{border-left:0}[dir=rtl] .console{border-left:0;border-right:4px solid var(--ink-500)}[dir=rtl] .console.ok{border-right-color:var(--ok-500)}[dir=rtl] .console.ko{border-right-color:var(--danger-500)}[dir=rtl] .toast{border-left:0;border-right:4px solid var(--ink-500)}.codeblock{border:1px solid var(--ink-700);border-radius:var(--radius);overflow:hidden;background:#0b0f14;color:#d6deeb;font-family:var(--font-mono);font-size:13px}.codeblock-lang{display:flex;justify-content:space-between;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8393a8;background:#111821;border-bottom:1px solid #1f2a3a}.codeeditor{border:2px solid var(--brand-500);border-radius:var(--radius);overflow:hidden;background:var(--white);color:var(--ink-900);font-family:var(--font-mono);font-size:13px}.codeeditor .codeblock-lang{color:var(--brand-700);background:var(--brand-50);border-bottom:1px solid var(--brand-100)}.codeeditor .gutter{color:var(--ink-400);background:var(--ink-50)}.codeeditor textarea::placeholder{color:var(--ink-400)}:root[data-theme=dark] .codeeditor .gutter{background:var(--ink-100)}.answer-zone{margin-top:14px;display:flex;flex-direction:column;gap:8px}.answer-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--brand-700)}.codeblock pre{margin:0;padding:12px 0;overflow-x:auto}.codeblock .line{display:block;padding:0 14px 0 0;white-space:pre;line-height:1.55}.codeblock .ln{display:inline-block;width:44px;padding-right:12px;text-align:right;color:#4b5a70;-webkit-user-select:none;user-select:none}.codeeditor-body{display:flex}.codeeditor .gutter{display:flex;flex-direction:column;padding:12px 0;width:44px;text-align:right;-webkit-user-select:none;user-select:none;line-height:1.55;flex:none}.codeeditor .gutter span{padding-right:12px}.codeeditor textarea{flex:1;margin:0;padding:12px 14px 12px 4px;border:0;outline:none;resize:vertical;background:transparent;color:inherit;font:inherit;line-height:1.55;white-space:pre;overflow-wrap:normal;overflow-x:auto;-moz-tab-size:2;tab-size:2;min-height:160px}.codeeditor:focus-within{border-color:var(--brand-500);box-shadow:var(--ring)}.answer-text{white-space:pre-wrap;padding:12px 14px;border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:var(--ink-50);font-size:14px}.grade-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 900px){.grade-row{grid-template-columns:1fr}}.grade-ref{border-inline-start:3px solid var(--accent-500)}
