.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#dcebed;background:#061417;font-synthesis:none;--bg:#061417;--panel:#0b2024;--panel2:#0e282d;--line:#1d3b40;--muted:#78939a;--text:#dcebed;--accent:#39d7c2;--amber:#f59e0b;--danger:#fb7185}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 30% 0%,#103039 0,transparent 34%),var(--bg)}button,select,input,textarea{font:inherit}button{border:0;border-radius:8px;background:var(--accent);color:#031416;font-weight:750;padding:10px 16px;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.38;cursor:not-allowed}.secondary{background:#17343a;color:var(--text);border:1px solid #2a4b51}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:800;margin:0 0 7px}.panel{background:#091d21eb;border:1px solid var(--line);border-radius:12px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#02090bf5,#041a1ed1),repeating-linear-gradient(90deg,transparent 0 79px,#123137 80px)}.login-card{width:min(480px,100%);padding:44px;background:#081b1ff0;border:1px solid #24454c;border-radius:16px;box-shadow:0 30px 90px #0008}.mission-mark{width:58px;height:58px;border:1px solid #2a6865;border-radius:50%;position:relative;margin-bottom:28px}.mission-mark:before,.mission-mark:after{content:"";position:absolute;border:1px solid #2a6865;border-radius:50%;inset:8px -13px;transform:rotate(-24deg)}.mission-mark:after{inset:25px;background:var(--accent);border:0}.login-card h1{font-size:34px;line-height:1.1;margin:0 0 14px}.login-lead{color:#9eb3b7;line-height:1.7;margin-bottom:30px}.field-label{display:block;font-size:13px;color:#9eb3b7;margin:0 0 8px}.login-card select{width:100%;background:#0d2429;color:var(--text);border:1px solid #315057;border-radius:9px;padding:13px}.login-button{width:100%;margin:14px 0 18px;padding:14px}.device-note{padding:14px 16px;border-left:3px solid var(--amber);background:#32271055;color:#d7c59d;font-size:13px;line-height:1.6}.privacy-note{text-align:center;color:#567177;font-size:11px;margin:22px 0 0}.modal-backdrop{position:fixed;inset:0;background:#020708d9;display:grid;place-items:center;padding:20px;z-index:100}.modal{max-width:460px;background:#0d262b;border:1px solid #315057;border-radius:14px;padding:30px;box-shadow:0 28px 100px #000}.modal h2{margin:0 0 10px}.modal p{color:#a9bcc0;line-height:1.6}.modal code{color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.boot,.fatal{min-height:100vh;display:grid;place-content:center;text-align:center;padding:24px}.orbit-loader{width:52px;height:52px;border:1px solid #26615f;border-radius:50%;margin:auto;animation:spin 1.3s linear infinite}.orbit-loader span{display:block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin:-4px auto}@keyframes spin{to{transform:rotate(360deg)}}.topbar{height:72px;display:grid;grid-template-columns:1fr minmax(250px,420px) 1fr;align-items:center;gap:28px;padding:0 24px;border-bottom:1px solid var(--line);background:#06171aee;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-size:14px}.brand b{margin-left:8px}.brand-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px var(--accent);margin-right:10px}.progress-meta{display:flex;justify-content:space-between;font-size:11px;color:#93a9ae;margin-bottom:6px}.progress-track{height:5px;background:#193238;border-radius:6px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#20bca9,var(--accent))}.user-menu{display:flex;justify-content:flex-end;align-items:center;gap:14px}.user-menu span{font-weight:750}.user-menu small{display:block;color:var(--muted);font-size:9px;font-weight:500}.danger-ghost{background:transparent;color:#f8a4b2;border:1px solid #5b2e38;padding:8px 11px}.warning-banner{padding:10px 24px;background:#6f4b0d;color:#fff1c8;font-size:13px;text-align:center}.workspace{display:grid;grid-template-columns:250px minmax(480px,1fr) 330px;gap:14px;padding:14px;align-items:start}.left-column,.center-column,.right-column{display:flex;flex-direction:column;gap:14px}.left-column,.right-column{position:sticky;top:86px;max-height:calc(100vh - 100px)}.section-heading{padding:17px 18px 12px;border-bottom:1px solid var(--line)}.section-heading span{font-size:9px;letter-spacing:.2em;color:var(--muted)}.section-heading h2{font:700 18px ui-monospace,SFMono-Regular,monospace;margin:5px 0 0;color:#fff}.event-info dl{margin:0}.event-info dl div{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;border-bottom:1px solid #142f35}.event-info dt{font-size:11px;color:var(--muted)}.event-info dd{font-size:12px;text-align:right;margin:0;color:#c4d5d8}.task-list{overflow:hidden;min-height:180px}.task-list h3{font-size:12px;margin:0;padding:13px 16px;border-bottom:1px solid var(--line)}.task-list>div{overflow:auto;max-height:34vh}.task-list button{width:100%;border-radius:0;background:transparent;color:#9eb3b7;text-align:left;padding:10px 14px;border-bottom:1px solid #102a2f;font:12px ui-monospace,SFMono-Regular,monospace}.task-list button.active{background:#12343a;color:#fff;border-left:3px solid var(--accent)}.task-list button span{color:#4d6970;margin-right:12px}.task-list button i{float:right;width:7px;height:7px;border-radius:50%;background:#314b50;margin-top:4px}.task-list button i.done{background:var(--accent)}.task-list button i.draft{background:var(--amber)}.curve-panel{padding:0 14px 14px;overflow:hidden}.curve-head{display:flex;align-items:center;justify-content:space-between;padding:16px 4px 10px}.curve-head h2,.export-panel h2{font-size:17px;margin:0}.curve-legend{display:flex;gap:10px;font-size:10px;color:var(--muted)}.curve-legend b{color:var(--amber)}.plot-stack{width:100%;touch-action:none}.plot-slot{margin-top:5px}.uplot{font-family:inherit!important}.u-title{color:#9eb3b7;font-size:11px!important;font-weight:600!important}.u-legend{font-size:10px;color:#9eb3b7}.loading-state,.error-state{min-height:300px;display:grid;place-content:center;text-align:center;border:1px dashed #315057;border-radius:12px;color:#91a9ad;padding:24px}.loading-state span{width:30px;height:30px;border:2px solid #21454b;border-top-color:var(--accent);border-radius:50%;margin:0 auto 12px;animation:spin 1s linear infinite}.error-state strong{color:#ffc0ca}.error-state p{max-width:500px;color:#95aaae}.prediction-card{background:linear-gradient(150deg,#0e2b30,#0a2024);border:1px solid #285058;border-radius:12px;padding:16px}.prediction-head{display:flex;justify-content:space-between;align-items:center}.prediction-head span{font-size:11px;color:var(--muted)}.prediction-head b{color:var(--accent)}.prediction-card>small{color:#648087;font-size:10px}.probabilities{margin:15px 0}.prob-row{display:grid;grid-template-columns:92px 1fr 30px;gap:7px;align-items:center;font-size:9px;margin:6px 0}.prob-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prob-row i{height:4px;background:#1d3c42;border-radius:3px;overflow:hidden}.prob-row em{display:block;height:100%;background:#46b5aa}.prob-row b{text-align:right}.candidates{border-top:1px solid var(--line);padding-top:12px}.candidates>span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.chip{font-size:10px;padding:6px 8px;background:#3d3217;color:#f7d58c;margin:3px}.label-form{background:#091d21;border:1px solid var(--line);border-radius:12px;padding:15px;overflow:auto}.label-form fieldset{border:0;margin:0 0 16px;padding:0}.label-form legend{font-size:12px;font-weight:750;margin-bottom:9px}.label-form legend span{color:var(--amber);font-size:9px;margin-left:5px}.label-grid{display:grid;gap:5px}.label-option{display:grid;grid-template-columns:20px 25px 1fr;align-items:start;padding:8px;border:1px solid #1b383e;border-radius:7px;cursor:pointer}.label-option.selected{border-color:var(--accent);background:#123438}.label-option input{margin-top:4px;accent-color:var(--accent)}.label-option kbd{font:10px ui-monospace;background:#17343a;color:#88a3a8;border:1px solid #2c4b51;border-radius:3px;padding:2px 5px;width:max-content}.label-option b{display:block;font-size:11px}.label-option small{display:block;color:#6f898f;font-size:9px;margin-top:2px}.confidence-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.confidence-row label{padding:8px;text-align:center;border:1px solid #24434a;border-radius:7px;font-size:11px;cursor:pointer}.confidence-row label.selected{background:#153b3d;border-color:var(--accent)}.confidence-row input{position:absolute;opacity:0}.stacked-field{display:block;color:#93a9ae;font-size:11px;margin:12px 0}.stacked-field input,.stacked-field textarea{width:100%;background:#07181b;color:var(--text);border:1px solid #25454b;border-radius:7px;padding:9px;margin-top:6px;resize:vertical}.status-card{display:flex;justify-content:space-between;align-items:center;padding:11px;background:#11292e;border-radius:7px;font-size:10px;color:var(--muted)}.status-card strong{color:#758d92}.status-card.done strong{color:var(--accent)}.status-card.draft strong{color:var(--amber)}.shortcut-hint{font-size:9px;color:#58737a;text-align:center}.autosave{text-align:center;font-size:10px;color:#678086}.autosave span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}.autosave span.saving{background:var(--amber);animation:pulse .7s infinite alternate}@keyframes pulse{to{opacity:.3}}.nav-buttons{display:flex;justify-content:center;align-items:center;gap:16px;padding:4px}.nav-buttons span{font:11px ui-monospace;color:var(--muted)}.export-panel{padding:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.export-actions{display:flex;gap:8px}.report{flex-basis:100%;color:#6d888e;font-size:10px;margin:0;border-top:1px solid var(--line);padding-top:10px}@media (max-width:1100px){.workspace{grid-template-columns:220px minmax(440px,1fr)}.right-column{grid-column:1/-1;position:static;display:grid;grid-template-columns:1fr 1fr}.autosave{grid-column:1/-1}.topbar{grid-template-columns:1fr 300px 1fr}}@media (max-width:768px){.topbar{height:auto;grid-template-columns:1fr 1fr;padding:12px 14px;gap:12px}.progress-wrap{grid-column:1/-1;grid-row:2}.user-menu{justify-self:end}.brand b{display:block;margin:2px 0 0 18px}.workspace{display:flex;flex-direction:column;padding:9px}.left-column,.right-column{position:static;max-height:none;width:100%}.center-column{width:100%}.task-list>div{max-height:180px}.right-column{display:flex}.curve-head{align-items:flex-start;gap:8px}.curve-legend{flex-direction:column;text-align:right}.export-panel,.export-actions{flex-direction:column;align-items:stretch}.plot-stack{overflow-x:auto}.login-card{padding:30px 22px}}.code-input{width:100%;background:#0d2429;color:var(--text);border:1px solid #315057;border-radius:9px;padding:13px;font-size:18px;letter-spacing:.3em;text-align:center}.code-input:focus{outline:1px solid var(--accent)}.code-error{color:var(--danger);font-size:13px;margin:8px 0 0}.session-stats{display:flex;gap:26px;align-items:center}.session-stats small{display:block;font-size:10px;color:var(--muted);letter-spacing:.12em}.session-stats b{font-size:16px;color:var(--accent)}.task-brief{padding:12px 14px;margin-bottom:12px}.task-brief summary{cursor:pointer;font-weight:700;color:var(--accent)}.brief-list{margin:10px 0 0;padding-left:20px;font-size:13px;color:#b7c9cd;line-height:1.8}.brief-list code{color:var(--accent)}.completion-banner{margin-top:12px;padding:12px 14px;border:1px solid var(--accent);border-radius:10px;background:#39d7c214;color:var(--text);line-height:1.7}.completion-banner code{color:var(--accent);font-weight:700}@media (max-width:768px){.session-stats{gap:14px}.session-stats b{font-size:13px}}
