.assessment-shell--test{background:var(--bg-app);min-height:100vh}.test-stage{width:100%;max-width:1400px;margin:0 auto;padding:16px}.test-loading{color:var(--text-muted);padding:24px 0}.btn--lg{font-size:var(--text-md,1rem);padding:12px 28px}.test-banner{border-radius:var(--radius-md,10px);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);margin:10px 0;padding:10px 14px}.test-banner--error{border-color:var(--danger);background:var(--danger-bg);color:var(--text-bright,var(--text))}.test-banner--warn{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--bg-panel))}.test-banner--ok{border-color:var(--success);background:var(--success-bg)}.test-pill{font-size:var(--text-xs,.75rem);border:1px solid var(--border);background:var(--bg-panel);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.test-pill--ok{border-color:var(--success);color:var(--success)}.test-pill--warn{border-color:var(--warning);color:var(--warning)}.syscheck{grid-template-columns:minmax(260px,360px) 1fr;align-items:stretch;gap:16px;display:grid}.syscheck__rail,.syscheck__panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);padding:28px}.syscheck__rail h2{color:var(--text-bright,var(--text));margin:0 0 6px;font-size:1.6rem;line-height:1.2}.syscheck__rail>p{color:var(--text-muted);margin:0 0 24px}.syscheck__rail ol{margin:0 0 20px;padding:0;list-style:none}.syscheck__step{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:16px 0;font-weight:500;display:flex}.syscheck__step--done{color:var(--text-muted)}.syscheck__badge{background:var(--bg-hover);width:30px;height:30px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:inline-grid}.syscheck__badge--current{background:var(--accent);color:var(--on-accent,#fff)}.syscheck__badge--done{background:var(--success);color:#fff}.syscheck__count{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:20px;display:flex}.syscheck__panel h3{color:var(--text-bright,var(--text));margin:0 0 18px;font-size:1.25rem}.syscheck__card{border:1px solid var(--border);border-radius:var(--radius-lg,16px);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.syscheck__card--list{text-align:left;align-items:stretch}.syscheck__glyph{color:var(--accent)}.syscheck__metric{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:700}.syscheck__warn{color:var(--warning);margin:0}.syscheck__error{color:var(--danger);margin:0}.syscheck__checks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.syscheck__checks li{border-radius:var(--radius-md,10px);background:var(--bg-elevated,var(--bg-hover));align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.syscheck__checks li>span{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:grid}.syscheck__checks li.is-ok>span{background:var(--success);color:#fff}.syscheck__checks li.is-warn>span{background:var(--warning);color:#111}.syscheck__checks li.is-bad>span{background:var(--danger);color:#fff}.syscheck__checks small{color:var(--text-muted);display:block}.syscheck__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.syscheck__card--list .syscheck__actions{justify-content:flex-end}.syscheck__meter{background:var(--bg-hover);border-radius:999px;width:min(320px,100%);height:10px;overflow:hidden}.syscheck__meter span{background:var(--success);height:100%;transition:width 80ms linear;display:block}.syscheck__video{aspect-ratio:4/3;background:#2b2b2b;border-radius:12px;width:min(440px,100%);overflow:hidden}.syscheck__video video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.proctor-intro{grid-template-columns:1.6fr 1fr;gap:16px;display:grid}.proctor-intro__rules,.proctor-intro__side,.proctor-code,.proctor-rejoin,.test-ended{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);padding:28px}.proctor-intro__rules h2{color:var(--text-bright,var(--text));margin:4px 0 8px}.proctor-intro__rule h3{color:var(--text-bright,var(--text));align-items:center;gap:8px;margin:18px 0 6px;font-size:1rem;display:flex}.proctor-intro__rule h3 span{color:var(--danger)}.proctor-intro__rule ul{color:var(--text);margin:0;padding-left:22px;line-height:1.55}.proctor-intro__side{flex-direction:column;align-self:start;gap:12px;display:flex;position:sticky;top:16px}.proctor-intro__agree{border:1px solid var(--border);border-radius:var(--radius-md,10px);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.proctor-intro__agree input{width:18px;height:18px;accent-color:var(--accent);margin-top:3px}.proctor-code,.proctor-rejoin,.test-ended{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:560px;margin:24px auto;display:flex}.proctor-code h2,.proctor-rejoin h2,.test-ended h2{color:var(--text-bright,var(--text));margin:0}.proctor-code__digits{gap:10px;margin:8px 0;display:flex}.proctor-code__digits input{text-align:center;width:52px;height:64px;font-size:1.8rem;font-weight:700;font-family:var(--font-mono);border:2px solid var(--border-strong,var(--border));background:var(--bg-app);color:var(--text-bright,var(--text));border-radius:12px}.proctor-code__digits input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.proctor-code__error{color:var(--danger);margin:0}.proctor-code__note{color:var(--text-muted);font-size:var(--text-sm,.875rem);margin:0}.test-ended__actions{gap:10px;display:flex}.test-runner{flex-direction:column;gap:12px;display:flex}.test-runner--proctored{-webkit-user-select:none;user-select:none}.test-runner--proctored .test-editor,.test-runner--proctored input,.test-runner--proctored textarea{-webkit-user-select:text;user-select:text}.test-runner__bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);z-index:5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:8px}.test-runner__title h1{color:var(--text-bright,var(--text));margin:2px 0 0;font-size:1.15rem}.test-runner__status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.test-runner__save{color:var(--text-muted)}.test-runner__clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--bg-hover);color:var(--text-bright,var(--text));border-radius:10px;padding:4px 12px;font-size:1.4rem}.test-runner__clock.is-low{background:var(--danger-bg);color:var(--danger)}.test-runner__body{grid-template-columns:180px 1fr;align-items:start;gap:12px;display:grid}.test-runner__nav{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);max-height:calc(100vh - 110px);padding:12px;position:sticky;top:92px;overflow:auto}.test-runner__nav ol{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.test-runner__nav button{border:1px solid var(--border);background:var(--bg-app);width:100%;color:var(--text);cursor:pointer;font:inherit;border-radius:8px;flex-direction:column;align-items:center;padding:6px 0;display:flex}.test-runner__nav button span{font-weight:700}.test-runner__nav button small{color:var(--text-muted);font-size:.62rem}.test-runner__nav button.is-answered{border-color:var(--success);background:var(--success-bg)}.test-runner__nav button.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.test-runner__nav p{font-size:var(--text-xs,.75rem);color:var(--text-muted);text-align:center;margin:10px 0 0}.test-runner__submitbar{justify-content:flex-end;gap:10px;display:flex}.test-question{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);flex-direction:column;gap:12px;min-width:0;padding:22px;display:flex}.test-question__meta{font-size:var(--text-sm,.875rem);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.test-question h2{color:var(--text-bright,var(--text));margin:0;font-size:1.2rem}.test-statement p{white-space:pre-wrap;color:var(--text);margin:0 0 8px;line-height:1.6}.test-statement pre,.test-dataset pre,.test-examples pre,.test-run pre,.test-result pre,.monitor-answers pre,.test-preview__questions pre{background:var(--bg-app);border:1px solid var(--border);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:8px;max-height:320px;margin:0;padding:10px 12px;font-size:.82rem;overflow:auto}.test-options{border:0;gap:8px;margin:0;padding:0;display:grid}.test-options label{border:1px solid var(--border);cursor:pointer;background:var(--bg-app);color:var(--text);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.test-options label.is-chosen{border-color:var(--accent);background:var(--accent-dim)}.test-options input{accent-color:var(--accent);margin-top:3px}.test-options b{color:var(--text-muted)}.test-dataset summary{cursor:pointer;color:var(--text);margin-bottom:6px;font-weight:600}.test-dataset p{color:var(--text-muted);font-size:var(--text-sm,.875rem);margin:6px 0 0}.test-examples{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.test-examples span,.test-result__label,.test-run__io span{font-size:var(--text-xs,.75rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:6px 0 4px;display:block}.test-editor{border:1px solid var(--border);border-radius:10px;overflow:hidden}.test-editor .cm-editor{min-height:220px;max-height:480px;font-size:14px}.test-editor .cm-scroller{font-family:var(--font-mono)}.test-question__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-question__actions small{color:var(--text-muted)}.test-question__nav{border-top:1px solid var(--border);justify-content:space-between;padding-top:12px;display:flex}.test-run{gap:10px;display:grid}.test-run--error{color:var(--danger);background:var(--danger-bg);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px 12px}.test-run__case{border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:10px 12px}.test-run__case.is-pass{border-left-color:var(--success)}.test-run__case.is-fail{border-left-color:var(--warning)}.test-run__table{max-height:300px;margin-top:6px;overflow:auto}.test-run__table table,.monitor__table table,.test-problems table,.test-preview table{border-collapse:collapse;width:100%;font-size:.85rem}.test-run__table th,.test-run__table td,.monitor__table th,.monitor__table td,.test-problems th,.test-problems td,.test-preview th,.test-preview td{text-align:left;border-bottom:1px solid var(--border);color:var(--text);padding:6px 10px}.test-run__table th,.monitor__table thead th,.test-problems th,.test-preview th{background:var(--bg-hover);color:var(--text-bright,var(--text));font-weight:600;position:sticky;top:0}.test-run__table small{color:var(--text-muted)}.test-run__io{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:6px;display:grid}.test-run__stderr pre{color:var(--danger)}.test-modal,.test-lock{z-index:var(--z-modal,1000);background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.test-lock{background:#000000d1}.test-modal__card,.test-lock__card{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg,16px);width:min(480px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);padding:24px;overflow:auto}.test-modal__card--wide{width:min(900px,100%)}.test-modal__card h2,.test-lock__card h2{color:var(--text-bright,var(--text));margin:0 0 8px}.test-modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.test-modal__actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.test-lock__card{text-align:center}.test-result{flex-direction:column;gap:14px;max-width:900px;margin:0 auto;display:flex}.test-result__head{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);text-align:center;padding:28px}.test-result__head h1{color:var(--text-bright,var(--text));margin:4px 0 8px}.test-result__message{color:var(--text)}.test-result__score{color:var(--text);font-size:1.2rem}.test-result__score strong{color:var(--accent);font-size:2.4rem}.test-result__list,.test-preview__questions{gap:10px;margin:0;padding:0;list-style:none;display:grid}.test-result__item,.test-preview__questions>li{background:var(--bg-panel);border:1px solid var(--border);border-left-width:4px;border-radius:12px;flex-direction:column;gap:6px;padding:16px;display:flex}.test-result__item.is-correct{border-left-color:var(--success)}.test-result__item.is-partial{border-left-color:var(--warning)}.test-result__item.is-wrong{border-left-color:var(--danger)}.test-result__itemhead{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.test-result__itemhead span{color:var(--text-muted);white-space:nowrap}.test-result__explain{background:var(--bg-hover);color:var(--text);border-radius:8px;margin:0;padding:10px 12px}.test-result__actions{justify-content:center;display:flex}.test-preview__questions li.is-correct{color:var(--success);font-weight:600}.practice-tests{flex-direction:column;gap:28px;display:flex}.practice-tests__head h2{color:var(--text-bright,var(--text));margin:0 0 4px}.practice-tests__head p,.practice-tests__empty{color:var(--text-muted);margin:0 0 12px}.practice-tests__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.practice-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);flex-direction:column;gap:8px;padding:20px;display:flex}.practice-card h3{color:var(--text-bright,var(--text));margin:0}.practice-card__desc{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.practice-card__facts{flex-wrap:wrap;gap:6px;display:flex}.practice-card__facts span{font-size:var(--text-xs,.75rem);background:var(--bg-hover);color:var(--text);border-radius:999px;padding:3px 8px}.practice-card__history{color:var(--text-muted);font-size:var(--text-sm,.875rem);margin:0}.practice-card .btn{align-self:flex-start;margin-top:auto}.tests-admin,.admin-tests{flex-direction:column;gap:18px;display:flex}.test-create,.tests-admin__list,.monitor{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg,16px);padding:24px}.test-create{flex-direction:column;gap:16px;display:flex}.test-create__head h2,.tests-admin__list h2{color:var(--text-bright,var(--text));margin:0 0 4px}.test-create__head p{color:var(--text-muted);margin:0}.test-create__steps{grid-template-columns:1fr 1fr;gap:16px;margin:0;padding-left:20px;display:grid}.test-create__steps li{padding-left:4px}.test-create__steps p{color:var(--text-muted);font-size:var(--text-sm,.875rem);margin:4px 0 10px}.test-create__buttons{flex-wrap:wrap;gap:8px;display:flex}.test-create__file{border:2px dashed var(--border-strong,var(--border));cursor:pointer;color:var(--text);border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.test-create__file input{opacity:0;width:1px;height:1px;position:absolute}.test-create__file:focus-within{outline:2px solid var(--accent);outline-offset:2px}.test-create__file:before{content:"⇪";color:var(--accent);font-size:1.2rem}.test-create__file{position:relative}.test-create__submit{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-create__submit small{color:var(--text-muted)}.test-preview{border:1px solid var(--success);background:var(--success-bg);color:var(--text);border-radius:12px;padding:12px 16px}.test-preview p{margin:0 0 6px}.test-preview details{margin-top:6px}.test-preview details>table{background:var(--bg-panel);margin-top:8px}.test-preview__warnings{color:var(--warning);margin:6px 0;padding-left:20px}.test-problems{border:1px solid var(--danger);background:var(--danger-bg);color:var(--text);border-radius:12px;max-height:360px;padding:12px 16px;overflow:auto}.test-problems table{background:var(--bg-panel);margin-top:8px}.test-form{border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0;padding:16px;display:grid}.test-form:disabled{opacity:.6}.test-form legend{color:var(--text);padding:0 6px;font-weight:600}.test-form__field{color:var(--text);font-size:var(--text-sm,.875rem);flex-direction:column;gap:4px;font-weight:600;display:flex}.test-form__field--wide{grid-column:1/-1}.test-form__field small{color:var(--text-muted);font-weight:400}.test-form__field input,.test-form__field textarea{font:inherit;border:1px solid var(--border);background:var(--bg-app);color:var(--text);border-radius:8px;padding:8px 10px;font-weight:400}.test-form__check{color:var(--text);font-size:var(--text-sm,.875rem);align-items:center;gap:8px;display:flex}.test-form__check input{accent-color:var(--accent);width:16px;height:16px}.tests-admin__row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.tests-admin__info{flex:320px;min-width:0}.tests-admin__info>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tests-admin__info small{color:var(--text-muted);margin-top:4px;display:block}.tests-admin__actions{flex-wrap:wrap;gap:6px;display:flex}.tests-admin .test-badge{font-size:var(--text-xs,.75rem);text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;margin-left:6px;padding:2px 8px;font-weight:700;display:inline-block}.tests-admin .test-badge--live{border-color:var(--success);color:var(--success)}.tests-admin .test-badge--closed{color:var(--text-muted)}.monitor{flex-direction:column;gap:14px;display:flex}.monitor>.btn--ghost{align-self:flex-start}.monitor__head{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.monitor__head h2{color:var(--text-bright,var(--text));margin:2px 0 4px}.monitor__head p{color:var(--text-muted);margin:0}.monitor__code{border:1px solid var(--border);background:var(--bg-app);min-width:240px;color:var(--text-muted);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 22px;display:flex}.monitor__code.is-open{border-color:var(--accent)}.monitor__code strong{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-bright,var(--text));font-size:2.4rem}.monitor__toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.monitor__spacer{flex:1}.monitor__table{border:1px solid var(--border);border-radius:12px;max-height:60vh;overflow:auto}.monitor__table tbody th{font-weight:400}.monitor__table tbody th strong,.monitor__table tbody th small{display:block}.monitor__table small{color:var(--text-muted)}.monitor__table tr.is-risk td,.monitor__table tr.is-risk th{background:color-mix(in srgb, var(--warning) 10%, transparent)}.monitor-status{text-transform:capitalize;font-weight:600}.monitor-status--online{color:var(--success)}.monitor-status--reconnecting{color:var(--warning)}.monitor-status--offline{color:var(--danger)}.monitor-status--submitted{color:var(--text-muted)}.monitor-drawer{z-index:var(--z-modal,1000);background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.monitor-drawer__panel{background:var(--bg-panel);width:min(720px,100%);height:100%;color:var(--text);border-left:1px solid var(--border);padding:20px 24px;overflow:auto}.monitor-drawer__panel header{justify-content:space-between;align-items:center;display:flex}.monitor-drawer__panel h2{color:var(--text-bright,var(--text));margin:0}.monitor-drawer__panel h3{color:var(--text-bright,var(--text));margin:18px 0 8px;font-size:1rem}.monitor-drawer__summary{color:var(--text-muted)}.monitor-photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.monitor-photo{margin:0}.monitor-photo img,.monitor-photo__placeholder{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);background:var(--bg-hover);width:100%;color:var(--text-muted);border-radius:8px;place-items:center;font-size:.8rem;display:grid}.monitor-photo figcaption{color:var(--text-muted);text-align:center;margin-top:2px;font-size:.75rem}.monitor-timeline{gap:4px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.monitor-timeline li{border-radius:6px;padding:4px 8px}.monitor-timeline li.is-counted{background:var(--danger-bg)}.monitor-timeline time{font-family:var(--font-mono);color:var(--text-muted);margin-right:8px}.monitor-answers{gap:10px;margin:0;padding-left:0;list-style:none;display:grid}.monitor-answers span{color:var(--text-muted);margin-left:6px}@media (width<=900px){.syscheck,.proctor-intro,.test-runner__body,.test-create__steps{grid-template-columns:1fr}.proctor-intro__side,.test-runner__nav{max-height:none;position:static}.test-runner__nav ol{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.test-runner__bar{position:static}}@media (width<=520px){.syscheck__rail,.syscheck__panel,.proctor-code,.test-question,.test-create,.monitor{padding:16px}.proctor-code__digits{gap:6px}.proctor-code__digits input{width:42px;height:54px;font-size:1.4rem}}.monitor-warn{color:var(--warning);font-weight:700}.assessment-shell .eyebrow{color:var(--accent);font-size:var(--text-xs,.75rem);letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:inline-block}.proctor-taken__icon{background:var(--success-bg);width:52px;height:52px;color:var(--success);border-radius:50%;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.proctor-taken h2:focus{outline:none}.proctor-taken p{color:var(--text);max-width:440px;margin:0}.proctor-intro__done{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.proctor-intro__done h3{color:var(--text-bright,var(--text));margin:0 0 8px;font-size:.95rem}.proctor-intro__done ul{gap:6px;margin:0 0 6px;padding:0;list-style:none;display:grid}.proctor-intro__done li{background:var(--bg-hover);border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.proctor-intro__done small,.proctor-intro__done p{color:var(--text-muted);font-size:var(--text-xs,.75rem);margin:0}.home--studio{max-width:var(--shell-max,1240px);padding:clamp(24px, 4vw, 48px) var(--gutter,24px) 64px;grid-template-columns:minmax(0,1fr);gap:18px;margin:0 auto;display:grid}.home--studio .home-hero p{font-size:inherit;max-width:none;color:inherit}.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(8px,2vw,24px) 0 clamp(8px,2vw,20px);display:grid}.home--studio .home-hero__date{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);margin-bottom:14px;font-size:12px}.home--studio .home__title{letter-spacing:-.035em;font-size:clamp(36px,5.4vw,64px);font-weight:750;line-height:1.02}.home--studio .home__lede{color:var(--text-muted);max-width:46ch;margin-top:14px;font-size:17px}.home--studio .home__lede strong{color:var(--text-bright);font-weight:600}.home__cta{align-items:center;gap:8px;display:inline-flex}.week-query{font-family:var(--font-mono);padding:18px 18px 12px;font-size:13px;overflow:hidden}.week-query__prompt{color:var(--text-muted);border-bottom:1px dashed var(--pane-border);align-items:center;gap:8px;padding-bottom:12px;display:flex}.week-query__chev{color:var(--accent)}.week-query__caret{background:var(--accent);border-radius:1px;width:7px;height:15px;animation:1.1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.week-query__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px}.week-query__table th,.week-query__table td{text-align:left;border-bottom:1px solid var(--pane-border);padding:8px 4px;font-weight:400}.week-query__table thead th{color:var(--text-muted);text-transform:lowercase;letter-spacing:.04em;padding-top:4px;font-size:11px}.week-query__table tbody th{color:var(--text-muted)}.week-query__table tbody tr{animation:row-in .5s var(--ease-out) both}.week-query__table tbody tr:nth-child(2){animation-delay:60ms}.week-query__table tbody tr:nth-child(3){animation-delay:.12s}.week-query__table tbody tr:nth-child(4){animation-delay:.18s}.week-query__table tbody tr:nth-child(5){animation-delay:.24s}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.week-query__value{color:var(--text-bright);font-size:15px;font-weight:600}.week-query__note{color:var(--text-muted);font-family:var(--font-sans);margin-left:10px;font-size:12px}.home--studio .week-query__foot{color:var(--text-muted);margin-top:8px;font-size:11px}.home-row{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;display:grid}.daily-card{text-align:left;color:var(--text);transition:transform .25s var(--ease-out), border-color .25s;gap:10px;padding:22px 24px;display:grid}.daily-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--pane-border));transform:translateY(-2px)}.daily-card__meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.daily-card__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-bright);font-size:clamp(20px,2.4vw,26px);font-weight:650;line-height:1.15}.daily-card__cta{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.daily-card--done .daily-card__cta{color:var(--success)}.tag{height:20px;color:var(--text);background:var(--bg-hover);text-transform:capitalize;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.tag--sql{color:var(--track-sql);background:color-mix(in srgb, var(--track-sql) 14%, transparent)}.tag--python{color:var(--track-python);background:color-mix(in srgb, var(--track-python) 14%, transparent)}.goal{padding:18px 20px}.goal h2{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:600}.goal__body{align-items:center;gap:16px;margin-top:8px;display:flex}.goal__ring{flex:none;width:84px;height:84px;transform:rotate(-90deg)}.goal__track{fill:none;stroke:var(--bg-hover);stroke-width:7px}.goal__fill{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease-out)}.goal__num{transform-origin:42px 42px;fill:var(--text-bright);font-family:var(--font-mono);font-size:15px;font-weight:600;transform:rotate(90deg)}.goal__text{color:var(--text);font-size:13px;line-height:1.45}.goal__picker{background:var(--bg-hover);border-radius:999px;gap:4px;margin-top:10px;padding:3px;display:inline-flex}.goal__picker button{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);border-radius:999px;padding:4px 10px}.goal__picker button.is-on{background:var(--bg-panel);color:var(--text-bright);box-shadow:0 1px 2px #0000001f}.activity{min-width:0;padding:20px 22px 16px}.activity__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.activity__head h2{letter-spacing:-.015em;font-size:18px}.activity__sum{color:var(--text-muted);font-size:13px}.activity__sum strong{color:var(--text-bright);font-family:var(--font-mono)}.activity__scroll{margin-top:14px;padding-bottom:4px;overflow-x:auto}.activity__months,.activity__grid{grid-template-columns:repeat(var(--weeks), minmax(10px, 1fr));min-width:calc(var(--weeks) * 13px);column-gap:3px;display:grid}.activity__months{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);margin-bottom:6px}.activity__months span{white-space:nowrap}.activity__grid{grid-template-rows:repeat(7,auto);grid-auto-flow:column;row-gap:3px}.activity__cell{aspect-ratio:1;background:var(--bg-hover);border-radius:3px;width:100%;transition:transform .12s;display:inline-block}.activity__grid .activity__cell:hover{transform:scale(1.3)}.activity__cell--1{background:color-mix(in srgb, var(--accent) 30%, var(--bg-hover))}.activity__cell--2{background:color-mix(in srgb, var(--accent) 55%, var(--bg-hover))}.activity__cell--3{background:color-mix(in srgb, var(--accent) 78%, var(--bg-hover))}.activity__cell--4{background:var(--accent)}.activity__cell--future{background:0 0}.activity__foot{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;display:flex}.activity__hover{font-family:var(--font-mono)}.activity__legend{align-items:center;gap:4px;display:inline-flex}.activity__legend .activity__cell{aspect-ratio:auto;border-radius:3px;width:11px;height:11px}.home-areas{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:6px;display:grid}.area-tile{text-align:left;min-height:150px;color:var(--text);transition:transform .25s var(--ease-out), border-color .25s;grid-template-rows:auto auto 1fr;gap:8px;padding:18px;display:grid;overflow:hidden}.area-tile:hover{border-color:var(--border-strong);transform:translateY(-3px)}.area-tile--feature{background:linear-gradient(110deg, color-mix(in srgb, var(--accent) 9%, var(--pane)) 0%, var(--pane) 60%);grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:16px;min-height:0;padding:22px 24px}.area-tile--feature .area-tile__icon{border-radius:14px;grid-row:span 2;width:52px;height:52px}.area-tile--feature .area-tile__title{font-size:22px}.area-tile--feature .area-tile__text{max-width:70ch}.area-tile__icon{width:40px;height:40px;color:var(--accent);background:var(--accent-dim);border-radius:12px;place-items:center;display:grid}.area-tile--studio .area-tile__icon,.area-tile--capstone .area-tile__icon{color:var(--track-python);background:color-mix(in srgb, var(--track-python) 14%, transparent)}.area-tile--playground .area-tile__icon{color:var(--track-genai);background:color-mix(in srgb, var(--track-genai) 14%, transparent)}.area-tile__title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-bright);font-size:19px;font-weight:650}.area-tile__text{color:var(--text-muted);max-width:42ch;font-size:13px;line-height:1.5}.area-tile__go{color:var(--text-muted);transition:transform .25s var(--ease-out), color .25s;position:absolute;top:18px;right:18px}.area-tile:hover .area-tile__go{color:var(--accent);transform:translate(3px)}.home-hint{color:var(--text-muted);text-align:center;margin-top:8px;font-size:12px}@media (width<=980px){.home-hero,.home-row{grid-template-columns:1fr}}@media (width<=560px){.home-areas{grid-template-columns:1fr 1fr}.area-tile{min-height:132px;padding:16px}.home-hint{display:none}.area-tile--feature{min-height:0}.goal__body{flex-direction:column;align-items:flex-start}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f8fafc;--bg-panel:#fff;--bg-elevated:#fff;--bg-hover:#f1f5f9;--border:#dce3eb;--text:#172033;--text-muted:#526174;--text-bright:#172033;--text-primary:var(--text);--bg-primary:var(--bg-app);--error:var(--danger);--accent-dim:#e877221f;--border-strong:#a8b4c3;--color-muted:var(--text-muted);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:17px;--text-xl:20px;--text-2xl:26px;--text-3xl:34px;--radius-md:8px;--radius-lg:14px;--z-dropdown:100;--z-sticky:200;--z-modal:500;--z-toast:800;--z-tour:1000;--chart-1:#e87722;--chart-2:#287d89;--chart-3:#765db1;--chart-4:#21845d;--chart-5:#be5a53;--chart-6:#b18424;--chart-7:#5a74ad;--chart-8:#b45787;--brand-orange:#e87722;--accent:#e87722;--accent-hover:#f08a38;--brand-ink:#0b1b2d;--brand-cream:#fff7ed;--glass-surface:#ffffffbf;--glass-surface-hover:#ffffffeb;--glass-border:#4a5c743d;--glass-highlight:#fffc;--glass-shadow:0 10px 24px #1623351a;--control-blur:14px;--control-radius:12px;--success:#087f5b;--success-bg:#087f5b1f;--danger:#b42318;--danger-bg:#b423181f;--warning:#9a6700;--easy:#087f5b;--medium:#9a6700;--hard:#b42318;--radius:8px;--radius-sm:6px;--shadow:0 4px 24px #1720331a;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Fira Code", Consolas, monospace;--transition:.2s ease}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:13px}h1,h2,h3{color:var(--text-bright);font-weight:600}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#060a12;--bg-panel:#101722;--bg-elevated:#191f2a;--bg-hover:#202937;--border:#293346;--text:#f5efe6;--text-muted:#a2acbc;--text-bright:#fff;--border-strong:#556278;--accent-dim:#e877222e;--success:#4ec9b0;--success-bg:#4ec9b01f;--danger:#f48771;--danger-bg:#f487711f;--warning:#dcdcaa;--easy:#4ec9b0;--medium:#dcdcaa;--hard:#f48771;--shadow:0 4px 24px #00000059;--glass-surface:#1d2738b8;--glass-surface-hover:#273449e0;--glass-border:#e2eaf836;--glass-highlight:#ffffff26;--glass-shadow:0 12px 26px #00000040}[data-division=soil]{--accent:#2f8f5b;--accent-hover:#37a66a}[data-division=rebounce]{--accent:#6c5ce7;--accent-hover:#8275ed}::selection{color:var(--text-bright);background:#e8772240}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.app-page-transition{min-height:100%;animation:.2s cubic-bezier(.2,.7,.2,1) both app-page-enter}@keyframes app-page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-load{min-height:45vh;color:var(--text-muted);place-items:center;font-size:14px;display:grid}.app-shell{flex-direction:column;height:100vh;display:flex;overflow:hidden}.practice-layout{flex:1;min-height:0;display:flex;overflow:hidden}.left-panel{border-right:1px solid var(--border);background:var(--bg-panel);width:48%;min-width:320px;max-width:56%;display:flex}.left-panel__sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;min-width:200px;display:flex;overflow:hidden}.left-panel__content{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.problem-nav{z-index:2;background:var(--bg-panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin:-1.25rem -1.5rem 1rem;padding:.5rem 1.5rem;display:flex;position:sticky;top:-1.25rem}.problem-nav__btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--transition), color var(--transition);padding:4px 12px;font-size:.78rem}.problem-nav__btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-bright)}.problem-nav__btn:disabled{opacity:.4;cursor:default}.problem-nav__count{color:var(--text-muted);font-size:.74rem}.right-panel{background:var(--bg-app);flex-direction:column;flex:1;min-width:0;display:flex}.right-panel__editor{border-bottom:1px solid var(--border);flex-direction:column;flex:1;min-height:200px;display:flex}.right-panel__results{background:var(--bg-panel);flex:1;min-height:180px;padding:1rem 1.25rem;overflow-y:auto}@media (width<=1024px){.practice-layout{flex-direction:column;overflow-y:auto}.left-panel{border-right:none;border-bottom:1px solid var(--border);width:100%;max-width:none;min-height:40vh}.right-panel{min-height:55vh}}@media (width<=640px){.left-panel{flex-direction:column}.left-panel__sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;max-height:200px}}.resize-handle-h{cursor:col-resize;background:var(--border);z-index:10;flex-shrink:0;width:5px;transition:background .15s;position:relative}.resize-handle-h:hover,.resize-handle-h:active{background:var(--accent,#007acc)}.resize-handle-v{cursor:row-resize;background:var(--border);z-index:10;flex-shrink:0;height:5px;transition:background .15s;position:relative}.resize-handle-v:hover,.resize-handle-v:active{background:var(--accent,#007acc)}.sandbox-layout{flex:1;min-height:0;display:flex;overflow:hidden}.sandbox-sidebar{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:240px;min-width:200px;display:flex;overflow-y:auto}.sandbox-sidebar__header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;padding:.85rem 1rem;font-size:11px;font-weight:600}.sandbox-db-note{color:var(--success);border-bottom:1px solid var(--border);background:#4ec9b014;padding:.5rem 1rem;font-size:11px;line-height:1.4}.sandbox-day-group{border-bottom:1px solid var(--border)}.sandbox-day-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:.5rem 1rem .3rem;font-size:10px;font-weight:700}.sandbox-table-btn{text-align:left;width:100%;color:var(--text);font-size:13px;font-family:var(--font-mono);transition:background var(--transition);align-items:center;gap:.4rem;padding:.5rem 1rem;display:flex}.sandbox-table-btn:hover{background:var(--bg-hover)}.sandbox-table-btn--active{color:var(--accent);background:#007acc1f}.sandbox-table-icon{color:var(--text-muted);font-size:11px}.sandbox-table-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sandbox-table-rows{color:var(--text-muted);flex-shrink:0;font-size:10px}.sandbox-table-actions{background:var(--bg-elevated);border-top:1px solid var(--border);gap:.35rem;padding:.35rem .75rem .5rem 1.75rem;display:flex}.sandbox-join-list{margin:.5rem 0 0;padding:0;list-style:none}.sandbox-join-btn{text-align:left;width:100%;color:var(--accent);padding:.35rem 0;font-size:11px;line-height:1.35;display:block}.sandbox-join-btn:hover{text-decoration:underline}.sandbox-executed-query{color:var(--text-muted);border-bottom:1px solid var(--border);font-size:11px;font-family:var(--font-mono);flex-shrink:0;margin:0;padding:.35rem 1rem}.sandbox-executed-query code{color:var(--text)}.sandbox-table-chevron{color:var(--text-muted);font-size:11px}.sandbox-columns{border-top:1px solid var(--border);background:var(--bg-elevated);padding:0 0 .5rem 1.75rem;list-style:none}.sandbox-column{font-size:12px;font-family:var(--font-mono);justify-content:space-between;padding:.25rem .5rem .25rem 0;display:flex}.sandbox-column__name{color:var(--text)}.sandbox-column__type{color:var(--warning);opacity:.8;font-size:11px}.sandbox-hint{border-top:1px solid var(--border);background:var(--bg-elevated);margin-top:auto;padding:.85rem 1rem}.sandbox-hint__title{color:var(--text);margin-bottom:.4rem;font-size:12px;font-weight:600}.sandbox-hint__text{color:var(--text-muted);font-size:12px;line-height:1.5}.sandbox-hint__text code{color:var(--accent);font-size:11px}.sandbox-main{background:var(--bg-app);flex-direction:column;flex:1;min-width:0;display:flex}.sandbox-editor{border-bottom:1px solid var(--border);flex-direction:column;flex:1;min-height:220px;display:flex}.sandbox-output{background:var(--bg-panel);flex-direction:column;flex:1;min-height:160px;display:flex;overflow:hidden}.sandbox-statusbar{border-bottom:1px solid var(--border);font-size:12px;font-family:var(--font-mono);background:var(--bg-elevated);flex-shrink:0;justify-content:space-between;align-items:center;padding:.45rem 1rem;display:flex}.sandbox-statusbar__ok{color:var(--success)}.sandbox-statusbar__error{color:var(--danger)}.sandbox-statusbar__idle,.sandbox-statusbar__time{color:var(--text-muted)}.sandbox-table-wrap{flex:1;padding:.75rem 1rem;overflow:auto}.sandbox-dataset-banner{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-direction:column;gap:.2rem;padding:.65rem 1rem;font-size:13px;display:flex}.sandbox-dataset-banner strong{color:var(--success);font-family:var(--font-mono)}.sandbox-dataset-banner span{color:var(--text-muted)}@media (width<=1024px){.sandbox-layout{flex-direction:column;overflow-y:auto}.sandbox-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border);max-height:35vh;overflow-y:auto}.sandbox-main{min-height:60vh}}.assessment-layout{flex:1;height:calc(100vh - 56px);display:flex;overflow:hidden}.assessment-sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;gap:3px;width:200px;min-width:180px;padding:.75rem .6rem 1rem;display:flex;overflow-y:auto}.assessment-set-selector{flex-wrap:wrap;gap:4px;margin-bottom:.5rem;display:flex}.assessment-set-btn{border:1px solid var(--border);min-width:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;flex:1;padding:4px 6px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.assessment-set-btn:hover{color:#e87722;border-color:#e87722}.assessment-set-btn--active{color:#e87722;background:#e8772226;border-color:#e87722}.assessment-score{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;align-items:baseline;gap:4px;margin-bottom:.5rem;padding:6px 8px;display:flex}.assessment-score__value{color:#e87722;font-size:22px;font-weight:700;font-family:var(--font-mono)}.assessment-score__total{color:var(--text-muted);font-size:13px;font-family:var(--font-mono)}.assessment-score__label{color:var(--text-muted);margin-left:2px;font-size:11px}.assessment-sidebar__section{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-top:.5rem;padding:0 4px;font-size:10px;font-weight:700}.assessment-sidebar__meta{text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:10px;font-weight:400}.assessment-q-btn{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;transition:background .1s,border-color .1s;display:flex}.assessment-q-btn:hover{background:#ffffff0d}.assessment-q-btn--active{color:#e87722;background:#e877221f;border-color:#e8772266;font-weight:600}.assessment-q-btn__icon{text-align:center;flex-shrink:0;width:14px;font-size:11px}.assessment-q-btn--correct,.assessment-q-btn--correct .assessment-q-btn__icon{color:var(--success)}.assessment-q-btn--wrong,.assessment-q-btn--wrong .assessment-q-btn__icon{color:var(--danger)}.assessment-q-btn--answered,.assessment-q-btn--answered .assessment-q-btn__icon{color:#e87722}.assessment-score__hint{color:#9ca3af;margin-top:4px;font-size:11px;display:block}.assessment-mcq__hint{color:#9ca3af;margin-top:10px;font-size:12px;font-style:italic}.assessment-reset-btn{color:#ef4444;cursor:pointer;opacity:.7;background:0 0;border:1px solid #ef44444d;border-radius:5px;margin-top:auto;padding:6px 10px;font-size:11px;transition:opacity .15s,background .15s}.assessment-reset-btn:hover{opacity:1;background:#ef444414}.assessment-main{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.assessment-layout{-webkit-user-select:none;user-select:none}.assessment-layout .cm-editor,.assessment-layout .cm-editor *{-webkit-user-select:text;user-select:text}.assessment-main__header{align-items:center;gap:8px;display:flex}.assessment-main__qnum{color:var(--text-primary);font-size:16px;font-weight:700}.assessment-main__type{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:400}.assessment-main__text{color:var(--text-primary);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.assessment-main__flag{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf666;border-radius:999px;margin-left:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.assessment-q-grid{flex-wrap:wrap;gap:5px;padding:4px 2px 2px;display:flex}.assessment-q-grid .assessment-q-btn{border:1px solid var(--border);border-radius:5px;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:12px;font-weight:600;position:relative}.assessment-q-grid .assessment-q-btn--not-visited{color:var(--text-primary);border-color:var(--border);background:0 0}.assessment-q-grid .assessment-q-btn--not-answered{color:#fff;background:#ef4444;border-color:#ef4444}.assessment-q-grid .assessment-q-btn--answered{color:#05320f;background:#22c55e;border-color:#22c55e}.assessment-q-grid .assessment-q-btn--marked,.assessment-q-grid .assessment-q-btn--answered-marked{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.assessment-q-grid .assessment-q-btn--answered-marked:after{content:"";background:#22c55e;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;bottom:2px;right:2px}.assessment-q-grid .assessment-q-btn--active{outline-offset:1px;outline:2px solid #e87722}.assessment-legend{color:var(--text-muted);flex-wrap:wrap;gap:5px 10px;margin:8px 2px 2px;font-size:10px;display:flex}.assessment-legend span{align-items:center;gap:4px;display:flex}.assessment-legend .dot{border-radius:3px;width:11px;height:11px;display:inline-block}.dot--answered{background:#22c55e}.dot--not-answered{background:#ef4444}.dot--marked{background:#8b5cf6}.dot--not-visited{border:1px solid var(--border);background:0 0}.assessment-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:1.25rem;padding-top:1rem;display:flex}.assessment-actions__left,.assessment-actions__right{flex-wrap:wrap;gap:8px;display:flex}.assessment-actions button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.assessment-actions button:disabled{opacity:.35;cursor:not-allowed}.assessment-actions__clear{color:#ef4444;border-color:#ef444466}.assessment-actions__clear:hover:not(:disabled){background:#ef44441a}.assessment-actions__mark{color:#a78bfa;border-color:#8b5cf680}.assessment-actions__mark:hover:not(:disabled){background:#8b5cf61f}.assessment-actions__save{color:#fff;background:#e87722;border-color:#e87722}.assessment-actions__save:hover:not(:disabled){filter:brightness(1.08)}.assessment-mcq{flex-direction:column;gap:.75rem;display:flex}.assessment-mcq__code{font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);white-space:pre;border-radius:6px;padding:10px 14px;font-size:12px;overflow-x:auto}.assessment-mcq__options{flex-direction:column;gap:8px;display:flex}.assessment-mcq__option{border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;color:var(--text-primary);border-radius:7px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:13px;line-height:1.5;transition:border-color .12s,background .12s;display:flex}.assessment-mcq__option:hover{background:#e877220d;border-color:#e8772266}.assessment-mcq__option input[type=radio]{accent-color:#e87722;flex-shrink:0;margin-top:2px}.assessment-mcq__option--selected{background:#e8772214;border-color:#e8772299}.assessment-mcq__option--correct{color:#22c55e;background:#22c55e1a!important;border-color:#22c55e!important}.assessment-mcq__option--wrong{color:#ef4444;background:#ef44441a!important;border-color:#ef4444!important}.assessment-mcq__key{font-family:var(--font-mono);flex-shrink:0;margin-top:1px;font-size:11px;font-weight:600}.assessment-mcq__btn{align-self:flex-start;padding:8px 20px;font-size:13px}.assessment-result{border-radius:7px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.5}.assessment-result--pass{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e59}.assessment-result--fail{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.assessment-result__explanation{color:var(--text-muted);margin:6px 0 0;font-size:12px;font-weight:400}.assessment-sql{flex-direction:column;gap:.75rem;display:flex}.assessment-sql__run-btn{align-self:flex-start;padding:8px 20px;font-size:13px}.assessment-sql__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:11px;font-weight:600}.assessment-schema{border:1px solid var(--border);border-radius:7px;overflow:hidden}.assessment-schema__toggle{background:var(--bg-elevated);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.assessment-schema__toggle:hover{background:#ffffff0f}.assessment-schema__body{flex-direction:column;gap:8px;padding:10px 14px;font-size:12px;display:flex}.assessment-schema__joins{color:var(--text-muted);margin:0;line-height:1.5}.assessment-schema__table{flex-direction:column;gap:2px;display:flex}.assessment-schema__table strong{font-family:var(--font-mono);color:#e87722;font-size:12px}.assessment-schema__note{color:var(--text-muted);margin-left:4px;font-size:11px}.assessment-schema__cols{font-family:var(--font-mono);color:var(--text-muted);padding-left:10px;font-size:11px}.assessment-nav{gap:8px;margin-top:.5rem;display:flex}.assessment-nav__btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:7px 16px;font-size:12px;transition:background .12s,border-color .12s}.assessment-nav__btn:hover:not(:disabled){color:#e87722;border-color:#e87722}.assessment-nav__btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=768px){.assessment-layout{flex-direction:column}.assessment-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:flex-start;max-height:240px;overflow-x:auto}.assessment-set-selector{flex-wrap:nowrap}.assessment-main{padding:1rem}}.sql-editor-wrap{background:var(--bg-panel);flex-direction:column;flex:1;min-height:0;display:flex}.sql-editor-toolbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.sql-editor-toolbar__title{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin-right:auto}.sql-editor-body{resize:vertical;border-radius:0;flex:1;min-height:180px;overflow:hidden}.sql-editor-body .monaco-editor{border-radius:0}.btn{border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition), opacity var(--transition);justify-content:center;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:13px;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#17100b}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.btn--ghost{color:var(--text-muted);padding:.35rem .65rem;font-size:12px}.btn--xs{padding:.2rem .45rem;font-size:11px}.brand-logo-wrap{background:#fff;border:1.5px solid #ffffff2e;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #0000001f,0 2px 8px #00000059,0 0 0 3px #ffffff0f}.brand-logo-wrap--navbar{border-radius:8px;padding:4px 6px}.brand-logo-wrap--auth{border-radius:14px;padding:10px 16px;box-shadow:0 0 0 1px #0000001a,0 4px 16px #0006,0 0 0 4px #ffffff0d}.brand-logo{object-fit:contain;display:block}.brand-logo--navbar{object-position:left center;width:auto;max-width:44px;height:36px}.brand-logo--auth{object-position:center center;width:min(200px,100%);height:auto;max-height:68px}.navbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.navbar__brand{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-shrink:0;align-items:center;gap:.6rem;display:flex}.navbar__brand-text{flex-direction:column;line-height:1.2;display:flex}.navbar__center{flex:1;justify-content:center;align-items:center;gap:1rem;min-width:0;display:flex}.navbar__logo{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), #4ec9b0);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.navbar__title{color:var(--text-bright);font-size:1rem;font-weight:600}.navbar__subtitle{color:var(--text-muted);font-size:12px}.navbar__actions{color:var(--text-muted);gap:.75rem;font-size:13px;display:flex}.navbar__tabs{gap:.25rem;display:flex}.navbar__tab{color:var(--text-muted);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);padding:.4rem 1rem;font-size:13px;font-weight:500}.navbar__tab:hover{background:var(--bg-hover);color:var(--text)}.navbar__tab--active{color:var(--accent);background:#e877222e;font-weight:600}.navbar__dept{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.navbar__dept--readonly{border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border);padding:.25rem .5rem}.navbar__dept-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.navbar__dept-select{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-bright);font-size:13px;font-family:var(--font-sans);cursor:pointer;outline:none;min-width:8.5rem;padding:.35rem .6rem}.navbar__dept-select:focus{border-color:var(--accent)}.navbar__dept-badge{color:var(--text-bright);font-size:13px;font-weight:600}.navbar__dropdown-meta{color:var(--text-muted);border-bottom:1px solid var(--border);padding:.5rem 1rem;font-size:12px}.question-sidebar{flex-direction:column;height:100%;display:flex;overflow:hidden}.question-sidebar__header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:.85rem 1rem;font-size:11px;font-weight:600;display:flex}.sidebar-progress{color:var(--success);letter-spacing:0;text-transform:none;font-size:12px;font-weight:700}.sidebar-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:.5rem .75rem}.sidebar-search{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:12px;font-family:var(--font-sans);outline:none;padding:.35rem .6rem}.sidebar-search:focus{border-color:var(--accent)}.sidebar-search::placeholder{color:var(--text-muted)}.sidebar-filter{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:.25rem;padding:.45rem .6rem;display:flex}.sidebar-filter__btn{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:all var(--transition);border:1px solid #0000;border-radius:999px;padding:.2rem .55rem;font-size:11px;font-weight:600}.sidebar-filter__btn:hover{color:var(--text);border-color:var(--border)}.sidebar-filter__btn--active{background:var(--bg-hover);color:var(--text-bright);border-color:#555}.sidebar-filter__btn--easy.sidebar-filter__btn--active{color:var(--easy);background:#4ec9b026;border-color:#4ec9b066}.sidebar-filter__btn--medium.sidebar-filter__btn--active{color:var(--medium);background:#dcdcaa26;border-color:#dcdcaa66}.sidebar-filter__btn--hard.sidebar-filter__btn--active{color:var(--hard);background:#f4877126;border-color:#f4877166}.sidebar-empty{color:var(--text-muted);text-align:center;padding:1.5rem 1rem;font-size:12px}.question-sidebar__list{flex:1;list-style:none;overflow-y:auto}.question-sidebar__item{text-align:left;border-bottom:1px solid var(--border);width:100%;color:var(--text);transition:background var(--transition);align-items:flex-start;gap:.5rem;padding:.65rem .75rem;display:flex}.question-sidebar__item:hover{background:var(--bg-hover)}.question-sidebar__item--active{border-left:3px solid var(--accent);background:#e877221f;padding-left:calc(.75rem - 3px)}.question-sidebar__item--solved .sidebar-item__check{color:var(--success)}.sidebar-item__check{color:#0000;flex-shrink:0;width:14px;margin-top:1px;font-size:11px;font-weight:700}.sidebar-item__body{flex:1;min-width:0}.question-sidebar__item-title{color:var(--text);margin-bottom:.3rem;font-size:12px;line-height:1.35}.sidebar-item__meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.sidebar-item__topic{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:10px;overflow:hidden}.badge{text-transform:capitalize;border-radius:999px;padding:.15rem .5rem;font-size:11px;font-weight:600;display:inline-block}.badge--easy{color:var(--easy);background:#4ec9b026}.badge--medium{color:var(--medium);background:#dcdcaa26}.badge--hard{color:var(--hard);background:#f4877126}.problem-header{margin-bottom:1.25rem}.problem-header__title{margin-bottom:.5rem;font-size:1.25rem}.problem-section{margin-bottom:1.5rem}.problem-section__heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:12px;font-weight:600}.problem-section__text{color:var(--text);line-height:1.6}.problem-section__hint{background:var(--bg-elevated);border-radius:var(--radius);border-left:3px solid var(--accent);color:var(--text-muted);margin-top:.5rem;padding:.75rem 1rem;font-size:13px}.schema-block{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);margin-bottom:.75rem;padding:.85rem 1rem}.schema-block:hover{border-color:#555}.schema-block__table-name{font-family:var(--font-mono);color:var(--success);margin-bottom:.5rem;font-size:13px}.schema-block__columns{list-style:none}.schema-block__column{font-family:var(--font-mono);color:var(--text-muted);padding:.2rem 0;font-size:12px}.schema-block__column strong{color:var(--text);font-weight:500}.schema-block__key{color:var(--warning);margin-left:.35rem;font-size:11px}.data-table-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);margin-bottom:1rem;overflow-x:auto}.data-table-wrap__label{font-size:12px;font-family:var(--font-mono);color:var(--success);border-bottom:1px solid var(--border);background:var(--bg-panel);padding:.4rem .75rem}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}.data-table th{background:var(--bg-hover);color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.output-section__heading{color:var(--text-bright);margin-bottom:.65rem;font-size:13px;font-weight:600}.output-empty{text-align:center;color:var(--text-muted);background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius);padding:2rem 1rem;font-size:13px}.test-status{border-radius:var(--radius);transition:background var(--transition);border:1px solid #0000;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.test-status--success{background:var(--success-bg);color:var(--success);border-color:#4ec9b059}.test-status--failure{background:var(--danger-bg);color:var(--danger);border-color:#f4877159}.test-status__icon{font-size:1.25rem;line-height:1}.test-status__label{font-size:14px;font-weight:600}.test-status__detail{opacity:.9;font-size:13px}.execution-info{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:13px;display:flex}.execution-info__item{color:var(--text-muted)}.execution-info__item strong{color:var(--text);margin-left:.25rem}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:13px;line-height:1.5}.alert--error{background:var(--danger-bg);color:var(--danger);border:1px solid #f4877166}.alert--success{background:var(--success-bg);color:var(--success);border:1px solid #4ec9b066}.results-grid{flex-direction:column;gap:.5rem;display:flex}.auth-page{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2rem 2.25rem}.auth-card__header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.auth-card__title{color:var(--text-bright);margin:0;font-size:1.4rem}.auth-card__subtitle{color:var(--text-muted);font-size:13px}.auth-card__hint{color:var(--text-muted);margin-top:.35rem;font-size:12px;line-height:1.45}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form__field{flex-direction:column;gap:.35rem;display:flex}.auth-form__label{color:var(--text);font-size:13px;font-weight:500}.auth-form__input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-bright);font-size:14px;font-family:var(--font-sans);transition:border-color var(--transition);outline:none;padding:.55rem .85rem}.auth-form__input::placeholder{color:var(--text-muted)}.auth-form__input:focus{border-color:var(--accent)}.auth-form__input--readonly{opacity:.85;cursor:default}.auth-form__input--error{border-color:var(--error,#ef4444)}.auth-form__hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.auth-form__hint--error{color:var(--error,#ef4444);font-weight:500}.auth-form__btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;margin-top:.25rem;padding:.65rem 1rem;font-size:14px;font-weight:600;text-decoration:none}.auth-form__btn:hover:not(:disabled){background:var(--accent-hover);text-decoration:none}.auth-form__btn:disabled{opacity:.6;cursor:not-allowed}.auth-card__footer{color:var(--text-muted);text-align:center;margin-top:1.25rem;font-size:13px}.auth-form__link-btn{color:var(--accent);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.25rem;padding:0;font-size:13px}.auth-form__link-btn:hover{text-decoration:underline}.auth-form__check{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}a.auth-form__btn{text-align:center;margin-top:.75rem;text-decoration:none;display:block}.auth-form__link{color:var(--accent);font-size:13px}.alert--success{color:#3fb950;border-radius:var(--radius-sm);background:#2ea04326;border:1px solid #2ea04366;margin-bottom:.5rem;padding:.65rem .85rem;font-size:13px}.navbar__user{position:relative}.navbar__actions{align-items:center;gap:8px;display:flex}.navbar__theme-toggle{min-height:32px;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);transition:background var(--transition), border-color var(--transition), color var(--transition);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.navbar__theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.navbar__theme-toggle>span:first-child{text-align:center;width:14px;font-size:15px;line-height:1}.navbar__avatar{background:linear-gradient(135deg, var(--accent), #4ec9b0);color:#fff;cursor:pointer;width:32px;height:32px;transition:opacity var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.navbar__avatar:hover{opacity:.85}.navbar__dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.navbar__dropdown-email{color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:.6rem 1rem;font-size:12px;overflow:hidden}.navbar__dropdown-item{text-align:left;width:100%;color:var(--text);cursor:pointer;transition:background var(--transition);background:0 0;border:none;padding:.6rem 1rem;font-size:13px;display:block}.navbar__dropdown-item:hover{background:var(--bg-hover)}.navbar__dropdown-item--danger{color:var(--danger)}.admin-page{background:var(--bg-app);min-height:100vh;padding:2rem}.admin-header{margin-bottom:1.75rem}.admin-header__title{color:var(--text-bright);font-size:1.5rem}.admin-header__subtitle{color:var(--text-muted);margin-top:.25rem;font-size:13px}.admin-filter-group{margin-bottom:1rem}.admin-filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.4rem;font-size:11px;font-weight:600;display:block}.admin-tabs{gap:.25rem;margin-bottom:0;display:flex}.admin-tabs--wrap{flex-wrap:wrap}.admin-tab{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:1px solid #0000;padding:.45rem 1.1rem;font-size:13px;font-weight:500}.admin-tab:hover{background:var(--bg-hover);color:var(--text)}.admin-tab--active{color:var(--accent);background:#007acc2e;border-color:#007acc59;font-weight:600}.admin-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);overflow-x:auto}.admin-table__actions-head{min-width:200px}.admin-table__actions{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:200px;display:flex}.admin-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:13px}.admin-btn{border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);white-space:nowrap;border:none;flex-shrink:0;padding:.4rem .9rem;font-size:12px;font-weight:600}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--approve{color:#6ee7c4;background:#4ec9b033;border:1px solid #4ec9b080}.admin-btn--approve:hover:not(:disabled){background:#4ec9b040}.admin-btn--reject{background:var(--danger-bg);color:var(--danger);border:1px solid #f4877159}.admin-btn--neutral{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}.admin-btn--neutral:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.admin-btn--reject:hover:not(:disabled){background:#f4877140}.admin-toast{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-bright);box-shadow:var(--shadow);z-index:500;padding:.75rem 1.25rem;font-size:13px;animation:.2s fadeInUp;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sql-editor-toolbar__hint{color:var(--text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap;margin-right:auto;font-size:11px}.tc-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);margin-bottom:.75rem;overflow:hidden}.tc-banner{align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.tc-banner--pass{background:#4ec9b01a;border-bottom:1px solid #4ec9b040}.tc-banner--fail{background:#f487711a;border-bottom:1px solid #f4877140}.tc-banner__icon{flex-shrink:0;font-size:1.25rem;line-height:1}.tc-banner--pass .tc-banner__icon{color:var(--success)}.tc-banner--fail .tc-banner__icon{color:var(--danger)}.tc-banner__label{color:var(--text-bright);font-size:14px;font-weight:600}.tc-banner__detail{color:var(--text-muted);margin-top:2px;font-size:12px}.tc-tabs{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-wrap:wrap;gap:.25rem;padding:.5rem .75rem;display:flex}.tc-tab{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:12px;font-weight:500;display:flex}.tc-tab:hover{background:var(--bg-hover);color:var(--text)}.tc-tab--active{background:var(--bg-hover);color:var(--text-bright);border-color:#555}.tc-tab--pass .tc-tab__dot{color:var(--success)}.tc-tab--fail .tc-tab__dot{color:var(--danger)}.tc-tab__dot{font-size:10px;font-weight:700}.tc-detail{padding:.75rem}.tc-detail__error{background:var(--danger-bg);border-radius:var(--radius-sm);color:var(--danger);white-space:pre-wrap;word-break:break-word;border:1px solid #f487714d;margin-bottom:.75rem;padding:.5rem .75rem;font-size:12px}.tc-detail__error-label{font-weight:700}.tc-detail__tables{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=720px){.tc-detail__tables{grid-template-columns:1fr}}.tc-table-wrap{overflow:hidden}.tc-table-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;font-size:11px;font-weight:600}.tc-table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.tc-table{font-size:12px}.tc-table th,.tc-table td{white-space:nowrap;padding:.3rem .5rem}.tc-table-empty{color:var(--text-muted);padding:.5rem 0;font-size:12px;font-style:italic}.tc-table-truncated{color:var(--text-muted);text-align:right;border-top:1px solid var(--border);background:var(--bg-elevated);padding:.25rem .5rem;font-size:11px}.concept-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;transition:background .15s,color .15s;display:flex}.concept-toggle:hover{background:var(--bg-elevated);color:var(--text-primary)}.concept-toggle__icon{font-size:15px}.concept-toggle__chevron{margin-left:auto}.concept-body{background:#e8772212;border-left:3px solid #e87722;border-radius:0 8px 8px 0;margin-top:8px;padding:12px 14px}.hints-section{border-top:1px solid var(--border);padding-top:12px}.hints-counter{color:var(--text-muted);font-size:12px;font-weight:400}.hint-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:10px 12px;animation:.2s hint-in}@keyframes hint-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hint-item__num{color:#e87722;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600;display:inline-block}.hint-item__text{color:var(--text-primary);margin:0;font-size:13px;line-height:1.55}.hint-reveal-btn{margin-top:6px;font-size:13px}.hints-exhausted{color:var(--success);margin-top:8px;font-size:13px}.sandbox-bridge-btn{font-size:12px}.dataset-upload{padding:4px 0 8px}.dataset-upload__zone{border:2px dashed var(--border);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:90px;padding:16px 12px;transition:border-color .15s,background .15s;display:flex}.dataset-upload__zone:hover,.dataset-upload__zone--drag{background:#e877220d;border-color:#e87722}.dataset-upload__zone--loading{opacity:.6;cursor:wait}.dataset-upload__icon{font-size:22px}.dataset-upload__label{color:var(--text-primary);font-size:13px}.dataset-upload__sub{color:var(--text-muted);font-size:11px}.alert--warning{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b66}.sandbox-bridge-bar{background:#e8772214;border:1px solid #e8772240;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:8px 12px;display:flex}.sandbox-bridge-bar__text{color:#b0b0c0;flex:1;min-width:120px;font-size:12px}.sandbox-bridge-btn{white-space:nowrap;flex-shrink:0;font-size:12px;color:#e87722!important;border-color:#e8772280!important}.sandbox-bridge-btn:hover{background:#e877221f!important}.signature-block{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);white-space:pre;margin:0 0 .5rem;padding:.6rem .85rem;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;overflow-x:auto}.console-output{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;padding:.75rem .9rem;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;line-height:1.55;overflow-x:auto}.console-output--error{color:var(--danger);background:var(--danger-bg);border-color:#f4877159}.tc-detail__call{color:var(--text);word-break:break-word;margin-bottom:.6rem;font-size:12.5px}.tc-detail__call-label{color:var(--text-muted);margin-right:4px;font-weight:700}.tc-detail__values{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=720px){.tc-detail__values{grid-template-columns:1fr}}.tc-detail__stdout{margin-top:.75rem}.tc-value__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;font-size:11px;font-weight:600}.tc-value__code{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;padding:.5rem .65rem;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.5;overflow-x:auto}.tc-value--expected .tc-value__code{border-color:#4ec9b04d}.tc-value--pass .tc-value__code{color:var(--success);border-color:#4ec9b073}.tc-value--fail .tc-value__code{color:var(--danger);border-color:#f4877173}.sandbox-modebar{background:linear-gradient(90deg, #d95e13, var(--accent), #ed8b38);border-bottom:1px solid #c54f0c;align-items:center;gap:6px;padding:6px 10px;display:flex}.sandbox-modebar__tab{color:#ffffffe0;cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600}.sandbox-modebar__tab:hover{color:#fff;background:#ffffff24}.sandbox-modebar__tab--active{color:#b54708;background:#fff;border-color:#fff;box-shadow:0 1px 3px #69280838}.sandbox-modebar__hint{color:#ffffffd1;margin-left:4px;font-size:11px;font-weight:400}.nb-wrap{flex:1;min-height:0;overflow-y:auto}.nb{max-width:1000px;margin:0 auto;padding:12px 16px 60px}.nb-toolbar{z-index:5;background:var(--bg-app);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;padding:8px 0;display:flex;position:sticky;top:0}.nb-toolbar__sep{background:var(--border);width:1px;height:20px;margin:0 4px}.nb-toolbar__label{color:var(--text-muted);font-size:12px}.nb-status{color:var(--accent);margin-left:auto;font-size:12px}.nb-chip{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:3px 10px;font-family:Cascadia Code,Consolas,monospace;font-size:12px}.nb-chip:hover{border-color:var(--accent)}.nb-chip--loaded{color:var(--success);border-color:#4ec9b066}.nb-chip--user{color:var(--accent);border-color:var(--accent);align-items:center;gap:2px;padding:0;display:inline-flex}.nb-chip__label,.nb-chip__remove{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:3px 4px 3px 10px}.nb-chip__remove{opacity:.65;border-radius:0 999px 999px 0;padding:3px 9px 3px 4px}.nb-chip__remove:hover{opacity:1;color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, transparent)}.nb-cell{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;flex-direction:column;margin-bottom:14px;display:flex;overflow:hidden}.nb-cell--running{border-color:var(--accent)}.nb-cell__bar{background:var(--bg-app);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:4px 8px;display:flex}.nb-cell__num{color:var(--text-muted);min-width:26px;font-family:monospace;font-size:11px}.nb-cell__spacer{flex:1}.nb-cell__run{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:5px;padding:2px 10px;font-size:11px;font-weight:600}.nb-cell__run:hover:not(:disabled){background:var(--accent-dim,#e877221f)}.nb-cell__run:disabled{opacity:.5;cursor:default}.nb-cell__btn{width:24px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;font-size:12px;display:flex}.nb-cell__btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.nb-cell__btn:disabled{opacity:.3;cursor:default}.nb-cell__btn--del:hover:not(:disabled){color:var(--danger)}.nb-cell-editor{border-bottom:1px solid var(--border)}.sql-editor-wrap--bare{flex-direction:column;display:flex}.sql-editor-wrap--bare .sql-editor-body{flex:initial;resize:none;height:auto;min-height:0}.nb-out{background:var(--bg-app);padding:14px;font-size:13px}.nb-out:before{content:"Output";letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10px;display:block}.nb-out--empty{color:var(--text-muted);font-size:12px;font-style:italic}.nb-out--empty:before{content:none}.nb-out__stdout,.nb-out__value{white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0 0 6px;font-family:Cascadia Code,Consolas,monospace;font-size:12.5px}.nb-out__value{color:var(--success)}.nb-out__error{white-space:pre-wrap;word-break:break-word;color:var(--danger);background:var(--danger-bg);border:1px solid #f487714d;border-radius:6px;margin:0 0 6px;padding:8px 10px;font-family:Cascadia Code,Consolas,monospace;font-size:12.5px}.nb-out__df{margin:4px 0;overflow-x:auto}.nb-out__df table{border-collapse:collapse;font-size:12px}.nb-out__df th,.nb-out__df td{border:1px solid var(--border);text-align:right;white-space:nowrap;padding:3px 8px}.nb-out__df th{background:var(--bg-elevated);color:var(--text-bright)}.nb-out__df td{color:var(--text)}.nb-out__img{background:#fff;border-radius:6px;max-width:100%;margin:6px 0;display:block}.nb-toolbar__file{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;overflow:hidden}.nb-cell--md{border-left:3px solid #dcdcaa80}.nb-cell__mdtag{letter-spacing:.04em;text-transform:uppercase;color:var(--medium,#dcdcaa);padding:2px 8px;font-size:11px;font-weight:700}.nb-md-editor{background:var(--bg-panel);border:none;border-top:1px solid var(--border);width:100%;color:var(--text);resize:vertical;min-height:42px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6}.nb-md-editor:focus{background:var(--bg-app);outline:none}.proctor-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,10px);text-align:center;max-width:560px;margin:3rem auto;padding:1.75rem 2rem}.proctor-card__title{color:var(--text-bright);margin:0 0 1rem;font-size:20px}.proctor-card__rules{text-align:left;max-width:460px;color:var(--text);margin:0 auto 1.25rem;padding-left:1.1rem;font-size:14px;line-height:1.7}.proctor-card__rules li{margin-bottom:.4rem}.proctor-card__start{max-width:320px;margin:0 auto}.proctor-card__reason{color:var(--danger);margin:0 0 1rem;font-size:14px}.proctor-card__score{margin:.75rem 0}.proctor-card__meta{color:var(--text-muted);margin:.5rem 0 0;font-size:13px}.proctor-card__note{color:var(--text-muted);margin:.75rem 0 0;font-size:12.5px}.proctor-counter{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin:.5rem .75rem;padding:5px 10px;font-size:12.5px}.proctor-counter--warn{color:var(--danger);background:#f4877114;border-color:#f4877173}.assessment-submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:calc(100% - 1.5rem);margin:.25rem .75rem .5rem;padding:7px 10px;font-size:13px;font-weight:700;display:block}.assessment-submit-btn:hover{filter:brightness(1.1)}.proctor-fsbanner{justify-content:center;align-items:center;gap:12px;margin-bottom:1rem;display:flex}.assessment-q-btn:disabled{opacity:.45;cursor:not-allowed}.track-choice{gap:10px;display:flex}.track-choice__btn{background:var(--bg-panel);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;flex:1;padding:12px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s}.track-choice__btn:hover{border-color:var(--accent)}.track-choice__btn--active{border-color:var(--accent);background:var(--accent-dim,#e8772226);color:var(--text-bright)}.domain-picker{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.domain-picker__card{text-align:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,10px);max-width:520px;padding:2rem}.domain-picker__icon{font-size:2.5rem}.domain-picker__title{color:var(--text-bright);margin:.5rem 0;font-size:20px}.domain-picker__text{color:var(--text-muted);margin:0 0 1.25rem;font-size:14px;line-height:1.6}.domain-picker__grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.domain-picker__btn{background:var(--bg-app);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;padding:12px;font-size:14px;font-weight:600}.domain-picker__btn:hover{border-color:var(--accent);background:var(--accent-dim,#e877221f)}.proctor-card--lock{max-width:460px}.proctor-card__lockicon{margin-bottom:.5rem;font-size:2.5rem}.proctor-card__text{color:var(--text);max-width:400px;margin:0 auto 1.25rem;font-size:14px;line-height:1.6}.proctor-code-form{flex-direction:column;align-items:center;gap:.5rem;display:flex}.proctor-code-input{text-align:center;letter-spacing:14px;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);width:180px;color:var(--text-bright);padding:.5rem .5rem .5rem 14px;font-family:Cascadia Code,Consolas,monospace;font-size:30px}.proctor-code-input:focus{border-color:var(--accent);outline:none}.proctor-code-form .auth-form__btn{max-width:200px}.assessment-timer{text-align:center;color:var(--text-bright);background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);margin:.5rem .75rem;padding:8px 10px;font-family:Cascadia Code,Consolas,monospace;font-size:18px;font-weight:700}.assessment-timer--low{color:var(--danger);background:#f487711a;border-color:#f4877180;animation:1s ease-in-out infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.55}}.admin-assess{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,10px);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.admin-assess__title{color:var(--text-bright);margin:0 0 1rem;font-size:18px}.admin-assess__sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:1.25rem 0 .5rem;font-size:14px}.admin-assess__form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-assess__field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.admin-assess__field select,.admin-assess__field input{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);min-width:120px;padding:7px 10px;font-size:14px}.admin-assess__field input:focus,.admin-assess__field select:focus{border-color:var(--accent);outline:none}.assessment-admin-wrap{flex:1;width:100%;max-width:1100px;min-height:0;margin:0 auto;padding:1.5rem;overflow-y:auto}.admin-assess__subrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-assess__subrow .admin-assess__sub{margin-bottom:.5rem}.admin-assess__export{white-space:nowrap}.admin-codegroup{margin-bottom:1.25rem}.admin-codegroup__head{background:var(--bg-elevated);border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:8px 10px;display:flex}.admin-codegroup__code{font-family:var(--font-mono);letter-spacing:2px;color:#e87722;font-size:15px;font-weight:700}.admin-codegroup__meta{color:var(--text-muted);font-size:12px}.admin-codegroup__export{white-space:nowrap;margin-left:auto}.admin-codegroup .admin-table{margin-top:0}.admin-qviewer{margin-top:.25rem}.admin-qviewer__toggle{text-align:left;border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600}.admin-qviewer__toggle:hover{color:#e87722;border-color:#e87722}.admin-qviewer__body{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;margin-top:.6rem;padding:.75rem}.admin-qviewer__tabs{flex-wrap:wrap;gap:6px;margin-bottom:.75rem;display:flex}.admin-qviewer__tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 14px;font-size:13px;font-weight:600}.admin-qviewer__tab--active{color:#e87722;background:#e8772226;border-color:#e87722}.admin-qviewer__list{flex-direction:column;gap:.6rem;max-height:60vh;padding-right:4px;display:flex;overflow-y:auto}.admin-qviewer__section{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin-top:.5rem;padding-bottom:4px;font-size:11px;font-weight:700}.admin-qviewer__q{border:1px solid var(--border);background:var(--bg-elevated);border-radius:6px;padding:.6rem .75rem}.admin-qviewer__qhead{white-space:pre-wrap;margin-bottom:6px;font-size:13.5px;font-weight:600;line-height:1.5}.admin-qviewer__code{font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border);white-space:pre;border-radius:5px;margin:6px 0;padding:8px;font-size:12px;overflow-x:auto}.admin-qviewer__opts{flex-direction:column;gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.admin-qviewer__opt--correct{color:#22c55e;font-weight:600}.admin-qviewer__tick{color:#22c55e;margin-left:6px;font-size:11px}.admin-qviewer__sollabel{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:4px;font-size:11px}.admin-assess__hint{color:var(--text-muted);max-width:640px;margin:0 0 1rem;font-size:13px}.nb-cell__num--running{color:var(--accent);font-weight:700}.nb-cell__num--ok{color:var(--success,#4ec9b0)}.nb-cell__num--error{color:var(--danger,#f48771)}.nb-cell--running{box-shadow:inset 3px 0 0 var(--accent)}.nb-cell--ok{box-shadow:inset 3px 0 #4ec9b099}.nb-cell--error{box-shadow:inset 3px 0 #f48771b3}.nb-cell__status{margin-left:2px;font-size:13px;font-weight:700}.nb-cell__status--ok{color:var(--success,#4ec9b0)}.nb-cell__status--err{color:var(--danger,#f48771)}.nb-out__ok{letter-spacing:.03em;color:var(--success,#4ec9b0);margin-bottom:4px;font-size:11px;font-weight:700}.nb-out__noout{color:var(--text-muted);font-size:12px;font-style:italic}.nb-out--haserror{border-left:3px solid var(--danger,#f48771)}.nb-md-rendered{color:var(--text);cursor:text;background:var(--bg-panel);border-top:1px solid var(--border);padding:8px 14px;line-height:1.6}.nb-md-rendered h1,.nb-md-rendered h2,.nb-md-rendered h3,.nb-md-rendered h4{color:var(--text-bright);margin:.4em 0 .3em;line-height:1.3}.nb-md-rendered h1{font-size:1.5em}.nb-md-rendered h2{font-size:1.3em}.nb-md-rendered h3{font-size:1.12em}.nb-md-rendered p{margin:.35em 0}.nb-md-rendered ul,.nb-md-rendered ol{margin:.35em 0;padding-left:1.4em}.nb-md-rendered code{background:var(--bg-app);border-radius:4px;padding:1px 5px;font-family:Cascadia Code,Consolas,monospace;font-size:.9em}.nb-md-rendered a{color:var(--accent)}.nb-md-rendered hr{border:none;border-top:1px solid var(--border);margin:.6em 0}.nb-md-empty{color:var(--text-muted);font-style:italic}.nb-help{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);max-width:640px;margin:0 0 12px;padding:12px 16px;font-size:13px}.nb-help ul{margin:8px 0;padding-left:1.2em;line-height:1.8}.nb-help kbd{background:var(--bg-app);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:Cascadia Code,Consolas,monospace;font-size:11px}.navbar__division{color:var(--accent);font-weight:600}.signup-track{gap:10px;display:flex}.signup-track__opt{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:14px;font-weight:600;display:flex}.signup-track__opt--on{border-color:var(--accent);color:var(--text-bright);background:#e877221f}.signup-track__opt input{accent-color:var(--accent)}.landing{background:var(--bg-app);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.landing__nav{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:16px 28px;display:flex}.landing__nav-name{color:var(--text-bright);font-size:18px;font-weight:700}.landing__nav-actions{gap:10px;margin-left:auto;display:flex}.landing__hero{text-align:center;max-width:820px;margin:0 auto;padding:72px 24px 40px}.landing__title{color:var(--text-bright);margin:0 0 18px;font-size:clamp(28px,5vw,46px);line-height:1.15}.landing__sub{color:var(--text-muted);max-width:620px;margin:0 auto 28px;font-size:17px;line-height:1.6}.landing__cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing__pillars{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;width:100%;max-width:1000px;margin:24px auto 48px;padding:0 24px;display:grid}.landing__pillar{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,12px);text-align:left;padding:22px 20px}.landing__pillar-icon{font-size:26px}.landing__pillar-title{color:var(--text-bright);margin:10px 0 6px;font-size:16px}.landing__pillar-text{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.55}.landing__footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:auto;padding:20px;font-size:12.5px}.home-scroll{background:var(--bg-app);flex:1;padding:clamp(24px,5vw,64px);overflow:auto}.home-hero,.home-card,.home-grid{max-width:1080px;margin-left:auto;margin-right:auto}.home-hero{padding:24px 0 42px}.home-eyebrow{color:var(--accent);letter-spacing:.12em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.home-hero h1{margin-bottom:14px;font-size:clamp(32px,5vw,52px);line-height:1.05}.home-hero p{color:var(--text-muted);max-width:620px;font-size:18px}.home-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.home-card{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:20px;padding:26px;display:flex}.home-card h2,.home-area h2{margin-bottom:6px;font-size:20px}.home-card p,.home-area p{color:var(--text-muted)}.home-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:22px 0;display:grid}.home-area{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);min-height:160px;color:var(--text);transition:transform var(--transition), border-color var(--transition);padding:22px;position:relative}.home-area:hover{border-color:var(--accent);transform:translateY(-2px)}.home-area__arrow{float:right;color:var(--accent);font-size:20px}@media (width<=600px){.home-scroll{padding:24px 18px}.home-card{flex-direction:column;align-items:flex-start}.home-card .btn{width:100%}}.pg-scroll{flex:1;min-height:0;overflow-y:scroll}.pg-scroll::-webkit-scrollbar{width:12px}.pg-scroll::-webkit-scrollbar-track{background:var(--bg-app)}.pg-scroll::-webkit-scrollbar-thumb{background:var(--border-strong,#4b5563);border:3px solid var(--bg-app);border-radius:999px}.pg-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@supports not selector(::-webkit-scrollbar){.pg-scroll{scrollbar-width:auto;scrollbar-color:var(--border-strong,#4b5563) var(--bg-app)}}.pg-wrap{width:100%;max-width:980px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.pg-title{color:var(--text-bright);margin:0 0 4px;font-size:26px}.pg-sub{color:var(--text-muted);margin:0 0 1.5rem;font-size:14px}.pg-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:1.5rem;display:grid}.pg-stat{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,12px);text-align:center;padding:18px 20px}.pg-stat__value{color:var(--accent);font-size:34px;font-weight:800;line-height:1}.pg-stat__label{color:var(--text);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:13px}.pg-stat__sub{color:var(--text-muted);margin-top:3px;font-size:12px}.pg-goal{border-radius:var(--radius-md,12px);background:linear-gradient(105deg, #e8772212, transparent 48%), var(--bg-panel);border:1px solid #e877223d;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto auto;align-items:center;gap:20px;margin:0 0 1.5rem;padding:16px 20px;display:grid}.pg-goal>div{gap:3px;display:grid}.pg-goal__eyebrow{color:var(--accent);font:600 10px var(--font-mono);letter-spacing:.12em}.pg-goal strong{color:var(--text-bright);font-size:16px}.pg-goal>div>span:last-child{color:var(--text-muted);font-size:12px}.pg-goal progress{appearance:none;background:var(--bg-app);border:0;border-radius:999px;width:100%;height:7px;overflow:hidden}.pg-goal progress::-webkit-progress-bar{background:var(--bg-app)}.pg-goal progress::-webkit-progress-value{background:var(--accent)}.pg-goal progress::-moz-progress-bar{background:var(--accent)}.pg-goal label{color:var(--text-muted);white-space:nowrap;font-size:12px}.pg-goal input{border:1px solid var(--border);background:var(--bg-app);width:46px;color:var(--text);text-align:center;border-radius:4px;margin-left:5px;padding:4px}.pg-goal__pct{color:var(--accent);font:700 15px var(--font-mono)}.pg-langs{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:1.5rem;display:grid}.pg-lang{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,12px);padding:18px 20px}.pg-lang__head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.pg-lang__title{color:var(--text-bright);font-size:16px;font-weight:700}.pg-lang__count{color:var(--text-muted);font-size:13px}.pg-lang__bar{background:var(--bg-app);border-radius:999px;height:8px;overflow:hidden}.pg-lang__bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.pg-lang__diffs{gap:10px;margin-top:14px;display:flex}.pg-diff{text-align:center;border-radius:var(--radius-sm);background:var(--bg-app);border:1px solid var(--border);flex:1;padding:8px 6px}.pg-diff__label{text-transform:uppercase;letter-spacing:.05em;font-size:11px;display:block}.pg-diff__count{color:var(--text-bright);margin-top:2px;font-size:15px;font-weight:700;display:block}.pg-diff--easy .pg-diff__label{color:var(--easy,#4ec9b0)}.pg-diff--medium .pg-diff__label{color:var(--medium,#dcdcaa)}.pg-diff--hard .pg-diff__label{color:var(--hard,#f48771)}.pg-section{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md,12px);padding:18px 20px}.pg-section__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px;font-size:14px}.pg-heatmap__grid{gap:3px;display:flex;overflow-x:auto}.pg-heatmap__col{flex-direction:column;gap:3px;display:flex}.pg-heatmap__cell{background:var(--bg-app);border:1px solid var(--border);border-radius:3px;width:13px;height:13px}.pg-heatmap__cell--1{background:#e877224d;border-color:#0000}.pg-heatmap__cell--2{background:#e877228c;border-color:#0000}.pg-heatmap__cell--3{background:#e87722c7;border-color:#0000}.pg-heatmap__cell--4{background:var(--accent);border-color:#0000}.pg-heatmap__legend{color:var(--text-muted);align-items:center;gap:4px;margin-top:12px;font-size:11px;display:flex}.session-banner{z-index:60;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);max-width:min(520px,100vw - 32px);box-shadow:var(--shadow);color:var(--text);align-items:center;gap:10px;padding:10px 14px;font-size:13px;animation:.25s session-banner-in;display:flex;position:fixed;bottom:16px;left:16px}.session-banner--conflict{border-left-color:var(--warning);flex-wrap:wrap}.session-banner__icon{color:var(--accent);flex-shrink:0;font-size:14px}.session-banner--conflict .session-banner__icon{color:var(--warning)}.session-banner__text{flex:1;min-width:200px;line-height:1.5}.session-banner__btn{color:var(--bg-app);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);padding:4px 12px;font-size:12px;font-weight:600}.session-banner__btn:hover{background:var(--accent-hover)}.session-banner__btn--ghost{color:var(--text);border-color:var(--border);background:0 0}.session-banner__btn--ghost:hover{background:var(--bg-hover)}.session-banner__close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:12px}.session-banner__close:hover{color:var(--text-bright);background:var(--bg-hover)}.session-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;display:inline-block}.session-dot--synced{background:var(--success)}.session-dot--pending{background:var(--warning);animation:1.4s ease-in-out infinite session-pulse}@keyframes session-banner-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes session-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.session-banner,.session-dot--pending{animation:none}}@media (width<=640px){.session-banner{max-width:none;bottom:8px;left:8px;right:8px}}.ap{flex-direction:column;height:100%;min-height:0;display:flex}.ap-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;align-items:center;gap:16px;padding:10px 16px;display:flex}.ap-bar__sections{gap:8px;display:flex}.ap-tab{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 14px;display:flex}.ap-tab:hover{background:var(--bg-hover);color:var(--text)}.ap-tab--active{border-color:var(--accent);color:var(--text-bright);background:var(--bg-elevated)}.ap-tab__meta{opacity:.75;font-size:11px}.ap-tab__count{font-size:11px;font-family:var(--font-mono);color:var(--accent)}.ap-clock{flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.1;display:flex}.ap-tab:disabled{opacity:.45;cursor:not-allowed}.ap-clock__time{font-family:var(--font-mono);color:var(--text-bright);font-size:26px}.ap-clock__label{color:var(--text-muted);font-size:11px}.ap-clock--low .ap-clock__time,.ap-clock--low .ap-clock__label{color:var(--danger)}.ap-body{flex:1;min-height:0;display:flex}.ap-nav{border-right:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-content:flex-start;gap:6px;width:62px;padding:12px 10px;display:flex;overflow-y:auto}.ap-nav__item{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:var(--transition);background:0 0;padding:5px 0;font-size:12px}.ap-nav__item:hover{background:var(--bg-hover)}.ap-nav__item--done{border-color:var(--accent);color:var(--text-bright)}.ap-nav__item--active{background:var(--accent);border-color:var(--accent);color:#fff}.ap-question{flex:1;min-width:0;padding:18px 22px;overflow-y:auto}.ap-question__head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ap-question__num{color:var(--text-bright);font-weight:600}.ap-question__marks{color:var(--accent);font-size:12px}.ap-question__topic{color:var(--text-muted);font-size:12px}.ap-question__title{color:var(--text-bright);margin:0 0 6px;font-size:17px}.ap-question__prompt{color:var(--text);white-space:pre-line;margin:0 0 12px;line-height:1.6}.ap-question__code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);font-family:var(--font-mono);margin:0 0 14px;padding:12px 14px;font-size:13px;overflow-x:auto}.ap-options{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ap-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.ap-option:hover{background:var(--bg-hover)}.ap-option--picked{border-color:var(--accent);background:var(--bg-elevated)}.ap-option--locked{cursor:default;opacity:.85}.ap-option input{margin-top:3px}.ap-option__letter{font-family:var(--font-mono);color:var(--accent);font-weight:600}.ap-option__text{color:var(--text);line-height:1.5}.ap-sql__columns,.ap-sql__hint{color:var(--text-muted);margin:0 0 10px;font-size:13px}.ap-sql__editor{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;height:clamp(320px,46vh,560px);display:flex;overflow:hidden}.ap-sql__out{margin-top:12px}.ap-sql__error{color:var(--danger);font-size:13px}.ap-sql__verdict{margin:0 0 8px;font-size:13px;font-weight:600}.ap-sql__verdict--ok{color:var(--success,#3d9a6a)}.ap-sql__verdict--partial{color:var(--accent)}.ap-sql__verdict--bad{color:var(--danger)}.ap-question__foot{gap:8px;margin-top:16px;display:flex}.ap-status{color:var(--text-muted);text-align:center;padding:32px}.ap-status--error{color:var(--danger);flex-direction:column;align-items:center;gap:12px;display:flex}.ap-confirm{z-index:60;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ap-confirm__box{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);max-width:420px;box-shadow:var(--shadow);padding:22px 26px}.ap-confirm__box h3{color:var(--text-bright);margin:0 0 10px}.ap-confirm__box p{color:var(--text);margin:0 0 10px;line-height:1.6}.ap-confirm__warn{color:var(--warning);font-size:13px}.ap-confirm__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.ap-confirm__box--wide{max-width:720px;max-height:82vh;overflow-y:auto}.ap-tables{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);margin:0 0 14px}.ap-tables__summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 12px;font-size:12px;list-style:none;display:flex}.ap-tables__summary::-webkit-details-marker{display:none}.ap-tables__summary:before{content:"▸";color:var(--text-muted)}.ap-tables[open]>.ap-tables__summary:before{content:"▾"}.ap-tables__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ap-tables__names{font-family:var(--font-mono);color:var(--accent)}.ap-tables__body{flex-wrap:wrap;gap:10px;padding:0 12px 12px;display:flex}.ap-tables__table,.ap-tables__links{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);flex:220px;min-width:0;padding:8px 10px}.ap-tables__name{font-family:var(--font-mono);color:var(--accent);margin-bottom:6px;font-size:12px}.ap-tables__cols{margin:0;padding:0;list-style:none}.ap-tables__col{flex-wrap:wrap;align-items:baseline;gap:6px;padding:2px 0;font-size:12px;line-height:1.5;display:flex}.ap-tables__colname{color:var(--text-bright);font-family:var(--font-mono)}.ap-tables__type{color:var(--text-muted);font-size:11px}.ap-tables__key{color:var(--accent);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:10px}.ap-tables__note{color:var(--text-muted);font-size:11px;font-style:italic}.ap-tables__links code{color:var(--text);font-size:11.5px}.schema-block__note{color:var(--text-muted);margin-left:6px;font-size:11px;font-style:italic}.schema-links{margin-top:4px}.schema-links__list{margin:0;padding:0;list-style:none}.schema-links__list li{padding:2px 0;font-size:12.5px}.schema-links__list code{color:var(--text)}.ap-violation-toast{z-index:70;border-radius:var(--radius-sm);border:1px solid var(--danger);background:var(--bg-panel);color:var(--danger);box-shadow:var(--shadow);padding:10px 18px;font-size:13px;font-weight:600;position:fixed;top:18px;left:50%;transform:translate(-50%)}.ap-fullscreen-gate{z-index:80;text-align:center;background:#000000c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ap-fullscreen-gate__box{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);max-width:420px;box-shadow:var(--shadow);padding:26px 30px}.ap-fullscreen-gate__box h3{color:var(--text-bright);margin:0 0 10px}.ap-fullscreen-gate__box p{color:var(--text);margin:0 0 16px;line-height:1.6}.rp{flex-direction:column;gap:22px;max-width:1000px;margin:0 auto;padding:22px;display:flex}.rp-head{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.rp-head__title{color:var(--text-bright);margin:0;font-size:21px}.rp-head__score{align-items:baseline;gap:6px;margin-left:auto;display:flex}.rp-head__total{color:var(--accent);font-size:40px;font-weight:700;line-height:1}.rp-head__of{color:var(--text-muted);font-size:17px}.rp-head__pct{color:var(--text-muted);margin-left:8px}.rp-head__note{width:100%;color:var(--warning);margin:0;font-size:13px}.rp-bars{flex-direction:column;gap:12px;display:flex}.rp-bar__head{color:var(--text);justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.rp-bar__max{color:var(--text-muted);font-weight:400}.rp-bar__track{background:var(--bg-elevated);border-radius:999px;height:8px;overflow:hidden}.rp-bar__fill{background:var(--accent);border-radius:999px;height:100%}.rp-tally{color:var(--text-muted);flex-wrap:wrap;gap:20px;font-size:13px;display:flex}.rp-tally strong{color:var(--text-bright);font-size:15px}.rp-topics{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.rp-topics__title{color:var(--text-bright);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:14px}.rp-topics ul,.rp-next ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rp-topics li{color:var(--text);justify-content:space-between;gap:12px;font-size:13px;display:flex}.rp-next li{color:var(--text);padding-left:16px;font-size:13px;line-height:1.6;position:relative}.rp-next li:before{content:"→";color:var(--accent);position:absolute;left:0}.rp-filter{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.rp-filter__btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px}.rp-filter__btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.rp-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rp-q{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.rp-q--open{border-color:var(--accent)}.rp-q__head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.rp-q__head:hover{background:var(--bg-hover)}.rp-q__num{font-family:var(--font-mono);color:var(--text-bright);min-width:38px}.rp-q__topic{color:var(--text-muted);flex:1;font-size:12px}.rp-q__marks{font-family:var(--font-mono);color:var(--text-bright)}.rp-q__chev{color:var(--text-muted)}.rp-verdict{white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:11px}.rp-verdict--correct{background:var(--success-bg);color:var(--success)}.rp-verdict--partial{color:var(--warning);background:#eab30826}.rp-verdict--wrong{background:var(--danger-bg);color:var(--danger)}.rp-verdict--blank{background:var(--bg-elevated);color:var(--text-muted)}.rp-q__body{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:4px 16px 18px;display:flex}.rp-q__prompt{color:var(--text-muted);white-space:pre-line;margin:12px 0 0;font-size:13px;line-height:1.6}.rp-q__attainment{color:var(--text);margin:0;font-size:13px}.rp-q__block{flex-direction:column;gap:8px;display:flex}.rp-q__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.rp-q__choice{color:var(--text);margin:0}.rp-code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);font-family:var(--font-mono);white-space:pre;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.rp-code--model{border-color:var(--accent)}.rp-diag{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rp-diag li{border-left:2px solid var(--danger);flex-direction:column;gap:3px;padding-left:14px;display:flex}.rp-diag__issue{color:var(--text-bright);font-size:13px}.rp-diag__fix{color:var(--text-muted);font-size:13px;line-height:1.55}.rp-criteria{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.rp-criteria li{color:var(--text);align-items:baseline;gap:10px;font-size:13px;display:flex}.rp-criteria__mark{width:14px}.rp-criteria__pts{font-family:var(--font-mono);color:var(--text-muted);min-width:34px}.rp-criteria--pass .rp-criteria__mark{color:var(--success)}.rp-criteria--fail .rp-criteria__mark{color:var(--danger)}.rp-q__compare{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.rp-rows{flex-direction:column;gap:6px;min-width:0;display:flex}.rp-rows__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.rp-rows__scroll{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow:auto}.rp-why{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rp-why li{color:var(--text-muted);padding-left:14px;font-size:12.5px;line-height:1.55;position:relative}.rp-why li:before{content:"·";color:var(--accent);position:absolute;left:4px}.rp-empty{color:var(--text-muted);margin:0;font-size:13px}.assessment-shell{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.assessment-shell__foot{flex-wrap:wrap;gap:10px;width:100%;max-width:1000px;margin:0 auto;padding:0 22px 28px;display:flex}.assessment-gate{max-width:640px;margin:0 auto;padding:40px 24px}.assessment-gate__title{color:var(--text-bright);margin:0 0 10px;font-size:26px}.assessment-gate__blurb{color:var(--text);margin:0 0 16px;line-height:1.7}.assessment-gate__rules{color:var(--text-muted);margin:0 0 26px;padding-left:20px;line-height:1.9}.assessment-gate__form{flex-direction:column;gap:8px;margin-bottom:34px;display:flex}.assessment-gate__form label{color:var(--text-muted);font-size:13px}.assessment-gate__row{gap:10px;display:flex}.assessment-gate__code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);width:130px;color:var(--text-bright);font-family:var(--font-mono);letter-spacing:.3em;text-align:center;padding:9px 14px;font-size:20px}.assessment-gate__code:focus{border-color:var(--accent);outline:none}.assessment-gate__error{color:var(--danger);margin:0;font-size:13px}.assessment-gate__history h2{color:var(--text-bright);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:13px}.assessment-gate__history ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.assessment-gate__history button{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;transition:var(--transition);background:0 0;align-items:center;gap:12px;padding:9px 14px;display:flex}.assessment-gate__history button:hover{background:var(--bg-hover);border-color:var(--accent)}.assessment-gate__history strong{color:var(--accent);font-family:var(--font-mono);margin-left:auto}.assessment-gate__history em{color:var(--warning);font-size:11px;font-style:normal}.landing__ai{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);text-align:left;border-radius:14px;max-width:760px;margin:0 auto 56px;padding:32px 34px}.landing__ai-badge{background:var(--accent);color:#fff;border-radius:999px;margin-bottom:12px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-block}.landing__ai-title{margin:0 0 10px;font-size:25px;line-height:1.25}.landing__ai-text{opacity:.9;margin:0 0 18px;line-height:1.75}.landing__ai-list{flex-direction:column;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.landing__ai-list li{opacity:.9;padding-left:22px;line-height:1.6;position:relative}.landing__ai-list li:before{content:"✦";color:var(--accent);position:absolute;left:0}.landing__ai-cta{display:inline-block}@media (width<=640px){.landing__ai{margin-bottom:40px;padding:24px 20px}.landing__ai-title{font-size:21px}}.studio-modebar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;align-items:center;gap:6px;padding:7px 16px;display:flex}.studio-heading{border-bottom:1px solid var(--border);background:linear-gradient(105deg, #e877220b, transparent 35%), var(--bg-panel);justify-content:space-between;align-items:end;gap:20px;padding:18px 20px 14px;display:flex}.studio-heading div{gap:4px;display:grid}.studio-heading span,.playground-heading span,.assessment-gate__eyebrow{color:var(--accent);font:600 10px var(--font-mono);letter-spacing:.14em}.studio-heading strong{color:var(--text-bright);font-size:18px}.studio-heading p{color:var(--text-muted);text-align:right;max-width:430px;font-size:12px}.studio-mode{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;padding:5px 16px;font-size:13px}.studio-mode:hover{background:var(--bg-hover);color:var(--text)}.studio-mode--active{background:var(--bg-elevated);border-color:var(--accent);color:var(--text-bright)}.studio-modebar__hint{color:var(--text-muted);margin-left:6px;font-size:12px}.studio-body{flex-direction:column;flex:1;min-height:0;display:flex}.studio-body>.app-shell--embedded{flex:1;min-height:0}.pg-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;flex-shrink:0;align-items:flex-end;gap:14px;padding:10px 16px;display:flex}.playground-heading{background:linear-gradient(110deg, #e8772210, transparent 42%), var(--bg-app);border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:24px;padding:24px 24px 18px;display:flex}.playground-heading h1{letter-spacing:-.035em;margin-top:7px;font-size:26px}.playground-heading p{max-width:440px;color:var(--text-muted);text-align:right;font-size:13px;line-height:1.6}.pg-langs{gap:4px;display:flex}.pg-lang{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;padding:6px 18px}.pg-lang:hover{background:var(--bg-hover);color:var(--text)}.pg-lang--active{background:var(--accent);border-color:var(--accent);color:#fff}.pg-field{flex-direction:column;gap:3px;display:flex}.pg-field span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.pg-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);color:var(--text);padding:6px 10px;font-size:13px}.pg-solved{color:var(--text-muted);margin-left:auto;font-size:12px}.pg-hint{color:var(--text-muted)}.pg-empty{text-align:center;max-width:560px;margin:0 auto;padding:70px 24px}.pg-empty h1{color:var(--text-bright);margin:0 0 12px;font-size:28px}.pg-empty p{color:var(--text);margin:0 0 12px;line-height:1.7}.pg-empty__note{color:var(--text-muted);font-size:13px}.pg-body{flex:1;min-height:0;display:flex}.pg-question{border-right:1px solid var(--border);flex-shrink:0;width:38%;min-width:280px;max-width:520px;padding:18px 22px;overflow-y:auto}.pg-question__head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.pg-question__topic{color:var(--text-muted);font-size:12px}.pg-question__title{color:var(--text-bright);margin:0 0 10px;font-size:19px}.pg-question__desc{color:var(--text);white-space:pre-line;margin:0 0 14px;line-height:1.7}.pg-question__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-size:11px}.pg-hints summary{color:var(--accent);cursor:pointer;font-size:13px}.pg-hints ol{color:var(--text);margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.8}.pg-work{flex-direction:column;flex:1;min-width:0;display:flex}.pg-editor{flex:1;min-height:0}.pg-output{border-top:1px solid var(--border);flex-shrink:0;max-height:42%;padding:12px 16px;overflow:auto}.pg-status{color:var(--text-muted);margin:0;font-size:13px}@media (width<=900px){.pg-body{flex-direction:column}.pg-question{border-right:0;border-bottom:1px solid var(--border);width:auto;max-width:none;max-height:40%}}.cap-layout{flex:1;min-height:0;display:flex}.cap-side{border-right:1px solid var(--border);background:var(--bg-panel);flex:none;width:290px;padding:12px;overflow-y:auto}.cap-side__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:4px 0 8px;font-size:11px}.cap-queries{margin:0 0 18px;padding:0;list-style:none}.cap-query{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;gap:8px;margin-bottom:3px;padding:7px 8px;font-size:12.5px;line-height:1.4;display:flex}.cap-query:hover{background:var(--bg-hover)}.cap-query--active{border-color:var(--accent);background:var(--bg-elevated);color:var(--text-bright)}.cap-query__num{color:var(--accent);font-family:var(--font-mono);flex:none}.cap-schema__item{margin-bottom:2px}.cap-schema__name{border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.cap-schema__name:hover{background:var(--bg-hover)}.cap-schema__meta{color:var(--text-muted);font-size:10.5px;font-family:var(--font-sans,inherit);margin-left:auto}.cap-schema__cols{margin:2px 0 8px;padding:0 0 0 18px;list-style:none}.cap-schema__cols li{align-items:baseline;gap:6px;padding:1px 0;font-size:11.5px;display:flex}.cap-schema__cols code{color:var(--text-bright)}.cap-schema__cols span{color:var(--text-muted);font-size:10.5px}.cap-schema__cols em{color:var(--accent);border:1px solid var(--border);border-radius:3px;padding:0 3px;font-size:9.5px;font-style:normal}.cap-main{flex-direction:column;flex:1;gap:10px;min-width:0;padding:12px;display:flex}.cap-main__head{color:var(--text-bright);margin:0;font-size:14px}.cap-editor{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;height:clamp(220px,34vh,420px);display:flex;overflow:hidden}.cap-results{flex:1;min-height:0;overflow:auto}.cap-results__meta{color:var(--text-muted);margin:0 0 8px;font-size:12px}.cap-results__idle{color:var(--text-muted);padding:12px 0;font-size:13px}@media (width<=900px){.cap-layout{flex-direction:column}.cap-side{border-right:none;border-bottom:1px solid var(--border);width:auto;max-height:38vh}}.cap-datasets{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.cap-dataset{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600}.cap-dataset:hover{background:var(--bg-hover);color:var(--text-bright)}.cap-dataset--active{border-color:var(--accent);color:var(--accent);background:var(--bg-elevated)}.cap-datasets__blurb{color:var(--text-muted);flex:260px;min-width:0;margin-left:8px;font-size:11.5px}.cap-query__diff{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--text-muted);border-radius:3px;flex:none;margin-left:auto;padding:1px 5px;font-size:9.5px}.cap-query__diff--easy{color:#6ee7c4;border-color:#4ec9b073}.cap-query__diff--medium{color:#e8a33d;border-color:#e8a33d73}.cap-query__diff--hard{color:#f48771;border-color:#f4877173}@media (width<=1100px){.navbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 16px;display:grid}.navbar__brand{grid-area:1/1}.navbar__user{grid-area:1/2}.navbar__center{grid-area:2/1/auto/-1;justify-content:space-between;width:100%}.navbar__tabs{scrollbar-width:none;min-width:0;overflow-x:auto}.navbar__tab{white-space:nowrap;flex-shrink:0}}@media (width<=480px){.navbar__theme-label{display:none}.navbar__theme-toggle{justify-content:center;width:32px;padding:0}}@media (width<=700px){.navbar__center{flex-direction:column;align-items:stretch;gap:8px}.navbar__tabs{width:100%}.navbar__tab{padding:7px 12px;font-size:12px}.navbar__dept{align-self:flex-start;max-width:100%}.navbar__dept--readonly{display:none}.navbar__dept-select{min-width:0;max-width:100%}.navbar__dept-label{font-size:9px}.navbar__dept-badge{font-size:11px}}.managed-assess{border-top:1px solid var(--border);margin-top:42px;padding-top:30px}.assessment-shell--managed .assessment-admin-wrap{max-width:1280px;padding-top:42px}.assessment-gate--managed{background:var(--bg-app);place-items:start center;padding:54px 24px;display:grid}.assessment-shell--managed .managed-assess{border:1px solid var(--border);background:var(--bg-panel);width:100%;max-width:1180px;box-shadow:var(--shadow);border-radius:16px;margin:0 auto;padding:32px}.managed-assess__heading{justify-content:space-between;gap:20px;margin-bottom:20px;display:flex}.managed-assess__heading span{color:var(--accent);font:700 10px var(--font-mono);letter-spacing:.13em}.managed-assess__heading h2{letter-spacing:-.035em;color:var(--text-bright);margin:7px 0;font-size:22px}.managed-assess__heading p,.managed-assess__upload p,.managed-assess__file small,.managed-assess__row span{color:var(--text-muted);font-size:12px}.managed-assess__form{border:1px solid var(--border);background:var(--bg-panel);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;display:grid}.managed-assess__form label{color:var(--text);gap:6px;font-size:12px;font-weight:600;display:grid}.managed-assess__form select,.managed-assess__form input,.managed-assess__form textarea{width:100%;color:var(--text);background:var(--bg-app);border:1px solid var(--border);font:inherit;border-radius:6px;padding:9px 10px}.managed-assess__form small{color:var(--text-muted);font-size:10px;font-weight:400}.managed-assess__wide{grid-column:1/-1}.managed-assess__upload{border:1px dashed var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:13px;display:flex}.managed-assess__upload strong{color:var(--text);font-size:12px}.managed-assess__upload p{margin:5px 0 0}.managed-assess__file{background:var(--bg-elevated);border-radius:8px;padding:13px}.managed-assess__file input{border:0;padding:6px 0}.managed-assess .btn--primary,.managed-student .btn--primary,.managed-runner .btn--primary{color:#fff;background:var(--accent);border:1px solid var(--accent);font-weight:700}.managed-assess .btn--primary:hover,.managed-student .btn--primary:hover,.managed-runner .btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.managed-assess .btn--primary:disabled{color:#6b7280;opacity:1;background:#fed7bd;border-color:#fed7bd}.managed-assess .btn--secondary,.managed-student .btn--secondary{color:var(--text);background:var(--bg-panel);border:1px solid var(--border);font-weight:600}.managed-assess__notice{border-radius:7px;margin:12px 0;padding:10px 12px;font-size:12px}.managed-assess__notice--ok{color:#087852;background:#33be851f}.managed-assess__notice--error{color:#b42318;background:#eb57571f}.managed-assess__list{margin-top:25px}.managed-assess__list h3{color:var(--text-bright);font-size:15px}.managed-assess__row{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-top:9px;padding:13px;display:flex}.managed-assess__row strong,.managed-assess__row span{display:block}.managed-assess__row span{margin-top:4px}.managed-assess__row>div:last-child{align-items:center;gap:9px;display:flex}.managed-assess__row code{color:var(--accent);background:var(--bg-elevated);font:700 12px var(--font-mono);letter-spacing:.1em;border-radius:4px;padding:5px 7px}.managed-assess__status{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.managed-assess__status--live{color:#087852}.managed-assess__status--draft{color:var(--text-muted)}.managed-assess__status--closed{color:#b42318}@media (width<=700px){.managed-assess__form{grid-template-columns:1fr}.managed-assess__upload,.managed-assess__row{flex-direction:column;align-items:flex-start}.managed-assess__row>div:last-child{flex-wrap:wrap}}.managed-student{border:1px solid var(--border);background:linear-gradient(135deg, #e8772217, transparent 60%), var(--bg-panel);border-radius:12px;max-width:680px;margin:0 auto 34px;padding:24px}.managed-student>span,.managed-runner header span{color:var(--accent);font:700 10px var(--font-mono);letter-spacing:.12em}.managed-student h2{color:var(--text-bright);margin:8px 0;font-size:23px}.managed-student p,.managed-runner header p{color:var(--text-muted);font-size:13px;line-height:1.6}.managed-student form{gap:9px;margin-top:16px;display:flex}.managed-student input{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--bg-app);font:700 16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:6px;flex:1;padding:11px}.assessment-gate__divider{color:var(--text-muted);align-items:center;gap:12px;margin:30px 0;font-size:11px;display:flex}.assessment-gate__divider:before,.assessment-gate__divider:after{content:"";background:var(--border);flex:1;height:1px}.managed-runner{width:min(100%,1040px);color:var(--text);margin:0 auto;padding:22px}.managed-runner>header{border-bottom:1px solid var(--border);justify-content:space-between;gap:25px;padding-bottom:18px;display:flex}.managed-runner header h2{color:var(--text-bright);margin:7px 0}.managed-runner>header>b{background:var(--bg-elevated);height:fit-content;color:var(--accent);font:700 18px var(--font-mono);border-radius:7px;padding:9px 12px}.managed-runner__questions{gap:16px;margin:20px 0;display:grid}.managed-runner__questions article{border:1px solid var(--border);background:var(--bg-panel);border-radius:10px;padding:20px}.managed-runner__meta{color:var(--text-muted);font:11px var(--font-mono);align-items:center;gap:10px;display:flex}.managed-runner__meta b{color:var(--accent);text-transform:uppercase}.managed-runner__questions h3{color:var(--text-bright);margin:12px 0 7px;font-size:17px}.managed-runner__questions p{white-space:pre-wrap;line-height:1.65}.managed-runner__options{gap:8px;margin-top:15px;display:grid}.managed-runner__options label{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:9px}.managed-runner__options label:has(input:checked){border-color:var(--accent);background:#e8772214}.managed-runner textarea{width:100%;color:var(--text-bright);background:var(--bg-elevated);border:1px solid var(--border);font:12px/1.6 var(--font-mono);border-radius:7px;margin-top:14px;padding:12px}.managed-runner details{color:var(--text-muted);margin-top:12px;font-size:12px}.managed-runner pre{background:var(--bg-elevated);padding:12px;overflow:auto}.managed-runner>footer{border:1px solid var(--border);background:var(--bg-panel);border-radius:9px;justify-content:space-between;align-items:center;padding:13px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 30px #0000001f}.managed-student--result{text-align:center}.managed-student--result h2{color:var(--accent);font-size:46px}@media (width<=520px){.managed-student form,.managed-runner>header{flex-direction:column}.managed-runner{padding:14px}.managed-runner>footer{bottom:5px}}.set-factors{margin:8px 0;padding:0;list-style:none}.set-factors li{border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.set-twostep ol{color:var(--text);gap:10px;margin:8px 0;padding-left:20px;display:grid}.set-twostep img{background:#fff;border-radius:8px;margin-top:8px;padding:6px}.set-twostep__key{font-family:var(--font-mono);word-break:break-all;background:var(--bg-hover);border-radius:6px;padding:2px 6px}.set-twostep input{width:140px;font:inherit;letter-spacing:.2em;border:1px solid var(--border);background:var(--bg-app);color:var(--text);border-radius:8px;margin-top:6px;padding:8px 10px;font-size:1.1rem;display:block}.set-twostep__actions{gap:8px;display:flex}.ex-layout{background:var(--bg-app);flex:1;min-height:0;display:flex;position:relative}.ex-sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;min-width:180px;max-width:45%;display:flex;overflow:hidden}.ex-toolbar{border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;padding:8px 10px}.ex-toolbar__row{align-items:center;gap:6px;display:flex}.ex-toolbar__title{letter-spacing:.08em;text-transform:uppercase;min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:700;overflow:hidden}.ex-toolbar__actions{gap:2px;display:flex}.ex-icon-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;padding:3px 6px;font-size:13px;line-height:1}.ex-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-bright)}.ex-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ex-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ex-toolbar__quota{color:var(--text-muted);margin-top:6px;font-size:10.5px}.ex-toolbar__quota--warn{color:var(--warning);font-weight:600}.ex-toolbar__progress{color:var(--accent);margin-top:6px;font-size:11px}.ex-progress{background:var(--bg-app);border-radius:999px;height:3px;margin-top:4px;overflow:hidden}.ex-progress__fill{background:var(--accent);height:100%;transition:width .3s}.ex-tree{flex:1;padding:4px 0;font-size:13px;overflow:auto}.ex-tree:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.ex-tree--empty{text-align:center;flex-direction:column;justify-content:center;padding:24px 16px;display:flex}.ex-empty__title{color:var(--text);margin:0 0 4px;font-size:13px}.ex-empty__hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.ex-row{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-left:2px solid #0000;align-items:center;gap:4px;padding:3px 8px 3px 0;display:flex}.ex-row:hover{background:var(--bg-hover)}.ex-row--active{background:var(--bg-elevated);border-left-color:var(--accent);color:var(--text-bright)}.ex-row--focused{outline:1px solid var(--accent);outline-offset:-1px}.ex-row--dropzone{border-left-color:var(--accent);background:#e877222e}.ex-row__chevron{width:12px;color:var(--text-muted);text-align:center;flex-shrink:0;font-size:9px}.ex-row__icon{flex-shrink:0;font-size:12px}.ex-row__name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ex-row__dirty{color:var(--accent);flex-shrink:0;font-size:9px}.ex-menu__backdrop{z-index:90;position:fixed;inset:0}.ex-menu{z-index:91;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:176px;box-shadow:var(--shadow);padding:4px;position:fixed}.ex-menu__item{text-align:left;width:100%;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;font-size:12.5px;display:flex}.ex-menu__item:hover{background:var(--accent);color:var(--bg-app)}.ex-menu__item--danger{color:var(--danger)}.ex-menu__item--danger:hover{background:var(--danger);color:var(--bg-app)}.ex-menu__key{opacity:.65;font-size:10.5px}.ex-menu__sep{background:var(--border);height:1px;margin:4px 6px}.ex-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ex-tabs{background:var(--bg-panel);border-bottom:1px solid var(--border);scrollbar-width:thin;flex-shrink:0;display:flex;overflow-x:auto}.ex-tab{max-width:200px;color:var(--text-muted);background:var(--bg-panel);border-right:1px solid var(--border);cursor:pointer;white-space:nowrap;border-top:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:7px 8px 7px 12px;font-size:12.5px;display:flex}.ex-tab:hover{background:var(--bg-hover)}.ex-tab--active{color:var(--text-bright);background:var(--bg-app);border-top-color:var(--accent)}.ex-tab__name{text-overflow:ellipsis;overflow:hidden}.ex-tab__close{width:16px;height:16px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.ex-tab__close:hover{background:var(--bg-hover);opacity:1}.ex-tab__dot{color:var(--accent);display:none}.ex-tab__x,.ex-tab--dirty .ex-tab__dot{display:inline}.ex-tab--dirty .ex-tab__x,.ex-tab--dirty .ex-tab__close:hover .ex-tab__dot{display:none}.ex-tab--dirty .ex-tab__close:hover .ex-tab__x{display:inline}.ex-editor{flex:1;min-height:0;overflow:hidden}.ex-editor .cm-editor{height:100%}.ex-runner{border-top:1px solid var(--border);background:var(--bg-panel);flex-direction:column;flex-shrink:0;max-height:45%;display:flex}.ex-runner__bar{flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;display:flex}.ex-runner__engine,.ex-runner__status,.ex-runner__time{color:var(--text-muted);font-size:11px}.ex-runner__out{border-top:1px solid var(--border);padding:0 12px 10px;overflow:auto}.ex-runner__note{color:var(--text-muted);margin:8px 0 0;font-size:11px}.ex-runner__stdout,.ex-runner__error{border-radius:var(--radius-sm);background:var(--bg-app);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:8px 0 0;padding:8px 10px;font-size:12px}.ex-runner__error{color:var(--danger);border:1px solid var(--danger)}.ex-runner__img{border-radius:var(--radius-sm);max-width:100%;margin:10px 0 0;display:block}.ex-runner__empty{color:var(--text-muted);margin:10px 0 0;font-size:12px}.ex-statusbar{color:var(--text-muted);background:var(--bg-panel);border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:4px 12px;font-size:11px;display:flex}.ex-statusbar__path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ex-statusbar__spacer{flex:1}.ex-statusbar__error{color:var(--danger)}.ex-statusbar__state{color:var(--text)}.ex-statusbar__lang{text-transform:lowercase}.ex-status{color:var(--text-muted);text-align:center;padding:24px;font-size:13px}.ex-welcome{flex:1;max-width:640px;padding:40px 32px;overflow:auto}.ex-welcome__title{color:var(--text-bright);margin:0 0 10px;font-size:20px}.ex-welcome__text{color:var(--text);margin:0 0 16px;font-size:13.5px;line-height:1.7}.ex-welcome__text code{font-family:var(--font-mono);background:var(--bg-elevated);border-radius:3px;padding:1px 5px;font-size:12px}.ex-welcome__list{color:var(--text-muted);margin:0 0 18px;padding-left:20px;font-size:13px;line-height:2}.ex-welcome__list kbd{font-family:var(--font-mono);color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;margin:0 1px;padding:1px 5px;font-size:11px;display:inline-block}.ex-welcome__limits{color:var(--text-muted);font-size:12px}.ex-dropzone{z-index:40;border:2px dashed var(--accent);border-radius:var(--radius);pointer-events:none;background:#1e1e1edb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ex-dropzone__inner{color:var(--accent);font-size:16px;font-weight:600}.ex-dialog__backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ex-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:20px}.ex-dialog__title{color:var(--text-bright);margin:0 0 12px;font-size:15px}.ex-dialog__label{color:var(--text-muted);margin-bottom:6px;font-size:12px;display:block}.ex-dialog__message{color:var(--text);margin:0 0 16px;font-size:13px;line-height:1.6}.ex-dialog__input{width:100%;font-family:var(--font-mono);color:var(--text-bright);background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.ex-dialog__input:focus{border-color:var(--accent);outline:none}.ex-dialog__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=760px){.ex-layout{flex-direction:column}.ex-sidebar{border-right:none;border-bottom:1px solid var(--border);max-width:none;max-height:38vh;width:100%!important}.ex-layout>.resize-handle-h{display:none}.ex-welcome{padding:24px 18px}.ex-tab{max-width:140px}}@media (prefers-reduced-motion:reduce){.ex-progress__fill{transition:none}}.ex-icon-btn{justify-content:center;align-items:center;display:inline-flex}.ex-icon-btn svg{display:block}.ex-viewer{background:var(--bg-panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ex-viewer--error{align-items:flex-start;gap:10px;padding:24px}.ex-viewer__bar{border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.ex-viewer__title{color:var(--text-bright);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ex-viewer__meta{margin-left:auto}.ex-viewer__badge{border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:11px}.ex-viewer__sheets{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:6px 12px;display:flex;overflow-x:auto}.ex-viewer__sheet{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:var(--transition);background:0 0;padding:3px 10px;font-size:12px}.ex-viewer__sheet:hover{background:var(--bg-hover);color:var(--text)}.ex-viewer__sheet--active{background:var(--accent);border-color:var(--accent);color:#fff}.ex-viewer__scroll{flex:1;min-height:0;overflow:auto}.ex-viewer__note{border-top:1px solid var(--border);color:var(--text-muted);flex-shrink:0;margin:0;padding:6px 12px;font-size:12px}.ex-table{border-collapse:collapse;font-size:12.5px;font-family:var(--font-mono);white-space:nowrap}.ex-table th,.ex-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;padding:4px 12px}.ex-table thead th{z-index:1;background:var(--bg-elevated);color:var(--text-bright);font-weight:600;position:sticky;top:0}.ex-table td{color:var(--text)}.ex-table tbody tr:hover td{background:var(--bg-hover)}.ex-table__rownum{z-index:2;background:var(--bg-elevated);color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;position:sticky;left:0}.ex-table thead .ex-table__rownum{z-index:3}.ex-status--error{color:var(--danger)}.pv-tabs{border-bottom:1px solid var(--border);gap:4px;margin:20px 0 18px;display:flex;overflow-x:auto}.pv-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px;font-weight:600}.pv-tab:hover{color:var(--text)}.pv-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.pv-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pv-empty{text-align:center;color:var(--text-muted);background:var(--bg-app);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:28px 20px;font-size:13px;line-height:1.7}.pv-note{color:var(--text-muted);margin:10px 0 0;font-size:11.5px}.pv-metrics{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.pv-metric{text-align:center;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.pv-metric__v{color:var(--text-bright);font-size:18px;font-weight:700;display:block}.pv-metric__l{color:var(--text-muted);margin-top:3px;font-size:11px;display:block}.pv-radar{flex-direction:column;align-items:center;display:flex}.pv-radar__svg{width:100%;max-width:380px;height:auto}.pv-radar__ring{fill:none;stroke:var(--border);stroke-width:1px}.pv-radar__axis{stroke:var(--border);stroke-width:1px}.pv-radar__area{fill:#e8772238;stroke:var(--accent);stroke-width:2px}.pv-radar__dot{fill:var(--accent);cursor:pointer;transition:r .12s}.pv-radar__dot--on{fill:var(--text-bright)}.pv-radar__label{fill:var(--text-muted);cursor:default;font-size:9px}.pv-radar__label--unmeasured{fill:var(--border);font-style:italic}.pv-radar__readout{min-height:18px;color:var(--text-muted);text-align:center;margin-top:10px;font-size:12px}.pv-mastery__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pv-mastery__legend{gap:6px;display:flex}.pv-chip{color:var(--bg-app);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.pv-chip--strong{background:var(--success)}.pv-chip--good{background:#7cb342}.pv-chip--fair{background:var(--warning)}.pv-chip--weak{background:var(--danger)}.pv-mastery__toggle{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:3px 10px;font-size:11.5px}.pv-mastery__toggle:hover{color:var(--text-bright);border-color:var(--accent)}.pv-mastery__group{margin-bottom:20px}.pv-mastery__title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-size:11.5px;font-weight:700}.pv-mastery__list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pv-topic{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.pv-topic--unmeasured{opacity:.55}.pv-topic__row{justify-content:space-between;gap:8px;font-size:12.5px;display:flex}.pv-topic__name{color:var(--text)}.pv-topic__value{color:var(--text-bright);font-variant-numeric:tabular-nums;font-weight:600}.pv-topic--unmeasured .pv-topic__value{color:var(--text-muted);font-size:11px;font-style:italic;font-weight:400}.pv-topic__bar{background:var(--bg-panel);border-radius:999px;height:5px;margin-top:7px;overflow:hidden}.pv-topic__fill{border-radius:999px;height:100%;transition:width .5s}.pv-topic__fill--strong{background:var(--success)}.pv-topic__fill--good{background:#7cb342}.pv-topic__fill--fair{background:var(--warning)}.pv-topic__fill--weak{background:var(--danger)}.pv-topic__fill--none{background:0 0}.pv-topic__meta{color:var(--text-muted);margin-top:5px;font-size:10.5px}.pv-trend__svg{width:100%;height:auto}.pv-trend__grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.pv-trend__tick{fill:var(--text-muted);font-size:9px}.pv-trend__line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pv-trend__legend{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pv-trend__chip{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.pv-trend__chip--on{color:var(--text-bright);border-color:var(--accent)}.pv-trend__swatch{border:1px solid var(--border);border-radius:50%;width:8px;height:8px}.pv-trend__note{color:var(--text-muted);margin:10px 0 0;font-size:11px}.pv-usage{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pv-usage__row{grid-template-columns:150px 1fr 56px;align-items:center;gap:10px;font-size:12.5px;display:grid}.pv-usage__label{color:var(--text)}.pv-usage__bar{background:var(--bg-app);border-radius:999px;height:6px;overflow:hidden}.pv-usage__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .5s;display:block}.pv-usage__fill--warn{background:var(--warning)}.pv-usage__value{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.pv-recs{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.pv-rec{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);border-left-width:3px;padding:14px 16px}.pv-rec--focus{border-left-color:var(--warning)}.pv-rec--strong{border-left-color:var(--success)}.pv-rec--path{border-left-color:var(--accent);grid-column:1/-1}.pv-rec__title{color:var(--text-bright);margin:0 0 10px;font-size:13px}.pv-rec__list{color:var(--text);margin:0 0 12px;padding-left:18px;font-size:12.5px;line-height:1.9}.pv-rec__meta{color:var(--text-muted);font-size:11.5px}.pv-path{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pv-path__step{align-items:flex-start;gap:10px;display:flex}.pv-path__marker{width:22px;height:22px;color:var(--bg-app);background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pv-path__step--done .pv-path__marker{background:var(--success)}.pv-path__step--pending .pv-path__marker{background:var(--border);color:var(--text-muted)}.pv-path__topic{color:var(--text-bright);font-size:13px}.pv-path__why{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.6}.pv-history{overflow-x:auto}.pv-table{border-collapse:collapse;width:100%;min-width:560px;font-size:12.5px}.pv-table__caption{text-align:left;color:var(--text-muted);padding-bottom:10px;font-size:11.5px}.pv-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px}.pv-table td{border-bottom:1px solid var(--border);color:var(--text);padding:8px 10px}.pv-table tbody tr:hover{background:var(--bg-hover)}.pv-status{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.pv-status--solved{background:var(--success-bg);color:var(--success)}.pv-status--partial{color:var(--warning);background:#dcdcaa24}.pv-status--failed{background:var(--danger-bg);color:var(--danger)}.pv-status--error{color:var(--danger);background:#f487711a}.pv-status--skipped{background:var(--bg-elevated);color:var(--text-muted)}.pv-history__open{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.pv-history__open:hover{text-decoration:underline}.pv-timeline{margin:0;padding:0;list-style:none}.pv-timeline__day{margin-bottom:18px}.pv-timeline__label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.pv-timeline__items{border-left:1px solid var(--border);margin:0;padding:0 0 0 6px;list-style:none}.pv-timeline__item{align-items:center;gap:10px;padding:5px 0 5px 14px;font-size:12.5px;display:flex;position:relative}.pv-timeline__dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;position:absolute;left:-4px}.pv-timeline__item--solved .pv-timeline__dot{background:var(--success)}.pv-timeline__item--failed .pv-timeline__dot{background:var(--danger)}.pv-timeline__item--partial .pv-timeline__dot{background:var(--warning)}.pv-timeline__item--error .pv-timeline__dot{background:var(--danger);opacity:.55}.pv-timeline__text{color:var(--text);flex:1}.pv-timeline__time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}@media (width<=640px){.pv-usage__row{grid-template-columns:110px 1fr 48px;font-size:11.5px}.pv-mastery__list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pv-topic__fill,.pv-usage__fill,.pv-radar__dot{transition:none}}.ai-launcher{z-index:900;border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow);transition:transform var(--transition), background var(--transition);border-radius:50%;font-size:1.4rem;position:fixed;bottom:24px;right:24px}.ai-launcher:hover{background:var(--accent-hover);transform:scale(1.08)}.ai-panel{z-index:950;background:var(--bg-panel);border-left:1px solid var(--border);width:min(420px,100vw);box-shadow:var(--shadow);flex-direction:column;animation:.18s ai-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes ai-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.ai-panel__header{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:8px;padding:12px 14px;display:flex}.ai-panel__title{color:var(--text-bright);flex:1;font-weight:600}.ai-panel__model{color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem}.ai-panel__lang{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.ai-panel__icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 6px;font-size:1rem}.ai-panel__icon-btn:hover{color:var(--text-bright);background:var(--bg-hover)}.ai-panel__body{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.ai-panel__empty{color:var(--text-muted);padding:8px 4px;font-size:.88rem;line-height:1.5}.ai-msg{border-radius:var(--radius);overflow-wrap:break-word;max-width:92%;padding:8px 12px;font-size:.88rem;line-height:1.5}.ai-msg--user{color:var(--text-bright);background:#e8772229;border:1px solid #e8772259;align-self:flex-end}.ai-msg--assistant{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);align-self:flex-start}.ai-msg--error{border-color:var(--danger)}.ai-msg--thinking{color:var(--text-muted);font-style:italic}.ai-msg__text{white-space:pre-wrap;margin:0 0 6px}.ai-msg__text:last-child{margin-bottom:0}.ai-msg__inline-code,.ai-msg__code{font-family:var(--font-mono);background:var(--bg-app);border-radius:var(--radius-sm);font-size:.82rem}.ai-msg__inline-code{padding:1px 5px}.ai-msg__code-wrap{margin:6px 0}.ai-msg__code{border:1px solid var(--border);margin:0;padding:10px;overflow-x:auto}.ai-msg__insert,.ai-msg__open-question{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;margin-top:6px;padding:4px 10px;font-size:.78rem}.ai-msg__insert:hover,.ai-msg__open-question:hover:not(:disabled){background:var(--accent);color:#fff}.ai-msg__open-question:disabled{opacity:.5;cursor:default}.ai-msg__retry{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;margin-top:6px;padding:4px 10px;font-size:.78rem}.ai-msg__retry:hover:not(:disabled){border-color:var(--accent);color:var(--text-bright)}.ai-msg__retry:disabled{opacity:.5;cursor:default}.ai-panel__cooldown{border:1px solid var(--warning,#d97706);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warning,#d97706) 12%, transparent);color:var(--text);margin:8px 14px 0;padding:8px 10px;font-size:.78rem;line-height:1.45}.ai-panel__quick{flex-wrap:wrap;gap:6px;padding:8px 14px 0;display:flex}.ai-panel__quick-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:border-color var(--transition), color var(--transition);border-radius:999px;padding:4px 10px;font-size:.76rem}.ai-panel__quick-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-bright)}.ai-panel__quick-btn:disabled{opacity:.5;cursor:default}.ai-panel__input-row{gap:8px;padding:10px 14px 14px;display:flex}.ai-panel__input{resize:none;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);flex:1;max-height:120px;padding:9px 12px;font-size:.88rem;line-height:1.4}.ai-panel__input:focus{border-color:var(--accent);outline:none}.ai-panel__send{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;width:40px;transition:background var(--transition);border:none;font-size:.95rem}.ai-panel__send:hover:not(:disabled){background:var(--accent-hover)}.ai-panel__send:disabled{opacity:.5;cursor:default}.ai-settings-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.ai-modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ai-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100vw - 32px);box-shadow:var(--shadow);padding:20px}.ai-settings{flex-direction:column;gap:8px;display:flex}.ai-settings__title{color:var(--text-bright);margin:0 0 2px;font-size:1rem}.ai-settings__hint{color:var(--text-muted);margin:0 0 6px;font-size:.8rem;line-height:1.5}.ai-settings__hint a{color:var(--accent)}.ai-settings__status{color:var(--success);background:var(--success-bg);border-radius:var(--radius-sm);padding:6px 10px;font-size:.82rem}.ai-settings__label{color:var(--text-muted);margin-top:4px;font-size:.78rem}.ai-settings__input{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font-size:.86rem}.ai-settings__input:focus{border-color:var(--accent);outline:none}.ai-settings__error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:6px 10px;font-size:.8rem}.ai-settings__saved{color:var(--success);font-size:.8rem}.ai-settings__actions{gap:8px;margin-top:8px;display:flex}.ai-settings__btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition);padding:7px 14px;font-size:.84rem}.ai-settings__btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.ai-settings__btn--primary:hover:not(:disabled){background:var(--accent-hover)}.ai-settings__btn--danger{color:var(--danger);border-color:var(--danger);background:0 0}.ai-settings__btn--danger:hover:not(:disabled){background:var(--danger-bg)}.ai-settings__btn:disabled{opacity:.6;cursor:default}.ai-generated-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 4px;font-size:.76rem;display:flex}.ai-generated-header__btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;text-transform:none;letter-spacing:normal;background:0 0;border-radius:999px;padding:2px 10px;font-size:.74rem}.ai-generated-header__btn:hover:not(:disabled){background:var(--accent);color:#fff}.ai-generated-header__btn:disabled{opacity:.6;cursor:default}@media (width<=640px){.ai-panel{width:100vw}}.air{border-top:1px solid var(--border)}.air__bar{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.air__link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.air__score{border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:700}.air__score--good{background:var(--success-bg);color:var(--success)}.air__score--fair{color:var(--warning);background:#dcdcaa24}.air__score--poor{background:var(--danger-bg);color:var(--danger)}.air__error{margin:0 12px 10px;font-size:12.5px}.air__body{padding:0 12px 14px}.air__summary{color:var(--text);background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.65}.air__grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.air__card{background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.air__card--wide{grid-column:1/-1;margin-top:12px}.air__card-title{color:var(--text-bright);justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:12.5px;display:flex}.air__verdict{border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:700}.air__verdict--correct{background:var(--success-bg);color:var(--success)}.air__verdict--partially_correct{color:var(--warning);background:#dcdcaa24}.air__verdict--incorrect{background:var(--danger-bg);color:var(--danger)}.air-block{margin-bottom:10px}.air-block__title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:10.5px;font-weight:700}.air-list{color:var(--text);margin:0;padding-left:18px;font-size:12.5px;line-height:1.75}.air-none{color:var(--text-muted);margin:0;font-size:12px;font-style:italic}.air__complexity{grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 10px;font-size:12.5px;display:grid}.air__complexity dt{color:var(--text-muted)}.air__complexity dd{color:var(--text-bright);font-family:var(--font-mono);margin:0;font-size:12px}.air__practices{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.air__practice{border-left:2px solid var(--border);padding-left:12px}.air__practice-point{color:var(--text-bright);font-size:13px;font-weight:600}.air__practice-why{color:var(--text-muted);margin-top:3px;font-size:12.5px;line-height:1.6}.air__diff{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px;display:grid}.air__diff-side{min-width:0}.air__diff-label{text-transform:uppercase;letter-spacing:.05em;color:var(--danger);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.air__diff-side--after .air__diff-label{color:var(--success)}.air__diff pre{font-family:var(--font-mono);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-x:auto}.rep-picker{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.rep-picker__label{color:var(--text-muted);font-size:12px}.rep-picker__select{color:var(--text-bright);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}.rep-picker__status{color:var(--accent);font-size:12.5px}.rep{flex-direction:column;gap:16px;display:flex}.rep-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.rep-score{align-items:center;gap:20px;margin-bottom:12px;display:flex}.rep-score__big{color:var(--accent);font-size:44px;font-weight:800;line-height:1}.rep-score__detail{color:var(--text);font-size:13px}.rep-score__diff{color:var(--text-muted);margin-top:4px;font-size:12.5px;line-height:1.6}.rep-summary{color:var(--text);margin:0;font-size:13.5px;line-height:1.75}.rep-subhead{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px;font-size:12px}.rep-weeks{color:var(--text-muted);font-size:11px;font-weight:400}.rep-recs{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rep-rec{background:var(--bg-app);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:10px 12px}.rep-rec__focus{color:var(--text-bright);font-size:13px;font-weight:600}.rep-rec__why{color:var(--text-muted);margin-top:3px;font-size:12.5px;line-height:1.6}.rep-rec__action{color:var(--accent);margin-top:6px;font-size:12.5px}.rep-readiness{align-items:center;gap:14px;margin-bottom:10px;display:flex}.rep-readiness__level{color:var(--text-bright);font-size:17px;font-weight:700}.rep-meter{gap:3px;display:flex}.rep-meter__seg{background:var(--bg-app);border:1px solid var(--border);border-radius:999px;width:26px;height:7px}.rep-meter__seg--on{background:var(--accent);border-color:#0000}.rep-rationale{color:var(--text);margin:0;font-size:13px;line-height:1.7}.rep-disclaimer{color:var(--text-muted);background:var(--bg-app);border:1px dashed var(--border);border-radius:var(--radius-sm);margin:16px 0 0;padding:10px 12px;font-size:12px;line-height:1.65}.set-kv{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:13px;display:grid}.set-kv dt{color:var(--text-muted)}.set-kv dd{color:var(--text-bright);margin:0}.set-status{background:var(--bg-app);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.set-status--on{border-left-color:var(--success)}.set-status--off{border-left-color:var(--text-muted)}.set-status__dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px}.set-status--on .set-status__dot{background:var(--success)}.set-status__text{color:var(--text-bright)}.set-status__model{color:var(--text-muted);font-size:11.5px;font-family:var(--font-mono);margin-left:auto}.set-reason{color:var(--warning);margin:0 0 12px;font-size:12.5px;line-height:1.6}.set-features{flex-direction:column;gap:5px;margin:0 0 16px;padding:0;list-style:none;display:flex}.set-feature{color:var(--text-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.set-feature--on{color:var(--text)}.set-feature__mark{width:14px;color:var(--danger)}.set-feature--on .set-feature__mark{color:var(--success)}.set-feature__state{margin-left:auto;font-size:11px}.set-keybox{margin:14px 0}.set-note{color:var(--text-muted);margin:10px 0 0;font-size:12px;line-height:1.7}.set-actions{gap:8px;margin-top:14px;display:flex}.set-delete-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:680px;margin:16px 0;display:grid}.set-delete-fields label{color:var(--text-muted);gap:6px;font-size:13px;font-weight:600;display:grid}.set-delete-fields input{width:100%;min-width:0;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border);font:inherit;border-radius:8px;padding:10px 12px}.set-delete-fields input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.set-delete-fields{grid-template-columns:1fr}.rep-score{flex-direction:column;align-items:flex-start;gap:8px}.rep-score__big{font-size:34px}.air__diff{grid-template-columns:1fr}}.ai-cta{border:1px solid var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 12%, transparent);width:calc(100% - 24px);color:var(--text-bright);text-align:left;cursor:pointer;transition:var(--transition);align-items:center;gap:10px;margin:10px 12px 4px;padding:9px 12px;display:flex}.ai-cta:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 22%, transparent)}.ai-cta:disabled{opacity:.75;cursor:default}.ai-cta__spark{flex-shrink:0;font-size:16px}.ai-cta__body{flex-direction:column;gap:1px;min-width:0;display:flex}.ai-cta__title{font-size:13px;font-weight:600}.ai-cta__sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ai-generated-header__count{background:var(--bg-elevated);color:var(--text-muted);border-radius:999px;padding:0 7px;font-size:.72rem}.ai-panel__model--out{color:var(--danger);border-color:var(--danger)}.tour{z-index:10000;position:fixed;inset:0}.tour__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000b3;position:absolute;inset:0}.tour__hole{outline:2px solid var(--accent,#e87722);outline-offset:2px;pointer-events:none;border-radius:10px;transition:top .22s,left .22s,width .22s,height .22s;position:absolute;box-shadow:0 0 0 9999px #000000b3}.tour__card{box-sizing:border-box;border:1px solid var(--border,#333);background:var(--bg-panel,#1a1a2e);text-align:center;border-radius:14px;padding:20px 22px 16px;transition:top .22s,left .22s;animation:.2s tour-in;position:absolute;box-shadow:0 24px 60px #00000080}.tour__card:focus{outline:none}@keyframes tour-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour__dots{justify-content:center;gap:5px;margin-bottom:16px;display:flex}.tour__dot{background:var(--border,#444);border-radius:4px;width:7px;height:7px;transition:all .2s}.tour__dot--on{background:var(--accent,#e87722);width:20px}.tour__title{color:var(--text-bright,#fff);margin:0 0 8px;font-size:17px;font-weight:700}.tour__body{color:var(--text,#b0b0c0);margin:0 0 18px;font-size:14px;line-height:1.6}.tour__actions{gap:8px;display:flex}.tour__btn{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;padding:10px 14px;font-size:14px;font-weight:600}.tour__btn--primary{background:var(--accent,#e87722);color:#fff}.tour__btn--primary:hover{filter:brightness(1.08)}.tour__btn--ghost{border-color:var(--border,#333);color:var(--text-muted,#888);background:0 0;flex:none}.tour__btn--ghost:hover{color:var(--text-bright,#fff)}.tour__foot{align-items:center;gap:12px;margin-top:12px;display:flex}.tour__count{color:var(--text-muted,#666);margin-right:auto;font-size:11px}.tour__link{color:var(--text-muted,#666);cursor:pointer;background:0 0;border:none;padding:2px;font-size:12px;text-decoration:underline}.tour__link:hover{color:var(--text-bright,#fff)}@media (width<=480px){.tour__card{padding:18px 16px 14px}}@media (prefers-reduced-motion:reduce){.tour__hole,.tour__card{transition:none;animation:none}}.landing{--landing-bg:#081321;--landing-panel:#111f30;--landing-line:#dee8f51f;--landing-text:#f7f8fb;--landing-muted:#b8c5d4;min-height:100vh;color:var(--landing-text);background:var(--landing-bg);overflow-x:clip}.landing h1,.landing h2,.landing h3{color:var(--landing-text)}.landing__nav{z-index:4;border-bottom:1px solid var(--landing-line);background:color-mix(in srgb, var(--landing-bg) 88%, transparent);width:100%;-webkit-backdrop-filter:blur(var(--control-blur));backdrop-filter:blur(var(--control-blur));padding:14px clamp(20px,4vw,72px);position:relative}.landing__brand{color:var(--landing-text);align-items:center;gap:10px;display:inline-flex}.landing__brand:hover{text-decoration:none}.landing__brand strong,.landing__brand small{line-height:1.1;display:block}.landing__brand strong{letter-spacing:-.025em;font-size:19px}.landing__brand small{color:var(--landing-muted);margin-top:4px;font-size:11px}.landing__nav-links{align-items:center;gap:clamp(15px,2vw,35px);margin-left:auto;display:flex}.landing__nav-links a{color:var(--landing-muted);font-size:13px}.landing__nav-links a:hover{color:var(--landing-text)}.landing__nav-actions{margin-left:clamp(12px,3vw,48px)}.landing .btn{min-height:41px;padding-inline:18px;font-weight:650}.landing .btn--secondary,.landing .btn--ghost{color:var(--landing-text);border-color:var(--landing-line);background:#ffffff0f}.landing .btn--primary{color:var(--brand-ink)}.landing__hero{text-align:left;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(30px,4vw,80px);max-width:none;min-height:min(790px,100svh - 74px);padding:clamp(70px,9vw,140px) clamp(24px,6vw,110px);display:grid;position:relative}.landing__hero:before{content:"";z-index:-2;background:radial-gradient(circle at 79% 45%, var(--accent-dim), transparent 38%), linear-gradient(var(--landing-line) 1px, transparent 1px), linear-gradient(90deg, var(--landing-line) 1px, transparent 1px);opacity:.42;background-size:auto,78px 78px,78px 78px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 19% 70%,#0000);mask-image:linear-gradient(#0000,#000 19% 70%,#0000)}.landing__hero:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--landing-bg) 1%, transparent 75%);position:absolute;inset:0}.landing__hero-copy{max-width:660px}.landing__eyebrow,.landing__section-kicker{color:var(--accent-hover);letter-spacing:.17em;font-size:12px;font-weight:750}.landing__eyebrow{letter-spacing:.08em;align-items:center;gap:10px;margin-bottom:26px;display:flex}.landing__signal{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 6px var(--accent-dim);border-radius:50%}.landing__title{letter-spacing:-.022em;max-width:820px;margin:0 0 28px;font-size:clamp(44px,4.7vw,84px);font-weight:700;line-height:1.04}.landing__title em{color:var(--accent);font-style:normal;display:block}.landing__sub{max-width:590px;color:var(--landing-muted);margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.7}.landing__cta{justify-content:flex-start;margin-top:36px}.landing__cta .btn{min-height:54px;padding-inline:23px}.landing__microcopy{color:var(--landing-muted);margin-top:20px;font-size:12px}.landing__hero-art{place-items:center;min-height:500px;display:grid;position:relative}.landing__hero-art img{z-index:2;filter:drop-shadow(0 28px 35px #00000042);width:min(100%,560px);height:auto;animation:7s ease-in-out infinite hero-float;position:relative}.landing__orbit{aspect-ratio:1;border:1px solid var(--landing-line);border-radius:50%;width:min(92%,480px);position:absolute}.landing__orbit--outer{width:min(110%,630px)}.landing__orbit--inner{box-shadow:0 0 90px var(--accent-dim)}.landing__art-label{z-index:3;border:1px solid var(--landing-line);color:var(--landing-muted);font:700 10px var(--font-mono);letter-spacing:.08em;-webkit-backdrop-filter:blur(var(--control-blur));backdrop-filter:blur(var(--control-blur));background:#111f30c7;border-radius:999px;padding:9px 14px;position:absolute}.landing__art-label--top{top:10%;right:3%}.landing__art-label--bottom{bottom:12%;left:0}@keyframes hero-float{50%{transform:translateY(-12px)}}.landing__section{width:calc(100% - 48px);max-width:1280px;margin:0 auto;padding-block:clamp(72px,8vw,130px)}.landing__section-heading{max-width:770px}.landing__section h2,.landing__closing h2{letter-spacing:-.02em;margin:16px 0;font-size:clamp(35px,4vw,60px);line-height:1.1}.landing__section p{color:var(--landing-muted);font-size:16px;line-height:1.7}.landing__steps{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;display:grid}.landing__step{border:1px solid var(--landing-line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--control-blur));backdrop-filter:blur(var(--control-blur));background:linear-gradient(155deg,#ffffff14,#ffffff05);padding:clamp(22px,3vw,38px)}.landing__step>span{color:var(--accent);font:700 14px var(--font-mono);margin-bottom:30px;display:inline-block}.landing__step h3{margin-bottom:10px;font-size:23px}.landing__workspace{border-top:1px solid var(--landing-line);grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,100px);display:grid}.landing__workspace-copy ul{color:var(--landing-text);gap:15px;margin-top:26px;list-style:none;display:grid}.landing__workspace-copy li:before{content:"✓";color:var(--accent);margin-right:12px;font-weight:800}.landing__workspace-visual{border:1px solid var(--landing-line);border-radius:var(--radius-lg);background:var(--landing-panel);overflow:hidden;transform:rotate(1deg);box-shadow:0 28px 70px #00000045}.landing__visual-top{border-bottom:1px solid var(--landing-line);align-items:center;gap:6px;height:50px;padding:0 20px;display:flex}.landing__visual-top i{background:var(--accent);opacity:.8;border-radius:50%;width:8px;height:8px}.landing__visual-top i:nth-child(2){opacity:.5}.landing__visual-top i:nth-child(3){opacity:.25}.landing__visual-top span{color:var(--landing-muted);font:12px var(--font-mono);margin-left:auto}.landing__visual-body{color:var(--landing-text);font:clamp(11px, 1.4vw, 17px)/2.3 var(--font-mono);white-space:nowrap;padding:clamp(25px,4vw,52px) 25px}.landing__code-no{color:var(--landing-muted);margin-right:24px}.landing__code-key{color:var(--accent);font-weight:700}.landing__visual-result{border-radius:var(--radius-md);background:var(--accent-dim);color:var(--landing-text);font:14px var(--font-sans);margin-top:25px;padding:13px 18px}.landing__visual-result span{color:var(--accent);margin-right:9px}.landing__ai{border:1px solid var(--landing-line);border-radius:var(--radius-lg);background:linear-gradient(115deg, var(--landing-panel), color-mix(in srgb, var(--accent) 13%, var(--landing-panel)));justify-content:space-between;align-items:end;gap:40px;width:calc(100% - 48px);max-width:1280px;margin:0 auto;padding:clamp(45px,6vw,76px);display:flex}.landing__ai h2{max-width:750px}.landing__ai p{max-width:760px}.landing__ai .btn{flex-shrink:0}.landing__closing{text-align:center;padding:clamp(100px,11vw,160px) 24px}.landing__closing h2{margin-bottom:26px}.landing__footer{background:var(--landing-bg);border-top:1px solid var(--landing-line);width:100%;color:var(--landing-muted);justify-content:space-between;gap:18px;padding:24px clamp(24px,6vw,110px);display:flex}@media (width<=900px){.landing__nav-links{display:none}.landing__hero{grid-template-columns:1fr;padding-block:70px 45px}.landing__hero-art{min-height:390px}.landing__hero-art img{width:min(76%,400px)}.landing__workspace,.landing__steps{grid-template-columns:1fr}.landing__step>span{margin-bottom:12px}}@media (width<=600px){.landing__nav{padding:12px 18px}.landing__brand strong{font-size:17px}.landing__brand small{font-size:10px}.landing__nav-actions{gap:5px}.landing__nav-actions .btn{min-height:36px;padding:6px 10px;font-size:11px}.landing__hero{padding:67px 22px 42px}.landing__title{font-size:clamp(47px,12vw,65px)}.landing__hero-art{min-height:300px}.landing__art-label{font-size:8px}.landing__section{width:calc(100% - 40px)}.landing__ai{flex-direction:column;align-items:flex-start;width:calc(100% - 40px)}.landing__visual-body{overflow-x:auto}.landing__footer{text-align:left;flex-direction:column}}@media (prefers-reduced-motion:reduce){.landing__hero-art img{animation:none}}.landing__section-heading p a{text-underline-offset:3px;text-decoration:underline}:root{--on-accent:var(--brand-ink);--ease-out:cubic-bezier(.2, .8, .2, 1);--radius-pill:999px;--shell-max:1240px;--gutter:clamp(16px, 3vw, 32px)}[data-division=soil],[data-division=rebounce]{--on-accent:#fff}.app-shell{background:radial-gradient(1100px 560px at 6% -12%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 62%), radial-gradient(900px 520px at 104% 112%, color-mix(in srgb, var(--chart-2) 7%, transparent), transparent 60%), var(--bg-app)}.brand-logo--on-dark,:root[data-theme=dark] .brand-logo--on-light{display:none}:root[data-theme=dark] .brand-logo--on-dark{display:inline-block}.brand-logo-wrap,.brand-logo-wrap--navbar,.brand-logo-wrap--auth{box-shadow:none;background:0 0;border:0;width:auto;height:auto;padding:0;overflow:visible}.brand-logo--navbar{object-fit:contain;width:38px;max-width:none;height:38px}.brand-logo--auth{object-fit:contain;width:min(200px,70vw);height:auto;max-height:200px}.navbar{z-index:var(--z-sticky);padding:10px var(--gutter);background:color-mix(in srgb, var(--bg-elevated) 70%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);border-bottom:1px solid color-mix(in srgb, var(--border) 65%, transparent);view-transition-name:navbar;gap:16px;position:sticky;top:0}.navbar__title{letter-spacing:-.01em;font-size:15px;font-weight:700}.navbar__subtitle{font-size:11px}.navbar__center{min-width:0}.navbar__actions{align-items:center;gap:10px}.navbar__theme-toggle{border-radius:var(--radius-pill);height:34px;color:var(--text-muted);border:1px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.navbar__theme-toggle:hover{background:var(--bg-hover);color:var(--text-bright);border-color:var(--glass-border)}.navbar__avatar{width:34px;height:34px;color:var(--on-accent);background:linear-gradient(145deg, var(--accent-hover), var(--accent));box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.navbar__dropdown{background:color-mix(in srgb, var(--bg-elevated) 86%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);border:1px solid var(--glass-border);animation:pop-in .16s var(--ease-out);border-radius:14px;padding:6px;box-shadow:0 18px 48px #080f1c47}.navbar__dropdown-item{border-radius:9px}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.seg{isolation:isolate;scrollbar-width:none;border-radius:var(--radius-pill);background:var(--glass-surface);border:1px solid var(--glass-border);max-width:100%;box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);-webkit-backdrop-filter:blur(var(--control-blur)) saturate(150%);backdrop-filter:blur(var(--control-blur)) saturate(150%);align-items:center;gap:2px;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg__indicator{z-index:-1;width:var(--seg-w,0px);transform:translateX(var(--seg-x,0px));border-radius:var(--radius-pill);background:linear-gradient(180deg, var(--accent-hover), var(--accent));box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 34%, transparent), inset 0 1px 0 #ffffff57;position:absolute;top:4px;bottom:4px;left:0}.seg[data-animate=true] .seg__indicator{transition:transform .42s var(--ease-out), width .42s var(--ease-out)}.seg__item{border-radius:var(--radius-pill);color:var(--text-muted);letter-spacing:-.005em;white-space:nowrap;transition:color .22s var(--ease-out);background:0 0;border:0;flex-shrink:0;padding:7px 15px;font-size:13px;font-weight:600;position:relative}.seg__item:hover{color:var(--text-bright)}.seg__item[data-active=true]{color:var(--on-accent)}.seg__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg--sm{padding:3px}.seg--sm .seg__indicator{top:3px;bottom:3px}.seg--sm .seg__item{padding:5px 12px;font-size:12px}.subbar{padding:10px var(--gutter);border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent);align-items:center;gap:12px;display:flex}.subbar__hint{color:var(--text-muted);font-size:12px}.page-header{width:min(var(--shell-max), 100%);padding:28px var(--gutter) 12px;margin:0 auto}.page-header--compact{width:100%;padding:16px var(--gutter) 12px}.page-header__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header__text{min-width:0}.page-header__eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.page-header__title{letter-spacing:-.022em;font-size:clamp(22px,2.3vw,30px);font-weight:700;line-height:1.15}.page-header--compact .page-header__title{font-size:20px}.page-header__desc{max-width:68ch;color:var(--text-muted);margin-top:6px;font-size:14px;line-height:1.55}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.page-header__controls{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.btn{transition:background .18s, border-color .18s, color .18s, box-shadow .2s var(--ease-out), transform .2s var(--ease-out);border:1px solid #0000;border-radius:10px}.btn:active:not(:disabled){transform:translateY(0)scale(.985)}.btn--primary{color:var(--on-accent);background:linear-gradient(180deg, var(--accent-hover), var(--accent));border-color:color-mix(in srgb, var(--accent) 80%, black);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 28%, transparent), inset 0 1px 0 #ffffff4d}.btn--primary:hover:not(:disabled){color:var(--on-accent);background:linear-gradient(180deg, var(--accent-hover), var(--accent-hover));box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 36%, transparent), inset 0 1px 0 #ffffff4d;transform:translateY(-1px)}.btn--secondary{color:var(--text-bright);background:var(--glass-surface);border-color:var(--glass-border)}.btn--secondary:hover:not(:disabled){background:var(--glass-surface-hover);border-color:color-mix(in srgb, var(--accent) 45%, var(--glass-border))}.btn--ghost{color:var(--text-muted);background:0 0}.btn--ghost:hover:not(:disabled){color:var(--text-bright);background:var(--bg-hover)}.btn:disabled{opacity:.5;box-shadow:none;transform:none}.btn--sm{padding:.4rem .8rem;font-size:13px}.surface{border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);box-shadow:inset 0 1px #ffffff08,0 8px 28px #080f1c14}.surface--glass{background:var(--glass-surface);border-color:var(--glass-border);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%)}.session-banner,.toast{-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-radius:12px}.app-page-transition{view-transition-name:page}:root.has-vt .app-page-transition{animation:none}::view-transition-old(navbar){display:none}::view-transition-new(navbar){animation:none}::view-transition-old(page){animation:.14s ease-out both vt-out}::view-transition-new(page){animation:vt-in .24s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}.seg[data-animate=true] .seg__indicator{transition:none}}:root[data-motion=reduced] .seg[data-animate=true] .seg__indicator{transition:none}@media (width<=900px){.navbar{flex-wrap:wrap;row-gap:8px}.navbar__center{flex-basis:100%;order:3;justify-content:flex-start}.navbar__center .seg{width:100%}.navbar__brand-text .navbar__subtitle,.navbar__theme-label{display:none}}.empty-state{max-width:460px;padding:0 var(--gutter);text-align:center;justify-items:center;gap:10px;margin:clamp(40px,10vh,96px) auto;display:grid}.empty-state__icon{background:var(--accent-dim);width:52px;height:52px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:16px;place-items:center;margin-bottom:6px;font-size:22px;display:grid}.empty-state h2{letter-spacing:-.015em;font-size:19px}.empty-state p{color:var(--text-muted);font-size:14px;line-height:1.6}.empty-state .btn{margin-top:8px}.page-header--flush{width:100%;padding:4px 0 20px}.home{width:min(var(--shell-max), 100%);padding:clamp(28px, 6vh, 64px) var(--gutter) 64px;margin:0 auto}.home__hero{max-width:760px}.home__title{letter-spacing:-.035em;font-size:clamp(30px,4.2vw,48px);font-weight:750;line-height:1.06}.home__lede{color:var(--text-muted);margin-top:10px;font-size:16px;line-height:1.6}.home__actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.home__cta{min-height:42px;padding-inline:18px;font-size:14px}.home__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.home-tile{text-align:left;min-height:150px;color:var(--text);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);transition:transform .25s var(--ease-out), border-color .2s, box-shadow .25s var(--ease-out), background .2s;align-content:start;gap:8px;padding:20px;display:grid;position:relative}.home-tile:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-3px);box-shadow:0 16px 36px #080f1c29}.home-tile--feature{background:radial-gradient(420px 220px at 100% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--bg-panel);grid-column:span 2}.home-tile__glyph{width:34px;height:34px;color:var(--accent);background:var(--accent-dim);border-radius:10px;place-items:center;font-size:15px;display:grid}.home-tile__title{letter-spacing:-.01em;color:var(--text-bright);font-size:16px;font-weight:700}.home-tile--feature .home-tile__title{font-size:20px}.home-tile__text{color:var(--text-muted);max-width:42ch;font-size:13px;line-height:1.5}.home-tile__go{color:var(--text-muted);transition:transform .25s var(--ease-out), color .2s;position:absolute;top:18px;right:18px}.home-tile:hover .home-tile__go{color:var(--accent);transform:translate(3px)}@media (width<=980px){.home__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.home__grid{grid-template-columns:1fr}.home-tile--feature{grid-column:auto}}.home-strip{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;margin-top:28px;display:grid}.home-strip__item{border-radius:var(--radius-lg);background:var(--glass-surface);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);text-align:left;align-items:center;gap:12px;padding:14px 18px;display:flex}.home-strip__big{letter-spacing:-.03em;color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:26px;font-weight:750}.home-strip__label{color:var(--text-muted);font-size:13px}.home-strip__label strong{color:var(--text-bright)}.home-strip__next{grid-template-columns:1fr auto;row-gap:8px;display:grid}.home-strip__next .home-strip__bar{grid-column:1/-1}.home-strip__bar{background:var(--bg-hover);border-radius:99px;height:6px;display:block;overflow:hidden}.home-strip__bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width .6s var(--ease-out);display:block}.home-strip__count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}@media (width<=760px){.home-strip{grid-template-columns:1fr}}.page{background:radial-gradient(1100px 560px at 6% -12%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 62%), var(--bg-app);min-height:100vh}.home-scroll{background:0 0;flex:1;padding:0;overflow-y:auto}.practice-library__note{color:var(--text-muted);margin:0 0 16px;font-size:13px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton-page{width:min(var(--shell-max), 100%);padding:28px var(--gutter);flex:1;align-content:start;gap:12px;margin:0 auto;display:grid;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 0%, color-mix(in srgb, var(--bg-hover) 55%, var(--bg-panel)) 50%, var(--bg-hover) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer}.skeleton--eyebrow{width:90px;height:10px}.skeleton--title{width:min(360px,70%);height:26px}.skeleton--line{width:min(560px,90%);height:12px}.skeleton-page__panel{border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);gap:10px;margin-top:18px;padding:18px;display:grid}.skeleton--row{height:34px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.page-body{width:min(var(--shell-max), 100%);padding:8px var(--gutter) 64px;margin:0 auto}.assessment-shell--managed{background:0 0}.page-body .practice-library{max-width:none;margin:0;padding:0}.genai-shell .eyebrow,.practice-library .eyebrow,.practice-runner .eyebrow{color:var(--accent)}.onboarding__card{background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:20px;gap:18px;width:min(640px,100%);padding:clamp(24px,4vw,40px);display:grid;box-shadow:0 24px 60px #080f1c2e}.onboarding__steps{gap:6px;list-style:none;display:flex}.onboarding__steps li{background:var(--bg-hover);border-radius:99px;flex:1;height:4px;transition:background .3s}.onboarding__steps li.is-done,.onboarding__steps li.is-current{background:var(--accent)}.onboarding h1{letter-spacing:-.02em;font-size:clamp(22px,3vw,28px);line-height:1.2}.onboarding__lede{color:var(--text-muted);margin-top:6px;font-size:14px}.onboarding__sub{margin-top:22px;font-size:15px}.onboarding__choices{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:18px;display:grid}.onboarding__choices--two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{text-align:left;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);transition:border-color .18s, background .18s, box-shadow .2s var(--ease-out), transform .2s var(--ease-out);border-radius:12px;gap:3px;padding:14px 16px;display:grid}.choice strong{color:var(--text-bright);font-size:14px}.choice span{color:var(--text-muted);font-size:12px}.choice:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, var(--border));transform:translateY(-1px)}.choice.is-selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent) inset}.choice:disabled{opacity:.45;cursor:not-allowed}.onboarding__pills{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.pill.is-selected{border-color:var(--accent);background:var(--accent-dim);color:var(--text-bright)}.onboarding__error{color:var(--danger);font-size:13px}.onboarding__foot{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.onboarding__foot-right{gap:8px;display:flex}@media (width<=520px){.onboarding__choices--two{grid-template-columns:1fr}}.prefs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:12px 16px;display:grid}.prefs__field{color:var(--text-muted);gap:5px;font-size:12px;font-weight:600;display:grid}.prefs__field input,.prefs__field select{border:1px solid var(--border);background:var(--bg-elevated);height:36px;color:var(--text);font:inherit;border-radius:9px;padding:0 10px;font-size:13px;font-weight:500}.prefs__field input:focus,.prefs__field select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.achv-backdrop{z-index:var(--z-modal);background:color-mix(in srgb, var(--brand-ink) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:20px;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.achv-card{text-align:center;background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));width:min(380px,100%);animation:achv-pop .45s var(--ease-out);border-radius:22px;justify-items:center;gap:10px;padding:32px 26px 24px;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #080f1c59}.achv-glyph{width:72px;height:72px;color:var(--on-accent);background:linear-gradient(145deg, var(--accent-hover), var(--accent));box-shadow:0 12px 30px color-mix(in srgb, var(--accent) 45%, transparent);border-radius:22px;place-items:center;font-size:32px;display:grid}.achv-kicker{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.achv-card h2{letter-spacing:-.02em;font-size:22px}.achv-note{color:var(--text-muted);font-size:12px}.achv-list{flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 6px;list-style:none;display:flex}.achv-list li{background:var(--accent-dim);border-radius:99px;padding:5px 10px;font-size:12px;font-weight:600}.achv-card .btn{min-width:160px;margin-top:8px}.achv-burst{pointer-events:none;position:absolute;inset:0}.achv-burst i{background:var(--accent);width:6px;height:12px;transform:rotate(calc(var(--i) * 30deg)) translateY(0);animation:achv-spark .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * 12ms);opacity:0;border-radius:2px;position:absolute;top:70px;left:50%}.achv-burst i:nth-child(3n){background:var(--chart-2)}.achv-burst i:nth-child(3n+1){background:var(--chart-3)}@keyframes achv-pop{0%{opacity:0;transform:scale(.9)translateY(10px)}}@keyframes achv-spark{0%{opacity:1;transform:rotate(calc(var(--i) * 30deg)) translateY(0)}to{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(-120px)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.achv-burst{display:none}.achv-card,.achv-backdrop{animation:none}}:root[data-motion=reduced] .achv-burst{display:none}.badges{gap:16px;margin-bottom:20px;padding:20px;display:grid}.badges__head{justify-content:space-between;align-items:baseline;display:flex}.badges__head h2{font-size:17px}.badges__count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.badges__group h3{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.badges__group ul{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;list-style:none;display:grid}.badge-chip{border:1px dashed var(--border);background:color-mix(in srgb, var(--bg-elevated) 60%, transparent);opacity:.78;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:12px;display:grid}.badge-chip.is-earned{opacity:1;border-style:solid;border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-dim)}.badge-chip__glyph{background:var(--bg-hover);width:34px;height:34px;color:var(--text-muted);border-radius:10px;grid-row:span 3;place-items:center;font-size:15px;display:grid}.badge-chip.is-earned .badge-chip__glyph{background:linear-gradient(145deg, var(--accent-hover), var(--accent));color:var(--on-accent)}.badge-chip__name{color:var(--text-bright);font-size:13px;font-weight:700}.badge-chip__meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.badge-chip__bar{background:var(--bg-hover);border-radius:99px;height:4px;display:block;overflow:hidden}.badge-chip__bar>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.public-profile{color:#f7f8fb;--text:#f7f8fb;--text-bright:#fff;--text-muted:#b8c5d4;--bg-hover:#ffffff14;--bg-elevated:#111f30;--border:#dee8f524;background:#081321;min-height:100vh}.public-profile__bar{padding:14px var(--gutter);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.public-profile__brand{color:#fff;align-items:center;gap:10px;display:inline-flex}.public-profile__brand:hover{text-decoration:none}.public-profile__body{width:min(880px,100%);padding:40px var(--gutter) 80px;gap:28px;margin:0 auto;display:grid}.public-profile__hero{align-items:center;gap:18px;display:flex}.public-profile__avatar{width:64px;height:64px;color:var(--brand-ink);background:linear-gradient(145deg, var(--accent-hover), var(--accent));border-radius:20px;place-items:center;font-size:26px;font-weight:800;display:grid}.public-profile__hero h1{color:#fff;letter-spacing:-.02em;font-size:clamp(26px,4vw,36px)}.public-profile__hero p,.public-profile__muted{color:var(--text-muted);font-size:14px}.public-profile__stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.public-profile__stats div{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;gap:2px;padding:16px;display:grid}.public-profile__stats strong{color:#fff;font-variant-numeric:tabular-nums;font-size:24px}.public-profile__stats span{color:var(--text-muted);font-size:12px}.public-profile__badges h2{color:#fff;margin-bottom:12px;font-size:17px}.public-profile__badges ul{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;list-style:none;display:grid}.prefs-stack{gap:12px;display:grid}.prefs__note{color:var(--text-muted);max-width:72ch;font-size:12px;line-height:1.55}.prefs__check{align-items:center;gap:8px;font-size:13px;display:inline-flex}.prefs__check input{width:16px;height:16px;accent-color:var(--accent)}.legal-page{background:var(--bg-app);min-height:100vh;color:var(--text)}.legal-page__bar{padding:14px var(--gutter);border-bottom:1px solid var(--border);background:#081321;align-items:center;display:flex}.legal-page__body{width:min(980px,100%);padding:40px var(--gutter) 80px;gap:16px;margin:0 auto;display:grid}.legal-page__body h1{letter-spacing:-.02em;font-size:clamp(26px,3.5vw,36px)}.legal-page__lede{color:var(--text-muted);max-width:72ch;font-size:15px;line-height:1.65}.legal-page__table-wrap{border:1px solid var(--border);border-radius:14px;overflow-x:auto}.legal-page__table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.legal-page__table th,.legal-page__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 14px}.legal-page__table thead th{background:var(--bg-hover);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px}.legal-page__table tbody tr:last-child>*{border-bottom:0}.legal-page__table code{white-space:nowrap;font-size:12px}.legal-page__bar .datasets-page__cta{margin-left:auto}.datasets-page{width:min(1180px,100%)}.datasets-page__tldr{border-left:3px solid var(--accent);background:var(--bg-hover);max-width:760px;color:var(--text-bright);border-radius:0;margin:0 0 18px;padding:14px 18px;font-size:16px;line-height:1.6}.datasets-page__faq{max-width:760px;margin:40px 0 8px}.datasets-page__faq h2{margin-bottom:12px;font-size:22px}.datasets-page__faq h3{color:var(--text-bright);margin:18px 0 6px;font-size:16px}.datasets-page__faq p{color:var(--text-muted);line-height:1.6}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-card,transparent);color:var(--text-muted);transition:background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.chip:hover{color:var(--text-bright);border-color:var(--glass-border,var(--border))}.chip--active{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text-bright)}.dataset-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.dataset-card{flex-direction:column;gap:12px;padding:18px;display:flex}.dataset-card--open{grid-column:1/-1}.dataset-card__head h2{letter-spacing:-.01em;margin:2px 0 0;font-size:18px}.dataset-card__category{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:700}.dataset-card__meta{color:var(--text-muted);margin:4px 0 0;font-size:12px}.dataset-card__desc{color:var(--text-muted);-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.dataset-card__toggle{align-self:flex-start;margin-top:auto}.dataset-downloads{flex-wrap:wrap;gap:8px;display:flex}.dataset-downloads .btn{border-color:var(--border);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.dataset-downloads__size{color:var(--text-muted);font-size:11px;font-weight:500}.dataset-detail{gap:12px;display:grid}.dataset-detail__desc{color:var(--text-muted);max-width:80ch;margin:0;font-size:14px;line-height:1.65}.dataset-detail__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:6px 0 0;font-size:11px}.dataset-detail__tables{gap:6px;display:grid}.dataset-table{border:1px solid var(--border);background:var(--bg-hover);border-radius:10px}.dataset-table summary{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.dataset-table summary code{font-family:var(--font-mono);color:var(--text-bright)}.dataset-table__rows{color:var(--text-muted);margin-left:auto;font-size:12px}.dataset-table ul{gap:4px;margin:0;padding:4px 12px 10px;list-style:none;display:grid}.dataset-table li{flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:12px;display:flex}.dataset-table li code{font-family:var(--font-mono);color:var(--text-bright)}.dataset-table__type{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.dataset-table__tag{background:var(--accent-dim);color:var(--text-bright);border-radius:999px;padding:1px 6px;font-size:10px}.dataset-table__doc{color:var(--text-muted);flex-basis:100%}@media (width>=720px){.dataset-table__doc{flex-basis:auto}}.dataset-detail__queries{gap:10px;display:grid}.dataset-query{border:1px solid var(--border);border-radius:10px;overflow:hidden}.dataset-query__head{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.dataset-query pre{background:var(--bg-hover);border-top:1px solid var(--border);margin:0;padding:10px 12px;font-size:12px;line-height:1.55;overflow-x:auto}.dataset-query code{font-family:var(--font-mono)}.dataset-detail__note,.dataset-detail__licence{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.sandbox-dataset{border-bottom:1px solid var(--border)}.sandbox-dataset>summary{cursor:pointer;color:var(--text-bright);align-items:center;gap:8px;padding:.5rem 1rem;font-size:13px;font-weight:600;list-style:none;display:flex}.sandbox-dataset>summary::-webkit-details-marker{display:none}.sandbox-dataset>summary:before{content:"▸";color:var(--text-muted);transition:transform .15s var(--ease-out);font-size:10px}.sandbox-dataset[open]>summary:before{transform:rotate(90deg)}.sandbox-dataset__count{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:500}.sandbox-dataset__about{flex-wrap:wrap;gap:6px;padding:0 1rem .5rem 2rem;display:flex}.sandbox-dataset .sandbox-table-btn{padding-left:2rem}.dataset-drawer{z-index:60;background:#040a1473;justify-content:flex-end;display:flex;position:fixed;inset:0}.dataset-drawer__panel{width:min(560px,100%);height:100%;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));background:var(--bg-app);border-left:1px solid var(--border);align-content:start;gap:12px;display:grid;overflow-y:auto;box-shadow:-20px 0 60px #00000040}.dataset-drawer__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dataset-drawer__head h3{margin:2px 0 0;font-size:18px}@media (prefers-reduced-motion:no-preference){.dataset-drawer__panel{animation:dataset-drawer-in .22s var(--ease-out)}@keyframes dataset-drawer-in{0%{opacity:0;transform:translate(24px)}}}.landing__footer-links{flex-wrap:wrap;gap:16px;display:flex}.landing__footer-links a{color:inherit}.landing__footer-links a:hover{color:var(--landing-ink,#fff)}.input{min-height:36px;font:inherit;color:var(--text-bright);background:var(--bg-card,var(--bg-app));border:1px solid var(--border);border-radius:10px;padding:7px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.table-scroll{border-radius:12px;overflow-x:auto}.admin-page{padding:24px var(--gutter) 64px;max-width:var(--shell-max,1360px);align-content:start;gap:18px;margin:0 auto;display:grid}.admin-page .page-header__controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-analytics{gap:16px;display:grid}.admin-card{align-content:start;gap:12px;padding:18px;display:grid}.admin-card h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:15px;display:flex}.admin-card h3 small,.admin-muted{color:var(--text-muted);font-size:12px;font-weight:400}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.kpi{gap:2px;padding:14px 16px;display:grid}.kpi__label{color:var(--text-muted);font-size:12px}.kpi__value{letter-spacing:-.02em;color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:24px}.kpi__note{color:var(--text-muted);font-size:11px}.bars-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px;display:grid}.bars{gap:8px;margin:0;padding:14px 16px;display:grid}.bars figcaption{color:var(--text-muted);align-items:baseline;gap:8px;font-size:13px;display:flex}.bars figcaption strong{color:var(--text-bright);font-variant-numeric:tabular-nums;font-size:18px}.bars figcaption small{margin-left:auto;font-size:11px}.bars svg{width:100%;height:72px}.bars rect{fill:var(--accent);opacity:.85}.bars rect:hover{opacity:1}.funnel{gap:8px;margin:0;padding:0;list-style:none;display:grid}.funnel li{grid-template-columns:minmax(120px,190px) 1fr auto;align-items:center;gap:12px;font-size:13px;display:grid}.funnel__track{background:var(--bg-hover);border-radius:999px;height:10px;overflow:hidden}.funnel__fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-hover));height:100%;transition:width .5s var(--ease-out);display:block}.funnel__num{font-variant-numeric:tabular-nums;text-align:right;min-width:84px}.funnel__num small{color:var(--text-muted)}@media (width<=560px){.funnel li{grid-template-columns:1fr auto}.funnel__track{order:3;grid-column:1/-1}}.cohort-table{border-collapse:separate;border-spacing:3px;font-variant-numeric:tabular-nums;font-size:12px}.cohort-table th,.cohort-table td{text-align:center;white-space:nowrap;padding:6px 8px}.cohort-table th[scope=row]{text-align:left;font-weight:500}.cohort-table thead th{color:var(--text-muted);font-weight:600}.cohort-cell{background:color-mix(in srgb, var(--accent) calc(var(--heat) * 85%), transparent);color:var(--text-bright);border-radius:6px}.admin-split{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px;display:grid}.admin-list{margin:0;padding:0;list-style:none;display:grid}.admin-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.admin-list li:last-child{border-bottom:0}.admin-list li span:last-child{color:var(--text-muted);text-align:right}.admin-learners{gap:12px;display:grid}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-toolbar input[type=search]{flex:220px}.admin-toolbar__sort{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.admin-toolbar .btn:last-child{margin-left:auto}.admin-flag{color:var(--warning,#d97706);font-size:11px;display:block}.admin-pager{justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.admin-table__actions{gap:6px;display:flex}.tc-diagnosis{border:1px solid color-mix(in srgb, var(--warning,#d97706) 45%, transparent);background:color-mix(in srgb, var(--warning,#d97706) 9%, transparent);border-radius:12px;gap:6px;margin-bottom:12px;padding:12px 14px;display:grid}.tc-diagnosis p{margin:0;font-size:13px;line-height:1.55}.tc-diagnosis__hint{color:var(--text-muted)}.tc-diagnosis .tc-detail__tables{margin-top:6px}.tc-col--flag{background:color-mix(in srgb, var(--warning,#d97706) 16%, transparent)}.home-strip__daily{cursor:pointer;border-color:color-mix(in srgb, var(--accent) 35%, var(--glass-border));background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 10%, var(--glass-surface)), var(--glass-surface));transition:border-color .2s var(--ease-out), transform .2s var(--ease-out);grid-column:1/-1;gap:4px;display:grid}.home-strip__daily:hover{border-color:var(--accent);transform:translateY(-1px)}.home-strip__daily-title{color:var(--text-bright);letter-spacing:-.01em;font-size:17px}.home-strip__daily--done{border-color:color-mix(in srgb, var(--success,#10b981) 45%, var(--glass-border));background:var(--glass-surface)}.subbar{padding-block:12px}.subbar__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.seg--lang{padding:5px}.seg--lang .seg__indicator{top:5px;bottom:5px}.seg--lang .seg__item{justify-content:center;align-items:center;gap:8px;min-width:124px;padding:9px 20px;font-size:14px;display:inline-flex}.lang-glyph{opacity:.85;flex-shrink:0;width:16px;height:16px}.seg__item[data-active=true] .lang-glyph{opacity:1}@media (width<=480px){.seg--lang .seg__item{min-width:0;padding:8px 14px}}.boot-screen{z-index:1000;background:radial-gradient(60vmax 40vmax at 50% 38%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%), var(--bg-app);place-items:center;display:grid;position:fixed;inset:0}.stride-loader{color:var(--text-bright);justify-items:center;gap:14px;display:grid}.stride-loader__stage{width:min(320px,86vw);height:150px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.stride-loader__runner{z-index:2;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 16%, var(--bg-app)) 60%, transparent);border-radius:50%;place-items:center;width:96px;height:96px;animation:.42s cubic-bezier(.5,0,.5,1) infinite alternate stride-bob;display:grid;position:absolute;bottom:24px;left:50%;translate:-50%}.stride-loader__runner .brand-logo-wrap{width:auto;height:auto}.stride-loader .stride-loader__runner .brand-logo{width:80px;height:80px;filter:drop-shadow(0 6px 14px color-mix(in srgb, var(--accent) 35%, transparent))}.stride-loader__shadow{background:color-mix(in srgb, var(--text) 18%, transparent);border-radius:50%;width:46px;height:8px;animation:.42s cubic-bezier(.5,0,.5,1) infinite alternate stride-shadow;position:absolute;bottom:20px;left:50%;translate:-50%}.stride-loader__track{background:repeating-linear-gradient(90deg, var(--accent) 0 18px, transparent 18px 30px);opacity:.55;border-radius:3px;height:3px;animation:.5s linear infinite stride-track;position:absolute;bottom:16px;left:0;right:0}.stride-loader__token{z-index:1;font:600 11px/1.2 var(--font-mono);white-space:nowrap;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-panel));border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);opacity:0;animation:3.2s linear infinite stride-token;animation-delay:calc(var(--n) * -.4s);border-radius:999px;padding:3px 8px;position:absolute;bottom:30px;left:100%}.stride-loader__token:nth-child(2n){color:var(--text-muted);background:var(--bg-panel);border-color:var(--border)}.stride-loader__token:nth-child(3n+1){bottom:106px}.stride-loader__token:nth-child(3n+2){bottom:70px}.stride-loader__token:nth-child(3n){bottom:34px}.stride-loader__msg{letter-spacing:-.01em;min-height:1.4em;animation:stride-msg .35s var(--ease-out);margin:0;font-size:15px;font-weight:600}.stride-loader__bar{background:color-mix(in srgb, var(--accent) 16%, var(--bg-hover));border-radius:4px;width:180px;height:4px;position:relative;overflow:hidden}.stride-loader__bar span{border-radius:inherit;background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40%;animation:1.3s ease-in-out infinite stride-bar;position:absolute;inset:0 auto 0 0}.stride-loader--compact .stride-loader__stage{width:220px;height:108px}.stride-loader--compact .stride-loader__runner .brand-logo{width:52px;height:52px}.stride-loader--compact .stride-loader__msg{font-size:14px}@keyframes stride-bob{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-12px)rotate(3deg)}}@keyframes stride-shadow{0%{opacity:.9;transform:scale(1)}to{opacity:.45;transform:scale(.6)}}@keyframes stride-track{to{background-position:-30px 0}}@keyframes stride-token{0%{opacity:0;transform:translate(0)}12%{opacity:.95}80%{opacity:.95}to{opacity:0;transform:translate(-420px)}}@keyframes stride-msg{0%{opacity:0;transform:translateY(4px)}}@keyframes stride-bar{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.stride-loader__runner,.stride-loader__shadow,.stride-loader__track,.stride-loader__msg,.stride-loader__bar span{animation:none}.stride-loader__token{display:none}.stride-loader__bar span{opacity:.5;width:100%}}.loader-overlay{z-index:1000;background:color-mix(in srgb, var(--bg-app) 62%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;display:grid;position:fixed;inset:0}.loader-card{border-radius:var(--radius-lg);background:var(--glass-surface-hover);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:22px 28px 24px}.nb-wrap--lab{display:flex;overflow:hidden}.nb--lab{flex:1;max-width:none;min-height:0;margin:0;padding:0;display:flex}.nb-lab__side{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:18px;width:300px;padding:12px;display:flex;overflow-y:auto}.nb-lab__section{gap:4px;display:grid}.nb-lab__title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:4px 0;font-size:11px}.nb-lab__empty{color:var(--text-muted);overflow-wrap:anywhere;margin:0 0 4px;font-size:12px}.nb-lab__files{gap:2px;margin:0;padding:0;list-style:none;display:grid}.nb-lab__file-row{align-items:center;gap:2px;display:flex}.nb-lab__file{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);font:12.5px var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 8px;display:flex}.nb-lab__file:hover{background:var(--bg-hover)}.nb-lab__file-icon{color:var(--text-muted);font-size:13px}.nb-lab__file.is-loaded .nb-lab__file-icon{color:var(--accent)}.nb-lab__file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nb-lab__file-mark{color:var(--success);font-size:12px}.nb-lab__file-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 7px}.nb-lab__file-remove:hover{color:var(--danger);background:var(--danger-bg)}.nb-lab__action{text-align:left;justify-content:flex-start}.nb-lab__kernel{border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:8px;margin-top:auto;padding:10px;font-size:12.5px;display:grid}.nb-lab__kernel small{color:var(--text-muted);grid-column:2;font-size:11.5px}.nb-lab__dot{border:2px solid var(--text-muted);border-radius:50%;flex:none;width:10px;height:10px}.nb-lab__kernel--busy .nb-lab__dot{border-color:var(--accent);background:var(--accent);animation:1s ease-in-out infinite nb-pulse}.nb-lab__kernel--starting .nb-lab__dot{border-color:var(--warning);background:var(--warning);animation:1.4s ease-in-out infinite nb-pulse}.nb-lab__kernel--error .nb-lab__dot{border-color:var(--danger);background:var(--danger)}@keyframes nb-pulse{50%{opacity:.35}}.nb-lab__main{flex-direction:column;flex:1;min-width:0;display:flex}.nb-lab__toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.nb-tool{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.nb-tool:hover:not(:disabled){background:var(--bg-hover);color:var(--text-bright)}.nb-tool:disabled{opacity:.5;cursor:default}.nb-tool--primary{color:var(--on-accent);background:linear-gradient(180deg, var(--accent-hover), var(--accent))}.nb-tool--primary:hover:not(:disabled){color:var(--on-accent);background:var(--accent-hover)}.nb-lab__sep{background:var(--border);width:1px;height:20px;margin:0 4px}.nb-lab__kernel-chip{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:5px 10px;font-size:12px;display:inline-flex}.nb-lab__cells{flex:1;min-height:0;padding:14px 20px 60px;overflow-y:auto}.nb-lab__cells .nb-cells{max-width:1040px;margin:0 auto}.nb--lab .nb-help{margin:8px 12px 0}@media (width<=900px){.nb--lab{flex-direction:column}.nb-lab__side{border-right:0;border-bottom:1px solid var(--border);width:auto;max-height:34vh}.nb-lab__kernel{display:none}}@media (prefers-reduced-motion:reduce){.nb-lab__dot{animation:none!important}}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");font-weight:400 800;font-stretch:75% 100%;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:400 600;font-display:swap}:root,:root[data-theme]{--font-display:"Bricolage Grotesque", "Geist", system-ui, sans-serif;--font-sans:"Geist", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--track-sql:var(--accent);--track-python:#3d7be0;--track-genai:#9a5ce6;--grid-line:#1720330e;--pane:#ffffff9e;--pane-strong:#ffffffd1;--pane-border:#17203317;--pane-shine:#ffffffe6;--pane-shadow:0 1px 0 #ffffffb3 inset, 0 18px 40px -18px #17203338;--spot:#e877221a}:root[data-theme=dark]{--track-python:#6f9ef5;--track-genai:#b58cf4;--grid-line:#e2eaf80b;--pane:#141c2a8c;--pane-strong:#182131c7;--pane-border:#e2eaf817;--pane-shine:#ffffff12;--pane-shadow:0 1px 0 #ffffff0d inset, 0 24px 48px -20px #0000008c;--spot:#e877221f}body{font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";letter-spacing:-.003em}code,pre,kbd,samp,.mono{font-family:var(--font-mono)}h1,h2,.page-header__title,.home__title{font-family:var(--font-display);letter-spacing:-.025em;font-variation-settings:"opsz" 72;font-weight:700}h3{letter-spacing:-.01em}.app-shell{isolation:isolate;position:relative}.app-shell:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%)}.app-shell:after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(40vmax 30vmax at 18% 12%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%), radial-gradient(36vmax 28vmax at 86% 78%, color-mix(in srgb, var(--track-python) 12%, transparent), transparent 70%);animation:38s ease-in-out infinite alternate ground-drift;position:fixed;inset:-20vmax}@keyframes ground-drift{0%{transform:translate(0,0)rotate(0)}to{transform:translate(-3vmax,2vmax)rotate(6deg)}}.pane{background:var(--pane);border:1px solid var(--pane-border);box-shadow:var(--pane-shadow);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);border-radius:18px;position:relative}[data-spotlight]{--mx:50%;--my:50%}[data-spotlight]:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease-out);background:radial-gradient(420px circle at var(--mx) var(--my), var(--spot), transparent 60%);position:absolute;inset:0}[data-spotlight]:hover:before{opacity:1}.navbar{background:color-mix(in srgb, var(--bg-app) 62%, transparent)}kbd{min-width:20px;height:20px;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;place-items:center;padding:0 5px;font-size:11px;display:inline-grid}.cmdk-backdrop{z-index:var(--z-modal);background:color-mix(in srgb, var(--bg-app) 45%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:start center;padding:12vh 16px 16px;animation:.14s ease-out cmdk-fade;display:grid;position:fixed;inset:0}.cmdk{background:var(--pane-strong);border:1px solid var(--pane-border);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);width:min(640px,100%);animation:cmdk-rise .18s var(--ease-out);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px -20px #00000073}.cmdk__input{width:100%;font:inherit;color:var(--text-bright);border:0;border-bottom:1px solid var(--pane-border);background:0 0;outline:0;padding:18px 20px;font-size:16px}.cmdk__list{max-height:min(56vh,440px);padding:6px;overflow-y:auto}.cmdk__group{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:10px 12px 4px;font-size:11px;font-weight:600}.cmdk__item{width:100%;color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.cmdk__item[aria-selected=true]{background:var(--accent-dim);color:var(--text-bright)}.cmdk__item small{color:var(--text-muted);font-family:var(--font-mono);margin-left:auto;font-size:11px}.cmdk__icon{width:18px;height:18px;color:var(--text-muted);flex:none}.cmdk__item[aria-selected=true] .cmdk__icon{color:var(--accent)}.cmdk__empty{text-align:center;color:var(--text-muted);padding:28px}.cmdk__foot{border-top:1px solid var(--pane-border);color:var(--text-muted);gap:14px;padding:10px 16px;font-size:12px;display:flex}.cmdk__foot span{align-items:center;gap:6px;display:inline-flex}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}@keyframes cmdk-rise{0%{opacity:0;transform:translateY(-8px)scale(.985)}to{opacity:1;transform:none}}.navbar__search{height:34px;color:var(--text-muted);border:1px solid var(--pane-border);background:var(--pane);border-radius:999px;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:13px;transition:color .15s,border-color .15s;display:inline-flex}.navbar__search:hover{color:var(--text-bright);border-color:var(--border-strong)}.navbar__search svg{width:15px;height:15px}@media (width<=900px){.navbar__search-label,.navbar__search kbd{display:none}}.celebrate-canvas{z-index:var(--z-toast);pointer-events:none;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.app-shell:after{animation:none}}:root[data-motion=reduced] .app-shell:after{animation:none}.blog-page .legal-page__body.blog{gap:18px;width:min(1080px,100%)}.blog-page__home{color:#e8edf3;margin-left:18px;font-size:14px;font-weight:600;text-decoration:none}.blog-page__home:hover{color:var(--accent)}.blog h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-bright);font-size:clamp(30px,4vw,44px);line-height:1.1}.blog-app-scroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.blog--in-app{width:min(1080px,100%);padding:32px var(--gutter,24px) 72px;gap:18px;margin:0 auto;display:grid}.blog-chip--ds,.blog-avatar--ds{--cat:var(--track-python)}.blog-chip--frontiers,.blog-avatar--frontiers{--cat:var(--track-genai)}.blog-chip--genai,.blog-avatar--genai{--cat:#d4537e}.blog-chip--fintech,.blog-avatar--fintech{--cat:var(--accent)}.blog-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin:4px 0 6px;padding-bottom:12px;display:flex}.blog-tab{border:1px solid var(--border);color:var(--text);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}.blog-tab:hover{border-color:var(--border-strong,var(--accent))}.blog-tab--active{background:var(--text-bright);border-color:var(--text-bright);color:var(--bg-app)}.blog-chip{letter-spacing:.02em;height:22px;color:var(--cat);background:color-mix(in srgb, var(--cat) 14%, transparent);border-radius:999px;justify-self:start;align-items:center;padding:0 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.blog-avatar{width:30px;height:30px;font:700 11px var(--font-sans);letter-spacing:.02em;color:var(--cat);background:color-mix(in srgb, var(--cat) 16%, transparent);border-radius:50%;flex:none;place-items:center;display:inline-grid}.blog-byline{color:var(--text);align-items:center;gap:10px;font-size:13px;display:inline-flex}.blog-byline>span:last-child{gap:1px;display:grid}.blog-byline strong{color:var(--text-bright);font-weight:600}.blog-byline__meta{color:var(--text-muted);font-size:12px}.blog-card{align-content:start;gap:10px;padding:18px 20px;display:grid}.blog-card__title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:18px;line-height:1.3}.blog-card__title a{color:var(--text-bright);text-decoration:none}.blog-card__title a:hover{color:var(--accent)}.blog-card__desc{color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.blog-card--featured{padding:24px 26px}.blog-card--featured .blog-card__title{font-size:clamp(22px,2.6vw,30px)}.blog-card--featured .blog-card__desc{max-width:70ch;font-size:15px}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.blog-empty{color:var(--text-muted);padding:28px 0}.blog-crumbs{color:var(--text-muted);font-size:13px}.blog-crumbs a{color:var(--text-muted)}.blog-post{gap:14px;max-width:760px;display:grid}.blog-post h1{margin:2px 0 0}.blog-article{color:var(--text);margin-top:10px;font-size:16.5px;line-height:1.75}.blog-article h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-bright);margin:34px 0 10px;font-size:24px}.blog-article h3{color:var(--text-bright);margin:24px 0 8px;font-size:18px}.blog-article p,.blog-article ul,.blog-article ol,.blog-article blockquote,.blog-article pre,.blog-article table{margin:0 0 16px}.blog-article ul,.blog-article ol{padding-left:22px}.blog-article li{margin:4px 0}.blog-article a{color:var(--accent)}.blog-article code{font-family:var(--font-mono);background:var(--bg-hover);border-radius:4px;padding:1px 5px;font-size:.92em}.blog-article pre{background:var(--bg-panel,#0d1726);border:1px solid var(--border);border-radius:10px;padding:14px 16px;line-height:1.55;overflow-x:auto}.blog-article pre code{color:var(--text-bright);background:0 0;padding:0;font-size:13.5px}.blog-article blockquote{border-left:3px solid var(--accent);color:var(--text-muted);border-radius:0;padding:4px 0 4px 14px}.blog-article table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}.blog-article th,.blog-article td{border:1px solid var(--border);text-align:left;padding:7px 10px}.blog-article th{background:var(--bg-hover);color:var(--text-bright)}.blog-practice{margin-top:8px;padding:18px 20px}.blog-practice h2{color:var(--text-bright);margin:0 0 8px;font-size:17px}.blog-practice ul{gap:6px;margin:0 0 8px;padding-left:18px;display:grid}.blog-practice li span{color:var(--text-muted);margin-left:4px;font-size:12px}.blog-practice p{color:var(--text-muted);margin:0;font-size:13px}.blog-credit{color:var(--text-muted);font-size:13px}.blog-more{gap:14px;margin-top:30px;display:grid}.blog-more h2{font-family:var(--font-display);color:var(--text-bright);font-size:22px}@media (width<=640px){.blog-page__home{display:none}.blog-tabs{flex-wrap:nowrap;overflow-x:auto}.blog-tab{white-space:nowrap}.blog-article{font-size:16px}}.blog-admin__actions{white-space:nowrap}.blog-admin__actions .btn{margin:2px 4px 2px 0}.blog-admin__editor{gap:6px;min-width:min(640px,80vw);margin:10px 0;display:grid}.blog-admin__body{font-family:var(--font-mono);resize:vertical;min-height:280px;font-size:13px}
