:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17212b;--muted:#607080;--line:#d9e0e7;--panel:#fff;--panel-soft:#f6f8fa;--canvas:#eef3f6;--accent:#126d7f;--accent-strong:#0c5664;--accent-soft:#d7edf1;--warning:#ad651a;--danger:#ba2d2d;--ok:#1b7b4f;--shell-nav-h:48px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:#e7ecef;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-screen section{width:min(760px,100%)}.login-screen h1{letter-spacing:0;max-width:760px;margin:0 0 24px;font-size:4rem;line-height:.98}.auth-note{color:var(--muted);margin:0 0 18px;font-weight:800}.auth-error{color:var(--danger);background:#ffe9e9;border-radius:8px;margin:0 0 18px;padding:12px 14px;font-weight:800}.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}.app-shell{min-height:calc(100vh - var(--shell-nav-h));grid-template-columns:300px minmax(0,1fr);display:grid}.sidebar{max-height:calc(100vh - var(--shell-nav-h));color:#f8fbfc;background:#10232b;padding:22px;overflow-y:auto}.brand{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:22px;display:grid}.brand-mark{color:#0f3037;background:#d6f1ef;border-radius:8px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.brand h1,.brand p,.canvas-header h2,.canvas-header p,.panel-block h3,.chat-message p{margin:0}.brand h1{font-size:21px}.brand p,.muted{color:#b5c9ce;overflow-wrap:anywhere;font-size:13px}.section-title{color:#9fc2c8;letter-spacing:0;text-transform:uppercase;margin:18px 0 10px;font-size:12px;font-weight:900}.project-list,.palette,.palette-group{gap:9px;display:grid}.project-empty{color:#b5c9ce;margin:0;font-size:13px;line-height:1.35}.project-button,.layer-chip{color:#f8fbfc;text-align:left;background:#ffffff12;border:1px solid #ffffff1c;border-radius:8px;padding:12px}.project-button.active,.layer-chip:hover{background:#ffffff21;border-color:#d6f1ef80}.layer-chip strong,.layer-chip span{display:block}.layer-chip span{color:#b5c9ce;margin-top:4px;font-size:12px;line-height:1.35}.workspace{grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid}.topbar{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.toolbar-group{flex-wrap:wrap;gap:10px;display:flex}.button,.icon-button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--ink);border-radius:8px;padding:0 14px;font-weight:800}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.secondary.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#75b9c3}.main-grid{grid-template-columns:minmax(540px,1fr) 430px;gap:18px;min-height:0;padding:18px;display:grid}.main-grid.visualization-mode{grid-template-columns:minmax(760px,1fr) 340px}.canvas-panel,.inspector,.panel-block,.notice{border:1px solid var(--line);background:var(--panel)}.canvas-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.canvas-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.canvas-header h2{font-size:18px}.canvas-header p{color:var(--muted);margin-top:4px;font-size:13px}.connect-hint.active{color:var(--accent-strong);font-weight:800}.canvas{background:linear-gradient(#10232b14 1px, transparent 1px), linear-gradient(90deg, #10232b14 1px, transparent 1px), var(--canvas);background-size:28px 28px;min-height:680px;position:relative;overflow:auto}.edge-layer{pointer-events:none;width:2200px;height:1200px;position:absolute;inset:0}.edge{fill:none;stroke:var(--accent);stroke-width:3px}.edge.invalid{stroke:var(--danger)}.node{text-align:left;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #0000;border-radius:8px;gap:5px;width:220px;min-height:88px;padding:12px;display:grid;position:absolute;box-shadow:0 12px 30px #17212b29}.node span{color:var(--muted);font-size:12px;font-weight:800}.node strong,.node code{overflow-wrap:anywhere}.node code{color:var(--accent-strong);font-size:12px}.node.selected{border-color:var(--accent)}.node.invalid{border-color:var(--danger)}.node.connect-source{border-color:var(--ok)}.empty-state{color:var(--muted);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inspector{max-height:calc(100vh - 98px - var(--shell-nav-h));align-content:start;gap:12px;padding:12px;display:grid;overflow-y:auto}.panel-block{border-radius:8px;gap:12px;padding:14px;display:grid}.field{gap:6px;display:grid}.field span,.field small{color:var(--muted);font-size:12px;font-weight:800}.field input,.field select,.panel-block select,.panel-block textarea{border:1px solid var(--line);border-radius:8px;width:100%;min-height:38px;padding:0 10px}.panel-block textarea{resize:vertical;min-height:92px;padding:10px}.message{border-radius:8px;margin:0;padding:9px 10px;font-size:13px}.message.ok{color:var(--ok);background:#e5f6ee}.message.warn{color:var(--warning);background:#fff3df}.message.error,.notice.danger{color:var(--danger);background:#ffe9e9}.notice{border-radius:8px;margin:12px 18px 0;padding:12px 14px}.shape-table,.chat-log,.tensor-view{gap:8px;display:grid}.shape-row,.tensor-row{background:var(--panel-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.shape-row>strong,.tensor-row>strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;line-height:1.25}.shape-row>span,.shape-row>code,.tensor-row>span,.tensor-row>code{white-space:nowrap}.tensor-view{padding:18px;overflow:auto}.vyonica-visualizer{background:#071114;height:100%;min-height:680px;position:relative;overflow:hidden}.vyonica-visualizer.empty{background-color:#071114;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;display:grid}.vyonica-visualizer-empty{color:#b7c7ca;font-weight:800}.vyonica-visualizer-hud{color:#f8fbfc;pointer-events:none;background:#071114d1;border:1px solid #ffffff1f;border-radius:8px;gap:4px;max-width:min(360px,100% - 32px);padding:12px 14px;display:grid;position:absolute;top:16px;left:16px}.vyonica-visualizer-hud span{color:#a6c7cb;overflow-wrap:anywhere;font-size:12px;font-weight:800}.vyonica-vis-label{color:#f8fbfc;text-align:center;background:#071114db;border:1px solid #ffffff2e;border-radius:8px;gap:2px;min-width:136px;max-width:220px;min-height:40px;padding:7px 9px;display:grid;box-shadow:0 10px 24px #00000047}.vyonica-vis-label strong,.vyonica-vis-label span{overflow-wrap:anywhere}.vyonica-vis-label strong{font-size:12px}.vyonica-vis-label span{color:#8fdce5;text-transform:uppercase;font-size:10.5px;font-weight:900}.vyonica-vis-label.selected{background:#126d7ff0;border-color:#d6f1ef}.vyonica-vis-label.invalid{border-color:#ff8b96}.vyonica-vis-label.dimmed{opacity:.32;filter:saturate(.6)}.vyonica-vis-label.dimmed:hover{opacity:.7}.vyonica-training-panel{color:#f8fbfc;background:#071114e0;border:1px solid #ffffff24;border-radius:10px;gap:10px;width:240px;padding:14px 16px;font-family:inherit;display:grid;position:absolute;bottom:16px;right:16px;box-shadow:0 16px 40px #00000073}.vyonica-training-metrics{gap:6px;display:grid}.vyonica-training-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.vyonica-training-label{color:#8ea5a9;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:700}.vyonica-training-value{color:#f8fbfc;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;font-weight:800}.vyonica-training-value.training{color:#ff7aa2}.vyonica-training-value.idle{color:#6fd5ff}.vyonica-training-value.layer{max-width:140px;font-size:11px}.vyonica-training-buttons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.vyonica-training-btn{text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;border-radius:6px;padding:8px 6px;font-size:11px;font-weight:800}.vyonica-training-btn.primary{color:#061014;background:#6fd5ff}.vyonica-training-btn.primary.stop{background:#ff7aa2}.vyonica-training-btn.secondary{color:#d7e7eb;background:0 0;border:1px solid #ffffff38}.vyonica-training-btn:disabled{opacity:.45;cursor:not-allowed}.tensor-row{grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto auto}.chat-log{max-height:240px;overflow:auto}.chat-message{background:var(--panel-soft);border-radius:8px;padding:10px}.chat-message.assistant{background:var(--accent-soft)}.proposal pre,.code-preview{color:#dce9d6;background:#101713;border-radius:8px;max-height:360px;margin:0;padding:12px;font-size:12px;line-height:1.55;overflow:auto}@media (max-width:1100px){.app-shell,.main-grid{grid-template-columns:1fr}.sidebar{max-height:none}}.shell-nav{height:var(--shell-nav-h);color:#e8f2f3;background:#0c2027;border-bottom:1px solid #052028;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.shell-nav__brand{letter-spacing:.02em;align-items:center;gap:10px;font-weight:800;display:flex}.shell-nav__brand-mark{color:#0f3037;background:#d6f1ef;border-radius:6px;place-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:grid}.shell-nav__brand-text{font-size:14px}.shell-nav__tabs{align-items:center;gap:4px;display:flex}.shell-nav__tab{color:#b5c9ce;border-radius:6px;align-items:center;height:32px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.shell-nav__tab:hover{color:#e8f2f3;background:#ffffff0f}.shell-nav__tab.active{background:var(--accent);color:#fff}.shell-nav__user{align-items:center;gap:12px;display:flex}.shell-nav__user-name{color:#b5c9ce;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:12.5px;font-weight:700;overflow:hidden}.shell-nav__logout{color:#e8f2f3;background:0 0;border:1px solid #ffffff38;border-radius:6px;height:32px;padding:0 12px;font-size:12.5px;font-weight:700}.shell-nav__logout:hover{background:#ffffff14}.shell-content{min-height:calc(100vh - var(--shell-nav-h))}.main-grid.inspect-mode{grid-template-columns:1fr}.main-grid.inspect-mode .inspector{display:none}.inspect-view{color:#e8f2f3;background:#071114;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;height:100%;min-height:680px;padding:14px;display:grid;overflow:auto}.inspect-loading{color:#a6c7cb;place-items:center;min-height:680px;font-weight:800;display:grid}.inspect-toolbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.inspect-toolbar-group{border-right:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:5px;padding-right:14px;display:flex}.inspect-toolbar-group:last-child{border-right:0}.inspect-toolbar-label{color:#a6c7cb;letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:800}.inspect-btn{color:#e8f2f3;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:6px;padding:5px 10px;font-size:12.5px;font-weight:700}.inspect-btn:hover{background:#ffffff1a}.inspect-btn.active{color:#aef0ff;background:#38e1ff29;border-color:#38e1ff}.inspect-btn.primary{color:#d9f8ff;background:#38e1ff33;border-color:#38e1ff}.inspect-banner{color:#a6c7cb;background:#38e1ff0f;border:1px solid #38e1ff40;border-radius:8px;padding:8px 12px;font-size:12.5px}.inspect-main{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(260px,320px);align-items:start;gap:14px;min-height:0;display:grid}.inspect-col{align-content:start;gap:12px;min-width:0;display:grid}.inspect-grid{justify-items:start;gap:4px;display:grid}.inspect-grid.dimmed{opacity:.4}.inspect-grid-label{color:#a6c7cb;letter-spacing:.4px;font-size:11px;font-weight:800}.inspect-grid-frame{border:1px solid #ffffff1f;border-radius:3px;position:relative;overflow:hidden}.inspect-grid.active .inspect-grid-frame{border-color:#38e1ff;box-shadow:0 0 12px #38e1ff59}.inspect-grid-highlight{pointer-events:none;border:2px solid #ffd166;transition:transform .13s,width .13s,height .13s;position:absolute;top:0;left:0;box-shadow:0 0 10px #ffd16699}.inspect-grid-marker{pointer-events:none;border:2px solid #7dff9b;position:absolute;top:0;left:0}.inspect-math-panel{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;gap:10px;padding:12px;display:grid}.inspect-math-title{color:#aef0ff;font-size:13px;font-weight:800}.inspect-grid-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inspect-grid-op{color:#ffd166;align-self:flex-end;padding-bottom:14px;font-size:18px;font-weight:800}.inspect-equation{color:#cfe4e8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.6}.inspect-result{color:#38e1ff}.inspect-good{color:#7dff9b}.inspect-bad{color:#ff5f6f}.inspect-term-table{border:1px solid #ffffff1a;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow:hidden}.inspect-term-head,.inspect-term-row{grid-template-columns:36px 1fr 1fr 1fr;gap:8px;padding:3px 10px;display:grid}.inspect-term-head.update,.inspect-term-row.update{grid-template-columns:28px 1fr 1fr 1fr 1fr}.inspect-term-head{color:#a6c7cb;background:#ffffff0a;border-bottom:1px solid #ffffff1a;font-weight:800}.inspect-term-body{max-height:230px;overflow:auto}.inspect-term-row{color:#cfe4e8}.inspect-term-row.zero{opacity:.42}.inspect-term-row.highlight{color:#d9f8ff;background:#38e1ff24}.inspect-gallery{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;align-content:start;gap:12px;padding:12px;display:grid}.inspect-gallery-title{color:#aef0ff;font-size:12.5px;font-weight:800}.inspect-map-row{border-left:2px solid #0000;gap:6px;padding-left:8px;display:grid}.inspect-map-row.active{border-left-color:#38e1ff}.inspect-map-row-title{color:#a6c7cb;font-size:11.5px;font-weight:700}.inspect-map-row-maps{flex-wrap:wrap;gap:10px;display:flex}.inspect-output-panel{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;gap:12px;padding:12px;display:grid}.inspect-output-header{color:#aef0ff;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;font-weight:800;display:flex}.inspect-prediction{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.inspect-prediction.good{color:#7dff9b}.inspect-prediction.bad{color:#ff5f6f}.inspect-prediction.pending{color:#a6c7cb}.inspect-bars{gap:3px;display:grid}.inspect-bars-title{color:#a6c7cb;letter-spacing:.4px;margin-bottom:2px;font-size:11px;font-weight:800}.inspect-bar-row{color:#cfe4e8;border-radius:4px;grid-template-columns:30px 1fr 58px;align-items:center;gap:8px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:grid}.inspect-bar-row.highlight{background:#38e1ff1f}.inspect-bar-track{background:#ffffff0f;border-radius:3px;height:9px;overflow:hidden}.inspect-bar-fill{background:#38e1ff;border-radius:3px;height:100%;transition:width .18s}.inspect-bar-fill.negative{background:#528bff}.inspect-bar-fill.prob{background:#7dff9b}.inspect-bar-value{text-align:right}.inspect-loss-chart svg{background:#ffffff05;border:1px solid #ffffff1a;border-radius:4px}.inspect-transport{background:#071114eb;border:1px solid #ffffff1f;border-radius:8px;gap:8px;padding:10px 12px;display:grid;position:sticky;bottom:0}.inspect-transport-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inspect-speed{color:#a6c7cb;align-items:center;gap:6px;margin-left:10px;font-size:11px;font-weight:700;display:flex}.inspect-speed input{accent-color:#38e1ff;width:110px}.inspect-step-counter{color:#a6c7cb;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.inspect-narration{color:#d9f8ff;min-height:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.inspect-breadcrumb{flex-wrap:wrap;gap:4px;display:flex}.inspect-crumb{color:#a6c7cb;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.inspect-crumb.active{color:#d9f8ff;background:#38e1ff29;border-color:#38e1ff}@media (max-width:1280px){.inspect-main{grid-template-columns:1fr}}
