:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:#0a0c11;overscroll-behavior:none}.app,.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-host{touch-action:none}.canvas-host canvas{display:block;touch-action:none}.info{position:absolute;top:16px;left:16px;width:320px;padding:16px 18px;border-radius:12px;background:#0e1118d1;border:1px solid rgba(120,160,220,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d7e0ee;font-size:12px;line-height:1.45;pointer-events:none;box-shadow:0 10px 40px #00000073}.info h1{margin:0 0 2px;font-size:15px;letter-spacing:.2px;color:#eaf1fb}.info .sub{margin:0 0 12px;font-size:11px;color:#8c9bb4}.info dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0}.info dt{color:#7f93b3;white-space:nowrap}.info dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:#e6ecf6}.affine{margin-top:12px;padding-top:10px;border-top:1px solid rgba(120,160,220,.14)}.affine-title{color:#7f93b3;margin-bottom:4px}.affine table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.affine td{text-align:right;padding:1px 4px;color:#c4d2e8;font-size:11px}.info .hint{margin:12px 0 0;font-size:11px;color:#8c9bb4;font-style:italic}.status{position:absolute;bottom:18px;left:50%;transform:translate(-50%);padding:9px 16px;border-radius:999px;background:#0e1118e6;border:1px solid rgba(120,160,220,.2);color:#cdd8ea;font-size:12px}.status.error{border-color:#dc5a5a80;color:#ffb4b4;max-width:70vw}.scene-perf{position:absolute;left:16px;bottom:16px;width:188px;padding:10px 12px 11px;border-radius:12px;background:#0e1118d1;border:1px solid rgba(120,160,220,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d7e0ee;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none;box-shadow:0 10px 40px #00000073}.scene-perf[data-detail=full]{width:224px}.perf-top{display:flex;align-items:baseline;gap:6px}.perf-fps{font-size:26px;font-weight:700;line-height:1;color:#5ef08a;font-variant-numeric:tabular-nums;pointer-events:auto;cursor:pointer;border-radius:4px}.perf-fps:hover{filter:brightness(1.15)}.perf-fps:focus-visible{outline:1px solid rgba(158,203,255,.7);outline-offset:2px}.perf-unit{font-size:10px;letter-spacing:1px;color:#7f93b3}.perf-frame{margin-left:auto;font-size:10px;color:#8c9bb4;font-variant-numeric:tabular-nums;white-space:nowrap}.perf-gpu{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#8c9bb4}.perf-graph{display:block;width:100%;height:34px;margin:8px 0;border-radius:4px;background:#00000040}.perf-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;margin-top:4px}.perf-cols>div{display:flex;flex-direction:column;gap:1px;min-width:0}.perf-cols .lbl{font-size:8.5px;letter-spacing:.6px;text-transform:uppercase;color:#5e6f8c}.perf-cols .abs{color:#e6ecf6;font-variant-numeric:tabular-nums}.perf-cols .pct{font-size:10px;color:#8c9bb4;font-variant-numeric:tabular-nums}.perf-sec{margin:8px 0 1px;font-size:8.5px;letter-spacing:.7px;text-transform:uppercase;color:#5e6f8c}.perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:2px 10px}.perf-grid>div,.perf-row{display:flex;justify-content:space-between;gap:6px}.perf-row{margin-top:2px}.perf-grid .k,.perf-row .k{color:#7f93b3}.perf-grid .v,.perf-row .v{color:#e6ecf6;font-variant-numeric:tabular-nums;white-space:nowrap}.loader{position:absolute;bottom:22px;left:50%;transform:translate(-50%);width:min(420px,72vw);padding:10px 14px 12px;border-radius:12px;background:#0e1118e6;border:1px solid rgba(120,160,220,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 40px #00000073}.loader-row{display:flex;justify-content:space-between;margin-bottom:7px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#9fb0cc}.loader-pct{color:#cfe0f5;font-variant-numeric:tabular-nums}.loader-track{height:6px;border-radius:999px;background:#78a0dc24;overflow:hidden}.loader-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3a6ea5,#5ea0f0);box-shadow:0 0 12px #5ea0f099;transition:width .15s ease}.intensity{position:absolute;bottom:18px;left:50%;transform:translate(-50%);padding:9px 12px 8px;border-radius:12px;background:#0e1118d1;border:1px solid rgba(120,160,220,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 40px #00000073;pointer-events:none;opacity:0;transition:opacity .55s ease}.intensity.visible{opacity:1;transition:opacity .2s ease-out}.intensity-title{margin-bottom:6px;text-align:center;letter-spacing:.4px;font:10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#7f93b3}.intensity-canvas{display:block;width:264px;height:76px}.intensity-labels{display:flex;justify-content:space-between;margin-top:5px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfe0f5;font-variant-numeric:tabular-nums}.intensity-labels .muted{color:#7f93b3}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0a0c11b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.drop-card{padding:22px 30px;border-radius:16px;border:2px dashed rgba(94,160,240,.7);background:#0e1118d9;color:#e6ecf6;font-size:15px}.drop-card b{color:#8fc0ff}.mpr-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;pointer-events:none}.mpr-cell{position:relative;border:0 solid rgba(120,160,220,.3)}.mpr-cell.tl{border-right-width:1px;border-bottom-width:1px}.mpr-cell.tr{border-bottom-width:1px}.mpr-cell.bl{border-right-width:1px}.mpr-label{position:absolute;top:8px;left:10px;padding:2px 7px;border-radius:6px;background:#0e1118b3;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.3px;color:#cfe0f5}.mpr-ruler{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}@media(max-width:700px){.info{top:8px;left:8px;width:min(52vw,230px);padding:9px 11px;font-size:10px;line-height:1.35}.info h1{font-size:12px}.info .sub,.info .affine,.info .hint{display:none}.scene-perf{left:8px;bottom:8px;width:132px;padding:7px 9px;font-size:10px}.scene-perf[data-detail=full]{width:182px}.perf-fps{font-size:19px}.perf-graph{height:22px;margin:6px 0}.intensity{display:none}.mpr-label{font-size:9px;padding:1px 5px}.drop-card{font-size:13px;padding:16px 18px}}.topbar{position:absolute;top:0;left:0;right:0;height:44px;z-index:30;display:flex;gap:4px;padding:5px 6px;background:#0a0c11db;border-bottom:1px solid rgba(120,160,220,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-desktop{left:50%;right:auto;width:auto;height:auto;top:12px;transform:translate(-50%);padding:4px;border:1px solid rgba(120,160,220,.18);border-radius:12px}.topbar-tab{flex:1;border:1px solid rgba(120,160,220,.18);border-radius:9px;background:#141a2499;color:#aab8d0;font:600 13px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.2px;cursor:pointer;-webkit-tap-highlight-color:transparent}.topbar-tab.active{background:linear-gradient(180deg,#3a6ea5,#2f5d8f);border-color:#78aaf099;color:#eaf2ff;box-shadow:0 2px 10px #3a6ea573}.topbar-desktop .topbar-tab{flex:0 0 auto;padding:8px 18px}.single-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.single-label{position:absolute;top:74px;left:10px;padding:3px 8px;border-radius:7px;background:#0e1118b8;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.3px}.single-hint{position:absolute;bottom:46px;left:50%;transform:translate(-50%);padding:3px 10px;border-radius:999px;background:#0e11188c;color:#7f8ea6;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.thumb-strip{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:30;display:flex;gap:8px;pointer-events:none}.thumb-cell{position:relative;width:58px;height:58px;padding:0;border:1px solid rgba(120,160,220,.5);border-radius:8px;background:transparent;box-shadow:0 2px 10px #00000073;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;overflow:hidden}.thumb-cell:active{border-color:#96befaf2}.thumb-badge{position:absolute;top:2px;left:3px;padding:0 3px;border-radius:4px;background:#080a0eb8;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px;pointer-events:none}.slice-scrubber{position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 4px;border-radius:999px;background:#0a0c1180;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.slice-scrubber-axis{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px}.slice-scrubber-range{writing-mode:vertical-lr;direction:rtl;width:26px;height:min(56vh,360px);touch-action:none;cursor:ns-resize}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#06080c80;opacity:0;pointer-events:none;transition:opacity .22s ease}.sheet-backdrop.visible{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;height:min(72vh,560px);display:flex;flex-direction:column;border-top-left-radius:16px;border-top-right-radius:16px;background:#0d1017f5;border:1px solid rgba(120,160,220,.2);border-bottom:none;box-shadow:0 -12px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .28s cubic-bezier(.22,1,.36,1);will-change:transform}.sheet.dragging{transition:none}.sheet-handle{flex:0 0 auto;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.sheet-grip{width:40px;height:4px;border-radius:999px;background:#96aac880}.sheet-title{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1.5px;text-transform:uppercase;color:#6f819e}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:0 8px 14px}.sheet-body>div{width:100%!important}@media(max-width:500px){.info{top:52px}.scene-perf{bottom:72px}.loader,.status{bottom:56px}}
