:root{--page-padding: clamp(20px, 2.5vw, 32px);color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f7fb;background:#080b12;font-synthesis:none;text-rendering:optimizeLegibility;transition:color .32s ease,background-color .32s ease}:root[data-theme=light]{--light-page: #f7f6f2;--light-panel: #fcfbf8;--light-border: #dddad3;--light-primary: #20232a;--light-secondary: #7a808b;--light-blue: #168ed1;--light-blue-text: #176a99;--light-orange: #ff8a4c;--light-border-strong: #cbc7be;--light-active-background: rgba(22, 142, 209, .09);--light-active-border: rgba(22, 142, 209, .32);--light-panel-shadow: 0 10px 30px rgba(42, 38, 30, .07);color-scheme:light;color:var(--light-primary);background:var(--light-page)}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.app-shell{position:relative;width:100%;height:100%;min-height:540px;background-color:#080b12;background-image:radial-gradient(circle at 50% 45%,rgba(255,255,255,.038),transparent 48%);isolation:isolate;transition:background-color .32s ease}:root[data-theme=light] .app-shell{background-color:var(--light-page);background-image:none}.scene-host{position:absolute;inset:0;touch-action:none;cursor:grab}.scene-host.is-dragging{cursor:grabbing}.scene-host.is-point-hover{cursor:move}.scene-canvas,.label-layer{position:absolute;inset:0;display:block;width:100%;height:100%;animation:scene-entrance .78s cubic-bezier(.22,.7,.2,1) both;transition:opacity .17s ease}:root.theme-fade-out .scene-canvas,:root.theme-fade-out .label-layer,:root.theme-fade-in .scene-canvas,:root.theme-fade-in .label-layer{opacity:.42}@keyframes scene-entrance{0%{opacity:0}to{opacity:1}}.scene-canvas:focus-visible{outline:2px solid #57b8ff;outline-offset:-4px}.label-layer{pointer-events:none}.masthead{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:22px var(--page-padding) 0;pointer-events:none}.title-block{min-width:0}.header-actions{display:flex;align-items:center;gap:14px}h1{margin:0;font-size:clamp(38px,4vw,44px);font-weight:600;line-height:1.02;letter-spacing:-.045em}.subtitle{margin:7px 0 0;color:#d5ddea94;font-size:clamp(14px,1.25vw,15px);font-weight:500;letter-spacing:-.005em;transition:color .32s ease}.drag-prompt{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:#d9e0eb8a;font-size:12px;font-weight:400;letter-spacing:-.005em;white-space:nowrap;transition:color .32s ease}.control-prompt{margin:0 0 0 10px}.drag-prompt span{width:6px;height:6px;border-radius:50%;background:#ff8a4c}.drag-prompt strong{color:#ffac7e;font-weight:500}.theme-toggle{min-height:30px;padding:5px 10px;border:1px solid rgba(156,173,200,.18);border-radius:9px;color:#e1e7f0b8;background:#12192494;font-size:12px;font-weight:500;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:color .16s ease,background .16s ease,border-color .16s ease}.theme-toggle:hover{color:#f4f7fb;border-color:#9cadc857}.theme-toggle:focus-visible{outline:2px solid #57b8ff;outline-offset:2px}.theme-toggle:disabled{cursor:default}:root[data-theme=light] .subtitle,:root[data-theme=light] .drag-prompt{color:var(--light-secondary)}:root[data-theme=light] .drag-prompt strong{color:var(--light-orange)}:root[data-theme=light] .theme-toggle{color:var(--light-secondary);border-color:var(--light-border);background:var(--light-panel)}:root[data-theme=light] .theme-toggle:hover{color:var(--light-primary);border-color:var(--light-border-strong);background:var(--light-panel)}.control-cluster{position:absolute;z-index:4;left:var(--page-padding);bottom:24px;display:grid;justify-items:start;gap:9px;max-width:calc(100% - (2 * var(--page-padding)))}.control-dock{position:relative;width:max-content;max-width:100%;padding:9px 10px 8px;border:1px solid rgba(156,173,200,.11);border-radius:15px;background:#0c111b8f;box-shadow:0 14px 40px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:color .32s ease,background-color .32s ease,border-color .32s ease,box-shadow .32s ease}.control-row{display:flex;flex-wrap:nowrap;gap:4px}.layer-toggle{min-height:31px;padding:5px 10px;border:1px solid rgba(244,247,251,.11);border-radius:8px;color:#98a2b3;background:#ffffff06;font-size:13px;font-weight:500;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.layer-toggle:hover{color:#f4f7fb;border-color:#f4f7fb47}.layer-toggle[aria-pressed=true]{color:#f4f7fb;border-color:#57b8ff47;background:#57b8ff1c}.layer-toggle:focus-visible{outline:2px solid #57b8ff;outline-offset:2px}.status-row{margin-top:7px;padding:2px 4px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.point-status{margin:0}:root[data-theme=light] .control-dock{border-color:var(--light-border);background:var(--light-panel);box-shadow:var(--light-panel-shadow)}:root[data-theme=light] .layer-toggle{color:var(--light-secondary);border-color:var(--light-border);background:#f7f6f2b8}:root[data-theme=light] .layer-toggle:hover{color:var(--light-primary);border-color:var(--light-border-strong)}:root[data-theme=light] .layer-toggle[aria-pressed=true]{color:var(--light-blue-text);border-color:var(--light-active-border);background:var(--light-active-background)}:root[data-theme=light] .point-status{color:var(--light-orange)}.point-status{color:#ffac7ec2;font-variant-numeric:tabular-nums;transition:color .32s ease}.scene-label{--label-shadow-filter: drop-shadow(0 1px 2px #080b12) drop-shadow(0 0 4px rgba(8, 11, 18, .94)) drop-shadow(0 0 8px rgba(8, 11, 18, .72));display:block;padding:2px 4px;color:#f4f7fb;direction:ltr;font-size:clamp(34px,3.8vw,42px);font-weight:700;line-height:1;text-shadow:0 1px 2px #080b12,0 0 5px #080b12,0 0 12px #080b12;opacity:1;transition:opacity .36s ease,color .32s ease,text-shadow .32s ease;-webkit-user-select:none;user-select:none;will-change:opacity}.scene-label--hidden,.scene-label--epipole-inactive,.scene-label--projection-inactive{opacity:0}.scene-label__glyph{--label-offset: 0px;display:block;transform:translateY(var(--label-offset)) scale(1);transform-origin:50% 50%;-webkit-filter:var(--label-shadow-filter);filter:var(--label-shadow-filter)}.scene-label math{display:block;direction:ltr;color:inherit;font-family:"STIX Two Math","Cambria Math",Times New Roman,serif;font-size:inherit}.scene-label--above .scene-label__glyph{--label-offset: -30px}.scene-label--below .scene-label__glyph{--label-offset: 30px}.scene-label--popping .scene-label__glyph{animation:label-pop .44s cubic-bezier(.2,.78,.24,1) both}@keyframes label-pop{0%{transform:translateY(var(--label-offset)) scale(.78)}68%{transform:translateY(var(--label-offset)) scale(1.08)}to{transform:translateY(var(--label-offset)) scale(1)}}.scene-label--warm{color:#ffac7e}.scene-label--cool{color:#8bd0ff}:root[data-theme=light] .scene-label{--label-shadow-filter: drop-shadow(0 1px 1px rgba(252, 251, 248, .82)) drop-shadow(0 0 3px rgba(252, 251, 248, .6));color:var(--light-primary);text-shadow:0 1px 1px rgba(252,251,248,.72)}:root[data-theme=light] .scene-label--warm{color:var(--light-orange)}:root[data-theme=light] .scene-label--cool{color:var(--light-blue)}@media(max-width:680px){:root{--page-padding: 20px}.masthead{display:block;padding-top:18px}.drag-prompt{margin-top:0}.header-actions{align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.control-cluster{bottom:20px}.layer-toggle{padding-inline:9px}}@media(max-height:620px){.masthead{padding-top:14px}.control-cluster{bottom:16px}}@media(max-width:420px){.control-row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.scene-canvas,.label-layer,.scene-label--popping .scene-label__glyph{animation:none}}
