:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#3d1f73;--brand-strong:#32195f;--brand-deep:#261247;--brand-tint:#f2effa;--brand-tint-2:#ddd5f0;--brand-tint-3:#cdc1e8;--brand-glow:#3d1f732e;--brand-glow-soft:#3d1f731a;--brand-glow-faint:#3d1f7312;--brand-ring:#3d1f733d;--on-brand:#fff;--accent:#fbb03b;--accent-strong:#e79a20;--accent-deep:#7a4d06;--accent-tint:#fff6e7;--accent-tint-2:#fce0b0;--accent-border:#fbb03b8c;--on-accent:#2a1a02;--surface:#fff;--surface-muted:#fbfafd;--surface-sunken:#f5f3fa;--ink:#17122a;--ink-2:#534d67;--ink-3:#85809a;--placeholder:#a9a3bb;--line:#ece9f4;--line-strong:#dad4e9;--success:#11835e;--success-strong:#0f6f50;--success-tint:#e9f7f1;--danger:#c4374a;--danger-strong:#a12c3d;--danger-tint:#fdf0f2;--danger-border:#c4374a42;--warning:#8a5a10;--warning-tint:var(--accent-tint);--warning-border:var(--accent-border);--radius-sm:10px;--radius:14px;--radius-lg:22px;--radius-pill:999px;--shadow-sm:0 1px 2px #17122a0d;--shadow-md:0 12px 32px -14px #17122a3d;--shadow-lg:0 36px 70px -34px #26124773;--focus-ring:0 0 0 3px var(--brand-ring);--ease:cubic-bezier(.22, .8, .3, 1);--fast:.16s;--normal:.28s;--slow:.52s;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,p,figure,ul{margin:0;padding:0}ul{list-style:none}a{color:var(--brand);transition:color var(--fast) var(--ease);text-decoration:none}a:hover{color:var(--brand-strong);text-decoration:underline}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}::selection{background:var(--brand-tint-2);color:var(--brand-deep)}code{background:var(--brand-tint);color:var(--brand-deep);border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,monospace;font-size:.88em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{background:var(--surface);grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);min-height:100dvh;display:grid}.showcase{border-right:1px solid var(--line);background:var(--surface);align-items:center;padding:48px 56px;display:flex;position:relative;overflow:hidden}.showcase__aura{background:radial-gradient(48% 42% at 22% 18%, var(--brand-glow), transparent 70%), radial-gradient(40% 38% at 78% 68%, var(--brand-glow-soft), transparent 72%), radial-gradient(34% 30% at 60% 8%, var(--brand-glow-faint), transparent 70%);height:130%;transform:translate3d(calc(var(--parallax-x,0) * -14px), calc(var(--parallax-y,0) * -14px), 0);transition:transform .7s var(--ease);pointer-events:none;position:absolute;inset:-20% -10% auto -25%}.showcase__dots{background-image:radial-gradient(var(--brand-tint-2) 1px, transparent 1px);opacity:.65;pointer-events:none;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 78%);mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 78%)}.showcase__inner{z-index:1;flex-direction:column;gap:30px;width:100%;max-width:620px;margin-inline:auto;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand__mark{width:38px;height:38px;color:var(--accent);background:linear-gradient(135deg, var(--brand), var(--brand-deep));box-shadow:0 8px 18px -8px var(--brand);border-radius:11px;flex:none;place-items:center;display:grid}.brand__mark svg{width:20px;height:20px}.brand__text{flex-direction:column;line-height:1.25;display:flex}.brand__name{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand__sub{color:var(--ink-3);font-size:12px}.showcase__copy{animation:fade-up var(--slow) var(--ease) both}.showcase__eyebrow{border-radius:var(--radius-pill);background:var(--brand-tint);border:1px solid var(--brand-tint-2);color:var(--brand-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-block}.showcase__headline{letter-spacing:-.03em;max-width:15ch;font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.12}.showcase__description{max-width:52ch;color:var(--ink-2);margin-top:12px;font-size:15px}.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translate3d(calc(var(--parallax-x,0) * 7px), calc(var(--parallax-y,0) * 7px), 0);transition:transform .7s var(--ease);animation:fade-up .62s var(--ease) both;padding:22px}.panel-card__head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-card__title{letter-spacing:-.01em;font-size:15px;font-weight:700}.panel-card__hint{color:var(--ink-3);font-size:12px}.panel-card__body{border-top:1px dashed var(--line-strong);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:20px;padding-top:18px;display:grid}.live-pill{border-radius:var(--radius-pill);background:var(--accent-tint-2);color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.live-pill__dot{background:var(--accent-strong);border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite pulse}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-tile{border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--line);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease), transform var(--fast) var(--ease);flex-direction:column;gap:2px;padding:13px 14px;display:flex}.stat-tile:hover{background:var(--brand-tint);border-color:var(--brand-tint-2);transform:translateY(-2px)}.stat-tile__label{color:var(--ink-3);font-size:11.5px;font-weight:500}.stat-tile__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:23px;font-weight:700}.stat-tile__suffix{color:var(--brand);margin-left:1px;font-size:14px;font-weight:600}.stat-tile__trend{color:var(--brand);font-size:11.5px;font-weight:600}.chart__caption{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.chart__subtitle{color:var(--ink-2);font-size:12px;font-weight:600}.chart__readout{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.chart__readout strong{color:var(--brand-deep)}.chart__plot{height:132px;position:relative}.chart__grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 20px}.chart__grid span{background:var(--line);height:1px;display:block}.chart__bars{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:8px;height:100%;display:grid;position:relative}.chart__item{flex-direction:column;min-width:0;height:100%;display:flex}.chart__hit{border-radius:8px 8px 4px 4px;flex:1;align-items:flex-end;padding:0;display:flex}.chart__bar{width:100%;height:var(--bar-height);background:linear-gradient(180deg, var(--brand-tint-2), var(--brand-tint-3));transition:height var(--slow) var(--ease), background var(--fast) var(--ease), filter var(--fast) var(--ease);animation:bar-grow .62s var(--ease) both;animation-delay:var(--bar-delay,0s);transform-origin:bottom;border-radius:8px 8px 4px 4px;display:block;position:relative}.chart__item--peak .chart__bar{background:linear-gradient(180deg, var(--accent), var(--accent-strong))}.chart__hit:hover .chart__bar,.chart__hit:focus-visible .chart__bar{background:linear-gradient(180deg, var(--brand), var(--brand-strong));filter:drop-shadow(0 6px 14px var(--brand-glow))}.chart__hit:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.chart__tooltip{background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--fast) var(--ease), transform var(--fast) var(--ease);border-radius:7px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.chart__hit:hover .chart__tooltip,.chart__hit:focus-visible .chart__tooltip{opacity:1;transform:translate(-50%)}.chart__label{height:20px;color:var(--ink-3);white-space:nowrap;justify-content:center;align-items:center;font-size:10.5px;display:flex;overflow:hidden}.donut{text-align:center;width:132px;position:relative}.donut__svg{width:116px;height:116px;transform:rotate(-90deg)}.donut__track{fill:none;stroke:var(--brand-tint-2);stroke-width:10px}.donut__value{fill:none;stroke:var(--brand);stroke-width:10px;stroke-linecap:round;filter:drop-shadow(0 4px 10px var(--brand-glow))}.donut__center{position:absolute;top:58px;left:0;right:0;transform:translateY(-50%)}.donut__number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.donut__meta{flex-direction:column;gap:1px;margin-top:6px;display:flex}.donut__label{font-size:12px;font-weight:600}.donut__caption{color:var(--ink-3);font-size:11px}.highlights{animation:fade-up .64s var(--ease) both;flex-direction:column;gap:9px;display:flex}.highlights__item{color:var(--ink-2);align-items:center;gap:10px;font-size:13.5px;display:flex}.highlights__icon{width:17px;height:17px;color:var(--brand);flex:none}.float-note{z-index:2;border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);animation:float-in .7s var(--ease) both, bob 6s ease-in-out infinite .7s;background:#ffffffdb;flex-direction:column;gap:2px;padding:11px 15px;display:flex;position:absolute}.float-note[data-depth="1"]{transform:translate3d(calc(var(--parallax-x,0) * 16px), calc(var(--parallax-y,0) * 16px), 0);top:8%;right:4%}.float-note[data-depth="2"]{transform:translate3d(calc(var(--parallax-x,0) * 24px), calc(var(--parallax-y,0) * 24px), 0);animation-delay:.14s,.84s;bottom:11%;right:3%}.float-note__title{color:var(--brand-deep);font-size:12.5px;font-weight:700}.float-note__detail{color:var(--ink-3);font-size:11.5px}.auth-panel{background:var(--surface);justify-content:center;align-items:center;padding:48px 40px;display:flex}.auth-panel__inner{flex-direction:column;gap:22px;width:100%;max-width:396px;display:flex}.auth-panel__brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:none}.auth-panel__title{letter-spacing:-.025em;font-size:26px;font-weight:800}.auth-panel__subtitle{color:var(--ink-2);margin-top:5px;font-size:14px}.auth-panel__foot{color:var(--ink-3);text-align:center;font-size:13px}.role-switch{border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px;display:grid;position:relative}.role-switch__thumb{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--brand-tint-2);width:calc(50% - 7px);height:calc(100% - 10px);box-shadow:var(--shadow-sm);transform:translateX(calc(var(--active-index) * (100% + 4px)));transition:transform var(--normal) var(--ease);position:absolute;top:5px;left:5px}.role-switch__option{z-index:1;border-radius:var(--radius-pill);height:40px;color:var(--ink-3);transition:color var(--normal) var(--ease);justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;position:relative}.role-switch__option.is-active{color:var(--brand)}.role-switch__icon{width:17px;height:17px}.login-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field__label-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.field__label{color:var(--ink-2);font-size:13px;font-weight:600}.field__link{font-size:12.5px;font-weight:600}.field__control{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);height:50px;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);align-items:center;display:flex;position:relative}.field__control:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.field--invalid .field__control{border-color:var(--danger)}.field--invalid .field__control:focus-within{box-shadow:0 0 0 3px var(--danger-border)}.field__icon{width:18px;height:18px;color:var(--ink-3);pointer-events:none;transition:color var(--fast) var(--ease);position:absolute;left:14px}.field__control:focus-within .field__icon{color:var(--brand)}.field__input{border-radius:inherit;background:0 0;border:none;width:100%;height:100%;padding:0 14px 0 44px;font-size:14.5px}.field__input:focus{outline:none}.field__input::placeholder{color:var(--placeholder)}.field__toggle{width:34px;height:34px;color:var(--ink-3);transition:color var(--fast) var(--ease), background var(--fast) var(--ease);border-radius:9px;place-items:center;display:grid;position:absolute;right:8px}.field__toggle:hover{color:var(--brand);background:var(--brand-tint)}.field__error{color:var(--danger);font-size:12.5px}.checkbox{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13.5px;display:flex}.checkbox input{opacity:0;width:0;height:0;position:absolute}.checkbox__box{border:1.5px solid var(--line-strong);background:var(--surface);width:18px;height:18px;transition:all var(--fast) var(--ease);border-radius:6px;flex:none;position:relative}.checkbox__box:after{content:"";opacity:0;width:5px;height:9px;transition:all var(--fast) var(--ease);border:2px solid #fff;border-width:0 2px 2px 0;margin:auto;position:absolute;inset:0;transform:rotate(45deg)translate(-1px,-1px)scale(.4)}.checkbox input:checked+.checkbox__box{background:var(--brand);border-color:var(--brand)}.checkbox input:checked+.checkbox__box:after{opacity:1;transform:rotate(45deg)translate(-1px,-1px)scale(1)}.checkbox input:focus-visible+.checkbox__box{box-shadow:var(--focus-ring)}.button{border-radius:var(--radius);height:50px;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), background var(--fast) var(--ease), border-color var(--fast) var(--ease);justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:14.5px;font-weight:600;display:inline-flex}.button__icon{width:17px;height:17px}.button--primary{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-strong));box-shadow:0 12px 26px -14px var(--brand)}.button--primary:hover:not(:disabled){box-shadow:0 18px 32px -14px var(--brand);transform:translateY(-1px)}.button--primary:active:not(:disabled){transform:translateY(0)}.button--primary:disabled{opacity:.72}.button--ghost{color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong)}.button--ghost:hover:not(:disabled){color:var(--brand-deep);background:var(--brand-tint);border-color:var(--brand-tint-2)}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.alert{border-radius:var(--radius);background:var(--danger-tint);border:1px solid var(--danger-border);color:var(--danger);animation:shake .42s var(--ease);align-items:flex-start;gap:9px;padding:11px 13px;font-size:13px;display:flex}.alert__icon{flex:none;width:17px;height:17px;margin-top:1px}.signed-in{text-align:center;border-radius:var(--radius-lg);background:var(--brand-tint);border:1px solid var(--brand-tint-2);animation:fade-up .36s var(--ease) both;flex-direction:column;align-items:center;gap:8px;padding:26px 22px;display:flex}.signed-in__badge{background:var(--surface);width:46px;height:46px;color:var(--brand);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}.signed-in__badge svg{width:24px;height:24px}.signed-in__title{font-size:17px;font-weight:700}.signed-in__text{color:var(--ink-2);font-size:13px}.signed-in__role{text-transform:capitalize;color:var(--brand-deep);font-weight:600}.signed-in__route{color:var(--ink-3);margin:4px 0 8px;font-size:12.5px}.signed-in .button{width:100%}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1}}@keyframes bob{0%,to{margin-top:0}50%{margin-top:-8px}}@keyframes bar-grow{0%{opacity:.4;transform:scaleY(.04)}to{opacity:1;transform:scaleY(1)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--brand-ring)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (width<=1100px){.auth-page{grid-template-columns:1fr}.showcase{border-right:none;border-bottom:1px solid var(--line);padding:40px 32px}.float-note{display:none}.auth-panel{padding:40px 32px 56px}}@media (width<=760px){.showcase{display:none}.auth-panel{align-items:flex-start;padding:36px 20px 48px}.auth-panel__brand{display:flex}.auth-panel__inner{max-width:none}}@media (width<=560px){.panel-card__body{grid-template-columns:minmax(0,1fr);justify-items:center}.stat-row{grid-template-columns:minmax(0,1fr)}}.steps{flex-direction:column;gap:18px;display:flex;position:relative}.steps__rail{background:var(--line-strong);border-radius:2px;width:2px;position:absolute;top:14px;bottom:14px;left:15px;overflow:hidden}.steps__rail-fill{width:100%;height:var(--steps-progress,0%);background:linear-gradient(180deg, var(--brand), var(--brand-deep));transition:height var(--slow) var(--ease);display:block}.step{align-items:flex-start;gap:14px;display:flex;position:relative}.step__dot{z-index:1;background:var(--surface);border:1.5px solid var(--line-strong);width:30px;height:30px;color:var(--ink-3);transition:background var(--normal) var(--ease), border-color var(--normal) var(--ease), color var(--normal) var(--ease), box-shadow var(--normal) var(--ease);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:grid;position:relative}.step__dot svg{width:15px;height:15px}.step[data-state=active] .step__dot{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.step[data-state=done] .step__dot{background:var(--brand);border-color:var(--brand);color:#fff}.step__body{flex-direction:column;gap:1px;padding-top:3px;display:flex}.step__title{color:var(--ink-3);transition:color var(--normal) var(--ease);font-size:13.5px;font-weight:600}.step[data-state=active] .step__title,.step[data-state=done] .step__title{color:var(--ink)}.step__detail{color:var(--ink-3);font-size:12px}.countdown{border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand-deep);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:7px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.countdown__dot{background:var(--brand);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite pulse}.countdown--urgent{background:var(--warning-tint);color:var(--warning)}.countdown--urgent .countdown__dot{background:var(--warning)}.strength{border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--line);flex-direction:column;gap:11px;padding:13px 14px;display:flex}.strength__head{align-items:center;gap:12px;display:flex}.strength__bar{flex:1;gap:5px;display:flex}.strength__seg{background:var(--line-strong);height:5px;transition:background var(--normal) var(--ease);border-radius:3px;flex:1}.strength__label{color:var(--ink-3);text-align:right;min-width:92px;font-size:12px;font-weight:600}.strength[data-score="1"] .strength__seg.is-on{background:var(--danger)}.strength[data-score="1"] .strength__label{color:var(--danger)}.strength[data-score="2"] .strength__seg.is-on{background:var(--warning)}.strength[data-score="2"] .strength__label{color:var(--warning)}.strength[data-score="3"] .strength__seg.is-on{background:var(--brand)}.strength[data-score="3"] .strength__label{color:var(--brand)}.strength[data-score="4"] .strength__seg.is-on{background:var(--success)}.strength[data-score="4"] .strength__label{color:var(--success)}.rules{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px;display:grid}.rule{color:var(--ink-3);transition:color var(--fast) var(--ease);align-items:center;gap:7px;font-size:11.5px;display:flex}.rule__dot{background:var(--surface);border:1.5px solid var(--line-strong);color:#0000;width:15px;height:15px;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.rule__dot svg{width:9px;height:9px}.rule--met{color:var(--ink-2)}.rule--met .rule__dot{background:var(--brand);border-color:var(--brand);color:#fff}.rule__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.inbox{text-align:center;border-radius:var(--radius-lg);background:var(--brand-tint);border:1px solid var(--brand-tint-2);animation:fade-up .36s var(--ease) both;flex-direction:column;align-items:center;gap:10px;padding:26px 22px;display:flex}.inbox__badge{background:var(--surface);width:48px;height:48px;color:var(--brand);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}.inbox__badge svg{width:23px;height:23px}.inbox--warning{background:var(--warning-tint);border-color:var(--warning-border)}.inbox__badge--warning{color:var(--warning)}.inbox__title{font-size:17px;font-weight:700}.inbox__text{max-width:36ch;color:var(--ink-2);font-size:13px}.inbox__text strong{color:var(--ink)}.inbox .button{width:100%;margin-top:4px}.link-button{color:var(--brand);transition:color var(--fast) var(--ease);padding:4px;font-size:12.5px;font-weight:600}.link-button:hover{color:var(--brand-strong);text-decoration:underline}@media (width<=420px){.strength__head{flex-direction:column;align-items:stretch;gap:8px}.strength__label{text-align:left}}.app-page{background:var(--surface-muted);min-height:100dvh}.app-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffe0;position:sticky;top:0}.app-header__inner{justify-content:space-between;align-items:center;gap:20px;max-width:1260px;margin-inline:auto;padding:14px 32px;display:flex}.app-header__user{align-items:center;gap:12px;display:flex}.avatar{background:linear-gradient(135deg, var(--brand), var(--brand-deep));color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid}.app-header__identity{flex-direction:column;line-height:1.3;display:flex}.app-header__name{font-size:13.5px;font-weight:600}.app-header__email{color:var(--ink-3);font-size:11.5px}.app-header__role{text-transform:capitalize}.app-main{max-width:1260px;margin-inline:auto;padding:28px 32px 72px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-head__title{letter-spacing:-.028em;font-size:27px;font-weight:800}.page-head__subtitle{color:var(--ink-2);margin-top:4px;font-size:14px}.summary{grid-template-columns:repeat(4,minmax(96px,1fr));gap:10px;display:grid}.summary__tile{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;padding:10px 16px;display:flex}.summary__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.summary__suffix{color:var(--accent-deep);margin-left:1px;font-size:13px}.summary__label{color:var(--ink-3);font-size:11.5px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.tabs{border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);gap:2px;padding:4px;display:inline-flex}.tabs__tab{white-space:nowrap;border-radius:var(--radius-pill);height:34px;color:var(--ink-3);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.tabs__tab:hover{color:var(--brand)}.tabs__tab.is-active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.tabs__count{border-radius:var(--radius-pill);background:var(--brand-tint);min-width:20px;color:var(--brand-deep);text-align:center;padding:1px 6px;font-size:11px;font-weight:700}.tabs__tab.is-active .tabs__count{background:var(--accent);color:var(--on-accent)}.search{align-items:center;width:min(300px,100%);display:flex;position:relative}.search__icon{width:17px;height:17px;color:var(--ink-3);pointer-events:none;position:absolute;left:13px}.search__input{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);width:100%;height:40px;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:0 14px 0 38px;font-size:13.5px}.search__input:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.test-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:stretch;gap:16px;display:grid}.test-grid:has(.test-details){align-items:start}.test-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease), border-color var(--fast) var(--ease);animation:fade-up .42s var(--ease) both;flex-direction:column;gap:14px;padding:20px 18px 18px;display:flex;position:relative;overflow:hidden}.test-card:hover{border-color:var(--brand-tint-2);box-shadow:var(--shadow-md);transform:translateY(-3px)}.test-card[data-status=live]{border-color:var(--accent-tint-2);box-shadow:0 0 0 1px var(--accent-border), var(--shadow-md)}.test-card__rail{background:var(--line-strong);height:3px;position:absolute;inset:0 0 auto}.test-card[data-status=live] .test-card__rail{background:linear-gradient(90deg, var(--accent), var(--accent-strong))}.test-card[data-status=in_progress] .test-card__rail{background:linear-gradient(90deg, var(--brand), var(--accent))}.test-card[data-status=upcoming] .test-card__rail{background:var(--brand-tint-3)}.test-card[data-status=completed] .test-card__rail{background:var(--success)}.test-card[data-status=missed] .test-card__rail{background:var(--danger)}.test-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.test-card__code{letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-weight:700}.test-card__head{flex-direction:column;gap:3px;margin-top:-4px;display:flex}.test-card__title{letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.3}.test-card__summary{color:var(--ink-2);font-size:12.5px;line-height:1.45}.test-card__when{color:var(--ink-3);align-items:center;gap:7px;margin-top:-6px;font-size:12.5px;display:flex}.test-card__when strong{color:var(--ink-2);font-weight:600}.test-card__when-icon{width:14px;height:14px;color:var(--ink-3);flex:none}.test-card__spacer{flex:auto;min-height:0}.test-card__actions{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:14px;display:flex}.test-card__actions .button--primary,.test-card__actions .button--ghost:first-child{flex:1}.chip{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-sunken);color:var(--ink-3);align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.chip--live,.chip--progress{background:var(--accent-tint-2);color:var(--accent-deep)}.chip--upcoming{background:var(--surface-sunken);color:var(--ink-2)}.chip--done{background:var(--success-tint);color:var(--success)}.chip--failed{background:var(--danger-tint);color:var(--danger)}.chip--muted{background:var(--surface-sunken);color:var(--ink-3)}.chip__dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite pulse}.test-stats{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.test-stats__item{border-left:1px solid var(--line);flex-direction:column;gap:3px;padding:11px 12px;display:flex}.test-stats__item:first-child{border-left:0}.test-stats__value{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:15.5px;font-weight:700}.test-stats__label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:flex}.test-stats__icon{width:13px;height:13px;color:var(--brand);flex:none}.strip{border-radius:var(--radius-sm);background:var(--brand-tint);color:var(--brand-deep);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;display:flex}.strip__text{min-width:0}.strip strong{font-weight:700}.strip--urgent{background:var(--warning-tint);color:var(--warning)}.strip--muted{background:var(--surface-sunken);color:var(--ink-3)}.strip--done{background:var(--success-tint);color:var(--success-strong)}.strip__icon{flex:none;width:16px;height:16px}.progress__head{color:var(--ink-2);justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12.5px;display:flex}.progress__head strong{color:var(--warning);font-variant-numeric:tabular-nums}.progress__track,.score__track{background:var(--surface-sunken);border-radius:4px;height:7px;display:block;position:relative;overflow:hidden}.progress__fill{background:linear-gradient(90deg, var(--brand), var(--accent));height:100%;transition:width var(--slow) var(--ease);border-radius:4px;display:block}.score__head{color:var(--ink-2);justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12.5px;display:flex}.score__head strong{color:var(--ink)}.score__verdict{color:var(--success);font-weight:700}.score__verdict--fail{color:var(--danger)}.score__track{overflow:visible}.score__fill{background:linear-gradient(90deg, var(--success), var(--success-strong));height:100%;transition:width var(--slow) var(--ease);border-radius:4px;display:block}.score__fill--fail{background:linear-gradient(90deg, var(--danger), var(--danger-strong))}.score__pass{background:var(--accent);border-radius:2px;width:3px;position:absolute;top:-4px;bottom:-4px}.score__foot{color:var(--ink-3);margin-top:6px;font-size:11.5px;display:block}.button--sm{height:38px;padding:0 14px;font-size:13px}.button__chevron{transition:transform var(--fast) var(--ease)}.button.is-open .button__chevron{transform:rotate(180deg)}.test-details{border-radius:var(--radius);background:var(--surface-sunken);animation:fade-up .24s var(--ease) both;flex-direction:column;gap:10px;padding:13px 14px;display:flex}.test-details__list{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px 14px;display:grid}.test-details__list li{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;line-height:1.35;display:flex}.test-details__icon{width:14px;height:14px;color:var(--brand);flex:none}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--brand-tint-2);color:var(--brand-deep);padding:3px 10px;font-size:11.5px;font-weight:500}.test-card--skeleton{pointer-events:none;gap:14px}.skeleton{background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--line) 37%, var(--surface-sunken) 63%);background-size:400% 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer;display:block}.skeleton--chip{border-radius:var(--radius-pill);width:82px;height:20px}.skeleton--title{width:72%;height:20px}.skeleton--line{width:92%;height:13px}.skeleton--grid{border-radius:var(--radius);width:100%;height:66px}.skeleton--strip{border-radius:var(--radius-sm);width:100%;height:38px}.skeleton--action{border-radius:var(--radius);width:100%;height:38px}.empty{text-align:center;border-radius:var(--radius-lg);background:var(--surface);border:1px dashed var(--line-strong);flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty__title{font-size:17px;font-weight:700}.empty__text{color:var(--ink-2);font-size:13.5px}.modal{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease) both;background:#1a14206b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal__panel{border-radius:var(--radius-lg);background:var(--surface);width:min(520px,100%);max-height:88dvh;box-shadow:var(--shadow-lg);animation:pop-in .24s var(--ease) both;flex-direction:column;gap:12px;padding:26px;display:flex;position:relative;overflow-y:auto}.modal__panel:focus-visible{outline:none}.modal__close{width:34px;height:34px;color:var(--ink-3);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:9px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal__close:hover{background:var(--brand-tint);color:var(--brand)}.modal__eyebrow{letter-spacing:.08em;color:var(--brand);font-size:11.5px;font-weight:700}.modal__title{letter-spacing:-.025em;font-size:21px;font-weight:800}.modal__text{color:var(--ink-2);margin-top:-6px;font-size:14px}.modal__facts{border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;padding:14px;display:grid}.modal__facts dt{color:var(--ink-3);font-size:11px}.modal__facts dd{margin:2px 0 0;font-size:14px;font-weight:700}.modal__rules{flex-direction:column;gap:9px;display:flex}.modal__rules li{color:var(--ink-2);align-items:flex-start;gap:9px;font-size:13px;display:flex}.modal__rule-icon{width:16px;height:16px;color:var(--brand);flex:none;margin-top:2px}.modal__actions{gap:10px;margin-top:4px;display:flex}.modal__actions .button{flex:1}.toast{z-index:70;border-radius:var(--radius-pill);background:var(--ink);color:#fff;text-align:center;max-width:min(520px,100vw - 32px);box-shadow:var(--shadow-md);animation:toast-in .26s var(--ease) both;padding:12px 20px;font-size:13px;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width<=900px){.app-header__inner,.app-main{padding-inline:20px}.app-header__identity{display:none}.summary{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.toolbar{align-items:stretch}.tabs{overflow-x:auto}.search{width:100%}}@media (width<=560px){.test-grid{grid-template-columns:minmax(0,1fr)}.tabs{scrollbar-width:none;max-width:100%;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.test-details__list{grid-template-columns:minmax(0,1fr)}.brand__sub{display:none}}.wizard{border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);align-items:center;gap:8px;padding:5px;display:flex}.wizard__step{border-radius:var(--radius-pill);height:34px;color:var(--ink-3);transition:background var(--normal) var(--ease), color var(--normal) var(--ease);flex:1;justify-content:center;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.wizard__step.is-active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.wizard__index{background:var(--line);width:20px;height:20px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.wizard__step.is-active .wizard__index{background:var(--brand);color:#fff}.wizard__step.is-done .wizard__index{background:var(--brand-tint-2);color:var(--brand-deep)}.modal__text--tight{margin-top:0;font-size:13px}.syscheck{flex-direction:column;gap:14px;display:flex}.preview{aspect-ratio:16/9;border-radius:var(--radius);background:var(--surface-sunken);border:1px solid var(--line-strong);place-items:center;display:grid;position:relative;overflow:hidden}.preview.is-live{border-color:var(--brand-tint-2);box-shadow:0 0 0 3px var(--brand-tint)}.preview__video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.preview__placeholder{color:var(--ink-3);font-size:12.5px;position:absolute}.preview__badge{border-radius:var(--radius-pill);color:var(--brand-deep);letter-spacing:.05em;text-transform:uppercase;background:#ffffffe6;align-items:center;gap:6px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.preview__badge:before{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite pulse}.checklist{flex-direction:column;gap:8px;display:flex}.checklist__item{border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--line);transition:border-color var(--normal) var(--ease), background var(--normal) var(--ease);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.checklist__item[data-state=passed]{background:var(--brand-tint);border-color:var(--brand-tint-2)}.checklist__item[data-state=failed]{background:var(--danger-tint);border-color:var(--danger-border)}.checklist__glyph{background:var(--surface);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-3);transition:color var(--normal) var(--ease), border-color var(--normal) var(--ease);border-radius:10px;flex:none;place-items:center;display:grid}.checklist__glyph svg{width:17px;height:17px}.checklist__item[data-state=running] .checklist__glyph,.checklist__item[data-state=passed] .checklist__glyph{color:var(--brand);border-color:var(--brand-tint-2)}.checklist__item[data-state=failed] .checklist__glyph{color:var(--danger);border-color:var(--danger-border)}.checklist__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.checklist__label{font-size:13.5px;font-weight:600}.checklist__detail{color:var(--ink-2);overflow-wrap:anywhere;font-size:12px}.checklist__item[data-state=failed] .checklist__detail{color:var(--danger)}.checklist__retry{align-self:flex-start;margin-top:2px;padding-inline:0}.checklist__status{width:26px;height:26px;color:var(--ink-3);transition:background var(--normal) var(--ease), color var(--normal) var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.checklist__status svg{width:15px;height:15px}.checklist__item[data-state=idle] .checklist__status,.checklist__item[data-state=running] .checklist__status{border:1.5px dashed var(--line-strong)}.checklist__item[data-state=passed] .checklist__status{background:var(--brand);color:#fff}.checklist__item[data-state=failed] .checklist__status{color:var(--danger)}.spinner--brand{border-color:var(--brand-tint-2);border-top-color:var(--brand)}.meter{align-items:flex-end;gap:3px;height:16px;margin-top:6px;display:flex}.meter__bar{background:var(--brand-tint-2);border-radius:2px;width:4px;height:6px;transition:height 90ms linear,background 90ms linear}.meter__bar.is-on{background:var(--brand);height:16px}.captures{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.capture{text-align:center;margin:0}.capture img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--brand-tint-2);background:var(--surface-sunken);width:100%}.capture figcaption{color:var(--ink-3);margin-top:5px;font-size:11px;font-weight:600}.backlink{color:var(--ink-2);transition:color var(--fast) var(--ease);align-items:center;gap:7px;margin-bottom:18px;font-size:13px;font-weight:600;display:inline-flex}.backlink:hover{color:var(--brand)}.backlink__icon{width:16px;height:16px;transform:rotate(180deg)}.result-page{animation:fade-up .42s var(--ease) both;flex-direction:column;gap:16px;display:flex}.result-hero{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);align-items:center;gap:16px;padding:20px;display:flex}.result-hero[data-passed=yes]{border-color:var(--success-tint)}.result-hero[data-passed=no]{border-color:var(--danger-tint)}.result-hero__text{flex:1;min-width:0}.result-hero__code{letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-weight:700}.result-hero__title{letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1.25}.result-hero__sub{color:var(--ink-2);margin-top:2px;font-size:13px}.result-hero__verdict{border-radius:var(--radius-pill);background:var(--success-tint);color:var(--success);letter-spacing:.04em;text-transform:uppercase;flex:none;padding:7px 16px;font-size:12.5px;font-weight:700}.result-hero__verdict--fail{background:var(--danger-tint);color:var(--danger)}.result-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.panel{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px;display:flex}.panel__title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:700}.table-wrap{overflow-x:auto}.plan__name{color:var(--ink);font-weight:600;display:block}.plan__code{letter-spacing:.06em;color:var(--ink-3);margin-top:1px;font-size:11px;display:block}.factlist{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 16px;display:grid}.factlist li{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:10px 12px;font-size:13px;display:grid}.factlist__icon{width:15px;height:15px;color:var(--brand);flex:none}.factlist__label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.factlist__value{color:var(--ink);grid-column:2;font-weight:600}@media (width<=560px){.result-hero{flex-wrap:wrap;gap:12px 16px}.result-hero__verdict{margin-left:auto}.result-hero__text{flex:1 0 100%;order:3}.result-hero__title{font-size:19px}}.shutter{border-radius:var(--radius);background:var(--accent-tint);border:1px solid var(--accent-border);animation:fade-up .24s var(--ease) both;align-items:center;gap:12px;padding:12px 14px;display:flex}.shutter__prompt{min-width:0;color:var(--accent-deep);flex:1;font-size:13px;line-height:1.4}.shutter__button{flex:none}@media (width<=560px){.shutter{text-align:center;flex-direction:column;align-items:stretch}}.player{background:var(--surface-muted);min-height:100dvh}.instructions{place-items:center;min-height:100dvh;padding:40px 20px;display:grid}.instructions__card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);width:min(680px,100%);box-shadow:var(--shadow-md);animation:fade-up .4s var(--ease) both;flex-direction:column;gap:16px;padding:32px;display:flex}.instructions__card--loading{gap:18px}.instructions__title{letter-spacing:-.028em;font-size:25px;font-weight:800;line-height:1.2}.instructions__lead{color:var(--ink-2);margin-top:-8px;font-size:14px}.instructions__start{width:100%;margin-top:4px}.plan{border-collapse:collapse;width:100%;font-size:13px}.plan th,.plan td{text-align:left;border-bottom:1px solid var(--line);padding:9px 12px}.plan th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.plan td:not(:first-child),.plan th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.plan tbody tr:last-child td{border-bottom:none}.result__badge{background:var(--brand-tint);width:52px;height:52px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.result__badge svg{width:26px;height:26px}.result__badge--fail{background:var(--danger-tint);color:var(--danger)}.result__badge--pass{background:var(--success-tint);color:var(--success)}.exam{background:var(--surface-muted);flex-direction:column;min-height:100dvh;display:flex}.exam__bar{z-index:15;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.exam__identity{flex-direction:column;min-width:0;display:flex}.exam__code{letter-spacing:.08em;color:var(--brand);font-size:11px;font-weight:700}.exam__title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.exam__timer{border-radius:var(--radius-pill);background:var(--brand-tint);color:var(--brand-deep);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:7px 16px;font-size:16px;font-weight:700;display:inline-flex}.exam__timer.is-urgent{background:var(--danger-tint);color:var(--danger);animation:1.6s ease-in-out infinite pulse-soft}.exam__timer-icon{width:17px;height:17px}.exam__tools{align-items:center;gap:8px;display:flex}.chip__glyph{width:13px;height:13px}.exam__sections{background:var(--surface);border-bottom:1px solid var(--line);gap:6px;padding:10px 24px;display:flex;overflow-x:auto}.exam__section{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-muted);color:var(--ink-2);white-space:nowrap;transition:all var(--fast) var(--ease);align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.exam__section:hover{border-color:var(--brand-tint-2);color:var(--brand-deep)}.exam__section.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.exam__section-count{border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-variant-numeric:tabular-nums;padding:1px 7px;font-size:11px}.exam__section.is-active .exam__section-count{background:var(--accent);color:var(--on-accent)}.exam__body{flex:1;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:20px;width:100%;max-width:1280px;margin-inline:auto;padding:20px 24px 40px;display:grid}.exam__main{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.exam__actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;display:flex}.exam__spacer{flex:1}.question__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.question__number{font-size:15px;font-weight:700}.question__of{color:var(--ink-3);font-weight:500}.question__tags{gap:6px;display:flex}.question__body{color:var(--ink);font-size:15px;line-height:1.6}.question__body br+br{content:"";margin-top:8px;display:block}.question__body p{margin:0 0 10px}.question__body p:last-child{margin-bottom:0}.question__body ul,.question__body ol{margin:0 0 10px;padding-left:22px;list-style:outside}.question__body ol{list-style:decimal}.question__body li{margin-bottom:4px}.question__body table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13.5px}.question__body th,.question__body td{border:1px solid var(--line-strong);text-align:left;padding:8px 12px}.question__body th{background:var(--surface-muted);font-weight:600}.question__body td+td,.question__body th+th{text-align:right;font-variant-numeric:tabular-nums}.question__body strong{font-weight:700}.options{flex-direction:column;gap:10px;margin-top:18px;display:flex}.option{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;transition:all var(--fast) var(--ease);align-items:center;gap:12px;padding:13px 16px;display:flex}.option:hover{border-color:var(--brand-tint-2);background:var(--brand-tint)}.option input{opacity:0;width:0;height:0;position:absolute}.option__marker{border:1.5px solid var(--line-strong);background:var(--surface);width:28px;height:28px;color:var(--ink-3);transition:all var(--fast) var(--ease);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:grid}.option__text{font-size:14.5px}.option.is-selected{border-color:var(--brand);background:var(--brand-tint);box-shadow:0 0 0 1px var(--brand)}.option.is-selected .option__marker{background:var(--brand);border-color:var(--brand);color:#fff}.option:focus-within{box-shadow:var(--focus-ring)}.palette{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:18px;display:flex;position:sticky;top:132px}.palette__title{font-size:13px;font-weight:700}.palette__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.palette__cell{aspect-ratio:1;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);transition:all var(--fast) var(--ease);border-radius:9px;place-items:center;font-size:12.5px;font-weight:600;display:grid}.palette__cell[data-status=answered]{background:var(--brand);border-color:var(--brand);color:#fff}.palette__cell[data-status=flagged]{background:var(--accent);border-color:var(--accent-strong);color:var(--on-accent)}.palette__cell.is-current{box-shadow:0 0 0 3px var(--accent-border);transform:scale(1.06)}.palette__legend{color:var(--ink-2);flex-direction:column;gap:6px;font-size:11.5px;display:flex}.palette__legend li{align-items:center;gap:8px;display:flex}.dot{border:1px solid var(--line-strong);background:var(--surface);border-radius:4px;width:11px;height:11px}.dot[data-status=answered]{background:var(--brand);border-color:var(--brand)}.dot[data-status=flagged]{background:var(--accent);border-color:var(--accent-strong)}.palette__counts{border-top:1px solid var(--line);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:12px;display:grid}.palette__counts dt{color:var(--ink-3);font-size:10.5px}.palette__counts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:700}.warn-stack{z-index:80;flex-direction:column;gap:10px;width:min(360px,100vw - 36px);display:flex;position:fixed;top:132px;right:18px}.warn{border-radius:var(--radius);background:var(--surface);border:1px solid var(--warning);border-left:4px solid var(--warning);box-shadow:var(--shadow-md);animation:warn-in .26s var(--ease) both;align-items:flex-start;gap:11px;padding:13px 14px;display:flex}.warn[data-severity=medium]{border-color:var(--brand-tint-2);border-left-color:var(--brand)}.warn[data-severity=critical]{border-color:var(--danger);border-left-color:var(--danger);background:var(--danger-tint)}.warn__icon{width:18px;height:18px;color:var(--warning);flex:none;margin-top:1px}.warn[data-severity=medium] .warn__icon{color:var(--brand)}.warn[data-severity=critical] .warn__icon{color:var(--danger)}.warn__meta{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;font-size:10.5px;font-weight:600}.warn__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.warn__title{font-size:13.5px;font-weight:700}.warn__detail{color:var(--ink-2);font-size:12px}.warn__close{width:26px;height:26px;color:var(--ink-3);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border-radius:7px;flex:none;place-items:center;display:grid}.warn__close svg{width:14px;height:14px}.warn__close:hover{background:var(--surface-sunken);color:var(--ink)}@keyframes warn-in{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.68}}@media (width<=1000px){.exam__body{grid-template-columns:minmax(0,1fr)}.palette{order:-1;position:static}.palette__grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (width<=680px){.exam__bar{flex-wrap:wrap;padding:12px 16px}.exam__body{padding:16px}.exam__main{padding:18px}.palette__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.instructions__card{padding:22px}}.selfview{z-index:40;aspect-ratio:4/3;border-radius:var(--radius);background:var(--ink);border:1px solid var(--line-strong);width:168px;box-shadow:var(--shadow-md);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;bottom:18px;right:18px;overflow:hidden}.selfview.is-dragging{cursor:grabbing;box-shadow:var(--shadow-lg);border-color:var(--brand)}.selfview__video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.selfview__badge{border-radius:var(--radius-pill);color:var(--brand-deep);letter-spacing:.06em;text-transform:uppercase;background:#ffffffeb;align-items:center;gap:5px;padding:2px 8px;font-size:9.5px;font-weight:700;display:inline-flex;position:absolute;top:8px;left:8px}.selfview__mic{width:10px;height:10px;margin-left:1px}.selfview__dot{background:var(--brand);border-radius:50%;width:5px;height:5px;animation:1.8s ease-out infinite pulse}.selfview__error{color:#fff;text-align:center;font-size:10.5px;position:absolute;inset:auto 8px 8px}.integrity{position:relative}.integrity__pill{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);height:38px;transition:all var(--fast) var(--ease);align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.integrity__pill[data-band=clean]{border-color:var(--brand-tint-2);color:var(--brand-deep)}.integrity__pill[data-band=low]{border-color:var(--brand);color:var(--brand-deep)}.integrity__pill[data-band=elevated]{border-color:var(--warning);color:var(--warning);background:var(--warning-tint)}.integrity__pill[data-band=high]{border-color:var(--danger);color:var(--danger);background:var(--danger-tint)}.integrity__score{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.integrity__count{border-radius:var(--radius-pill);min-width:19px;color:var(--surface);background:currentColor;padding:1px 6px;font-size:10.5px;font-weight:700}.integrity__panel{z-index:30;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-strong);width:min(380px,100vw - 32px);max-height:70dvh;box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease) both;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.integrity__head h3{font-size:14px;font-weight:700}.integrity__sub{color:var(--ink-3);font-size:11.5px}.integrity__signals,.integrity__channels{flex-direction:column;gap:6px;font-size:12px;display:flex}.integrity__signals li{color:var(--ink-3);justify-content:space-between;gap:12px;display:flex}.integrity__signals strong{color:var(--ink);text-align:right;font-weight:600}.integrity__signals strong[data-state=unavailable],.integrity__signals strong[data-state=loading]{color:var(--warning)}.integrity__channels{flex-flow:wrap;gap:6px}.integrity__channels li{border-radius:var(--radius-pill);background:var(--danger-tint);color:var(--danger);text-transform:capitalize;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.integrity__channels li[data-empty=true]{background:var(--surface-sunken);color:var(--ink-3)}.integrity__subhead{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.integrity__empty,.integrity__error{color:var(--ink-3);font-size:12px}.integrity__error{color:var(--warning)}.integrity__log{flex-direction:column;gap:8px;display:flex}.integrity__log li{border-radius:var(--radius-sm);background:var(--surface-muted);border-left:3px solid var(--line-strong);grid-template-columns:auto 1fr auto;gap:2px 8px;padding:9px 11px;font-size:12px;display:grid}.integrity__log li[data-severity=medium]{border-left-color:var(--brand)}.integrity__log li[data-severity=high]{border-left-color:var(--warning)}.integrity__log li[data-severity=critical]{border-left-color:var(--danger)}.integrity__log-time{font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:11px}.integrity__log-title{font-weight:600}.integrity__log-meta{color:var(--ink-3);text-transform:capitalize;white-space:nowrap;font-size:10.5px}.integrity__log-detail{color:var(--ink-2);grid-column:1/-1;font-size:11px}.integrity-summary{border-radius:var(--radius);background:var(--surface-muted);border:1px solid var(--line);padding:14px 16px}.integrity-summary[data-band=elevated]{background:var(--warning-tint);border-color:var(--warning)}.integrity-summary[data-band=high]{background:var(--danger-tint);border-color:var(--danger)}.integrity-summary__head{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.integrity-summary__head strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.integrity-summary__text{color:var(--ink-2);margin-top:4px;font-size:12.5px}.integrity-summary__channels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.integrity-summary__channels li{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line-strong);text-transform:capitalize;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}@media (width<=680px){.selfview{width:116px;bottom:12px;left:12px}}.admin{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:24px;max-width:1440px;margin-inline:auto;padding:24px 32px 72px;display:grid}.admin-nav{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:10px;display:flex;position:sticky;top:84px}.admin-nav__item{border-radius:var(--radius);text-align:left;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);flex-direction:column;gap:1px;padding:10px 12px;display:flex}.admin-nav__item:hover{background:var(--surface-muted)}.admin-nav__item.is-active{background:var(--brand-tint);box-shadow:inset 3px 0 0 var(--accent)}.admin-nav__label{color:var(--ink);font-size:13.5px;font-weight:600}.admin-nav__item.is-active .admin-nav__label{color:var(--brand-deep)}.admin-nav__hint{color:var(--ink-3);font-size:11.5px}.admin-main{min-width:0}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-count{color:var(--ink-3);font-size:12.5px}.admin-table__scroll{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 14px;font-size:10.5px;font-weight:700;position:sticky;top:0}.admin-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--surface-muted)}.admin-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-table__loading{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:12px;padding:20px;display:flex}.admin-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:44ch;display:-webkit-box;overflow:hidden}.admin-negative{color:var(--danger);font-size:11.5px}.admin-row-actions{white-space:nowrap;gap:12px;display:inline-flex}.link-button--danger{color:var(--danger)}.link-button--danger:hover{color:var(--danger-strong)}.chip--button{cursor:pointer;border:none;font-family:inherit}.modal__panel--form{width:min(680px,100%)}.modal__focus{outline:none;flex-direction:column;gap:12px;display:flex}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-grid{gap:12px;display:grid}.admin-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.field__input--plain{padding-left:14px}select.field__input--plain{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.field__control--area{height:auto;padding:8px 0}.field__control--area .field__input{resize:vertical;height:auto;padding-block:4px;font-family:inherit}.field__hint{color:var(--ink-3);font-size:11.5px}.field--tight .field__label{font-size:11.5px}.field--tight .field__input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);height:42px;padding-inline:10px}.admin-option-tools{gap:12px;display:inline-flex}.admin-options{flex-direction:column;gap:8px;display:flex}.admin-option{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);transition:border-color var(--fast) var(--ease), background var(--fast) var(--ease);align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-option.is-correct{border-color:var(--brand);background:var(--brand-tint)}.admin-option__radio{accent-color:var(--brand);flex:none;width:16px;height:16px}.admin-option .field__input{background:0 0;border:none;height:38px;padding-inline:4px}.admin-pattern{flex-direction:column;gap:12px;display:flex}.admin-pattern__row{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-muted);flex-direction:column;gap:10px;padding:14px;display:flex}.admin-pattern__head{align-items:center;gap:12px;display:flex}.admin-pattern__head select{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);flex:1;height:42px}.admin-pattern__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-pattern__selection{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);width:auto;height:38px}.admin-students{flex-direction:column;gap:10px;display:flex}.admin-students__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-students__list,.admin-students__picker{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-muted);flex-direction:column;gap:6px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.admin-students__list li{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.admin-students__list li span{flex-direction:column;display:flex}.admin-students__meta{color:var(--ink-3);font-size:11.5px}.admin-students__picker li{font-size:13px}.admin-history{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.admin-history li{border-radius:var(--radius-sm);background:var(--surface-muted);border-left:3px solid var(--brand-tint-2);grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 12px;font-size:12px;display:grid}.admin-history__when{font-variant-numeric:tabular-nums;color:var(--ink-3)}.admin-history__who{font-weight:600}.admin-history__what{color:var(--ink-2);overflow-wrap:anywhere;background:0 0;grid-column:1/-1;padding:0;font-size:11px}.button--danger{color:#fff;background:linear-gradient(135deg, var(--danger), var(--danger-strong));box-shadow:0 12px 26px -14px var(--danger)}.button--danger:hover:not(:disabled){transform:translateY(-1px)}.search__input--bare{padding-left:14px}@media (width<=1000px){.admin{grid-template-columns:minmax(0,1fr);padding:20px}.admin-nav{flex-direction:row;position:static;overflow-x:auto}.admin-nav__item{white-space:nowrap}.admin-grid--3,.admin-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.admin-grid--2{grid-template-columns:minmax(0,1fr)}}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:20px;display:grid}.stat-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-card__label{color:var(--ink-3);font-size:11.5px}.stat-card__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.stat-card__hint{color:var(--brand);font-size:11.5px;font-weight:600}.admin-panels{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:24px;display:grid}.admin-panel{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.admin-panel__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-panel__title{font-size:13.5px;font-weight:700}.admin-panel__meta{color:var(--ink-3);font-size:11.5px}.admin-heading{margin:24px 0 10px;font-size:15px;font-weight:700}.trend{border-radius:var(--radius);background:var(--surface-muted);align-items:flex-end;gap:3px;height:120px;padding:8px;display:flex}.trend__day{flex:1;justify-content:center;align-items:flex-end;gap:1px;height:100%;display:flex}.trend__bar{width:45%;min-height:2px;transition:height var(--normal) var(--ease);border-radius:2px 2px 0 0}.trend__bar--started{background:var(--accent)}.trend__bar--submitted{background:var(--brand)}.trend__legend{color:var(--ink-2);gap:14px;font-size:11.5px;display:flex}.trend__legend li{align-items:center;gap:6px;display:flex}.dot--started{background:var(--accent);border-color:var(--accent-strong)}.dot--submitted{background:var(--brand);border-color:var(--brand)}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.admin-stats--wide{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-stats dt{color:var(--ink-3);font-size:11px}.admin-stats dd{font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:15px;font-weight:700}.admin-table__scroll--inset{max-height:320px;overflow-y:auto}.report-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.report-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;gap:16px;padding:18px;display:flex}.report-card__title{font-size:15px;font-weight:700}.report-card__detail{color:var(--ink-2);margin-top:4px;font-size:13px}.report-card__actions{gap:8px;display:flex}.report-card__actions .button{flex:1}@media (width<=1200px){.admin-panels{grid-template-columns:minmax(0,1fr)}}
