.math-keyboard{position:fixed;z-index:28;right:0;bottom:0;left:0;height:var(--keyboard-dock-height);padding:9px 18px 12px calc(var(--panel-width) + 18px);border-top:1px solid var(--keyboard-key-border);background:var(--keyboard-surface);box-shadow:0 -6px 18px color-mix(in srgb,var(--text) 8%,transparent);user-select:none;-webkit-user-select:none;transform-origin:bottom center}.math-keyboard.is-open{animation:keyboard-dock-enter var(--motion-panel) cubic-bezier(.22,1,.36,1) both}.math-keyboard.is-closing{pointer-events:none;animation:keyboard-dock-exit var(--motion-panel) cubic-bezier(.22,1,.36,1) both}@keyframes keyboard-dock-enter{0%{transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.keyboard-frame{width:min(100%,900px);margin:0 auto}.keyboard-header{display:flex;align-items:center;gap:8px;min-height:32px;margin-bottom:7px}.keyboard-title{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;color:var(--text-secondary);font-size:10px;font-weight:750;letter-spacing:.065em;text-transform:uppercase}.keyboard-tabs{display:flex;align-self:center;gap:2px;padding:2px;border:1px solid color-mix(in srgb,var(--keyboard-key-border) 72%,transparent);border-radius:6px;background:var(--keyboard-key-muted)}.keyboard-close,.keyboard-tabs button{position:relative;height:30px;padding:0 10px;color:var(--text-secondary);font-size:11.5px;font-weight:700;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer}.keyboard-tabs button[aria-pressed=true]{color:var(--primary);border-color:var(--keyboard-key-border);background:var(--keyboard-key);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 8%,transparent)}.keyboard-tabs button[aria-pressed=true]:after{content:none}.keyboard-close{display:flex;width:auto;height:32px;align-items:center;justify-content:center;gap:5px;margin-left:auto;padding:0 8px;border-color:var(--keyboard-key-border);border-radius:6px;background:var(--keyboard-key)}.keyboard-close span,.keyboard-close svg{display:block;flex:0 0 auto}.keyboard-close span{line-height:15px}.keyboard-close:hover{color:var(--text);background:var(--surface-hover)}.keyboard-content{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:16px}.keyboard-key-panel{min-width:0}.keyboard-basic-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.keyboard-key-group{display:grid;min-width:0;gap:5px}.keyboard-group-label{color:var(--text-secondary);font-size:10px;font-weight:750;letter-spacing:.09em;line-height:12px;text-transform:uppercase}.keyboard-command-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start}.keyboard-command-label{grid-column:1/-1}.keyboard-edit-tools,.keyboard-navigation{display:grid;grid-column:1/-1;gap:6px}.keyboard-edit-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.keyboard-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.keyboard-command-row .keyboard-edit-tools button,.keyboard-command-row .keyboard-navigation button{color:color-mix(in srgb,var(--text) 22%,var(--text-secondary))}.keyboard-command-row .keyboard-edit-tools svg,.keyboard-command-row .keyboard-navigation svg{width:16px;height:16px;stroke-width:2.15}.keyboard-command-row button,.keyboard-grid button{display:grid;min-width:0;height:36px;place-items:center;padding:0 7px;color:var(--text);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;border:1px solid color-mix(in srgb,var(--keyboard-key-border) 58%,transparent);border-radius:6px;background:var(--keyboard-key);box-shadow:none;cursor:pointer;touch-action:manipulation;transition:color .1s ease,border-color .1s ease,background-color .1s ease,box-shadow .1s ease,transform 80ms ease}.keyboard-command-row button{color:var(--text-secondary);border-color:transparent;background:color-mix(in srgb,var(--surface-raised) 48%,transparent);box-shadow:none}.keyboard-command-row .keyboard-delete,.keyboard-command-row .keyboard-submit{grid-column:auto}.keyboard-command-row .keyboard-functions-button{display:flex;grid-column:1/-1;align-items:center;justify-content:center;gap:6px;color:color-mix(in srgb,var(--text) 20%,var(--text-secondary));border-color:color-mix(in srgb,var(--primary) 12%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 24%,var(--keyboard-key))}.keyboard-functions-button svg{flex:0 0 auto;color:var(--brand)}.keyboard-command-row .keyboard-functions-button[aria-expanded=true]{color:color-mix(in srgb,var(--primary) 84%,var(--text));border-color:color-mix(in srgb,var(--primary) 36%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 66%,var(--keyboard-key))}.keyboard-functions-button[aria-expanded=true] svg{color:var(--primary)}.keyboard-command-row .keyboard-delete{display:flex;align-items:center;justify-content:center;gap:5px;color:color-mix(in srgb,var(--text) 20%,var(--text-secondary));font-size:12px;font-weight:720;line-height:1;border-color:color-mix(in srgb,var(--keyboard-key-border) 62%,transparent);background:var(--keyboard-key)}.keyboard-command-row .keyboard-delete svg{width:16px;height:16px;flex:0 0 auto;stroke-width:2}.keyboard-subtract-glyph{display:block;width:13px;height:2px;border-radius:999px;background:currentColor}.keyboard-grid button.is-operator{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 16%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 62%,var(--keyboard-key))}.keyboard-number-grid button:not(.is-operator){font-weight:750;background:color-mix(in srgb,var(--keyboard-key) 92%,var(--keyboard-surface))}.keyboard-number-grid button.is-operator{background:color-mix(in srgb,var(--primary-soft) 62%,var(--keyboard-key))}.keyboard-grid button.is-constant,.keyboard-grid button.is-function,.keyboard-grid button.is-operator,.keyboard-grid button.is-variable{font-family:Cambria Math,STIX Two Math,Georgia,serif}.keyboard-grid button.is-operator{font-size:17px}.keyboard-grid button.is-variable{color:var(--text-secondary);font-style:italic}@media (hover:hover){.keyboard-grid button:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 24%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 30%,var(--keyboard-key));box-shadow:0 3px 8px color-mix(in srgb,var(--text) 8%,transparent);transform:translateY(-1px)}.keyboard-grid button.is-operator:hover{color:var(--primary-hover);border-color:color-mix(in srgb,var(--primary) 28%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 78%,var(--keyboard-key))}.keyboard-command-row button:hover{color:var(--text);border-color:transparent;background:var(--surface-hover);box-shadow:none}.keyboard-command-row .keyboard-functions-button:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 26%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 48%,var(--keyboard-key));box-shadow:0 3px 8px color-mix(in srgb,var(--text) 7%,transparent);transform:translateY(-1px)}.keyboard-command-row .keyboard-functions-button[aria-expanded=true]:hover{color:var(--primary-hover);border-color:color-mix(in srgb,var(--primary) 44%,var(--keyboard-key-border));background:color-mix(in srgb,var(--primary-soft) 78%,var(--keyboard-key))}.keyboard-command-row .keyboard-delete:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 18%,var(--keyboard-key-border));background:color-mix(in srgb,var(--surface-hover) 62%,var(--keyboard-key));box-shadow:0 3px 8px color-mix(in srgb,var(--text) 7%,transparent);transform:translateY(-1px)}.keyboard-command-row .keyboard-submit:hover{color:var(--canvas);border-color:var(--brand-hover);background:var(--brand-hover);box-shadow:0 3px 9px color-mix(in srgb,var(--brand) 22%,transparent);transform:translateY(-1px)}}.keyboard-command-row button:active,.keyboard-grid button:active{transform:translateY(1px);box-shadow:none}.keyboard-close:focus-visible,.keyboard-command-row button:focus-visible,.keyboard-grid button:focus-visible,.keyboard-tabs button:focus-visible{position:relative;z-index:1;outline:2px solid var(--primary);outline-offset:2px}.keyboard-command-row .keyboard-submit{color:var(--canvas);font-size:12px;font-weight:750;border-color:var(--brand);background:var(--brand);box-shadow:0 2px 6px color-mix(in srgb,var(--brand) 20%,transparent)}.keyboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:162px;align-content:start}.keyboard-symbol-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.keyboard-grid-functions,.keyboard-grid-trig{grid-template-columns:repeat(4,minmax(0,1fr))}.keyboard-grid-functions button,.keyboard-grid-trig button{font-family:Cambria Math,STIX Two Math,Georgia,serif;font-size:15px}.math-keyboard.is-functions{height:min(360px,calc(100dvh - var(--topbar-height) - 18px))}.keyboard-key-panel-functions{min-width:0;min-height:0}.sponsored-rail,.sponsored-rail-reopen,.sponsored-rail-toggle{display:none}@media (min-width:1500px) and (min-height:720px){.sponsored-rail{position:relative;z-index:8;display:flex;min-width:0;align-items:center;flex-direction:column;padding:12px 13px;border-left:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-raised) 44%,var(--surface));transition:opacity .14s ease,transform .21s cubic-bezier(.22,1,.36,1),padding-inline .21s cubic-bezier(.22,1,.36,1)}.sponsored-rail-heading{display:flex;width:160px;align-items:center;margin-bottom:7px;color:var(--text-tertiary);font-size:7.5px;font-weight:700;letter-spacing:.09em;line-height:1;text-transform:uppercase}.sponsored-card{position:relative;display:block;width:160px;height:600px;flex:0 0 600px;padding:0;border:0;background:transparent}.sponsored-card-preview{display:flex;width:100%;height:100%;flex-direction:column;overflow:hidden;padding:14px 13px 12px;color:var(--text);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-raised) 62%,var(--surface));pointer-events:none}.sponsored-card:after,.sponsored-card:before{content:none}.sponsored-brand{position:relative;z-index:1;display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sponsored-brand-mark{display:grid;width:22px;height:22px;place-items:center;color:var(--primary);font-family:Georgia,serif;font-size:14px;font-weight:700;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.sponsored-art{position:relative;z-index:1;width:118px;height:184px;margin:24px auto 20px}.sponsored-art svg{display:block;width:118px;height:164px;opacity:.68}.sponsored-grid-line{fill:none;stroke:var(--border);stroke-width:1}.sponsored-axis-line{fill:none;stroke:var(--text-tertiary);opacity:.55;stroke-width:1}.sponsored-curve-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-width:2.5}.sponsored-curve-point{fill:var(--primary)}.sponsored-formula{position:absolute;right:0;bottom:0;padding:4px 6px;color:var(--text-secondary);font:italic 9px Georgia,serif;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.sponsored-copy{position:relative;z-index:1}.sponsored-copy>span{color:var(--text-tertiary);font-size:7.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.sponsored-copy strong{display:block;margin-top:7px;font-size:16.5px;font-weight:650;line-height:1.14;letter-spacing:-.025em}.sponsored-copy p{margin:9px 0 0;color:var(--text-tertiary);font-size:9.5px;line-height:1.55}.sponsored-cta{position:relative;z-index:1;display:flex;height:34px;align-items:center;justify-content:space-between;margin-top:auto;padding:0 4px;color:var(--text-tertiary);font-size:8.5px;font-weight:650;border-top:1px solid var(--border)}.sponsor-collapsed .sponsored-rail{width:0;max-width:0;padding-inline:0;overflow:hidden;visibility:hidden;opacity:0;border-left-color:transparent;transform:translateX(14px);pointer-events:none}.sponsored-rail-toggle{display:grid;width:22px;height:22px;place-items:center;margin:-7px -3px -7px auto;padding:0;color:var(--text-tertiary);border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.sponsored-rail-toggle:focus-visible,.sponsored-rail-toggle:hover{color:var(--text);border-color:var(--border);background:var(--surface)}.sponsor-collapsed .sponsored-rail-reopen{position:absolute;z-index:18;top:50%;right:0;display:grid;width:27px;height:48px;place-items:center;padding:0;color:var(--text-secondary);border:1px solid var(--border-strong);border-right:0;border-radius:8px 0 0 8px;background:var(--surface);box-shadow:-2px 2px 8px color-mix(in srgb,var(--text) 7%,transparent);transform:translateY(-50%);cursor:pointer}.sponsor-collapsed .sponsored-rail-reopen:focus-visible,.sponsor-collapsed .sponsored-rail-reopen:hover{color:var(--primary);background:var(--primary-soft)}}.surface-app{display:grid;height:100dvh;min-height:620px;grid-template-rows:var(--topbar-height) minmax(0,1fr);overflow:hidden;color:var(--text);background:var(--app-bg)}.surface-topbar{z-index:40;min-width:0;gap:0;padding:0 12px 0 14px;border-bottom:1px solid var(--border-strong);background:var(--surface)}.surface-brand,.surface-topbar{position:relative;display:flex;align-items:center}.surface-brand{align-self:stretch;gap:7px;flex:0 0 auto;padding-right:14px;margin-right:10px;color:var(--text);text-decoration:none}.surface-brand:after{position:absolute;top:50%;right:0;width:1px;height:24px;content:"";background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--border) 68%,transparent) 28%,color-mix(in srgb,var(--border) 68%,transparent) 72%,transparent);transform:translateY(-50%)}.surface-brand:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.surface-brand-mark{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:transparent}.surface-brand-mark img{width:27px;height:27px;object-fit:contain}.surface-brand strong{font-size:14px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.surface-brand strong span{color:var(--brand);font-weight:720}.surface-brand strong small{color:color-mix(in srgb,var(--brand) 78%,var(--text-secondary));font-size:inherit;font-weight:680}.surface-project-context{display:flex;min-width:0;align-items:center;gap:8px}.surface-project-title{max-width:min(28vw,260px);overflow:hidden;padding:0 8px;color:var(--text);font-size:13px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.surface-save-status{display:inline-flex;min-height:24px;align-items:center;gap:5px;padding:0 8px 0 6px;color:var(--text-tertiary);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 76%,transparent);font-size:10px;font-weight:620;white-space:nowrap}.surface-save-status svg{color:var(--success)}.surface-save-status.is-error,.surface-save-status.is-error svg,.surface-save-status.is-unavailable,.surface-save-status.is-unavailable svg{color:var(--danger)}.surface-save-status.is-loading svg,.surface-save-status.is-saving svg{color:var(--primary)}.surface-topbar-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.surface-action-group{display:flex;align-items:center;gap:1px}.surface-file-controls button{display:grid;width:34px;height:34px;place-items:center;padding:0;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.surface-file-controls button:hover{color:var(--brand);background:var(--surface-hover)}.surface-details>summary:focus-visible,.surface-file-controls button:focus-visible,.surface-history-controls button:focus-visible,.surface-mode-group a:focus-visible,.surface-panel-reopen:focus-visible,.surface-row-menu>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.surface-mode-group a{display:inline-flex;height:34px;align-items:center;gap:5px;padding:0 10px;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:11.5px;font-weight:750;text-decoration:none}.surface-mode-group a:hover,.surface-mode-group a[aria-current=page]{color:var(--brand);background:var(--surface-hover)}.surface-status{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:10px;color:var(--text-tertiary);border-left:1px solid var(--border);font-size:11px;font-weight:650;white-space:nowrap}.surface-ready-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 12%,transparent)}.surface-history-controls{display:inline-flex;gap:1px;padding-inline:6px;margin-inline:2px;border-right:1px solid var(--border);border-left:1px solid var(--border)}.surface-history-controls button{display:grid;width:34px;height:34px;place-items:center;padding:0;color:var(--text-secondary);border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.surface-history-controls button:not(:disabled):hover{color:var(--brand);background:var(--surface-hover)}.surface-history-controls button:disabled{opacity:.4;cursor:not-allowed}.is-spinning{animation:surface-spin .85s linear infinite}@keyframes surface-spin{to{transform:rotate(1turn)}}.surface-workspace{display:grid;min-height:0;grid-template-columns:var(--panel-width) minmax(0,1fr);transition:grid-template-columns var(--motion-panel) cubic-bezier(.22,1,.36,1)}.surface-workspace.panel-collapsed{grid-template-columns:0 minmax(0,1fr)}.surface-panel{position:relative;z-index:20;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px 28px;border-right:1px solid var(--border-strong);background:var(--surface);scrollbar-gutter:stable;scrollbar-width:none;transition:opacity var(--motion-fast) ease}.surface-panel::-webkit-scrollbar{width:0;height:0}.panel-collapsed .surface-panel{overflow:hidden;opacity:0;pointer-events:none}.surface-panel>header{position:sticky;z-index:5;top:0;display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:7px 16px;margin:0 -16px 15px;border-bottom:1px solid var(--border-strong);background:var(--surface)}.surface-panel>header span{display:none}.surface-panel h1{margin:0;font-size:15px;font-weight:740;letter-spacing:-.02em}.surface-panel-actions{display:flex;align-items:center;gap:2px}.surface-panel>header button,.surface-zoom-controls>button{display:grid;width:32px;height:32px;place-items:center;padding:0;color:var(--text-secondary);border:0;border-radius:8px;background:transparent;cursor:pointer}.surface-panel>header button:hover{color:var(--text);background:var(--surface-hover)}.surface-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;margin-bottom:13px;border:1px solid var(--border);border-radius:8px}.surface-mode,.surface-storage{background:var(--surface-raised)}.surface-storage{order:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;margin:-3px 0 10px;color:var(--text-tertiary);border:1px solid var(--border);border-radius:7px;font-size:9px;line-height:1.4}.surface-storage.is-error{color:#b42318;border-color:color-mix(in srgb,#d92d20 24%,var(--border))}.surface-storage.is-recovered{color:#9a6700}.surface-storage button{flex:0 0 auto;padding:4px 6px;color:inherit;border:1px solid;border-radius:5px;background:transparent;font-size:9px;cursor:pointer}.surface-add-button{display:inline-flex;width:100%;min-height:31px;align-items:center;justify-content:center;gap:5px;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:9px;font-weight:700;cursor:pointer}.surface-list{order:2;padding:0 0 12px;margin:0}.surface-list>.surface-section-heading{display:none}.surface-section-heading{display:flex;align-items:center;justify-content:space-between}.surface-section-heading h2{margin-bottom:7px}.surface-section-heading>span{color:var(--text-tertiary);font-size:9px}.surface-list ol{display:grid;gap:5px;padding:0;margin:0 0 7px;list-style:none}.surface-list li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;align-items:stretch;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.surface-list li.is-active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 8%,transparent)}.surface-list li>button{display:grid;min-width:0;place-items:center;padding:0;color:var(--text-tertiary);border:0;border-left:1px solid var(--border);background:transparent;cursor:pointer}.surface-list li>button:hover{color:var(--text);background:var(--surface-hover)}.surface-list li>button:disabled{opacity:.3;cursor:not-allowed}.surface-list li>.surface-select{display:grid;justify-items:start;gap:2px;padding:8px 10px;border-left:0;border-radius:7px 0 0 7px;text-align:left}.surface-select[data-color-map=ocean]{box-shadow:inset 3px 0 #0d9488}.surface-select[data-color-map=viridis]{box-shadow:inset 3px 0 #7a9e28}.surface-select[data-color-map=sunset]{box-shadow:inset 3px 0 #d95f59}.surface-select[data-color-map=mono]{box-shadow:inset 3px 0 #687386}.surface-select strong{overflow:hidden;max-width:100%;color:var(--text);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.surface-select .surface-select-equation{overflow:hidden;width:100%;color:var(--text-secondary);font:10.5px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.surface-select small{color:var(--text-tertiary);font-size:8.5px;text-transform:capitalize}.surface-list li.is-active>.surface-select{border-radius:7px 0 0}.surface-list li.is-active>.surface-select .surface-select-equation{display:none}.surface-row-menu{min-width:0;border-left:1px solid var(--border)}.surface-row-menu>summary{display:grid;width:100%;height:100%;min-height:52px;place-items:center;color:var(--text-tertiary);border-radius:0 7px 7px 0;cursor:pointer;list-style:none}.surface-row-menu>summary::-webkit-details-marker{display:none}.surface-row-menu>summary:hover,.surface-row-menu[open]>summary{color:var(--text);background:var(--surface-hover)}.surface-row-menu>div{position:absolute;z-index:35;top:calc(100% + 5px);right:0;display:grid;width:154px;padding:5px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 10px 26px color-mix(in srgb,var(--text) 13%,transparent)}.surface-row-menu>div button{display:flex;min-height:32px;align-items:center;gap:8px;padding:0 9px;color:var(--text-secondary);border:0;border-radius:5px;background:transparent;font-size:10.5px;font-weight:650;text-align:left;cursor:pointer}.surface-row-menu>div button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.surface-row-menu>div button.is-danger{color:var(--danger)}.surface-row-menu>div button:disabled{opacity:.38;cursor:not-allowed}.surface-add-button:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--primary-soft)}.surface-add-button:disabled{opacity:.4;cursor:not-allowed}.surface-list:has(.surface-row-menu[open]){z-index:30}.surface-error{order:3}.surface-details-domain{order:4}.surface-details-examples{order:5}.surface-details-appearance{order:6}.surface-tools-toggle{order:7}.surface-details-parameters{order:8}.surface-details-objects{order:9}.surface-details-scene{order:10}.surface-details-output{order:11}.surface-details-objects,.surface-details-output,.surface-details-parameters,.surface-details-scene{display:none}.surface-panel.tools-open .surface-details-objects,.surface-panel.tools-open .surface-details-output,.surface-panel.tools-open .surface-details-parameters,.surface-panel.tools-open .surface-details-scene{display:block}.surface-tools-toggle{display:flex;width:100%;min-height:44px;align-items:center;gap:8px;padding:0;color:var(--text-secondary);border:0;border-top:1px solid var(--border);background:transparent;font-size:11px;font-weight:730;text-align:left;cursor:pointer}.surface-tools-toggle:hover{color:var(--text)}.surface-tools-toggle>svg:first-child{color:var(--text-tertiary)}.surface-tools-toggle small{margin-left:auto;color:var(--text-tertiary);font-size:9px;font-weight:600}.surface-tools-toggle>svg:last-child{color:var(--text-tertiary);transition:transform var(--motion-fast) ease}.surface-tools-toggle[aria-expanded=true]>svg:last-child{transform:rotate(90deg)}.surface-details{width:100%;border-top:1px solid var(--border)}.surface-details>summary{display:flex;min-height:42px;align-items:center;gap:8px;color:var(--text-secondary);cursor:pointer;list-style:none;font-size:11px;font-weight:700}.surface-details>summary::-webkit-details-marker{display:none}.surface-details>summary:hover{color:var(--text)}.surface-details>summary small{margin-left:auto;color:var(--text-tertiary);font-size:9px;font-weight:600;text-transform:capitalize}.surface-details>summary svg{flex:0 0 auto;color:var(--text-tertiary);transition:transform var(--motion-fast) ease}.surface-details[open]>summary svg{transform:rotate(90deg)}.surface-details-content{padding:0 0 14px}.surface-details .surface-advanced,.surface-details .surface-appearance,.surface-details .surface-bookmarks,.surface-details .surface-examples,.surface-details .surface-export,.surface-details .surface-integrated,.surface-details .surface-typed-objects{padding-top:0;margin-top:0;border-top:0}.surface-details-appearance .surface-appearance>h2,.surface-details-examples .surface-examples>h2{display:none}.surface-details-output .surface-export,.surface-details-scene .surface-advanced+.surface-advanced{padding-top:13px;margin-top:13px;border-top:1px solid var(--border)}.surface-integrated,.surface-typed-objects{display:grid;gap:8px;padding:14px 0;margin-top:14px;border-top:1px solid var(--border)}.surface-integrated p{margin:-3px 0 2px;color:var(--text-tertiary);font-size:10px;line-height:1.45}.surface-bookmark-actions button,.surface-object-add button,.surface-section-heading button{display:inline-flex;min-height:28px;align-items:center;justify-content:center;gap:4px;padding:4px 7px;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:9px;font-weight:700;text-transform:capitalize;cursor:pointer}.surface-bookmark-actions button:disabled,.surface-object-add button:disabled,.surface-section-heading button:disabled{opacity:.45;cursor:not-allowed}.surface-sliders{display:grid;gap:6px}.surface-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 48px 28px;align-items:end;gap:5px}.surface-slider-row label{display:grid;min-width:0;gap:3px;color:var(--text-secondary);font-size:9px}.surface-slider-row input{width:100%;accent-color:var(--primary)}.surface-slider-row output{padding-bottom:4px;color:var(--text-tertiary);font:9px/1 ui-monospace,monospace;text-align:right}.surface-bookmarks li>button:not(.surface-bookmark-restore),.surface-definition-row button,.surface-slider-row button,.surface-typed-objects li>button:not(.surface-object-select){display:grid;width:28px;height:28px;place-items:center;padding:0;color:var(--text-tertiary);border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer}.surface-definition-row{display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:5px}.surface-definition-row>input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary)}.surface-definition-row>input:not([type=checkbox]),.surface-object-editor input:not([type=color]):not([type=range]),.surface-object-editor textarea{width:100%;padding:7px 8px;color:var(--text);border:1px solid var(--border-strong);border-radius:6px;outline:none;background:var(--surface);font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.surface-bookmarks ol,.surface-typed-objects ol{display:grid;gap:5px;padding:0;margin:0;list-style:none}.surface-bookmarks li,.surface-typed-objects li{display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;gap:4px}.surface-typed-objects li.is-active .surface-object-select{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:var(--primary-soft)}.surface-bookmark-restore,.surface-object-select{display:grid;min-width:0;justify-items:start;padding:6px 8px;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;background:var(--surface);text-align:left;cursor:pointer}.surface-object-select strong{overflow:hidden;max-width:100%;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.surface-object-select span{color:var(--text-secondary);font-size:9px;text-transform:capitalize}.surface-object-add{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.surface-object-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised)}.surface-object-editor label{display:grid;min-width:0;gap:4px;color:var(--text-tertiary);font-size:9px;font-weight:700}.surface-object-editor label.is-wide{grid-column:1/-1}.surface-object-editor textarea{min-height:54px;resize:vertical}.surface-object-editor input[type=color]{width:100%;height:31px;padding:2px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface)}.surface-object-editor input[type=range]{width:100%;accent-color:var(--primary)}.surface-name{display:grid;gap:5px;color:var(--text-tertiary);font-size:10px;font-weight:700}.surface-name input{width:100%;height:34px;padding:0 9px;color:var(--text);border:1px solid var(--border-strong);border-radius:7px;outline:none;background:var(--surface);font:600 12px/1.4 ui-sans-serif,system-ui,sans-serif}.surface-inline-editor{display:grid;grid-column:1/-1;gap:9px;padding:11px 12px 12px;border-top:1px solid var(--border);border-radius:0 0 7px 7px;background:color-mix(in srgb,var(--surface-raised) 42%,var(--surface))}.surface-editor-heading{display:flex;align-items:center;justify-content:flex-end;gap:10px}.surface-inline-editor .surface-mode{margin-bottom:0}.surface-mode button{display:grid;min-height:36px;place-content:center;color:var(--text-secondary);border:0;border-radius:6px;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.surface-mode button[aria-pressed=true]{color:var(--primary);background:var(--surface);box-shadow:0 1px 5px rgba(19,28,42,.1)}.surface-appearance label,.surface-domains label,.surface-expression,.surface-object-fields label,.surface-object-source,.surface-parametric label,.surface-single-field{display:grid;gap:5px;color:var(--text-tertiary);font-size:10px;font-weight:700}.surface-input-keyboard{display:inline-flex;height:27px;align-items:center;gap:5px;padding:0 7px;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:9px;font-weight:700;cursor:pointer}.surface-input-keyboard:hover,.surface-input-keyboard[aria-pressed=true]{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:var(--primary-soft)}.surface-input-keyboard:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.surface-math-expression>.math-field-autocomplete-host,.surface-math-parametric label>.math-field-autocomplete-host{width:100%;padding:4px 9px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface)}.surface-math-expression>.math-field-autocomplete-host:focus-within,.surface-math-parametric label>.math-field-autocomplete-host:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.surface-math-expression .math-field-host,.surface-math-expression .math-field-host math-field{min-height:44px}.surface-math-expression .math-field-host math-field{display:flex;align-items:center;font-size:18px}.surface-math-parametric .math-field-host,.surface-math-parametric .math-field-host math-field{min-height:32px}.surface-math-parametric .math-field-host math-field{padding-block:0;font-size:16px}.surface-appearance select,.surface-domains input,.surface-object-fields input,.surface-object-source textarea,.surface-single-field input{width:100%;color:var(--text);border:1px solid var(--border-strong);border-radius:7px;outline:none;background:var(--surface);font:500 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.surface-appearance select:focus,.surface-domains input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.surface-parametric{display:grid;gap:8px}.surface-appearance select,.surface-domains input,.surface-object-fields input,.surface-single-field input{height:35px;padding:0 9px}.surface-error{display:flex;gap:8px;padding:9px;margin-top:10px;color:#b42318;border:1px solid color-mix(in srgb,#d92d20 24%,var(--border));border-radius:7px;background:color-mix(in srgb,#d92d20 7%,var(--surface));font-size:10px;line-height:1.45}.surface-error svg{flex:0 0 auto}.surface-error div{display:grid;gap:2px}.surface-error span{color:var(--text-secondary)}.surface-domains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;margin:0;border:0}.surface-domains legend,.surface-panel h2{width:100%;padding:0;margin:0 0 8px;color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.surface-domains legend{grid-column:1/-1}.surface-advanced,.surface-appearance,.surface-bookmarks,.surface-examples,.surface-export{padding-top:15px;margin-top:15px;border-top:1px solid var(--border)}.surface-examples>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.surface-appearance>button,.surface-cross-toggle,.surface-examples button{display:flex;min-height:33px;align-items:center;justify-content:space-between;padding:6px 9px;color:var(--text-secondary);border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:10px;font-weight:650;cursor:pointer}.surface-appearance>button:hover,.surface-cross-toggle:hover,.surface-examples button:hover{color:var(--primary);background:var(--surface-hover)}.surface-appearance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.surface-appearance h2{grid-column:1/-1;margin-bottom:0}.surface-appearance .surface-name{grid-column:1/-1}.surface-appearance>button[aria-pressed=true]{color:var(--primary);background:var(--primary-soft)}.surface-cross-toggle{width:100%;margin-top:15px}.surface-cross-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.surface-cross-panel{padding:8px 0 0}.surface-cross-panel p{color:var(--text-tertiary);font-size:11px}.surface-advanced,.surface-bookmarks,.surface-export{display:grid;gap:7px}.surface-advanced h2,.surface-bookmarks h2,.surface-export h2{margin-bottom:1px}.surface-object-toggle{display:flex;min-height:34px;align-items:center;gap:8px;padding:6px 9px;color:var(--text-secondary);border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:10px;font-weight:700;cursor:pointer}.surface-object-toggle input{width:15px;height:15px;accent-color:var(--primary)}.surface-object-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:4px 0 7px}.surface-object-fields label:nth-child(-n+3){grid-column:1/-1}.surface-object-source textarea{min-height:58px;padding:8px;resize:vertical}.surface-single-field{padding:2px 0 6px}.surface-bookmark-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.surface-bookmarks li{grid-template-columns:minmax(0,1fr) 28px}.surface-bookmark-restore{width:100%;font-size:10px;font-weight:650}.surface-export{grid-template-columns:1fr 1fr}.surface-export h2{grid-column:1/-1}.surface-export button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;color:var(--text-secondary);border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:10px;font-weight:700;cursor:pointer}.surface-export button:hover:not(:disabled){color:var(--primary);background:var(--surface-hover)}.surface-export button:disabled{opacity:.5;cursor:not-allowed}.surface-cross-section{display:block;width:100%;border:1px solid var(--border);border-radius:7px;background:var(--surface-raised)}.surface-cross-grid{fill:none;stroke:var(--border-strong);stroke-width:1}.surface-cross-path{fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.surface-canvas,.surface-canvas-wrap,.surface-stage{position:relative;min-width:0;min-height:0;width:100%;height:100%}.surface-stage{isolation:isolate;overflow:hidden;background:var(--canvas);box-shadow:inset 0 1px color-mix(in srgb,white 55%,transparent)}.surface-canvas-wrap{position:absolute;inset:0}.surface-canvas{display:block;touch-action:none;cursor:grab;outline:none}.surface-canvas:active{cursor:grabbing}.surface-canvas:focus-visible{box-shadow:inset 0 0 0 3px var(--primary)}.surface-panel-reopen{position:absolute;z-index:18;top:12px;left:12px;display:inline-flex;height:34px;align-items:center;gap:6px;padding:0 10px;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 2px 8px color-mix(in srgb,var(--text) 7%,transparent);font-size:11px;font-weight:700;cursor:pointer}.surface-panel-reopen:hover{color:var(--primary);background:var(--surface)}.surface-camera-controls{position:absolute;z-index:14;top:14px;right:14px;display:flex;align-items:flex-start;gap:7px}.surface-view-menu{position:relative}.surface-view-menu>summary{display:inline-flex;height:38px;align-items:center;gap:7px;padding:0 11px;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 9%,transparent);cursor:pointer;list-style:none;font-size:10px;font-weight:750;backdrop-filter:blur(10px)}.surface-view-menu>summary::-webkit-details-marker{display:none}.surface-view-menu>summary:hover,.surface-view-menu[open]>summary{color:var(--primary);background:var(--surface)}.surface-view-menu>div{position:absolute;z-index:2;top:calc(100% + 7px);right:0;display:grid;width:148px;padding:5px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);box-shadow:0 12px 30px color-mix(in srgb,var(--text) 14%,transparent)}.surface-view-menu>div button{display:flex;min-height:34px;align-items:center;gap:9px;padding:0 9px;color:var(--text-secondary);border:0;border-radius:6px;background:transparent;font-size:10.5px;font-weight:650;cursor:pointer}.surface-view-menu>div button:hover{color:var(--primary);background:var(--surface-hover)}.surface-zoom-controls{display:grid;padding:3px;border:1px solid var(--border-strong);border-radius:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 9%,transparent);backdrop-filter:blur(10px)}.surface-zoom-controls>button+button{border-top:1px solid var(--border);border-radius:0}.surface-zoom-controls>button:hover{color:var(--primary);background:var(--surface-hover)}.surface-axis-key{position:absolute;z-index:12;right:18px;bottom:18px;display:grid;gap:5px;padding:7px;border:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 5px 18px color-mix(in srgb,var(--text) 9%,transparent);backdrop-filter:blur(10px);pointer-events:none;font:750 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.surface-axis-key span{display:inline-flex;min-width:92px;align-items:center;gap:7px}.surface-axis-key b{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;color:white;border-radius:6px;box-shadow:0 3px 10px color-mix(in srgb,var(--text) 14%,transparent);font-size:10px}.surface-axis-key small{color:var(--text-secondary);font:650 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.surface-axis-key .is-x b{background:#e5484d}.surface-axis-key .is-y b{background:#30a46c}.surface-axis-key .is-z b{background:#3e63dd}.surface-axis-labels{position:absolute;z-index:11;inset:0;overflow:hidden;pointer-events:none}.surface-axis-labels span{position:absolute;display:grid;width:25px;height:25px;place-items:center;color:white;border:2px solid color-mix(in srgb,white 86%,transparent);border-radius:50%;box-shadow:0 3px 12px color-mix(in srgb,var(--text) 24%,transparent);font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transform:translate(-50%,-50%)}.surface-axis-labels .is-x{background:#e5484d}.surface-axis-labels .is-y{background:#30a46c}.surface-axis-labels .is-z{background:#3e63dd}.surface-viewport-card{position:absolute;z-index:12;top:14px;left:14px;display:grid;max-width:min(330px,calc(100% - 100px));min-width:210px;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px 9px 8px;color:var(--text);border:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 89%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 9%,transparent);backdrop-filter:blur(12px);transition:left var(--motion-panel) cubic-bezier(.22,1,.36,1)}.panel-collapsed .surface-viewport-card{left:116px}.surface-viewport-swatch{width:4px;height:32px;border-radius:999px;background:#0d9488}.surface-viewport-swatch[data-color-map=viridis]{background:linear-gradient(#fde725,#21918c,#440154)}.surface-viewport-swatch[data-color-map=sunset]{background:linear-gradient(#ffb51b,#e42f4f,#3f0b58)}.surface-viewport-swatch[data-color-map=mono]{background:linear-gradient(#eceff4,#3d4654)}.surface-viewport-swatch[data-color-map=ocean]{background:linear-gradient(#84f2c6,#08a6b8,#063b78)}.surface-viewport-card>div{min-width:0}.surface-viewport-card code,.surface-viewport-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-viewport-card strong{margin-bottom:3px;font-size:11px;font-weight:760}.surface-viewport-card code{color:var(--text-secondary);font:10.5px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace}.surface-viewport-mode{padding:4px 6px;color:var(--text-tertiary);border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--surface-raised) 72%,transparent);font-size:8.5px;font-weight:780;text-transform:uppercase}.surface-scene-legend{position:absolute;z-index:12;top:76px;left:14px;display:flex;max-width:min(430px,calc(100% - 100px));flex-wrap:wrap;gap:5px;transition:left var(--motion-panel) cubic-bezier(.22,1,.36,1)}.panel-collapsed .surface-scene-legend{left:116px}.surface-scene-legend span{display:inline-flex;min-height:25px;align-items:center;gap:6px;padding:0 8px;color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--border-strong) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 87%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--text) 7%,transparent);backdrop-filter:blur(10px);font-size:9px;font-weight:720}.surface-scene-legend i{width:14px;height:3px;border-radius:999px;background:#ef5a22}.surface-scene-legend .is-level i{background:#eab308}.surface-scene-legend .is-points i{width:7px;height:7px;border-radius:50%;background:#7c3aed}.surface-scene-legend .is-vectors i{background:#df294f}.surface-hint{position:absolute;z-index:12;bottom:17px;left:50%;padding:7px 11px;color:var(--text-secondary);border:1px solid rgba(110,122,143,.22);border-radius:999px;background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:0 4px 14px rgba(19,28,42,.08);backdrop-filter:blur(10px);font-size:9.5px;font-weight:650;pointer-events:none;transform:translateX(-50%);animation:surface-hint-dismiss .5s ease 5s forwards}@keyframes surface-hint-dismiss{to{opacity:0;transform:translate(-50%,4px)}}.surface-budget-note{position:absolute;top:16px;left:50%;padding:7px 11px;color:#9a6700;border:1px solid rgba(217,119,6,.28);border-radius:999px;background:rgba(255,251,235,.92);box-shadow:0 4px 14px rgba(19,28,42,.08);font-size:10px;font-weight:700;transform:translateX(-50%)}.surface-fallback{position:absolute;z-index:30;top:50%;left:50%;display:grid;width:min(430px,calc(100% - 32px));justify-items:center;padding:28px;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:0 18px 48px rgba(19,28,42,.16);text-align:center;transform:translate(-50%,-50%)}.surface-fallback h2{margin:10px 0 6px;color:var(--text);font-size:18px}.surface-fallback p{margin:0 0 16px;font-size:12px;line-height:1.55}.surface-fallback a{padding:8px 12px;color:white;border-radius:7px;background:var(--primary);font-size:11px;font-weight:750;text-decoration:none}.surface-loading{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:12px;color:var(--text-secondary);background:var(--app-bg);font-size:12px}.surface-loading span{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:surface-spin .85s linear infinite}@media (min-width:781px) and (max-width:1100px){.surface-project-title{max-width:160px}.surface-save-status{width:28px;justify-content:center;padding:0}.surface-save-status span{display:none}}@media (min-width:781px){.surface-app .math-keyboard{right:0;left:var(--panel-width);padding:8px 16px 11px}.surface-app:has(.surface-workspace.panel-collapsed) .math-keyboard{left:0}}@media (min-width:1500px) and (min-height:720px){.surface-workspace{grid-template-columns:var(--panel-width) minmax(0,1fr) 186px}.surface-workspace.panel-collapsed{grid-template-columns:0 minmax(0,1fr) 186px}.surface-workspace.sponsor-collapsed{grid-template-columns:var(--panel-width) minmax(0,1fr) 0}.surface-workspace.panel-collapsed.sponsor-collapsed{grid-template-columns:0 minmax(0,1fr) 0}.surface-app .math-keyboard{right:186px}.surface-app.sponsor-collapsed .math-keyboard{right:0}}@media (min-width:781px) and (max-width:900px){.surface-project-title{max-width:120px}.surface-status{display:none}}@media (max-width:780px){.surface-app{min-height:100dvh;overflow:auto;grid-template-rows:var(--topbar-height) auto}.surface-topbar{padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.surface-brand strong{display:none}.surface-brand{padding-right:8px;margin-right:4px}.surface-file-controls,.surface-mode-group a:first-child,.surface-project-title,.surface-save-status span,.surface-status{display:none}.surface-save-status{width:28px;justify-content:center;padding:0}.surface-topbar-actions{gap:0}.surface-mode-group a{width:34px;justify-content:center;padding:0}.surface-mode-group a span{display:none}.surface-history-controls{padding-inline:3px;margin-inline:0;border-right:0}.surface-workspace,.surface-workspace.panel-collapsed{grid-template-columns:1fr;grid-template-rows:minmax(380px,58dvh) auto}.surface-app.keyboard-open{overflow:hidden}.surface-app.keyboard-open .surface-workspace,.surface-app.keyboard-open .surface-workspace.panel-collapsed{height:calc(100dvh - var(--topbar-height) - min(410px, 58dvh));grid-template-rows:minmax(150px,180px) minmax(0,1fr)}.panel-collapsed .surface-panel{display:block;overflow-y:auto;opacity:1;pointer-events:auto}.surface-stage{grid-row:1}.surface-panel{grid-row:2;max-height:none;border-top:1px solid var(--border);border-right:0}.surface-hint,.surface-panel-actions button:last-child,.surface-panel-reopen{display:none}.surface-camera-controls{top:10px;right:10px}.panel-collapsed .surface-scene-legend,.panel-collapsed .surface-viewport-card{left:10px}.surface-viewport-card{top:10px;left:10px;max-width:calc(100% - 100px);min-width:0}.surface-scene-legend{top:72px;left:10px;max-width:calc(100% - 20px)}.surface-axis-key{right:10px;bottom:10px;display:flex;gap:4px;padding:5px}.surface-axis-key span{min-width:0;gap:4px}.surface-axis-key small{display:none}.surface-app>.math-keyboard{position:fixed;z-index:50;inset:auto 0 0;width:100%;height:min(410px,58dvh);padding:0 8px max(8px,env(safe-area-inset-bottom));overflow-y:auto}}@media (prefers-color-scheme:dark){html:not([data-theme]) .surface-stage,html[data-theme=system] .surface-stage{background:#0d1118}}html[data-theme=contrast] .surface-stage,html[data-theme=dark] .surface-stage{background:#0d1118}@media (prefers-reduced-motion:reduce){.is-spinning,.surface-loading span{animation:none}}