:root{--ctg-color-amber-100:#fbefc4;--ctg-color-amber-200:#fde68a;--ctg-color-amber-400:#f2d366;--ctg-color-amber-600:#c9a227;--ctg-color-amber-600-a35:#c9a22759;--ctg-color-amber-700:#b45309;--ctg-color-amber-800:#946f00;--ctg-color-amber-900:#4a3a06;--ctg-color-black:#000;--ctg-color-black-a10:#0000001a;--ctg-color-black-a20:#0003;--ctg-color-black-a50:#00000080;--ctg-color-blue-pure:#00f;--ctg-color-blue-100:#eaf1fb;--ctg-color-blue-200:#dbe6fb;--ctg-color-blue-400:#7aa2e3;--ctg-color-blue-600:#2563eb;--ctg-color-blue-700:#1d4ed8;--ctg-color-blue-800:#274b8a;--ctg-color-cyan-50:#ecfeff;--ctg-color-cyan-100:#cffafe;--ctg-color-cyan-700:#0e7490;--ctg-color-cyan-800-a40:#00649666;--ctg-color-green-pure:green;--ctg-color-green-100:#dcfce7;--ctg-color-green-500:#22c55e;--ctg-color-green-600:#16a34a;--ctg-color-green-600-a25:#00ff0040;--ctg-color-green-700:#15803d;--ctg-color-green-700-a:#28a745;--ctg-color-green-900:#14532d;--ctg-color-green-950-a40:#00460066;--ctg-color-indigo-50:#eef2ff;--ctg-color-indigo-500:#6366f1;--ctg-color-indigo-900:#312e81;--ctg-color-orange-400:#fb923c;--ctg-color-orange-600:#ff8c00;--ctg-color-orange-600-a20:#ff8c0033;--ctg-color-orange-800-b:#a85a00;--ctg-color-pink-700:#c07;--ctg-color-pink-800-a25:#80008040;--ctg-color-pink-950-a40:#32003266;--ctg-color-red-100:#fee2e2;--ctg-color-red-200:#f5c6cb;--ctg-color-red-600:#dc2626;--ctg-color-red-600-a25:#ff000040;--ctg-color-red-600-b:#dc3545;--ctg-color-red-700:#b91c1c;--ctg-color-red-900:#7f1d1d;--ctg-color-red-950-a40:#46000066;--ctg-color-sky-100:#e0f2fe;--ctg-color-sky-200:#bae6fd;--ctg-color-sky-300:#7dd3fc;--ctg-color-sky-400:#38bdf8;--ctg-color-sky-400-a:#93b7e8;--ctg-color-sky-400-a25:#38bdf840;--ctg-color-sky-600-a:#0096ff;--ctg-color-sky-600-a35:#0096ff59;--ctg-color-sky-700:#0369a1;--ctg-color-sky-950:#06263a;--ctg-color-slate-50:#f8fafc;--ctg-color-slate-100:#f1f5f9;--ctg-color-slate-200:#e2e8f0;--ctg-color-slate-300:#cbd5e1;--ctg-color-slate-400:#94a3b8;--ctg-color-slate-500:#64748b;--ctg-color-slate-500-a25:#64748b40;--ctg-color-slate-500-a40:#64748b66;--ctg-color-slate-600:#475569;--ctg-color-slate-700:#334155;--ctg-color-slate-800:#1e293b;--ctg-color-slate-800-a45:#1e293b73;--ctg-color-slate-800-a85:#1e293bd9;--ctg-color-slate-900:#0f172a;--ctg-color-slate-900-a10:#0f172a1a;--ctg-color-slate-900-a20:#0f172a33;--ctg-color-slate-900-a45:#0f172a73;--ctg-color-transparent:#0000;--ctg-color-violet-100:#ede9fe;--ctg-color-violet-600:#7c3aed;--ctg-color-violet-600-a10:#7c3aed1a;--ctg-color-violet-800:#5b21b6;--ctg-color-white:#fff;--ctg-color-white-a18:#ffffff2e;--ctg-color-white-a70:#ffffffb3;--ctg-color-white-a90:#ffffffe6;--ctg-color-white-a95:#fffffff2;--ctg-color-yellow-100:#fef9c3;--ctg-color-yellow-600:#ca8a04;--ctg-color-yellow-700:#a16207;--ctg-color-yellow-900:#713f12;--ctg-text:var(--ctg-color-slate-900);--ctg-text-muted:var(--ctg-color-slate-600);--ctg-text-subtle:var(--ctg-color-slate-500);--ctg-text-inverse:var(--ctg-color-white);--ctg-surface:var(--ctg-color-white);--ctg-surface-alt:var(--ctg-color-slate-50);--ctg-surface-sunken:var(--ctg-color-slate-100);--ctg-border:var(--ctg-color-slate-200);--ctg-border-strong:var(--ctg-color-slate-300);--ctg-field-edge:var(--ctg-color-slate-500);--ctg-shadow:var(--ctg-color-slate-900-a20);--ctg-accent:var(--ctg-color-blue-600);--ctg-accent-hover:var(--ctg-color-blue-700);--ctg-accent-soft:var(--ctg-color-blue-100);--ctg-success:var(--ctg-color-green-600);--ctg-success-bg:var(--ctg-color-green-100);--ctg-success-ink:var(--ctg-color-green-900);--ctg-warning:var(--ctg-color-yellow-600);--ctg-warning-bg:var(--ctg-color-yellow-100);--ctg-warning-ink:var(--ctg-color-yellow-900);--ctg-danger:var(--ctg-color-red-600);--ctg-danger-bg:var(--ctg-color-red-100);--ctg-danger-ink:var(--ctg-color-red-900);--ctg-student:var(--ctg-color-sky-200);--ctg-student-soft:var(--ctg-color-sky-100);--ctg-student-edge:var(--ctg-color-sky-300);--ctg-student-strong:var(--ctg-color-sky-700);--ctg-student-ink:var(--ctg-color-sky-950);--ctg-notion:var(--ctg-color-indigo-500);--ctg-notion-bg:var(--ctg-color-indigo-50);--ctg-notion-ink:var(--ctg-color-indigo-900);--ctg-compare:var(--ctg-color-violet-600);--ctg-compare-bg:var(--ctg-color-violet-100);--ctg-compare-ink:var(--ctg-color-violet-800);--ctg-compare-tint:var(--ctg-color-violet-600-a10);--ctg-gold:var(--ctg-color-amber-600);--ctg-gold-ink:var(--ctg-color-amber-800);--ctg-trace-fhr:var(--ctg-color-blue-pure);--ctg-trace-toco:var(--ctg-color-black);--ctg-trace-toco-fill:var(--ctg-color-black-a10);--ctg-trace-toco-baseline:var(--ctg-color-green-pure);--ctg-trace-baseline:var(--ctg-color-orange-600);--ctg-trace-variability:var(--ctg-color-orange-600-a20);--ctg-trace-grid10:var(--ctg-color-slate-700);--ctg-trace-grid-major:var(--ctg-color-slate-400);--ctg-trace-grid-minor:var(--ctg-color-slate-200);--ctg-event-baseline:var(--ctg-color-orange-600);--ctg-event-acceleration:var(--ctg-color-green-700-a);--ctg-event-deceleration:var(--ctg-color-red-600-b);--ctg-event-sinusoidal:var(--ctg-color-sky-600-a);--ctg-fs-2xs:.6875rem;--ctg-fs-xs:.75rem;--ctg-fs-sm:.8125rem;--ctg-fs-base:.875rem;--ctg-fs-md:.9375rem;--ctg-fs-lg:1.125rem;--ctg-fs-xl:1.375rem;--ctg-fw-regular:400;--ctg-fw-semibold:600;--ctg-fw-bold:700;--ctg-lh-text:1.45;--ctg-lh-tight:1.2;--ctg-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ctg-brand-bg:var(--ctg-color-slate-900);--ctg-brand-fg:var(--ctg-color-slate-200);--ctg-bar-bg:var(--ctg-brand-bg);--ctg-bar-fg:var(--ctg-brand-fg);--ctg-bar-pad-y:.5rem;--ctg-bar-pad-x:1rem;--ctg-bar-gap:.5rem;--ctg-btn-radius:6px;--ctg-btn-pad-y:.4rem;--ctg-btn-pad-x:.7rem;--ctg-btn-font:var(--ctg-fs-base);--ctg-ghost-bg:var(--ctg-color-slate-800);--ctg-ghost-bg-hover:var(--ctg-color-slate-700);--ctg-ghost-fg:var(--ctg-color-slate-200);--ctg-logout-bg:var(--ctg-color-red-600);--ctg-logout-fg:var(--ctg-color-white);--ctg-login-bg:var(--ctg-color-green-700);--ctg-login-fg:var(--ctg-color-white);--ctg-tab-active-bg:var(--ctg-color-blue-600);--ctg-tab-active-fg:var(--ctg-color-white);--ctg-tab-fg:var(--ctg-color-slate-300);--ctg-login-card-bg:var(--ctg-color-white);--ctg-login-card-fg:var(--ctg-color-slate-900);--ctg-login-radius:14px}body{font-family:var(--ctg-font);line-height:var(--ctg-lh-text)}:where(h1,h2,h3,h4){line-height:var(--ctg-lh-tight)}:where(button:not(:disabled),a[href],summary,select:not(:disabled),label[for],input[type=checkbox]:not(:disabled),input[type=radio]:not(:disabled),input[type=range]:not(:disabled),input[type=file]:not(:disabled),input[type=submit]:not(:disabled),input[type=button]:not(:disabled),[role=button]:not([aria-disabled=true]),[role=tab],[role=menuitem],[role=option],[role=switch],[role=checkbox]){cursor:pointer}:where(:focus-visible){outline:2px solid var(--ctg-tab-active-bg,var(--ctg-accent));outline-offset:2px}:where(.appbar :focus-visible){outline-color:var(--ctg-color-blue-400)}:where(.appbar .ctg-dialog :focus-visible){outline-color:var(--ctg-tab-active-bg,var(--ctg-accent))}.appbar{padding:var(--ctg-bar-pad-y) var(--ctg-bar-pad-x);background:var(--ctg-bar-bg);color:var(--ctg-bar-fg);font-family:var(--ctg-font);flex:none;justify-content:space-between;align-items:center;display:flex}.appbar__brand{align-items:center;gap:.55rem;display:flex}.ctg-logo{flex:none;display:block}@keyframes ctg-logo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.ctg-logo .l-bubble,.ctg-logo .l-tail,.ctg-logo .l-rcf,.ctg-logo .l-toco{stroke-dasharray:1;stroke-dashoffset:1px;animation:.45s forwards ctg-logo-draw}.ctg-logo .l-bubble{animation-duration:.5s;animation-delay:0s}.ctg-logo .l-tail{animation-duration:.2s;animation-delay:.4s}.ctg-logo .l-toco{animation-duration:.4s;animation-delay:.6s}.ctg-logo .l-rcf{animation-duration:.45s;animation-delay:1s}@media (prefers-reduced-motion:reduce){.ctg-logo .l-bubble,.ctg-logo .l-tail,.ctg-logo .l-rcf,.ctg-logo .l-toco{stroke-dashoffset:0;animation:none}}.appbar__title{font-size:var(--ctg-fs-lg);font-weight:var(--ctg-fw-semibold);letter-spacing:-.01em}.appbar__home{color:inherit;border-radius:var(--ctg-btn-radius);align-items:center;gap:.55rem;margin-left:-.4rem;padding:.15rem .4rem;text-decoration:none;display:inline-flex}.appbar__home:hover{background:var(--ctg-ghost-bg)}.appbar__actions{align-items:center;gap:var(--ctg-bar-gap);display:flex}.appbar__divider{background:var(--ctg-color-white-a18);width:1px;height:1.4rem;margin:0 .2rem}.btn-ghost,.btn-logout,.btn-login{border-radius:var(--ctg-btn-radius);padding:var(--ctg-btn-pad-y) var(--ctg-btn-pad-x);cursor:pointer;font-size:var(--ctg-btn-font);border:none;align-items:center;gap:.35rem;line-height:1.2;display:inline-flex}.btn-ghost{background:var(--ctg-ghost-bg);color:var(--ctg-ghost-fg)}.btn-ghost:hover{background:var(--ctg-ghost-bg-hover)}.btn-logout{background:var(--ctg-logout-bg);color:var(--ctg-logout-fg)}.appbar__tabs{border-radius:calc(var(--ctg-btn-radius) + 2px);background:var(--ctg-ghost-bg);gap:2px;padding:2px;display:inline-flex}.appbar__tab{border-radius:var(--ctg-btn-radius);padding:var(--ctg-btn-pad-y) var(--ctg-btn-pad-x);color:var(--ctg-tab-fg);cursor:pointer;font-size:var(--ctg-btn-font);background:0 0;border:none;align-items:center;gap:.35rem;line-height:1.2;display:inline-flex}.appbar__tab:hover{background:var(--ctg-ghost-bg-hover);color:var(--ctg-ghost-fg)}.appbar__tab.is-active{background:var(--ctg-tab-active-bg);color:var(--ctg-tab-active-fg);font-weight:var(--ctg-fw-semibold)}.profile{position:relative}.profile__name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.profile__menu{background:var(--ctg-surface);min-width:200px;color:var(--ctg-text);box-shadow:0 10px 25px var(--ctg-shadow);z-index:5000;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.profile__item{width:100%;color:inherit;font-size:var(--ctg-fs-base);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.profile__item:hover,.profile__item:focus-visible{background:var(--ctg-surface-sunken)}.profile__item--danger{color:var(--ctg-color-red-600)}.btn-login{background:var(--ctg-login-bg);color:var(--ctg-login-fg)}.login{background:var(--ctg-brand-bg);height:100dvh;font-family:var(--ctg-font);justify-content:center;align-items:center;display:flex}.login__card{background:var(--ctg-login-card-bg);color:var(--ctg-login-card-fg);border-radius:var(--ctg-login-radius);width:min(90vw,380px);box-shadow:0 10px 30px var(--ctg-color-black-a20);padding:2rem 2.25rem}.login__card h1{margin:0 0 .25rem;font-size:1.5rem}.login__card>p{color:var(--ctg-text-muted);margin:0 0 1.25rem}.login__card form{flex-direction:column;gap:.6rem;display:flex}.login__card input{box-sizing:border-box;border:1px solid var(--ctg-field-edge);width:100%;min-width:0;font-family:inherit;font-size:var(--ctg-fs-md);border-radius:8px;padding:.55rem .7rem}.login__card button{box-sizing:border-box;background:var(--ctg-brand-bg);width:100%;color:var(--ctg-text-inverse);font-family:inherit;font-size:var(--ctg-fs-md);cursor:pointer;border:none;border-radius:8px;padding:.55rem 1rem}.login__card .login__back{width:auto;color:var(--ctg-text-muted);font-family:inherit;font-size:var(--ctg-fs-base);text-align:center;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;margin:1.1rem auto 0;padding:0;text-decoration:none;display:flex}.login__card .login__back:hover{color:var(--ctg-brand-bg);text-decoration:underline}.login__card .login__remember{font-size:var(--ctg-fs-base);color:var(--ctg-color-slate-700);cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.login__card .login__remember input{width:auto;margin:.2rem 0 0}.login__card .login__remember small{color:var(--ctg-text-subtle);font-size:var(--ctg-fs-xs);font-style:italic;display:block}.ctg-dialog{z-index:9999;background:var(--ctg-color-slate-900-a45);font-family:var(--ctg-font);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ctg-dialog__card{background:var(--ctg-surface);width:min(600px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--ctg-color-slate-800);box-shadow:0 10px 30px var(--ctg-color-black-a20);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.ctg-dialog__head{border-bottom:1px solid var(--ctg-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 12px 20px;display:flex}.ctg-dialog__title{font-size:var(--ctg-fs-lg);font-weight:var(--ctg-fw-semibold);color:var(--ctg-text);align-items:center;gap:8px;margin:0;display:flex}.ctg-dialog__close{min-width:32px;min-height:32px;color:var(--ctg-text-muted);font-size:var(--ctg-fs-xl);cursor:pointer;background:0 0;border:none;border-radius:6px;line-height:1}.ctg-dialog__close:hover{background:var(--ctg-surface-sunken)}.ctg-dialog__body{min-height:0;font-size:var(--ctg-fs-base);flex:auto;padding:16px 20px 20px;line-height:1.5;overflow-y:auto}.ctg-dialog__foot{border-top:1px solid var(--ctg-border);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.ctg-dialog__btn{border:1px solid var(--ctg-border-strong);background:var(--ctg-surface);min-height:32px;color:var(--ctg-color-slate-700);font-family:inherit;font-size:var(--ctg-fs-sm);cursor:pointer;border-radius:6px;padding:6px 16px}.ctg-dialog__btn--primary{border-color:var(--ctg-accent);background:var(--ctg-accent);color:var(--ctg-text-inverse);font-weight:var(--ctg-fw-semibold)}.ctg-dialog__btn:disabled{opacity:.6;cursor:default}.ctg-dialog__field{font-size:var(--ctg-fs-sm);color:var(--ctg-color-slate-800);flex-direction:column;gap:4px;margin:0 0 12px;display:flex}.ctg-dialog__field input{border:1px solid var(--ctg-field-edge);min-height:32px;font-family:inherit;font-size:var(--ctg-fs-base);border-radius:6px;padding:5px 8px}.ctg-dialog__note{font-size:var(--ctg-fs-sm);margin:4px 0 0}.ctg-dialog__group{border:1px solid var(--ctg-border);border-radius:8px;min-width:0;margin:20px 0 0;padding:12px 14px}.ctg-dialog__body>.ctg-dialog__group:first-child{margin-top:8px}.ctg-dialog__group-title,.ctg-dialog__group>legend{background:var(--ctg-surface);font-size:var(--ctg-fs-sm);font-weight:var(--ctg-fw-bold);color:var(--ctg-color-slate-700);margin:-21px 0 6px -5px;padding:0 5px;line-height:18px;display:table}fieldset.ctg-dialog__group{padding-top:4px}.ctg-dialog__group>legend{margin:0 0 4px -5px;display:block}.ctg-dialog__error{font-size:var(--ctg-fs-sm);color:var(--ctg-color-red-700);margin:4px 0 0}.login__note{font-size:var(--ctg-fs-sm);color:var(--ctg-color-slate-400);margin:1rem 0 0;line-height:1.4}:root{--ctg-dark-panel:var(--ctg-color-slate-800);--ctg-dark-border:var(--ctg-color-slate-700);--ctg-dark-muted:var(--ctg-color-slate-400);--ctg-dark-accent:var(--ctg-color-sky-400)}.ctg-sidebar{background:var(--ctg-brand-bg);width:280px;color:var(--ctg-brand-fg);font-family:var(--ctg-font);flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem;display:flex;overflow:hidden}.ctg-sidebar__label{font-size:var(--ctg-fs-sm);font-weight:var(--ctg-fw-semibold);color:var(--ctg-dark-muted);margin:0}.ctg-sidebar__hint{font-size:var(--ctg-fs-xs);color:var(--ctg-dark-muted);margin:0;padding:.4rem .2rem}.ctg-toggle{background:var(--ctg-dark-panel);border:1px solid var(--ctg-dark-border);font-size:var(--ctg-fs-base);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.ctg-list{border-top:1px solid var(--ctg-dark-border);flex:1;margin:0;padding:.5rem 0 0;list-style:none;overflow-y:auto}.ctg-row,.ctg-subrow{text-align:left;width:100%;color:var(--ctg-brand-fg);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;font-family:inherit;display:flex}.ctg-row{font-size:var(--ctg-fs-base);padding:.4rem .5rem}.ctg-subrow{font-size:var(--ctg-fs-sm);color:var(--ctg-color-slate-300);padding:.35rem .5rem .35rem 1.5rem}.ctg-row:hover,.ctg-subrow:hover{background:var(--ctg-dark-panel)}.ctg-row.is-open{background:var(--ctg-dark-panel);font-weight:var(--ctg-fw-semibold)}.ctg-subgroup{background:var(--ctg-color-slate-800-a45);border-radius:6px;margin:0 0 .25rem;padding:2px 0;list-style:none}.ctg-status{flex:none;align-items:center;display:inline-flex}.ctg-status--free{color:var(--ctg-color-green-500)}.ctg-status--priority{color:var(--ctg-color-orange-400)}.ctg-btn-primary{cursor:pointer;width:100%;font-family:var(--ctg-font);font-size:var(--ctg-fs-base);background:var(--ctg-color-green-700);color:var(--ctg-text-inverse);border:none;border-radius:8px;padding:.55rem 1rem}.ctg-btn-primary:disabled{opacity:.6;cursor:default}.ctg-speed{background:var(--ctg-dark-panel);border:1px solid var(--ctg-dark-border);font-size:var(--ctg-fs-base);border-radius:8px;flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.ctg-speed__opts{justify-content:space-between;display:flex}.ctg-speedbar{z-index:20;font-family:var(--ctg-font);color:var(--ctg-text-muted);font-size:var(--ctg-fs-xs);align-items:center;gap:2px;display:inline-flex;position:absolute;bottom:22px;right:15px}.ctg-speedbar__label{margin-right:4px}.ctg-speedbar__btn{color:var(--ctg-text-muted);cursor:pointer;min-width:24px;min-height:24px;font-size:var(--ctg-fs-xs);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:2px 6px 0;font-family:inherit;line-height:1.5}.ctg-speedbar__btn.is-active{color:var(--ctg-text);border-bottom-color:var(--ctg-color-slate-700);font-weight:var(--ctg-fw-bold)}.ctg-speedbar__group{align-items:center;gap:0;display:inline-flex}.ctg-speedbar__sep{background:var(--ctg-color-slate-300);width:1px;height:14px;margin:0 6px}.ctg-speedbar__icon{border-bottom:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;display:inline-flex}.ctg-speedbar__btn:hover:not(.is-active){color:var(--ctg-text);background:var(--ctg-surface-sunken)}.ctg-speedbar__unit{color:var(--ctg-text-muted);font-size:var(--ctg-fs-xs);padding:0 2px 0 4px}@media (width<=900px){.appbar__title{display:none}.appbar__label,.profile__name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.appbar{gap:.4rem;padding-left:.6rem;padding-right:.6rem}}:root{--bg:var(--ctg-color-slate-900);--panel:var(--ctg-color-slate-800);--text:var(--ctg-color-slate-200);--muted:var(--ctg-color-slate-400);--accent:var(--ctg-color-sky-400);--border:var(--ctg-color-slate-700)}*{box-sizing:border-box}body{font-family:var(--ctg-font);background:var(--ctg-surface);color:var(--ctg-text);margin:0}.explorer{width:100vw;height:100vh;display:flex}.sidebar{background:var(--bg);width:320px;min-width:260px;color:var(--text);flex-direction:column;gap:.75rem;padding:1.25rem 1rem;display:flex;overflow:hidden}.sidebar__top{justify-content:space-between;align-items:center;display:flex}.sidebar .home{color:var(--accent);font-size:var(--ctg-fs-base);text-decoration:none}.sidebar .hide{color:var(--muted);cursor:pointer;font-size:var(--ctg-fs-md);background:0 0;border:none;padding:0 2px}.sidebar .hide:hover{color:var(--text)}.show-menu{z-index:2000;background:var(--ctg-color-slate-800-a85);color:var(--ctg-text-inverse);cursor:pointer;box-shadow:0 2px 4px var(--ctg-color-black-a20);border:none;border-radius:4px;padding:8px 12px;position:absolute;top:12px;left:12px}.sidebar h1{font-size:var(--ctg-fs-xl);margin:.4rem 0 0}.sidebar .subtitle{color:var(--muted);font-size:var(--ctg-fs-sm);margin:0;line-height:1.35}.field{font-size:var(--ctg-fs-sm);color:var(--muted);flex-direction:column;gap:.25rem;display:flex}.field select,.search{background:var(--panel);color:var(--text);border:1px solid var(--ctg-field-edge);font-size:var(--ctg-fs-base);border-radius:8px;width:100%;padding:.5rem .6rem}.segments{border-top:1px solid var(--border);flex:1;margin:0;padding:.5rem 0 0;list-style:none;overflow-y:auto}.segments .empty{color:var(--muted);font-size:var(--ctg-fs-base);padding:.5rem .2rem}.seg{text-align:left;width:100%;color:var(--text);cursor:pointer;font-size:var(--ctg-fs-base);font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem}.seg:hover{background:var(--panel)}.seg.active{background:var(--accent);color:var(--ctg-student-ink);font-weight:var(--ctg-fw-semibold)}.lang{background:var(--panel);color:var(--text);border:1px solid var(--border);cursor:pointer;font-size:var(--ctg-fs-sm);border-radius:6px;align-self:flex-start;padding:.3rem .6rem}.stage{background:var(--ctg-surface);flex:1;min-width:0;display:flex;position:relative}.chart-wrap{flex:1;width:100%;height:100%}.explorer-login{z-index:10000;position:fixed;inset:0}.hint{color:var(--ctg-text-subtle);font-size:var(--ctg-fs-md);text-align:center;margin:auto;padding:2rem}.hint.error{color:var(--ctg-color-red-700)}.explorer__divider{background:var(--ctg-color-slate-200);flex:0 0 6px;position:relative}.explorer__toggle{z-index:5;border:1px solid var(--ctg-border-strong);background:var(--ctg-surface);width:16px;height:48px;color:var(--ctg-text-muted);box-shadow:0 1px 3px var(--ctg-shadow);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.explorer__divider.is-collapsed .explorer__toggle{left:0;transform:translateY(-50%)}.explorer__toggle:hover,.explorer__toggle:focus-visible{background:var(--ctg-color-sky-400);border-color:var(--ctg-color-sky-400);color:var(--ctg-text-inverse);outline:none}.download-page{background:var(--ctg-surface-alt);flex:1;padding:24px 16px;overflow:auto}
