@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Josefin+Sans:wght@300;400;500;600;700&display=swap";:root{--color-primary:#0f766e;--color-primary-hover:#0c5f59;--color-secondary:#14b8a6;--color-accent:#0369a1;--color-accent-2:#38bdf8;--color-bg:#f0fdfa;--color-bg-2:#fff;--color-surface:#fff;--color-card:#fff;--color-foreground:#134e4a;--color-muted:#475569;--color-muted-2:#e8f0f3;--color-border:#99f6e4;--color-border-strong:#5eead4;--color-destructive:#dc2626;--color-ring:#0f766e;--glass-bg:#ffffff8c;--glass-bg-strong:#ffffffb8;--glass-border:#fff9;--glass-blur:14px;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f4e4a0f;--shadow:0 6px 24px #0f4e4a14;--shadow-lg:0 24px 60px #0f4e4a29;--font-display:"Cinzel", "Josefin Sans", Georgia, serif;--font-sans:"Josefin Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--header-height:64px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.22s}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}body:before{content:"";z-index:-1;background:radial-gradient(60% 50% at 18% 8%,#14b8a62e,#0000 60%),radial-gradient(50% 45% at 88% 4%,#38bdf829,#0000 60%),radial-gradient(70% 60% at 50% 100%,#0f766e1a,#0000 65%);position:fixed;inset:0}a{color:var(--color-accent);transition:color var(--dur) var(--ease);text-decoration:none}a:hover{color:var(--color-primary);text-decoration:underline}h1,h2,h3{font-family:var(--font-display);color:var(--color-foreground);letter-spacing:.02em;font-weight:600}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:var(--radius-sm)}button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-foreground);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);box-shadow:var(--shadow-sm);padding:10px 18px;font-weight:500}@media (hover:hover){button:hover{background:var(--color-muted-2);border-color:var(--color-secondary)}}button:active{transform:translateY(1px)}button.primary{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#fff;border-color:#0000;font-weight:600;box-shadow:0 6px 18px #0f766e47}button.primary:hover{background:linear-gradient(135deg, var(--color-primary-hover), #025a8a);border-color:#0000}button.danger{background:var(--color-destructive);border-color:var(--color-destructive);color:#fff}button.danger:hover{background:#b91c1c;border-color:#b91c1c}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}input,textarea,select{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-foreground);width:100%;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);background:#ffffffb3;padding:10px 12px}input::placeholder,textarea::placeholder{color:#94a3b8}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);background:#fff;outline:none;box-shadow:0 0 0 4px #0f766e1f}textarea{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12.5px;line-height:1.6}label{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 5px;font-size:12px;font-weight:600;display:block}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23475569' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.shell{max-width:1040px;margin:0 auto;padding:32px 24px 64px}.shell.wide{max-width:1320px}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--color-muted)}.error{color:var(--color-destructive)}.topbar{z-index:100;height:var(--header-height);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border-bottom:1px solid var(--glass-border);align-items:center;gap:20px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .brand{font-family:var(--font-display);letter-spacing:.18em;color:var(--color-foreground);align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.topbar .brand:hover{text-decoration:none}.topbar .brand .mark{color:var(--color-primary);display:flex}.topbar .spacer{flex:1}.topbar nav{gap:6px;display:flex}.topbar nav a{border-radius:var(--radius-sm);color:var(--color-muted);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);padding:8px 14px;font-size:14.5px;font-weight:500;position:relative}.topbar nav a:hover{color:var(--color-foreground);background:#0f766e0f;text-decoration:none}.topbar nav a.active{color:var(--color-primary)}.topbar nav a.active:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:2px;height:2px;position:absolute;bottom:4px;left:14px;right:14px}.landing{min-height:calc(100% - var(--header-height));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:48px 24px 80px;display:flex}.landing .eyebrow{border-radius:var(--radius-pill);background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);color:var(--color-primary);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.landing h1{letter-spacing:.22em;background:linear-gradient(135deg, #0c5f59 0%, var(--color-primary) 40%, var(--color-accent) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(44px,8vw,84px);font-weight:700;line-height:1.05}.landing .lede{max-width:560px;color:var(--color-muted);margin:0;font-size:clamp(16px,2.4vw,19px);font-weight:300;line-height:1.6}.enter-card{border-radius:var(--radius-lg);background:var(--glass-bg-strong);width:min(440px,92vw);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);padding:26px 28px 28px}.enter-card form{align-items:stretch;gap:10px;display:flex}.enter-card .code-input{text-align:center;letter-spacing:.12em;flex:1;min-width:0;font-weight:600}.enter-card .primary{white-space:nowrap}.enter-card .footnote{color:var(--color-muted);margin:14px 0 0;font-size:13px}.demos{flex-direction:column;align-items:center;gap:10px;margin:0 0 4px;display:flex}.demos-label{letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);font-size:11.5px}.demo-row{flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(720px,94vw);display:flex}.demo-btn{border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;padding:9px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.demo-btn:hover{background:var(--glass-bg-strong);border-color:var(--color-primary);text-decoration:none;transform:translateY(-1px)}.demo-viewer .demo-play{border-radius:var(--radius-pill);color:#e6fffb;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:13px;display:inline-flex}.demo-viewer .demo-play:hover{background:#fff3}.video-center-play{z-index:7;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;width:104px;height:104px;transition:transform .12s var(--ease), background .12s var(--ease);background:#0511148c;border:2px solid #ffffffb8;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 36px #00000073}.video-center-play svg{margin-left:6px}.video-center-play:active{background:#14b8a699;transform:translate(-50%,-50%)scale(.94)}@media (hover:hover){.video-center-play:hover{background:#051114b3;transform:translate(-50%,-50%)scale(1.05)}}@media (width<=480px){.video-center-play{width:88px;height:88px}.video-center-play svg{width:44px;height:44px}}.video-rotate{z-index:6;gap:8px;display:flex;position:absolute;bottom:74px}.vr-left{left:12px}.vr-right{right:12px}.vr-btn{border-radius:var(--radius-pill);color:#e6fffb;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;background:#0511148c;border:1px solid #ffffff38;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:17px;transition:background .1s,transform .1s;display:flex;box-shadow:0 4px 14px #00000059}.vr-btn.vr-45{letter-spacing:-2px;width:54px;height:54px;font-size:19px}.vr-btn:active{background:#14b8a699;transform:scale(.94)}@media (hover:hover){.vr-btn:hover{background:#051114b3}}.video-controls{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e6fffb;font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;background:linear-gradient(#0000,#0511148c 30%,#051114eb);align-items:center;gap:10px;padding:12px 16px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.video-controls .vc-btn{border-radius:var(--radius-pill);color:#e6fffb;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:1px solid #ffffff2e;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:14px;transition:background 80ms;display:inline-flex}.video-controls .vc-btn:active{background:#14b8a699;border-color:#6ee7b7cc}@media (hover:hover){.video-controls .vc-btn:hover{background:#fff3}}.video-controls .vc-time{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;opacity:.9;flex:none;min-width:40px;font-size:12px}.video-controls .vc-remain{opacity:.6}.video-controls .vc-seek{cursor:pointer;min-width:60px;height:6px;accent-color:var(--color-secondary);flex:auto;margin:0}.video-controls .vc-vol{cursor:pointer;width:92px;height:6px;accent-color:var(--color-secondary);flex:0 0 92px;margin:0}.video-controls input[type=range]:disabled{opacity:.4;cursor:default}@media (width<=480px){.video-controls{gap:7px;padding:9px 10px 11px}.video-controls .vc-btn{width:34px;height:34px}.video-controls .vc-time{min-width:34px;font-size:11px}.video-controls .vc-vol{flex-basis:64px;width:64px}}.value-strip{flex-wrap:wrap;justify-content:center;gap:14px 36px;margin-top:8px;display:flex}.value-strip .item{color:var(--color-muted);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.value-strip .item svg{color:var(--color-primary);flex:none}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.card h3{margin:0 0 6px;font-size:18px}.card .muted{font-size:13.5px}table{border-collapse:collapse;width:100%}thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);border-bottom:2px solid var(--color-border);padding:12px 10px;font-size:11px;font-weight:600}tbody td{border-bottom:1px solid var(--color-muted-2);vertical-align:middle;padding:14px 10px;font-size:14px}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover{background:#0f766e08}tbody tr:last-child td{border-bottom:0}code{color:var(--color-primary);background:#0f766e14;border-radius:6px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.tag{border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-muted-2);align-items:center;gap:6px;padding:3px 11px;font-size:12px;font-weight:600;display:inline-flex}.tag:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.tag.pub{color:#047857;background:#10b9811f;border-color:#6ee7b7}.tag.draft{color:#64748b}.page-head{align-items:baseline;gap:12px;margin:0 0 22px;display:flex}.page-head h2{letter-spacing:.06em;margin:0;font-size:24px}.page-head .muted{font-size:13px}.logout-btn{border-color:var(--color-border);box-shadow:none;background:0 0;padding:7px 14px;font-size:13px}.logout-btn:hover{border-color:var(--color-destructive);color:var(--color-destructive);background:#dc262614}.login-card{border-radius:var(--radius-lg);background:var(--glass-bg-strong);max-width:380px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);text-align:center;margin:40px auto 0;padding:32px 28px}.login-card h2{margin:14px 0 0;font-size:22px}.login-card .lock-mark{width:48px;height:48px;color:var(--color-primary);background:#0f766e1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:inline-flex}.login-card form{text-align:left;margin-top:8px}.login-card label{text-align:left}.field-error{color:var(--color-destructive);text-align:left;margin-top:8px;font-size:13px}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);background:#0f4e4a57;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(440px,94vw);max-height:88vh;box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-close{border-radius:var(--radius-sm);width:34px;height:34px;box-shadow:none;color:var(--color-muted);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.modal-close:hover{background:var(--color-muted-2);color:var(--color-foreground)}.viewer-wrap{background:#051114;position:fixed;inset:0}.viewer-wrap iframe{border:0;width:100%;height:100%;display:block}.viewer-wrap .splat-viewer{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.viewer-wrap .splat-viewer canvas{display:block}.dpad{left:max(24px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));z-index:12;width:168px;height:168px;position:absolute}.dpad-btn{color:#bef2deeb;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer;pointer-events:auto;background:#081e1cb8;border:1px solid #ffffff38;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;line-height:1;transition:background 80ms,border-color 80ms,transform 80ms;display:flex;position:absolute;box-shadow:0 4px 14px #0000004d}.dpad-btn.pressed{background:#14b8a699;border-color:#6ee7b7cc;transform:scale(.94)}.dpad-up{top:0;left:56px}.dpad-down{top:112px;left:56px}.dpad-left{top:56px;left:0}.dpad-right{top:56px;left:112px}.viewer-overlay{z-index:10;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;background:#081e1c8c;border:1px solid #ffffff24;align-items:center;gap:14px;padding:10px 16px 10px 12px;font-size:14px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 8px 30px #00000059}.viewer-overlay a{color:#e6fffb;border-radius:var(--radius-pill);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.viewer-overlay a:hover{color:#fff;background:#ffffff1f;text-decoration:none}.viewer-overlay strong{font-family:var(--font-display);letter-spacing:.04em;font-weight:600}.viewer-overlay .muted{color:#e6fffb99;font-family:ui-monospace,monospace;font-size:12.5px}.quality-bar{z-index:10;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;background:#081e1c8c;border:1px solid #ffffff24;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:inline-flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000059}.quality-bar .ql-label{letter-spacing:.08em;text-transform:uppercase;color:#e6fffb99;font-size:11px;font-family:var(--font-display)}.quality-bar button{border-radius:var(--radius-pill);color:#e6fffb;font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:#ffffff0f;border:1px solid #0000;padding:5px 12px}.quality-bar button:hover{background:#ffffff24}.quality-bar button.active{color:#fff;background:#2ed5c738;border-color:#2ed5c780}.viewer-hint{z-index:10;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(12px);color:#e6fffb;background:#081e1c8c;border:1px solid #ffffff1f;align-items:center;gap:10px;padding:9px 18px;font-size:13px;display:inline-flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.viewer-hint kbd{color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-family:ui-monospace,monospace;font-size:11.5px;display:inline-flex}.points-panel{z-index:10;-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;background:#081e1c8c;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;gap:6px;min-width:168px;max-height:calc(100vh - 96px);padding:12px;font-size:13.5px;display:flex;position:absolute;top:64px;right:16px;overflow-y:auto;box-shadow:0 8px 30px #00000059}.points-panel h3{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#e6fffb99;margin:0 0 4px;font-size:12px;font-weight:600}.points-panel button{text-align:left;color:#e6fffb;font-size:13.5px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:#ffffff0f;border:1px solid #0000;border-radius:8px;padding:8px 12px}.points-panel button:hover{background:#ffffff24}.points-panel button.active{color:#fff;background:#2ed5c738;border-color:#2ed5c780}@media (pointer:coarse){.viewer-overlay{gap:8px;max-width:calc(100% - 104px);padding:5px 9px 5px 7px;font-size:11px;top:10px;left:10px;right:auto}.viewer-overlay a{padding:3px 7px}.viewer-overlay strong{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.viewer-overlay .muted{display:none}.quality-collapsible{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:13;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.quality-toggle{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;min-width:52px;font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:#081e1cb3;border:1px solid #ffffff2e;padding:7px 14px;font-size:13px;font-weight:600;box-shadow:0 6px 20px #00000059}.quality-options{-webkit-backdrop-filter:blur(14px)saturate(140%);background:#081e1cd1;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:6px;min-width:120px;padding:8px;display:flex;box-shadow:0 8px 30px #0006}.quality-options button{color:#e6fffb;font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:#ffffff0f;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.quality-toggle,.locations-toggle,.quality-options button,.locations-options button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;transition:background 80ms,border-color 80ms,transform 80ms}.quality-toggle:active,.locations-toggle:active,.quality-options button:active,.locations-options button:active{background:#14b8a699;border-color:#6ee7b7cc;transform:scale(.96)}.quality-toggle:focus,.locations-toggle:focus,.quality-options button:focus,.locations-options button:focus{outline:none}@media (hover:hover){.quality-options button:hover,.locations-options button:hover{background:#ffffff24}}.quality-options button.active{color:#fff;background:#2ed5c738;border-color:#2ed5c780}.locations-collapsible{top:calc(max(10px, env(safe-area-inset-top)) + 50px);right:max(10px, env(safe-area-inset-right));z-index:11;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.locations-toggle{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;font-size:12.5px;font-family:var(--font-sans);cursor:pointer;background:#081e1cb3;border:1px solid #ffffff2e;padding:7px 14px;box-shadow:0 6px 20px #00000059}.locations-options{-webkit-backdrop-filter:blur(14px)saturate(140%);-webkit-overflow-scrolling:touch;background:#081e1cd1;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:6px;min-width:168px;max-height:calc(100vh - 150px);padding:8px;display:flex;overflow-y:auto;box-shadow:0 8px 30px #0006}.locations-options button{text-align:left;color:#e6fffb;font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:#ffffff0f;border:1px solid #0000;border-radius:8px;padding:8px 12px}.locations-options button.active{color:#fff;background:#2ed5c738;border-color:#2ed5c780}}.editor-toolbar{z-index:12;-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;background:#081e1c99;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-size:14px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 8px 30px #00000059}.editor-toolbar strong{font-family:var(--font-display);font-weight:600}.editor-toolbar .muted{color:#e6fffb99;font-family:ui-monospace,monospace;font-size:12px}.editor-toolbar .back{color:#e6fffb;border-radius:8px;padding:4px 8px;font-weight:500}.editor-toolbar .back:hover{background:#ffffff1f;text-decoration:none}.editor-toolbar button{color:#e6fffb;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;padding:6px 12px;font-size:13px}.editor-toolbar button:hover:not(:disabled){background:#ffffff29}.editor-toolbar button:disabled{opacity:.45;cursor:default}.editor-toolbar button.primary{color:#fff;background:#2ed5c740;border-color:#2ed5c78c}.editor-toolbar .ok{color:#6ff5d8;font-size:12.5px}.editor-toolbar .err{color:#fda4a4;font-size:12.5px}.editor-side{z-index:11;flex-direction:column;gap:10px;width:272px;max-height:calc(100vh - 84px);display:flex;position:absolute;top:64px;right:12px;overflow-y:auto}.editor-side .minimap-card,.editor-side .points-list-card{-webkit-backdrop-filter:blur(14px)saturate(140%);color:#e6fffb;background:#081e1c99;border:1px solid #ffffff24;border-radius:12px;padding:12px;box-shadow:0 8px 30px #00000059}.editor-side h3{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#e6fffbb3;margin:0 0 8px;font-size:12px;font-weight:600}.editor-side .muted{color:#e6fffb8c}.editor-side .small{margin:0;font-size:12px}.minimap{background:#020e1099;border-radius:8px}.tool-row{gap:6px;margin-bottom:8px;display:flex}.tool-row button{color:#e6fffb;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:7px;flex:1;padding:5px 8px;font-size:12px}.tool-row button.active{color:#fff;background:#2ed5c740;border-color:#2ed5c78c}.minimap-help{color:#e6fffb8c;margin:6px 0 0;font-size:11.5px}.point-row{border-bottom:1px solid #ffffff0f;align-items:center;gap:6px;padding:5px 4px;display:flex}.point-row:last-child{border-bottom:0}.point-row .point-name{cursor:pointer;flex:1;font-size:13px}.point-row .point-name:hover{color:#fff}.default-dot{color:#e6fffb66;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;width:24px;height:24px;font-size:13px}.default-dot.on{color:#ffd27a;background:#ffd27a2e;border-color:#ffd27a99}.point-row .ghost{color:#e6fffb;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;padding:3px 8px;font-size:12px}.point-row .ghost:hover{background:#ffffff29}.point-row .ghost.danger:hover{color:#fda4a4;background:#fda4a438;border-color:#fda4a480}@media (width<=640px){.editor-side{width:auto;max-height:42vh;top:60px;left:8px;right:8px}}.loading{z-index:20;color:#e6fffb;text-align:center;background:radial-gradient(80% 70% at 50% 35%,#0a2a2e,#051114 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:absolute;inset:0}.loading .status{font-family:var(--font-sans);letter-spacing:.04em;color:#c8f5ef;font-size:15px;font-weight:500}.loading .error{color:#fda4a4;font-weight:500}.loading a{color:var(--color-secondary)}.bar{border-radius:var(--radius-pill);background:#ffffff1a;width:min(320px,70vw);height:5px;overflow:hidden}.bar>i{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--color-secondary), var(--color-accent-2));width:35%;height:100%;animation:slide 1.3s var(--ease) infinite;display:block;box-shadow:0 0 16px #14b8a699}@keyframes slide{0%{margin-left:-35%}to{margin-left:100%}}@media (width<=768px){.shell,.shell.wide{padding:24px 16px 48px}.topbar{gap:12px;padding:0 16px}.topbar .brand{letter-spacing:.14em;font-size:15px}.card{padding:18px}.enter-card{padding:20px}.enter-card form{flex-direction:column}.page-head{flex-direction:column;align-items:flex-start;gap:4px}table{white-space:nowrap;display:block;overflow-x:auto}.value-strip{gap:12px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bar>i{width:60%;margin-left:20%;animation:none}}
