:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a14;--panel:#161820;--panel-border:#32302c;--text:#f0ece4;--home-text:#f4f0e8;--muted:#9a9388;--muted-mid:#c5c0b6;--accent:#2ecc71;--accent-dim:#1f8a4c;--danger:#e74c3c;--row-hover:#1e221c;--tour:#c9a35a;--tour-ink:#f3e2b8;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100dvh;color:var(--text);margin:0;overflow:hidden}#home-overlay{display:none}html.intro #home-overlay,html.intro-leaving #home-overlay{z-index:20;pointer-events:none;display:block;position:fixed;inset:0}.home-header{z-index:3;padding:22px 28px;position:absolute;top:0;left:0}.home-logo{width:max-content;color:var(--home-text);pointer-events:auto;filter:drop-shadow(0 2px 12px #080a14e6);align-items:center;gap:12px;text-decoration:none;display:flex}.home-logo .mark{width:36px;height:36px;display:block}.home-logo .word{letter-spacing:.18em;font-family:Inter Tight,Segoe UI,sans-serif;font-size:.95rem;font-weight:600;line-height:1.15}.home-copy{z-index:2;text-align:center;pointer-events:none;flex-direction:column;align-items:center;padding:0 20px;display:flex;position:absolute;top:16vh;left:0;right:0}.home-copy.is-entering{opacity:0}html.intro .home-copy:not(.is-entering){transition:opacity .55s}.home-title{color:var(--home-text);letter-spacing:-.03em;text-shadow:0 2px 24px #080a14d9;margin:0 0 16px;font-size:clamp(1.35rem,3.2vw,2.15rem);font-weight:600;line-height:1.15}.home-blurb{max-width:28rem;color:var(--home-text);letter-spacing:-.01em;opacity:.78;text-shadow:0 2px 18px #080a14d9;margin:-6px 0 18px;font-size:clamp(.82rem,1.6vw,1rem);font-weight:500;line-height:1.4}.home-copy .cta{pointer-events:auto;color:#fff;font:inherit;cursor:pointer;background:#1a73e8;border:none;border-radius:8px;padding:12px 22px;font-size:.95rem;font-weight:600;box-shadow:0 1px 3px #00000059}.home-copy .cta:hover{background:#1765cc}html.home-short .home-title{margin-bottom:10px;font-size:1.15rem}html.home-short .home-blurb{max-width:22rem;margin:-2px 0 12px;font-size:.8rem}html.home-short .home-copy .cta{padding:10px 18px;font-size:.88rem}.home-sighting{z-index:2;padding:0 28px calc(22px + env(safe-area-inset-bottom,0px));text-align:right;pointer-events:none;color:var(--home-text);text-shadow:0 2px 16px #080a14e6;opacity:1;margin:0;position:absolute;bottom:0;right:0}html.intro .home-sighting{transition:opacity .55s}.home-sighting-name{letter-spacing:.04em;font-size:.92rem;font-weight:600;display:block}.home-sighting-meta{letter-spacing:.01em;opacity:.7;margin-top:3px;font-size:.72rem;font-weight:500;display:block}html.home-short .home-sighting{padding:0 20px calc(16px + env(safe-area-inset-bottom,0px))}html.home-short .home-sighting-name{font-size:.8rem}html.home-short .home-sighting-meta{font-size:.66rem}html.intro #renderCanvas,html.intro-leaving #renderCanvas{pointer-events:none}html.intro #hud,html.intro #staff-nav,html.intro #field-toggles,html.intro #scene-loader span,html.intro #label-layer,html.intro #leader-layer,html.intro #hover-tip,html.intro #curvature-hud{opacity:0;visibility:hidden}html.intro #scene-loader{opacity:0;visibility:hidden;background:0 0;left:0}html.intro #sidebar{transform:translate(-105%)}html.no-sidebar-transition #sidebar{transition:none!important}html.intro-leaving .home-header{opacity:0;transition:opacity .5s}html.intro-leaving .home-copy{opacity:0;transition:opacity .55s}html.intro-leaving .home-sighting{opacity:0}html.intro-leaving #home-overlay{pointer-events:none}html.intro-leaving #sidebar{transition:transform .85s cubic-bezier(.22,1,.36,1);transform:none}html.intro-leaving #hud{opacity:1;visibility:visible;transition:opacity .8s .35s}@media (prefers-reduced-motion:reduce){html.intro-leaving .home-header,html.intro-leaving .home-copy,html.intro-leaving .home-sighting,html.intro-leaving #sidebar,html.intro-leaving #hud,html.intro .home-copy:not(.is-entering),html.intro .home-sighting{transition:none}}#app{height:100%;position:relative}#sidebar{background:var(--panel);border-right:1px solid var(--panel-border);z-index:8;flex-direction:column;gap:12px;width:420px;min-height:0;padding:16px;transition:transform .85s cubic-bezier(.22,1,.36,1),width .22s,padding .22s;display:flex;position:absolute;top:0;bottom:0;left:0}#sidebar.is-collapsed{background:0 0;border:none;gap:0;width:auto;height:auto;padding:16px 18px;bottom:auto;right:auto;overflow:visible}#sidebar.is-collapsed .sidebar-header{justify-content:flex-start}#sidebar.is-collapsed .sidebar-brand{filter:drop-shadow(0 2px 12px #080a14e6)}#sidebar.is-collapsed .home-logo,#sidebar.is-collapsed .sidebar-actions,#sidebar.is-collapsed #search-form,#sidebar.is-collapsed #search-results,#sidebar.is-collapsed #list-tools,#sidebar.is-collapsed #object-list,#sidebar.is-curvature #search-form,#sidebar.is-curvature #search-results,#sidebar.is-curvature #list-tools,#sidebar.is-curvature #object-list,#sidebar.is-curvature #sidebar-collapse{display:none!important}#sidebar.is-curvature #curvature-hud{text-align:left;background:0 0;border:none;flex:1;width:auto;min-height:0;padding:0 2px 4px;position:relative;top:auto;bottom:auto;left:auto;overflow:auto;transform:none}.sidebar-header{justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.sidebar-brand{align-items:center;gap:8px;min-width:0;display:flex}.sidebar-menu-btn{width:40px;height:40px;color:var(--home-text);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-menu-btn svg{width:24px;height:24px}.sidebar-menu-btn:hover{color:var(--text);background:#ffffff1f}.sidebar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex;position:relative}.sidebar-header .home-logo{filter:none;color:var(--home-text)}.staff-nav{z-index:13;border:1px solid var(--panel-border);pointer-events:auto;background:#121a2ed9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 10px;display:flex;position:absolute;top:16px;left:auto;right:16px}.staff-nav[hidden]{display:none!important}.staff-nav a,.staff-logout{color:var(--accent);font-size:.75rem;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:none}.staff-nav a:hover,.staff-logout:hover{color:var(--text);text-decoration:underline}.staff-logout{color:var(--muted)}.staff-log-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.staff-log-toggle input{accent-color:var(--accent);margin:0}.guide-menu-wrap{flex-shrink:0;position:relative}.guide-menu-btn{border:1px solid var(--tour);color:var(--tour-ink);font:inherit;cursor:pointer;background:#c9a35a2e;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:.72rem;font-weight:600;display:inline-flex}.guide-menu-caret{opacity:.8;border-top:4.5px solid;border-left:3.5px solid #0000;border-right:3.5px solid #0000;width:0;height:0}.guide-menu-btn[aria-expanded=true] .guide-menu-caret{transform:rotate(180deg)}.guide-menu-btn:hover,.guide-menu-btn[aria-expanded=true]{color:#fff6e0;background:#c9a35a57;border-color:#e0b86a}.guide-menu{z-index:100;background:#1c1a16;border:1px solid #5a564c;border-radius:10px;flex-direction:column;gap:2px;min-width:140px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 28px #000000a6}.guide-menu[hidden]{display:none}.guide-menu-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:.8rem;font-weight:600;display:block}.guide-menu-item:hover,.guide-menu-item[aria-expanded=true]{background:#2a2722}#try-tour-panel,#guide-modal{z-index:100;border:1px solid var(--tour);background:#1c1a16;border-radius:10px;width:min(320px,100vw - 24px);padding:12px 14px 10px;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0000008c}#guide-modal{width:min(340px,100vw - 24px);max-height:calc(100vh - 32px);overflow:auto}#guide-modal[hidden]{display:none}#about-modal{z-index:100;border:1px solid var(--tour);background:#1c1a16;border-radius:10px;width:min(420px,100vw - 24px);max-height:calc(100vh - 32px);padding:12px 14px 10px;position:fixed;top:50%;left:50%;right:auto;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0000008c}#about-modal[hidden]{display:none}#about-modal .try-tour-head{cursor:default}.about-modal-body .about-lead{color:var(--text);margin:0 0 10px;font-size:.8rem;line-height:1.4}.about-modal-body ul{margin:0;padding:0 0 0 1.1em}.about-modal-body li{color:var(--muted);margin:0 0 6px;font-size:.72rem;line-height:1.35}#guide-modal .try-tour-head{cursor:default}@media (width>=641px){#guide-modal{display:none!important}}.guide-modal-body{flex-direction:column;gap:12px;display:flex}.guide-modal-body section strong{font-size:.8rem;font-weight:600;display:block}.guide-modal-body section p{color:var(--muted);margin:3px 0 0;font-size:.72rem;line-height:1.35}#try-tour-panel.is-dragging{-webkit-user-select:none;user-select:none}.try-tour-head{color:var(--tour-ink);cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #3a3428;justify-content:space-between;align-items:center;gap:8px;margin:-2px 0 10px;padding-bottom:8px;font-size:.8rem;font-weight:600;display:flex}.try-tour-head-label{align-items:center;gap:7px;display:inline-flex}.try-tour-grip{width:10px;height:16px;fill:var(--tour);opacity:.85;flex-shrink:0}.try-tour-x{width:22px;height:22px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:-4px -4px -4px 0;padding:0;font-size:1.15rem;line-height:1}.try-tour-x:hover{color:var(--text)}#try-tour-panel.is-dragging .try-tour-head{cursor:grabbing}#try-tour-panel[hidden]{display:none}.try-tour-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.try-tour-item{cursor:pointer;grid-template-columns:18px 1fr;align-items:start;gap:8px;display:grid}.try-tour-check{border:1px solid #8a7348;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:flex}.try-tour-check svg{width:12px;height:12px;display:block}.try-tour-check path{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.try-tour-item.is-done .try-tour-check{background:0 0;border-color:#0000}.try-tour-item strong{font-size:.8rem;font-weight:600;display:block}.try-tour-item.is-done strong{color:var(--muted)}.try-tour-item span{color:var(--muted);margin-top:2px;font-size:.72rem;line-height:1.35;display:block}.try-tour-hint{color:var(--muted);margin:10px 0 0;font-size:.72rem}.try-tour-hint:empty{display:none}.try-tour-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.try-tour-reset,.try-tour-close{color:var(--tour-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #8a7348;border-radius:8px;padding:4px 10px;font-size:.72rem}.try-tour-reset:hover,.try-tour-close:hover{border-color:var(--text)}.story-primary,.try-tour-close.story-primary,.message-actions .story-primary{background:var(--tour);color:#1c1a16;border:none;font-weight:600;box-shadow:0 1px 3px #00000059}.story-primary:hover:not(:disabled),.try-tour-close.story-primary:hover:not(:disabled),.message-actions .story-primary:hover:not(:disabled){color:#1c1a16;filter:none;background:#d4b36a;border-color:#0000}.story-primary:disabled{opacity:.55;cursor:default}html.intro:not(.intro-leaving) #guide-menu-btn,html.intro:not(.intro-leaving) #message-open,html.intro:not(.intro-leaving) #guide-menu,html.intro:not(.intro-leaving) #try-tour-panel,html.intro:not(.intro-leaving) #storyboard-panel,html.intro:not(.intro-leaving) #storyboard-create,html.intro:not(.intro-leaving) #storyboard-confirm,html.intro:not(.intro-leaving) #story-play-bar,html.intro:not(.intro-leaving) #guide-modal,html.intro:not(.intro-leaving) #about-modal,html.intro:not(.intro-leaving) #message-dialog,.admin-only[hidden]{display:none!important}.settings-btn{border:1px solid var(--panel-border);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s;display:inline-flex}.settings-btn svg{width:15px;height:15px}.settings-btn:hover,.settings-btn[aria-expanded=true]{color:var(--text);border-color:var(--text)}#message-dialog{z-index:120;background:#080a148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#message-dialog[hidden]{display:none}.message-card{border:1px solid var(--tour);background:#1c1a16;border-radius:12px;width:min(400px,100%);padding:16px 18px 14px;box-shadow:0 8px 28px #0000008c}.message-card h2{margin:0 0 6px;font-size:1.05rem}.message-lead{color:var(--muted);margin:0 0 14px;font-size:.82rem;line-height:1.4}.message-field{color:var(--muted);flex-direction:column;gap:5px;margin-bottom:12px;font-size:.75rem;display:flex}.message-field input,.message-field textarea{width:100%;color:var(--text);font:inherit;resize:vertical;background:#2a2e38;border:1px solid #4d5360;border-radius:8px;padding:8px 10px;font-size:.88rem}.message-field input:focus,.message-field textarea:focus{border-color:var(--accent);outline:none}.message-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.message-status{margin:0 0 10px;font-size:.8rem}.message-status.is-ok{color:var(--accent)}.message-status.is-err{color:#e8a0a0}.message-actions{justify-content:flex-end;gap:8px;display:flex}.message-actions button{border:1px solid var(--panel-border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:.8rem;font-weight:600}.message-actions button:hover{color:var(--text);border-color:#5a564c}#message-send{color:#fff;background:#1a73e8;border-color:#0000}#message-send:hover{color:#fff;background:#1765cc;border-color:#0000}#message-send:disabled{opacity:.6;cursor:default}#storyboard-panel{z-index:100;border:1px solid var(--tour);background:#1c1a16;border-radius:10px;width:min(360px,100vw - 24px);padding:12px 14px 20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0000008c}#storyboard-panel[hidden]{display:none}#storyboard-panel.is-dragging .try-tour-head,.story-create-card.is-dragging .story-create-head{cursor:grabbing}.story-lead,.story-empty,.story-status{color:var(--muted);margin:0 0 10px;font-size:.8rem;line-height:1.4}.story-status:empty{display:none}.story-list{flex-direction:column;gap:8px;max-height:min(42vh,320px);margin-bottom:4px;display:flex;overflow:auto}#storyboard-panel .try-tour-actions{justify-content:center;margin-top:16px}#storyboard-panel .try-tour-close.story-primary{padding:8px 22px;font-size:.82rem}.story-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.story-item strong{font-size:.88rem;display:block}.story-item span{color:var(--muted);font-size:.72rem;display:block}.story-item-btns{flex:none;gap:6px;display:flex}.story-item button{border:1px solid var(--tour);color:var(--tour-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;flex:none;padding:5px 10px;font-size:.75rem;font-weight:600}#storyboard-create{z-index:120;background:#080a148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#storyboard-create[hidden],#storyboard-confirm[hidden],#story-play-bar[hidden]{display:none}#story-play-bar{z-index:140;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:max-content;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.story-play-caption{color:var(--text);text-shadow:0 1px 8px #000000b3;margin:0;font-size:.92rem;font-weight:600}.story-play-btns{pointer-events:auto;gap:10px;display:flex}.story-play-stop,.story-play-back,.story-play-go{border:1px solid var(--tour);color:var(--tour-ink);font:inherit;cursor:pointer;background:#1c1a16;border-radius:10px;padding:10px 22px;font-size:.95rem;font-weight:700;box-shadow:0 8px 28px #0000008c}.story-play-go.story-primary{background:var(--tour);color:#1c1a16;border:none}.story-play-stop:hover,.story-play-back:hover:not(:disabled),.story-play-go:hover:not(:disabled){filter:brightness(1.08)}.story-play-back:disabled,.story-play-go:disabled{opacity:.45;cursor:default}#storyboard-confirm{z-index:130;background:#080a148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.story-confirm-card{width:min(400px,100%)}.story-del,.story-del-btn{color:#e8a0a0!important;border-color:#8a4040!important}.story-item button.story-primary{background:var(--tour);color:#1c1a16;border:none}.story-item button.story-del:hover,.story-del-btn:hover{color:#ffd0d0!important;border-color:#c06060!important}#story-delete{margin-right:auto}.story-create-card{flex-direction:column;width:min(520px,100%);max-height:min(88vh,800px);display:flex;overflow:hidden}.story-create-card>:not(.story-steps){flex:none}.story-create-head{cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid #3a3428;justify-content:space-between;align-items:center;gap:8px;margin:-2px 0 10px;padding-bottom:8px;display:flex}.story-create-head h2{margin:0;font-size:1.05rem}.story-steps-head{color:var(--muted);margin-bottom:6px;font-size:.75rem}.story-steps{flex-direction:column;flex:auto;gap:8px;min-height:240px;max-height:min(52vh,440px);margin-bottom:8px;padding-right:4px;display:flex;overflow-y:auto}.story-step{grid-template-columns:22px minmax(0,1fr) 52px;align-items:start;gap:6px;display:grid}.story-step-n{color:var(--muted);padding-top:8px;font-size:.75rem}.story-step select,.story-step input{width:100%;color:var(--text);font:inherit;background:#2a2e38;border:1px solid #4d5360;border-radius:7px;padding:6px 8px;font-size:.8rem}.story-pick{position:relative}.story-pick-menu{z-index:2;background:#1c1a16;border:1px solid #4d5360;border-radius:7px;max-height:180px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 20px #00000073}.story-pick-menu button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:.8rem;display:block}.story-pick-menu button:hover{background:#2a2722}.story-zoom{flex-direction:column;gap:6px;display:flex}.story-zoom-row{color:var(--muted);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:6px;font-size:.72rem;display:grid}.story-wait{color:var(--muted);align-items:center;gap:8px;padding-top:4px;font-size:.75rem;display:flex}.story-wait input{width:5.5rem}.story-add,.story-step-rm,.story-step-ins{border:1px solid var(--panel-border);color:var(--muted);font:inherit;cursor:pointer;background:0 0}.story-add{border-radius:8px;align-self:flex-start;margin-bottom:10px;padding:8px 14px;font-size:.8rem;font-weight:600}.story-step-ops{gap:2px;padding-top:2px;display:flex}.story-step-rm,.story-step-ins{border-radius:7px;width:24px;padding:4px 0;font-size:1.1rem;line-height:1}#tour-root{z-index:40;position:fixed;inset:0}#tour-root[hidden]{display:none!important}.tour-dismiss{position:absolute;inset:0}.tour-ring{z-index:41;pointer-events:none;border:2px solid #f4c430;border-radius:8px;position:fixed;box-shadow:0 0 0 1px #00000059}.tour-ring-num{position:absolute;top:-11px;left:-11px}.tour-box{z-index:42;border:1px solid var(--panel-border);background:#1a2438;border-radius:10px;width:min(300px,100vw - 24px);padding:12px;position:fixed;box-shadow:0 12px 28px #00000073}.tour-box-head{align-items:center;gap:8px;margin:0 0 8px;display:flex}.tour-box-head strong{font-size:.85rem;font-weight:600}.tour-num{color:#1a1404;text-align:center;background:#f4c430;border-radius:50%;flex:0 0 22px;width:22px;height:22px;font-size:.75rem;font-weight:700;line-height:22px}.tour-rows{flex-direction:column;gap:6px;margin:0;display:flex}.tour-box:has(.tour-gotit) .tour-rows{margin-bottom:12px}.tour-row{grid-template-columns:auto 1fr;align-items:start;gap:6px 10px;display:grid}.tour-k{color:#f4c430;white-space:nowrap;font-size:.72rem;font-weight:600}.tour-v{color:var(--muted);font-size:.78rem;line-height:1.35}.guide-checks{flex-wrap:wrap;gap:12px 18px;margin:8px 0 2px;display:flex}.guide-check{align-items:center;gap:8px;margin:0;display:flex}.guide-check img{flex-shrink:0;width:18px;height:18px;display:block}.guide-check figcaption{color:var(--text);font-size:.72rem;font-weight:600}.tour-gotit{color:#fff;width:100%;font:inherit;cursor:pointer;background:#1a73e8;border:none;border-radius:8px;padding:10px 18px;font-size:.85rem;font-weight:600;display:block;box-shadow:0 1px 3px #00000059}.tour-gotit:hover{background:#1765cc}.sidebar-header .home-logo .mark{width:32px;height:32px}.hint{color:var(--muted);margin:4px 0 0;font-size:.75rem}#search-form,#search-results,#list-tools{scrollbar-gutter:stable;padding-right:14px}.list-tools{flex-shrink:0;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.list-tool-group{align-items:baseline;gap:12px;display:flex}.list-tools .tree-tool-btn{color:var(--muted);background:0 0;border:0;border-radius:0;padding:0;font-size:.78rem}.list-tools .tree-tool-btn:hover{color:var(--text);background:0 0;border:0;text-decoration:none}#search-form{display:flex}.search-field{background:#2a2e38;border:1px solid #4d5360;border-radius:8px;align-items:center;gap:8px;width:100%;padding:0 8px 0 10px;display:flex}.search-field:focus-within{border-color:var(--accent);background:#323744}.search-icon,.search-clear{color:#8b9bb8;flex:0 0 20px;width:20px;height:20px}.search-icon svg,.search-clear svg{width:100%;height:100%;display:block}.search-clear{cursor:pointer;background:0 0;border:0;padding:0}.search-clear:hover{color:var(--text)}#search-input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:10px 0}#search-input::placeholder{color:#a8b0c0;opacity:1}#search-results{background:#2a2e38;border:1px solid #4d5360;border-radius:8px;max-height:160px;overflow:auto}.search-hit{text-align:left;width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 10px;display:block}.search-hit:hover{background:var(--row-hover)}.search-hit .meta{color:var(--muted);font-size:.72rem;display:block}#object-list{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:14px;display:flex;overflow:auto}#object-list.is-loading{color:var(--muted);padding-top:8px;font-size:.85rem}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:.72rem}.sets-box{border:1px solid var(--panel-border);background:#12141c;border-radius:8px;margin-bottom:4px;padding:8px 0 6px}.sets-box-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:flex-start;align-items:center;gap:8px;margin:0 0 4px;padding:0 4px;font-size:.72rem;font-weight:600;display:flex}.sets-box-head .twistie{margin-top:0}.sets-box-head .section-star{color:var(--muted);cursor:default;place-items:center;display:grid}.sets-box-head .section-star svg{width:11px;height:11px;display:block}.sets-box-head .section-star path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round}.favorites-empty{color:var(--muted);padding:4px 4px 8px;font-size:.75rem}.fav-star{color:#8b9bb8;cursor:pointer;background:0 0;border:0;place-items:center;width:20px;height:20px;margin-top:0;padding:0;display:grid}.fav-star svg{width:16px;height:16px;display:block}.fav-star path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.fav-star:hover{color:#f4b400}.fav-star:disabled{opacity:.28;cursor:default;pointer-events:none}.fav-star.is-on{color:#f4b400}.fav-star.is-on path{fill:#f4b400;stroke:#f4b400}.tree-head{justify-content:flex-end;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.tree-head .section-title{margin:0}.tree-tools{flex-shrink:0;gap:6px;display:flex}.tree-tool-btn{border:1px solid var(--panel-border);color:var(--muted-mid);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:2px 6px;font-size:.65rem}.tree-tool-btn:hover{color:var(--text);background:#f0ece40f;border-color:#6a655c}.section-title.root-title{letter-spacing:.1em;color:var(--text);font-size:.8rem}.object-tree,.tree-node,.tree-children{flex-direction:column;gap:1px;display:flex}.tree-children[hidden],.tree-children.is-collapsed{display:none!important}.object-row{--depth:0;padding:6px 4px;padding-left:calc(2px + var(--depth) * 14px);border-radius:6px;grid-template-columns:14px auto 1fr auto 20px;align-items:start;gap:6px;display:grid}.twistie{color:#ff9800;cursor:pointer;text-align:center;background:0 0;border:0;width:14px;height:16px;margin-top:2px;padding:0;font-size:.62rem;line-height:16px}.twistie:hover{color:#ffc107}.twistie.is-leaf{cursor:default;visibility:hidden;pointer-events:none}.object-row.is-child{border-left:1px solid var(--panel-border);margin-left:calc(var(--depth) * 2px)}.object-row:hover{background:var(--row-hover)}.object-row.flash{outline:1px solid var(--accent);background:var(--row-hover)}.object-row.is-visiting{background:var(--row-hover)}.object-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin-top:2px}.object-row input[type=checkbox]:disabled{opacity:.72;cursor:default}.ref-spacer{width:16px;height:16px;margin-top:2px}.object-main{flex-direction:column;gap:2px;min-width:0;display:flex}.object-row button.name{color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.object-row button.name:hover{color:var(--accent)}.name-disabled{color:#7a8aa8;font:inherit;align-items:center;display:inline-flex}.name-disabled .swatch{opacity:.55}.ref-link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.68rem}.ref-link:hover{text-decoration:underline}.object-row.is-ref .dist{opacity:.7}.object-row .dist{color:var(--muted);white-space:nowrap;margin-top:2px;padding-right:4px;font-size:.72rem}.swatch{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block}.swatch.swatch-square{border-radius:1px}#stage{position:absolute;inset:0}#field-toggles{z-index:13;pointer-events:auto;flex-direction:row;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.field-toggle-row{align-items:center;gap:2px;display:flex}#quality-toggles{background:#0c101ae0;border:1px solid #f3e2b859;border-radius:999px;padding:3px;box-shadow:0 0 0 1px #080a148c,0 6px 18px #0006}.field-toggle{color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;text-shadow:0 1px 8px #080a14e6;background:0 0;border:0;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:600}.field-toggle:hover{color:var(--text)}.field-toggle[aria-pressed=true]{color:#f4f0e8;background:#2ecc7147}#crowd-toggles{background:#0c101ae0;border:1px solid #f3e2b859;border-radius:999px;padding:3px;box-shadow:0 0 0 1px #080a148c,0 6px 18px #0006}#galaxy-lite[aria-pressed=true]{background:#5aa0dc52}#galaxy-blot[aria-pressed=true]{background:#c85a8c5c}#quality-toggles .field-toggle[aria-pressed=true]{background:#c9a35a52}html:has(#staff-nav:not([hidden])) #field-toggles{top:52px}#renderCanvas{touch-action:none;outline:none;width:100%;height:100%;display:block}#scene-loader{color:var(--muted);letter-spacing:.04em;z-index:1;pointer-events:none;background:#080a14;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0 0 0 420px}#scene-loader span{animation:1.4s ease-in-out infinite loader-pulse}#scene-loader.is-done{opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}#sidebar.is-collapsed~#stage #scene-loader{left:0}@keyframes loader-pulse{50%{opacity:.45}}#hud{border:1px solid var(--panel-border);z-index:12;pointer-events:auto;background:#121a2ed9;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:.85rem;display:flex;position:fixed;top:56px;right:16px}#hud[hidden]{display:none!important}#hud-go{color:var(--accent);-webkit-user-select:text;user-select:text;cursor:pointer;text-decoration:none}#hud-go:hover{color:var(--text);text-decoration:underline}html:has(#staff-nav:not([hidden])) #hud{top:92px}#curvature-hud{z-index:11;border:1px solid var(--panel-border);width:min(560px,100% - 32px);color:var(--text);pointer-events:auto;text-align:center;background:#0c101ae0;border-radius:10px;padding:10px 14px 12px;position:absolute;top:16px;left:50%;transform:translate(-50%)}#sidebar:not(.is-collapsed)~#stage #curvature-hud{left:calc(50% + 210px)}.curvature-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.78rem}.curvature-track{height:28px;position:relative}.curvature-planck{pointer-events:none;background:#4a90e273;border-radius:2px;height:10px;position:absolute;top:9px}.curvature-track input[type=range]{accent-color:#c9a35a;background:0 0;width:100%;margin:0;position:absolute;inset:0}.curvature-ends{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:.72rem;display:flex}.curvature-caption,.curvature-stats{color:var(--text);margin:8px 0 0;font-size:.78rem;line-height:1.35}.curvature-stats{border-top:1px solid var(--panel-border);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;padding-top:5px}#perf-hud{z-index:6;border:1px solid var(--panel-border);color:var(--text);pointer-events:none;background:#0c1220eb;border-radius:6px;padding:6px 10px;font:12px/1.4 ui-monospace,Consolas,monospace;position:fixed;bottom:16px;left:16px}@media (width>=641px) and (width<=1099px){#sidebar{width:400px}#scene-loader{left:400px}#sidebar.is-collapsed~#stage #scene-loader{left:0}}@media (width<=640px){.home-header{padding:18px 20px}.home-title{font-size:1.2rem}.home-blurb{max-width:18.5rem;margin-bottom:16px;font-size:.78rem}.home-sighting{padding:0 20px calc(16px + env(safe-area-inset-bottom,0px))}.home-sighting-name{font-size:.8rem}.home-sighting-meta{font-size:.66rem}html.intro #sidebar{transform:translateY(-110%)}.sidebar-header{flex-shrink:0}.sidebar-header .home-logo .mark{width:26px;height:26px}.sidebar-header .home-logo .word{letter-spacing:.14em;font-size:.72rem}#tour-root{display:none!important}#guide-modal,#try-tour-panel{width:min(320px,100vw - 24px);max-height:calc(100vh - 32px);position:fixed;top:50%;left:50%;right:auto;overflow:auto;transform:translate(-50%,-50%)}#scene-loader{left:0}#sidebar{border-right:none;border-bottom:1px solid var(--panel-border);gap:8px;width:auto;height:38vh;min-height:0;padding:8px 10px 10px;inset:0 0 auto;overflow:hidden}#sidebar.is-collapsed{padding:12px 14px}#search-input{padding:8px 0}#object-list{flex:1;gap:8px;min-height:0;overflow:auto}.tour-box.is-mobile{width:auto}#staff-nav{top:calc(38vh + 8px);left:auto;right:8px}#field-toggles{top:calc(38vh + 8px);right:8px}#quality-toggles{display:none}html:has(#staff-nav:not([hidden])) #field-toggles{top:calc(38vh + 44px)}#hud{top:calc(38vh + 48px);bottom:auto;right:8px}html:has(#staff-nav:not([hidden])) #hud{top:calc(38vh + 84px)}#curvature-hud{width:calc(100% - 24px);top:auto;bottom:12px;left:50%}#sidebar.is-curvature #curvature-hud{width:auto;bottom:auto}#perf-hud{top:calc(38vh + 8px);bottom:auto;left:12px}}body.logs-page{height:auto;min-height:100%;overflow:auto}html:has(body.logs-page){height:auto;min-height:100%;overflow:auto}#charts-app{max-width:1100px;margin:0 auto;padding:20px 24px 48px}.chart-explain,.chart-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;margin-bottom:16px;padding:16px 18px}.chart-explain p,.chart-card p{color:var(--muted);margin:0 0 12px;font-size:.88rem;line-height:1.45}.chart-explain h2,.chart-card h2{margin:0 0 6px;font-size:1.05rem}.lod-svg{width:100%;height:auto;display:block}.chart-legend{flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:.78rem;display:flex}.chart-leg{align-items:center;gap:6px;display:inline-flex}.chart-leg i{border-radius:1px;width:14px;height:3px}.chart-leg i.is-dash{background-image:linear-gradient(90deg,currentColor 60%,#0000 60%);background-size:8px 3px}.scrub-row{grid-template-columns:1fr 280px;align-items:start;gap:16px;display:grid}#radius-slider{width:100%;margin-top:8px}.radius-readout{margin-bottom:8px;font-family:ui-monospace,Consolas,monospace;font-size:.9rem}.radius-vals{grid-template-columns:1fr auto;gap:4px 12px;font-size:.78rem;display:grid}.radius-vals>div{display:contents}.radius-vals label{color:var(--muted)}.radius-vals span{text-align:right;font-family:ui-monospace,Consolas,monospace}@media (width<=720px){.scrub-row{grid-template-columns:1fr}}#logs-app,#ips-app,#tools-app{max-width:1400px;margin:0 auto;padding:20px 24px 40px}.logs-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.logs-header h1{margin:0;font-size:1.35rem}.logs-nav{align-items:center;gap:10px;display:flex}.logs-nav a,.logs-nav button{color:var(--accent);border:1px solid var(--panel-border);font:inherit;cursor:pointer;background:#12141c;border-radius:8px;padding:6px 10px;font-size:.8rem;text-decoration:none}.logs-now{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;margin-bottom:16px;padding:14px 16px}.now-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;font-size:.85rem;display:grid}.now-grid label{color:var(--muted);margin-bottom:2px;font-size:.7rem;display:block}.now-grid code,.logs-table-wrap code{font-family:ui-monospace,Consolas,monospace;font-size:.78rem}.muted{color:var(--muted);font-size:.75rem}.flag-ok{color:var(--accent)}.flag-bad{color:#ffb4a8}.logs-table-wrap{border:1px solid var(--panel-border);border-radius:10px;overflow:auto}.logs-table-wrap table{border-collapse:collapse;width:100%;font-size:.78rem}.logs-table-wrap th,.logs-table-wrap td{text-align:left;border-bottom:1px solid var(--panel-border);vertical-align:top;padding:6px 8px}.logs-table-wrap th{color:var(--muted);background:var(--panel);font-weight:600;position:sticky;top:0}.logs-table-wrap th[data-sort]{padding:0}.logs-table-wrap .sort-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:6px 8px;font-weight:600;display:block}.logs-table-wrap .sort-btn:hover,.logs-table-wrap .sort-btn:focus-visible{color:var(--text)}.logs-table-wrap th[aria-sort=ascending] .sort-btn:after{content:" ↑"}.logs-table-wrap th[aria-sort=descending] .sort-btn:after{content:" ↓"}.logs-table-wrap tr.is-warn{background:#e74c3c1f}.logs-table-wrap tr.is-wheel{background:#2ecc710f}.logs-table-wrap td.note{color:var(--muted);max-width:280px}.chart-recipe{color:var(--muted);margin:0 0 12px;padding-left:1.2rem;font-size:.88rem;line-height:1.5}.chart-recipe li{margin-bottom:6px}.chart-recipe code{font-size:.82em}.chart-dont{color:#c9a8a4;margin:0;padding-left:1.2rem;font-size:.84rem;line-height:1.45}.chart-dont li{margin-bottom:4px}.tools-bar .tools-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.tools-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.tools-filters input,.tools-filters select{font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#12141c;border-radius:6px;padding:4px 8px;font-size:.82rem}.tools-detail td{background:#080c16a6}#logs-app,#ips-app,#tools-app,#galaxies-app{max-width:1400px;margin:0 auto;padding:20px 24px 40px}body.galaxies-page #galaxies-app{max-width:1600px;min-height:100dvh}.ws-layout{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:18px;display:grid}.ws-panel,.ws-stage{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px}.ws-panel{padding:16px 16px 20px}.ws-form{align-items:flex-end;gap:8px;display:flex}.ws-field{color:var(--muted-mid);flex-direction:column;flex:1;gap:4px;margin:12px 0 0;font-size:.78rem;display:flex}.ws-form .ws-field{margin:0}.ws-field input,.ws-flags input[type=range]{font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#12141c;border-radius:6px;padding:7px 8px;font-size:.88rem}.ws-form button,.ws-actions button{font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:#12141c;border-radius:8px;padding:7px 12px;font-size:.85rem}.ws-form button:hover,.ws-actions button:hover,.ws-class:hover{border-color:var(--muted-mid);color:var(--text)}.ws-notes{color:var(--muted);grid-template-columns:88px 1fr;gap:12px;margin:14px 0;font-size:.82rem;line-height:1.45;display:grid}.ws-notes[hidden]{display:none}.ws-thumb{object-fit:cover;background:#0b0d14;border-radius:8px;width:88px;height:88px}.ws-title{color:var(--text);margin:0 0 4px;font-weight:600}.ws-classes{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.ws-class{font:inherit;color:var(--muted-mid);border:1px solid var(--panel-border);cursor:pointer;background:#12141c;border-radius:999px;padding:5px 10px;font-size:.78rem}.ws-class[aria-pressed=true]{color:var(--text);border-color:var(--muted-mid);background:#1c1f28}.ws-flags{color:var(--muted-mid);flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 4px;font-size:.8rem;display:flex}.ws-tilt{flex:1;align-items:center;gap:8px;display:inline-flex}.ws-tilt input{flex:1;min-width:80px}.ws-actions{margin-top:12px}.ws-lib-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin:20px 0 8px;font-size:.82rem;font-weight:600}.ws-library{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.ws-library li{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.ws-library button{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:.82rem}.ws-library button:hover{color:var(--home-text)}.ws-tune{border:1px solid var(--panel-border);background:#0d0f16;border-radius:8px;margin:12px 0 0;padding:10px 12px 12px}.ws-tune[hidden]{display:none}.ws-tune-title,.ws-ref-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-mid);margin:0;font-size:.7rem;font-weight:600}.ws-tune-title{border-bottom:1px solid var(--panel-border);color:var(--text);margin-bottom:8px;padding-bottom:6px}.ws-tune-row{color:var(--text);grid-template-columns:66px 1fr 46px;align-items:center;gap:10px;padding:4px 0;font-size:.79rem;display:grid}.ws-tune-row output{text-align:right;color:var(--muted-mid);font-variant-numeric:tabular-nums;font-size:.72rem}.ws-tune input[type=range],.ws-tilt input[type=range]{appearance:none;cursor:pointer;background:#2a3140;border:0;border-radius:3px;width:100%;min-width:0;height:4px;padding:0}.ws-tune input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#7fb2ff;border:0;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #7fb2ff29}.ws-tilt input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#7fb2ff;border:0;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #7fb2ff29}.ws-tune input[type=range]::-moz-range-thumb{background:#7fb2ff;border:0;border-radius:50%;width:13px;height:13px}.ws-tilt input[type=range]::-moz-range-thumb{background:#7fb2ff;border:0;border-radius:50%;width:13px;height:13px}.ws-stage{min-height:560px;overflow:hidden}.ws-stage-grid{grid-template-columns:1fr minmax(170px,260px);gap:12px;padding:10px;display:grid}.ws-view{min-width:0;position:relative}#ws-canvas{background:#06070d;border-radius:8px;width:100%;height:540px;display:block}#ws-caption{text-shadow:0 1px 8px #000;margin:0;position:absolute;bottom:10px;left:12px}.ws-ref{flex-direction:column;gap:6px;min-width:0;display:flex}.ws-ref img{border:1px solid var(--panel-border);background:#06070d;border-radius:8px;width:100%;display:block}@media (width<=1200px){.ws-stage-grid{grid-template-columns:1fr}.ws-ref img{max-width:320px}}@media (width<=880px){.ws-layout{grid-template-columns:1fr}.ws-notes{grid-template-columns:64px 1fr}.ws-tune-row{grid-template-columns:60px 1fr 42px}}
