body.staniverse-xr-standalone-page{margin:0;background:#000008}
#staniverse-xr-root{position:relative;display:block;width:100%;min-height:520px;overflow:hidden;background:#000008;font-family:'Geologica',system-ui,sans-serif;border-radius:20px}
body.staniverse-xr-standalone-page #staniverse-xr-root{width:100vw;height:100vh;min-height:100vh;border-radius:0}
#staniverse-xr-root,#staniverse-xr-root *{box-sizing:border-box}
body.staniverse-xr-standalone-page{width:100%;height:100%;overflow:hidden;font-family:'Geologica',system-ui,sans-serif}
#staniverse-xr-root canvas{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}
#staniverse-xr-root .staniverse-xr-shell{position:absolute;inset:0;pointer-events:none}
#staniverse-xr-root .staniverse-xr-shell canvas{pointer-events:auto}
#xr-overlay{position:absolute;inset:0;pointer-events:none;font-family:'Geologica',system-ui,sans-serif;z-index:999}
#graph-tip{position:absolute;top:14px;left:50%;transform:translateX(-50%);background:rgba(13,15,23,.88);backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.35);border-radius:9px;padding:6px 16px;font-size:13px;color:#e8eaf2;pointer-events:none;opacity:0;transition:opacity .15s;white-space:nowrap;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;font-family:'Unbounded',system-ui,sans-serif;font-weight:600}
#graph-tip.visible{opacity:1}
#star-card{position:absolute;bottom:80px;left:50%;transform:translateX(-50%) translateY(16px);background:rgba(8,8,28,.88);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(139,92,246,.35);border-radius:18px;padding:0 0 16px;max-width:340px;width:calc(100% - 32px);max-height:calc(100vh - 180px);color:#e8eaf2;pointer-events:auto;opacity:0;transition:opacity .2s ease,transform .22s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 48px rgba(0,0,0,.65),0 0 0 1px rgba(139,92,246,.12) inset;overflow-x:hidden;overflow-y:auto}
#star-card.visible{opacity:1;transform:translateX(-50%) translateY(0)}
#card-topbar{height:4px;border-radius:18px 18px 0 0;margin-bottom:16px;transition:background .2s;box-shadow:0 1px 6px rgba(108,142,255,.3)}
#card-inner{padding:0 20px}
#card-meta{display:flex;align-items:center;gap:8px;margin-bottom:7px}
#card-type{font-family:'Unbounded',system-ui,sans-serif;font-size:.67rem;padding:2px 10px;border-radius:5px;border:1px solid;font-weight:600}
#card-date{font-size:.72rem;color:rgba(255,255,255,.52)}
#card-title{font-family:'Unbounded',system-ui,sans-serif;font-size:1rem;font-weight:700;margin-bottom:7px;letter-spacing:-.01em;line-height:1.3}
#card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.sc-tag{font-size:.72rem;padding:3px 9px;border-radius:6px;background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.3);color:#a78bfa}
#card-desc{font-family:'Geologica',system-ui,sans-serif;font-size:.81rem;opacity:.56;line-height:1.55;margin-bottom:6px}
#card-links{font-size:.72rem;color:rgba(167,139,250,.82);margin-bottom:13px}
#card-actions{display:flex;gap:8px;padding:0 20px}
#card-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:#5a7ae6;color:#fff;text-decoration:none;border-radius:10px;font-size:.81rem;font-weight:600;font-family:'Unbounded',system-ui,sans-serif;transition:opacity .15s,transform .12s}
#card-open:hover{opacity:.9}
#card-open:active{transform:scale(.97)}
#card-close{min-height:44px;min-width:44px;padding:10px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:rgba(255,255,255,.55);font-size:.81rem;cursor:pointer;transition:opacity .15s,background .15s,transform .12s;display:inline-flex;align-items:center;justify-content:center}
#card-close:hover{background:rgba(255,255,255,.14)}
#card-close:active{transform:scale(.95)}
#xr-fab{position:absolute;bottom:24px;right:24px;z-index:10;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
#xr-fab-btn{width:52px;height:52px;border-radius:50%;background:rgba(8,8,28,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(139,92,246,.55);color:#a78bfa;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s,transform .12s,border-color .2s;box-shadow:0 4px 24px rgba(139,92,246,.18)}
#xr-fab-btn:hover{opacity:.85}
#xr-fab-btn:active{transform:scale(.93)}
#xr-fab-btn.hidden{display:none}
#xr-fab-btn.open{border-color:rgba(139,92,246,.9)}
#xr-fab-menu{display:flex;flex-direction:column;gap:8px;align-items:flex-end;overflow:hidden;max-height:0;opacity:0;transition:max-height .2s ease,opacity .15s ease;pointer-events:none}
#xr-fab-menu.open{max-height:160px;opacity:1;pointer-events:auto}
.xr-fab-item{min-height:44px;padding:10px 20px;background:rgba(8,8,28,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(139,92,246,.45);border-radius:12px;color:#a78bfa;font-size:.78rem;font-weight:700;font-family:'Unbounded',system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:opacity .15s,transform .12s}
.xr-fab-item:hover{opacity:.85}
.xr-fab-item:active{transform:scale(.96)}
.xr-fab-item.hidden{display:none}
#btn-exit{position:absolute;top:16px;right:16px;min-height:44px;padding:10px 18px;background:rgba(8,8,28,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:10px;color:rgba(255,255,255,.6);font-size:.75rem;font-weight:700;font-family:'Unbounded',system-ui,sans-serif;cursor:pointer;letter-spacing:.04em;pointer-events:auto;z-index:10;transition:opacity .15s}
#btn-exit:hover{opacity:.8}
#btn-exit.hidden{display:none}
#joystick{position:absolute;bottom:24px;left:24px;width:72px;height:72px;border-radius:50%;background:rgba(8,8,28,.35);border:1.5px solid rgba(126,196,255,.2);pointer-events:auto;display:none;z-index:10;touch-action:none;opacity:.4;transition:opacity .2s}
#joystick.visible{display:block}
#joystick:active{opacity:.8}
#joystick-knob{position:absolute;width:28px;height:28px;border-radius:50%;background:rgba(126,196,255,.45);border:1px solid rgba(126,196,255,.5);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;transition:transform .1s ease}
#ar-touch{position:absolute;inset:0;pointer-events:auto;display:none;z-index:998}
#ar-touch.active{display:block}
#btn-fs{position:absolute;right:24px;bottom:88px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(8,8,28,.6);backdrop-filter:blur(8px);color:rgba(255,255,255,.5);font-size:18px;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:opacity .15s}
#btn-fs:hover{opacity:.8}
#hint{position:absolute;bottom:16px;left:16px;color:rgba(255,255,255,.45);font-size:11px;pointer-events:none;transition:opacity 1.5s;white-space:nowrap;max-width:calc(100% - 160px);overflow:hidden;text-overflow:ellipsis}
#loading-bar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:rgba(167,139,250,.7);font-size:13px;pointer-events:none}
#loading-bar progress{display:block;width:160px;margin:8px auto 0;accent-color:#a78bfa}
#label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:998}
.star-label{position:absolute;top:0;left:0;font-family:'Unbounded',system-ui,sans-serif;font-weight:600;white-space:nowrap;pointer-events:none;will-change:transform,opacity;transition:opacity .25s ease}
.star-label.hub{font-size:13px;color:#fff;text-shadow:0 0 8px rgba(138,208,255,.5),0 1px 3px rgba(0,0,0,.9)}
.star-label.sat{font-size:11px;color:rgba(210,200,255,.75);text-shadow:0 1px 3px rgba(0,0,0,.8)}
#hand-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(8,8,28,.9);backdrop-filter:blur(16px);border:1px solid rgba(139,92,246,.4);border-radius:14px;padding:16px 24px;color:#e8eaf2;font-size:14px;text-align:center;pointer-events:none;opacity:0;transition:opacity .5s;font-family:'Unbounded',system-ui,sans-serif}
#hand-hint.visible{opacity:1}
#hand-hint p{margin:6px 0;font-family:'Geologica',system-ui,sans-serif;font-weight:300;font-size:12px;color:rgba(232,234,242,.7)}
@media(max-width:640px){#star-card{bottom:16px;left:8px;right:8px;max-width:none;width:auto;max-height:45vh;border-radius:14px;transform:translateY(16px)}#star-card.visible{transform:translateY(0)}#hint{bottom:14px;font-size:10px}#joystick{bottom:20px;left:16px}#btn-fs{right:20px;bottom:84px}}
@supports(padding-bottom:env(safe-area-inset-bottom)){#hint{bottom:calc(16px + env(safe-area-inset-bottom))}#xr-fab{bottom:calc(24px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right))}#btn-fs{right:calc(24px + env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom))}#star-card{bottom:calc(80px + env(safe-area-inset-bottom))}#joystick{bottom:calc(24px + env(safe-area-inset-bottom))}}
#xr-overlay.ar-mode #graph-tip{top:env(safe-area-inset-top,48px);max-width:calc(100% - 2*max(24px,env(safe-area-inset-left,24px)))}
#xr-overlay.ar-mode #star-card{bottom:calc(24px + env(safe-area-inset-bottom,32px));max-width:calc(100% - 2*max(24px,env(safe-area-inset-right,24px)));background:rgba(8,8,28,.94);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border-radius:14px;max-height:40vh}#xr-overlay.vr-mode #star-card{bottom:15%;max-width:440px;max-height:50vh}
#xr-overlay.vr-mode #graph-tip{display:none}
#xr-overlay.vr-mode #joystick{display:none!important}
#xr-overlay.xr-available #joystick{}
@media(prefers-reduced-motion:reduce){#star-card{transition:opacity 0ms!important;transform:translateX(-50%)!important}#star-card.visible{transform:translateX(-50%)!important}#graph-tip{transition:opacity 0ms!important}.xr-entry-btn,#btn-exit,#card-open,#card-close{transition:none!important}#joystick-knob{transition:none!important}.star-label{transition:opacity 0ms!important}}
#btn-mute{position:absolute;top:16px;right:68px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(8,8,28,.6);backdrop-filter:blur(8px);color:rgba(255,255,255,.5);font-size:15px;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:opacity .15s;z-index:10}
#btn-mute:hover{opacity:.8}
#btn-mute.muted{color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.08)}
