:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf5f2;font-synthesis:none;text-rendering:optimizelegibility;background:#101416;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,select{font:inherit}button,select{color:#edf5f2;background:#182226;border:1px solid #304349;border-radius:6px}button{cursor:pointer;min-height:34px;padding:0 12px}button:hover,select:hover{border-color:#6f8b91}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #f4b740}.shell{grid-template-rows:minmax(0,1fr) auto;height:100vh;display:grid}.stage{background:radial-gradient(circle at 45% 40%,#172225 0,#101416 58%);min-width:0;min-height:0;position:relative}.scene-canvas{width:100%;height:100%;display:block}.mode-switch{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101416d1;border:1px solid #293b40;border-radius:8px;gap:6px;padding:4px;display:flex;position:absolute;top:18px;left:18px}.mode-switch button{min-width:48px}.mode-switch button[aria-pressed]{color:#111719;background:#d6f3ec;border-color:#d6f3ec}.view-tools{gap:6px;display:flex;position:absolute;top:18px;right:18px}.view-tools button,.view-tools select{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101416b8;min-width:78px}.view-tools select{padding:0 8px}.panel{background:#12191c;border-top:1px solid #27383d;grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;min-height:260px;padding:12px 14px;display:grid;overflow:hidden}.matrix-header,.transport,.duration-row{align-items:center;display:flex}.matrix-header{justify-content:space-between;gap:10px}.transport{grid-template-columns:1fr;gap:6px;display:grid}.transport button{white-space:normal;width:100%;min-width:0;padding:0 6px;line-height:1.1}.transport button[data-playback-status=playing]{color:#fff;background:#a83f43;border-color:#d95d60}.transport button[data-playback-status=playing]:hover{background:#bd484d;border-color:#ff9395}.transport button[data-playback-status=paused]{color:#fff;background:#277f61;border-color:#55c99a}.transport button[data-playback-status=paused]:hover{background:#309572;border-color:#8ce5c0}.about-dialog{color:#edf5f2;background:#131c1f;border:1px solid #3a5056;border-radius:14px;width:min(680px,100vw - 32px);max-height:min(780px,100vh - 32px);padding:0;overflow:auto;box-shadow:0 24px 80px #0000008c}.about-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05090ac2}.about-dialog-header{z-index:1;background:linear-gradient(#131c1f 82%,#131c1f00);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 24px 15px;display:flex;position:sticky;top:0}.about-eyebrow{color:#f4b740;letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font-size:.72rem;font-weight:700}.about-dialog h1{letter-spacing:-.02em;margin:0;font-size:1.55rem}.about-close{color:#b7c8c8;place-items:center;width:34px;min-width:34px;padding:0;display:grid}.about-close .close-icon{width:16px;height:16px}.close-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.75px;width:11px;height:11px;display:block}.about-intro{color:#b7c8c8;max-width:570px;margin:0;padding:0 24px 20px;line-height:1.55}.control-guide{border:1px solid #2b4046;border-radius:10px;margin:0 24px 24px;overflow:hidden}.control-guide [role=row]{grid-template-columns:minmax(150px,.72fr) minmax(0,1.7fr);display:grid}.control-guide [role=row]+[role=row]{border-top:1px solid #26383d}.control-guide [role=cell],.control-guide [role=columnheader]{padding:11px 13px;line-height:1.42}.control-guide [role=cell]:first-child,.control-guide [role=columnheader]:first-child{border-right:1px solid #26383d}.control-guide [role=cell]:last-child{color:#bfd0cf}.control-guide-header{color:#8fa6a7;letter-spacing:.08em;text-transform:uppercase;background:#1b292d;font-size:.72rem;font-weight:700}.guide-add-controls{gap:7px;display:flex}.guide-add-button{width:44px;min-height:44px}.interaction-guide{margin:0 24px 24px}.interaction-guide h2{color:#8fa6a7;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem}.interaction-guide dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.interaction-guide dl>div{background:#172124;border:1px solid #2b4046;border-radius:8px;padding:12px 13px}.interaction-guide dt{color:#edf5f2;margin-bottom:4px;font-size:.82rem;font-weight:700}.interaction-guide dd{color:#bfd0cf;margin:0;font-size:.82rem;line-height:1.45}kbd{color:#f2f8f6;white-space:nowrap;background:#202e32;border:1px solid #425b62;border-bottom-color:#58727a;border-radius:5px;margin:1px 2px 1px 0;padding:3px 7px;font-family:inherit;font-size:.78rem;font-weight:650;display:inline-block;box-shadow:0 1px #090d0e}.about-links{background:#101719;border-top:1px solid #2b4046;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding:18px 24px 22px;display:flex}.about-link-list{flex-wrap:wrap;gap:8px 20px;display:flex}.about-links a{color:#78d8c0;font-size:.85rem;text-decoration:none}.about-links a:hover{color:#aaf0df;text-decoration:underline}.about-version{color:#627577;letter-spacing:.04em;flex:none;font-size:.7rem}.animation-block{border:0;min-width:0;margin:0;padding:0}.animation-block legend{color:#b7c8c8;letter-spacing:0;margin-bottom:9px;padding:0;font-size:.82rem;font-weight:400}.animation-body{gap:12px;min-width:0;display:grid}.toggle-row,.mode-row{color:#b7c8c8;gap:6px;min-width:0;font-size:.82rem;display:grid}.toggle-label,.mode-label{min-width:0}.toggle-row input[type=checkbox]{accent-color:#d6f3ec;justify-self:end;width:18px;height:18px;margin:0}.mode-row select{width:100%;min-width:0;height:34px;padding:0 6px}.toggle-row{grid-template-columns:1fr auto;align-items:center;gap:8px}.control-cluster{flex-direction:column;gap:14px;min-width:0;display:flex}.equation-tray{min-width:0;overflow:auto}.equation-row{grid-template-columns:minmax(0,max-content) auto minmax(180px,max-content);align-items:end;gap:16px;min-width:max-content;display:grid}.equation-row-input-only{grid-template-columns:minmax(0,max-content)}.equation-left{align-items:flex-end;gap:10px;min-width:0;display:flex}.equation-equals{color:#edf5f2;align-self:center;font-size:2rem}.equation-right{min-width:0}.matrix-stack{align-items:flex-end;gap:10px;min-width:max-content;margin:0;padding:0;list-style:none;display:flex;position:relative}.matrix-add-item{align-items:flex-end;min-height:100%;display:flex}.equation-add-button{color:#b7c8c8;background:#10191b6b;border-style:dashed;border-color:#26383d;flex:none;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.equation-add-button:hover,.equation-add-button:focus-visible{color:#edf5f2;background:#f4b7401a;border-color:#f4b740}.equation-add-button math{font-size:1rem}.matrix-add-button-2,.vector-add-button-2{margin-bottom:72px}.matrix-add-button-3,.vector-add-button-3{margin-bottom:91px}.vector-add-button-inline{width:44px;min-height:34px;margin-bottom:0}.matrix-stack[data-drop-position=before]:before{z-index:5;content:"";background:#f4b740;border-radius:999px;width:3px;position:absolute;top:2px;bottom:2px;left:54px;box-shadow:0 0 0 2px #f4b7403d}.matrix-item{flex:none;width:auto;position:relative}.matrix-item[data-drop-position]:before,.vector-column-label[data-drop-position]:before{z-index:5;content:"";background:#f4b740;border-radius:999px;width:3px;position:absolute;box-shadow:0 0 0 2px #f4b7403d}.matrix-item[data-drop-position]:before{top:2px;bottom:2px}.matrix-item[data-drop-position=before]:before{left:-7px}.matrix-item[data-drop-position=after]:before{right:-7px}.matrix-card{isolation:isolate;background:#172124;border:1px solid #2a3d43;border-radius:8px;flex-direction:column;justify-content:space-between;height:100%;padding:10px;display:flex;position:relative;overflow:hidden}.matrix-card:before{z-index:0;width:var(--step-progress,0%);content:"";background:linear-gradient(90deg,#f4b7403d,#f4b7401a),#172124;transition:width .12s linear;position:absolute;inset:0}.matrix-card>*{position:relative}.matrix-card-2,.vector-matrix-card-2,.result-matrix-card-2{--vector-expression-height:74px;min-height:188px}.matrix-card-3,.vector-matrix-card-3,.result-matrix-card-3{--vector-expression-height:114px;min-height:230px}.matrix-item[draggable=true]{cursor:grab}.matrix-item[data-active-step] .matrix-card{border-color:#f4b740;box-shadow:0 0 0 1px #f4b74080,0 0 20px #f4b7402e}.matrix-item[data-active-step] .matrix-label{color:#f4b740}.matrix-item[data-dragging],.vector-column-label[data-dragging],.vector-expression [data-dragging]{opacity:.46}.matrix-item[data-drag-preview] .matrix-card,.vector-column-drag-preview[data-drag-preview]{outline-offset:3px;opacity:.96;outline:2px solid #f4b740db}.matrix-item[data-drag-preview] .matrix-card{border-color:#f4b740}.matrix-label{color:#edf5f2;font-size:1.15rem}.matrix-actions{gap:5px;display:flex}.matrix-actions button{color:#789094;background:0 0;border-color:#0000;place-items:center;width:22px;min-height:22px;padding:0;font-size:.75rem;display:grid}.matrix-actions button:hover,.matrix-actions button:focus-visible,.vector-column-label button:hover,.vector-column-label button:focus-visible{color:#e4eeee;background:#ef6f6c1a;border-color:#0000}.matrix-expression{margin:12px 0;display:block}.matrix-bracket{width:max-content;padding:0 13px;position:relative}.matrix-bracket:before,.matrix-bracket:after{content:"";border-color:#b9cfce;width:9px;position:absolute;top:1px;bottom:1px}.matrix-bracket:before{border-top:2px solid;border-bottom:2px solid;border-left:2px solid;left:0}.matrix-bracket:after{border-top:2px solid;border-bottom:2px solid;border-right:2px solid;right:0}.matrix-grid{grid-auto-rows:34px;gap:6px;display:grid}.matrix-grid-2{grid-template-columns:repeat(2,54px)}.matrix-grid-3{grid-template-columns:repeat(3,54px)}.matrix-grid input{color:#edf5f2;text-align:center;background:#10191b;border:1px solid #0000;border-radius:4px;width:100%;min-width:0;height:34px;font-family:Georgia,Times New Roman,serif;font-size:1rem}.matrix-grid input:hover{border-color:#344d54}.matrix-grid input[aria-invalid]{background:#251718;border-color:#ef6f6c}.duration-row{color:#b7c8c8;gap:10px;font-size:.85rem}.duration-row span{font-variant-numeric:tabular-nums;width:56px}.duration-row input{flex:1}.vector-matrix-card,.result-matrix-card{border:1px solid color-mix(in srgb, var(--vector), #101416 45%);background:color-mix(in srgb, var(--vector), #101416 86%);border-radius:8px;flex-direction:column;justify-content:space-between;align-items:center;width:auto;padding:10px;display:flex}.vector-matrix-card{--vector:#5bd8a6}.result-matrix-card{--vector:#8fb4ff;border-color:color-mix(in srgb, var(--vector), #101416 30%);background:color-mix(in srgb, var(--vector), #101416 78%)}.vector-column-labels,.result-column-labels{gap:6px;width:max-content;padding:0 13px;display:grid}.vector-column-label,.result-column-label{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:34px;display:flex;position:relative}.vector-column-label[draggable=true]{cursor:grab}.vector-column-label[data-drop-position]:before{top:0;bottom:calc(-1 * var(--vector-expression-height,120px))}.vector-column-label[data-drop-position=before]:before{left:-7px}.vector-column-label[data-drop-position=after]:before{right:-7px}.vector-column-label button{color:#789094;background:0 0;border-color:#0000;place-items:center;width:18px;min-height:18px;padding:0;font-size:.68rem;line-height:1;display:grid;position:absolute;top:0;right:-7px}.vector-label{color:#edf5f2;font-size:1.05rem}.vector-color-label{background:var(--vector);width:22px;height:4px;box-shadow:0 0 0 1px color-mix(in srgb, var(--vector), #101416 35%);border-radius:999px}.vector-expression{grid-auto-rows:34px;gap:6px;width:max-content;padding:0 13px;display:grid;position:relative}.vector-expression:before,.vector-expression:after,.result-expression:before,.result-expression:after{content:"";border-color:color-mix(in srgb, var(--vector), #edf5f2 42%);width:9px;position:absolute;top:1px;bottom:1px}.vector-expression:before,.result-expression:before{border-top:2px solid;border-bottom:2px solid;border-left:2px solid;left:0}.vector-expression:after,.result-expression:after{border-top:2px solid;border-bottom:2px solid;border-right:2px solid;right:0}.vector-expression input{color:#edf5f2;text-align:center;background:#10191b;border:1px solid #0000;border-radius:4px;width:100%;min-width:0;height:34px;font-family:Georgia,Times New Roman,serif;font-size:1rem}.vector-add-cell{width:44px;height:34px;display:block}.vector-expression input:hover{border-color:#344d54}.vector-expression input[aria-invalid]{background:#251718;border-color:#ef6f6c}.result-expression{grid-auto-rows:34px;gap:6px;width:max-content;padding:0 13px;display:grid;position:relative}.card-balance-row{visibility:hidden;width:100%;height:34px}.result-expression output{border:1px solid color-mix(in srgb, var(--vector), #edf5f2 24%);color:#edf5f2;font-variant-numeric:tabular-nums;background:#10191bb3;border-radius:4px;place-items:center;min-width:0;height:34px;font-family:Georgia,Times New Roman,serif;display:grid}.vector-column-drag-preview{border:1px solid color-mix(in srgb, var(--vector), #101416 45%);background:color-mix(in srgb, var(--vector), #101416 72%);border-radius:8px;flex-direction:column;align-items:center;gap:8px;width:max-content;padding:8px;display:flex}.vector-drag-preview-values{gap:6px;width:max-content;display:grid}.vector-drag-preview-cell{color:#edf5f2;background:#10191b;border:1px solid #344d54;border-radius:4px;place-items:center;min-width:0;height:34px;font-family:Georgia,Times New Roman,serif;font-size:1rem;display:grid}@media (width<=820px){body{overflow:auto}.shell{grid-template-rows:minmax(360px,56vh) auto;height:auto;min-height:100vh}.panel{grid-template-columns:1fr;gap:10px;min-height:0;overflow:visible}.control-cluster{gap:10px}.view-tools{top:auto;bottom:12px;right:12px}.transport{flex-wrap:wrap;display:flex}.transport button,.transport select{flex:72px;width:auto}.equation-tray{overflow-x:auto}.equation-row{grid-template-columns:minmax(0,max-content) auto minmax(180px,max-content)}.matrix-item{width:auto}}@media (width<=520px){.view-tools button{min-width:0;padding-inline:9px}.about-dialog-header{padding:20px 18px 13px}.about-intro{padding:0 18px 18px}.control-guide,.interaction-guide{margin:0 18px 20px}.interaction-guide dl{grid-template-columns:1fr}.control-guide [role=row]{grid-template-columns:minmax(110px,.75fr) minmax(0,1.5fr)}.control-guide [role=cell],.control-guide [role=columnheader]{padding:10px;font-size:.8rem}.about-links{padding:16px 18px 20px}}
