html,body{color:#eee;background:#000;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#stage{background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#canvas{width:100%;height:100%;display:block}#paused{color:#fff;opacity:0;pointer-events:none;background:#00000059;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;transition:opacity .25s;display:flex;position:absolute;top:50%;left:50%}body.paused #paused{opacity:1}#hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffeb;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;background:#0a0e148f;border:1px solid #ffffff1f;border-radius:999px;padding:5px 14px;font-size:12px;transition:opacity .45s,transform .35s;transform:translateY(-4px)}#hint.show{opacity:1;transform:translateY(0)}#pausebtn{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#00000061;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .3s;display:flex;position:absolute;bottom:14px;left:14px}body.controls #pausebtn{opacity:1;pointer-events:auto}#pausebtn .i-play,body.paused #pausebtn .i-pause{display:none}body.paused #pausebtn .i-play{display:block}body.playing.controls{cursor:crosshair}body.playing:not(.controls){cursor:none}#overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008f;justify-content:center;align-items:center;padding:16px;transition:opacity .6s;display:flex;position:absolute;inset:0}#overlay.loading:not(.ready){background:#000}#overlay.hidden{opacity:0;pointer-events:none}#overlay,#overlay *{box-sizing:border-box}.overlay-shell{flex-direction:column;align-items:stretch;width:min(94vw,900px);height:min(88vh,780px);min-height:0;display:flex}#overlay[data-step=scenes] .overlay-shell{width:min(94vw,620px);height:auto;max-height:min(90vh,780px)}#overlay[data-step=intro] .card,#overlay[data-step=scenes] .overlay-info-pane{display:none}#overlay .card{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:thin;background:#0c1018cc;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;width:100%;height:auto;min-height:0;max-height:100%;padding:clamp(14px,2.2vh,24px) clamp(14px,2vw,26px);display:flex;overflow-y:auto;box-shadow:0 12px 36px #00000085}.scene-step-topbar{border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.overlay-step-back-btn{color:#d6e2f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:5px 12px;font-size:12px;transition:background .2s,border-color .2s,color .2s}.overlay-step-back-btn:hover{color:#fff;background:#00d2ff24;border-color:#00d2ff73}.scene-step-label{letter-spacing:.05em;color:#7ee8ff;text-transform:uppercase;font-size:11px;font-weight:600}.pinfo-head-actions,.scene-step-actions,.pinfo-modal-actions{align-items:center;gap:8px;display:inline-flex}.lang-switch-pill{color:#9ae8ff;cursor:pointer;white-space:nowrap;background:#00d2ff1f;border:1px solid #00d2ff5c;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.3;transition:all .18s}.lang-switch-pill:hover{color:#fff;background:#00d2ff3d;border-color:#00d2ffb8}#lang-toggle-btn{color:#9ae8ff;border-color:#00d2ff52}#lang-toggle-btn:hover{color:#fff;background:#00d2ff38;border-color:#00d2ffb8}.overlay-info-pane{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;background:#0c1018d6;border:1px solid #00d2ff47;border-radius:16px;flex-direction:column;flex:1;height:100%;min-height:0;padding:clamp(16px,2.2vh,24px) clamp(16px,2.2vw,28px);display:flex;overflow:hidden;box-shadow:0 14px 40px #0000008c}.pinfo-head-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pinfo-step-pill{letter-spacing:.05em;color:#93a6c2;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600}.overlay-info-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.overlay-intro-footer{border-top:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.intro-load-status{color:#9aa8be;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.intro-status-dot{background:#00d2ff;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 8px #00d2ffb3}#overlay.ready .intro-status-dot{background:#2ee59d;box-shadow:0 0 8px #2ee59dcc}#overlay.ready .intro-load-status{color:#a9f5d5}#intro-load-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.intro-progress-mini{background:#ffffff24;border-radius:999px;flex-shrink:0;width:72px;height:3px;overflow:hidden}.intro-bar{background:#00d2ff;width:0;height:100%;transition:width .2s linear;display:block}#overlay.ready .intro-progress-mini{display:none}.overlay-step-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#00d2ff3d,#008cff3d);border:1px solid #00e5ffa6;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:9px 22px;font-size:13.5px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 0 20px #00d2ff40}.overlay-step-primary-btn:hover{background:linear-gradient(135deg,#00d2ff5c,#008cff5c);transform:translateY(-1px);box-shadow:0 0 26px #00d2ff7a}@media (max-width:640px),(max-height:540px){.overlay-shell{width:95vw;height:min(92vh,780px)}.overlay-intro-footer{flex-direction:column;align-items:stretch}.overlay-step-primary-btn{justify-content:center}}#overlay .title{letter-spacing:.04em;margin-top:clamp(4px,1vh,10px);font-size:clamp(22px,2.5vw,30px);font-weight:300;line-height:1.2}#overlay .subtitle{color:#a4b0c2;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:clamp(11.5px,1vw,13.5px)}#overlay .progress{background:#ffffff26;flex-shrink:0;width:min(220px,80%);height:2px;margin:clamp(12px,2vh,22px) auto 8px;overflow:hidden}#overlay .bar{background:#fff;width:0;height:100%;transition:width .2s linear}#overlay .status{color:#9aa6b8;min-height:16px;font-size:12px}#play{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:clamp(48px,6.2vh,62px);height:clamp(48px,6.2vh,62px);margin:0 auto;transition:background .2s,transform .2s;display:flex}#play:hover{background:#ffffff2e;transform:scale(1.05)}#overlay.ready .progress,#overlay.ready .status{display:none}#overlay.ready #play{display:flex}#overlay .credit{color:#8f9cad;margin-top:clamp(10px,1.8vh,20px);font-size:11px;line-height:1.45}#overlay .credit a{color:#b4c3d6}#hud{color:#0f0;white-space:pre;pointer-events:none;text-shadow:0 0 2px #000;font:11px/1.4 ui-monospace,Consolas,monospace;display:none;position:absolute;top:8px;left:8px}body.debug #hud{display:block}.btn-group{flex-direction:column;align-items:center;gap:8px;margin:8px auto 4px;display:flex}#overlay.ready .btn-group{display:flex}#overlay.ready #play{margin:0 auto}.vr-btn{color:#00e5ff;cursor:pointer;background:#00e5ff1f;border:1px solid #00e5ff73;border-radius:24px;justify-content:center;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;transition:all .25s;display:inline-flex;box-shadow:0 0 16px #00e5ff40}.vr-btn:hover{color:#fff;background:#00e5ff40;border-color:#00e5ffe6;transform:translateY(-1px);box-shadow:0 0 25px #00e5ff80}#quick-vr{color:#00e5ff;cursor:pointer;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00e5ff26;border:1px solid #00e5ff73;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:opacity .3s,background .2s,box-shadow .2s;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 0 10px #00e5ff33}body.controls #quick-vr{opacity:1;pointer-events:auto}#quick-vr:hover{color:#fff;background:#00e5ff4d;box-shadow:0 0 18px #00e5ff66}#vr-live-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:none;z-index:100;background:#000000a6;border:1px solid #ff3c3c66;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:none;position:absolute;top:14px;right:14px;box-shadow:0 2px 10px #00000080}#vr-live-badge .dot{background:#ff334b;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite vr-blink;box-shadow:0 0 8px #ff334b}@keyframes vr-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}body.in-vr #vr-live-badge{display:flex}body.in-vr #quick-vr,body.in-vr #pausebtn,body.in-vr #hint,body.in-vr #top-stack{display:none!important}.scene-switcher{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;margin-bottom:10px;display:grid}@media (max-width:480px){.scene-switcher{grid-template-columns:1fr}}.scene-tab-btn{cursor:pointer;text-align:left;color:#bbb;background:#ffffff0d;border:1.5px solid #ffffff26;border-radius:10px;outline:none;flex-direction:column;align-items:flex-start;padding:6px 10px;transition:all .25s;display:flex}.scene-tab-btn:hover{color:#fff;background:#ffffff1a;border-color:#00e5ff80;transform:translateY(-2px);box-shadow:0 4px 16px #0006}.scene-tab-btn.active{color:#fff;background:#00e5ff24;border-color:#00e5ff;box-shadow:0 0 20px #00e5ff59}.scene-tab-btn .tab-badge{text-transform:uppercase;color:#aaa;letter-spacing:.02em;background:#ffffff1f;border-radius:4px;margin-bottom:2px;padding:1px 6px;font-size:10px;font-weight:600}.scene-tab-btn.active .tab-badge{color:#00e5ff;background:#00e5ff47}.scene-tab-btn .tab-title{color:#eee;margin-bottom:1px;font-size:13px;font-weight:600}.scene-tab-btn.active .tab-title{color:#fff;text-shadow:0 0 10px #00e5ff80}.scene-tab-btn .tab-desc{color:#888;font-size:10px}.scene-tab-btn.active .tab-desc{color:#b3f3fc}#top-stack{z-index:55;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.top-hud{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#0a0e1494;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;align-items:center;gap:5px;max-width:100%;padding:5px 8px;transition:opacity .25s,transform .25s;display:flex;transform:translateY(-10px);box-shadow:0 8px 26px #0000006b}body.controls #top-stack:not(.collapsed) .top-hud,body.has-panel-open #top-stack:not(.collapsed) .top-hud{opacity:1;pointer-events:auto;transform:translateY(0)}#top-stack.collapsed .top-hud{display:none}.top-action-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.top-btn{color:#f2f6ffeb;white-space:nowrap;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;line-height:1.25;transition:all .2s;display:inline-flex}.top-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff61;transform:translateY(-1px)}#switch-scene-btn:hover{background:#00e5ff33;border-color:#00e5ffa6;box-shadow:0 0 12px #00e5ff47}#toggle-avatar-btn.active{color:#0fa;background:#00ffaa2e;border-color:#0fa9;box-shadow:0 0 12px #00ffaa3d}#toggle-avatar-btn:hover{color:#fff;background:#00ffaa47;border-color:#00ffaad9}#toggle-sprint-btn.active{color:#7ee8ff;background:#00d2ff38;border-color:#00e5ffcc;box-shadow:0 0 12px #00d2ff4d}#toggle-sprint-btn:hover{color:#fff;background:#00d2ff47;border-color:#00e5ffe0}#avatar-tune-btn.active,#avatar-tune-btn:hover{color:#7ee8ff;background:#00d2ff38;border-color:#00d2ffc7;box-shadow:0 0 12px #00d2ff47}#action-fx-btn.active,#action-fx-btn:hover{color:#ffd3b3;background:#ff763c3d;border-color:#ff8e52d9;box-shadow:0 0 12px #ff763c47}#fx-tune-btn.active,#fx-tune-btn:hover{color:#ffd089;background:#ffa53c38;border-color:#ffb450d1;box-shadow:0 0 12px #ffa53c47}.top-sep{background:#ffffff29;width:1px;height:16px;margin:0 1px}.top-collapse-btn{color:#d7e0eed1;background:#ffffff0a;padding:5px 9px}.top-expand-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f0f6ffe6;cursor:pointer;opacity:0;pointer-events:none;background:#0a0e149e;border:1px solid #fff3;border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:500;transition:opacity .24s,transform .24s,background .2s;display:none;transform:translateY(-8px);box-shadow:0 4px 16px #00000059}#top-stack.collapsed .top-expand-btn{align-items:center;gap:5px;display:inline-flex}body.controls #top-stack.collapsed .top-expand-btn,body.has-panel-open #top-stack.collapsed .top-expand-btn{opacity:1;pointer-events:auto;transform:translateY(0)}.top-expand-btn:hover{color:#fff;background:#00d2ff3d;border-color:#00d2ffb8}@media (min-width:540px){.scene-switcher{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.scene-tab-btn{flex:165px;padding:5px 8px}}body.in-vr #avatar-tune-btn,body.in-vr #avatar-tune-panel,body.in-vr #action-fx-btn,body.in-vr #fx-tune-btn,body.in-vr #fx-tune-panel{display:none!important}.fx-tune-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:62;color:#eee;background:#0c1118e6;border:1px solid #ffb45061;border-radius:14px;width:356px;max-height:calc(100vh - 114px);padding:14px 16px;font-size:12.5px;transition:opacity .25s,transform .25s,top .2s;position:absolute;top:62px;left:16px;overflow-y:auto;box-shadow:0 12px 36px #000000a6,0 0 20px #ffa53c24}body.avatar-active .fx-tune-panel,body.avatar-active .avatar-tune-panel{top:98px}.fx-tune-panel.hidden{display:none}.fx-target-bar{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.fx-target-pill{color:#cdd6e2;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .16s}.fx-target-pill:hover{color:#fff;background:#ffffff26}.fx-target-pill.active{color:#ffe0a8;background:#ffaa463d;border-color:#ffb955d9}.fx-row{margin-bottom:10px}.fx-sound-group{border-top:1px solid #ffffff14;margin-top:4px;padding-top:8px}.fx-sound-group.hidden{display:none}.avatar-tune-panel{scrollbar-width:thin;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:60;color:#eee;background:#0c1118e0;border:1px solid #00d2ff66;border-radius:14px;width:320px;max-height:calc(100vh - 84px);padding:16px;font-size:13px;transition:opacity .25s,transform .25s;position:absolute;top:62px;left:16px;overflow-y:auto;box-shadow:0 12px 36px #0009,0 0 20px #00d2ff26}.avatar-tune-panel.hidden{display:none}.tune-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.tune-title{color:#00d2ff;letter-spacing:.3px;font-size:13px;font-weight:600}.tune-close-btn{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1;transition:color .2s,background .2s}.tune-close-btn:hover{color:#fff;background:#ffffff1a}.tune-group{margin-bottom:14px}.tune-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tune-label{color:#aaa;font-size:12px}.tune-val{color:#0fa;background:#00ffaa1f;border-radius:4px;padding:1px 6px;font-family:monospace;font-size:12px;font-weight:600}.tune-control-row{align-items:center;gap:8px;display:flex}.tune-step-btn{color:#ddd;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:4px 8px;font-size:11px;transition:all .2s}.tune-step-btn:hover{color:#fff;background:#00d2ff33;border-color:#00d2ff80}.tune-control-row input[type=range]{appearance:none;background:#ffffff26;border-radius:3px;outline:none;flex:1;height:6px}.tune-control-row input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#00d2ff;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 0 8px #00d2ffcc}.tune-control-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.tune-checkbox-group{margin-top:10px;margin-bottom:16px}.tune-checkbox-label{color:#bbb;cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.tune-actions-row{gap:8px;margin-top:8px;display:flex}.tune-btn{cursor:pointer;color:#dbeafe;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;flex:1;padding:8px 10px;font-size:12px;font-weight:500;transition:all .2s}.tune-btn:hover{color:#fff;background:#ffffff26;border-color:#00d2ff73}.tune-btn-save{color:#fff;background:linear-gradient(135deg,#00b4db,#0083b0);box-shadow:0 4px 12px #00b4db59}.tune-btn-save:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00b4db99}.tune-btn-reset{color:#aaa;background:#ffffff1a;border:1px solid #ffffff26}.tune-btn-reset:hover{color:#fff;background:#ffffff2e}.tune-toast{color:#0fa;text-align:center;background:#00ffaa2e;border:1px solid #0fa6;border-radius:6px;margin-top:10px;padding:6px 10px;font-size:11px;animation:.3s fadeIn}.tune-toast.hidden{display:none}#skill-dock{scrollbar-width:none;border-top:1px solid #ffffff1a;flex-wrap:nowrap;align-items:center;gap:4px;max-width:calc(100vw - 44px);padding:3px 4px 1px;display:none;overflow-x:auto}#skill-dock::-webkit-scrollbar{display:none}#skill-dock.open{display:flex}body.in-vr #skill-dock{display:none!important}.skill-pill{color:#f0f5ffe0;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff21;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;line-height:1.25;transition:all .16s;display:inline-flex}.skill-pill .sk-key{color:#fff;opacity:.9;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;font-weight:700}.skill-pill .sk-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.skill-pill:hover{color:#fff;background:#ffffff29;border-color:#fff6;transform:translateY(-1px)}.skill-pill.active{border-color:var(--sk-color,#00d2ff);box-shadow:0 0 14px color-mix(in srgb, var(--sk-color,#00d2ff) 55%, transparent);color:#fff;background:#ffffff3d}.skill-pack-btn{color:#8ceeff;background:#00d2ff24;border-color:#00d2ff73;font-weight:500}.skill-pack-btn:hover{background:#00d2ff47;border-color:#00d2ffd9}#project-info-btn.active,#project-info-btn:hover{color:#c8dcff;background:#8ab4ff38;border-color:#8ab4ffcc;box-shadow:0 0 12px #8ab4ff47}body.in-vr #project-info-modal{display:none!important}.pinfo-modal{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05080ead;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.pinfo-modal.hidden{display:none}.pinfo-modal-dialog{background:#0c1119f0;border:1px solid #00d2ff5c;border-radius:16px;flex-direction:column;width:min(92vw,800px);max-height:min(86vh,700px);padding:16px 20px;display:flex;box-shadow:0 18px 48px #000000b8,0 0 28px #00d2ff24}.pinfo-modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;display:flex}.pinfo-modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pinfo-pane-head{flex-direction:column;flex-shrink:0;gap:4px;margin-bottom:10px;display:flex}.pinfo-brand{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pinfo-brand-tag{color:#7ee8ff;letter-spacing:.03em;background:#00d2ff29;border:1px solid #00d2ff73;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.pinfo-pane-title,.pinfo-brand-title{color:#f3f7ff;margin:0;font-size:clamp(14px,1.25vw,17px);font-weight:600}.pinfo-widget{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pinfo-scroll{color:#d6deeb;flex:1;min-height:0;padding-right:6px;font-size:clamp(12px,.92vw,13px);line-height:1.6;overflow-y:auto}.pinfo-scroll::-webkit-scrollbar{width:5px}.pinfo-scroll::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.pinfo-section+.pinfo-section{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:14px}.pinfo-h3{color:#fff;margin:0 0 8px;font-size:14px;font-weight:600}.pinfo-lead,.pinfo-p{color:#cfd8e6;margin:0 0 8px}.pinfo-block{background:#ffffff09;border:1px solid #ffffff12;border-radius:10px;margin-bottom:10px;padding:10px 12px}.pinfo-badge{border-radius:6px;margin-bottom:6px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.pinfo-badge-cyan{color:#7ee8ff;background:#00d2ff26}.pinfo-badge-amber{color:#ffd089;background:#ffaf4129}.pinfo-badge-emerald{color:#7effca;background:#00ffaa24}.pinfo-list{margin:0;padding-left:18px}.pinfo-list li{margin-bottom:5px}.pinfo-list li:last-child{margin-bottom:0}.pinfo-list code{color:#9ae8ff;background:#ffffff1a;border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.pinfo-list a{color:#7ee8ff;text-decoration:underline}.route-planner-panel{border-color:#00e5ff73;max-height:calc(100vh - 82px);left:auto;right:16px;overflow-y:auto}#route-planner-btn.active,#route-planner-btn:hover{color:#a6f6ff;background:#00e5ff38;border-color:#00e5ffc7}.route-stats-pill{color:#9aefff;background:#00e5ff1a;border:1px solid #00e5ff40;border-radius:8px;margin-bottom:10px;padding:7px 10px;font-size:12px;line-height:1.4}.route-btn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px;display:grid}.route-btn-grid .tune-btn{margin:0;padding:6px 8px;font-size:12px}#route-toast{display:none}#route-toast.show{display:block}.route-waypoint-list{color:#cde3f5;background:#060a10c7;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:4px;max-height:132px;margin:0 0 10px;padding:6px;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.4;display:flex;overflow-y:auto}.route-wp-empty{color:#95abc2;white-space:normal;padding:6px 4px;font-family:inherit}.route-wp-item{text-align:left;color:#cde3f5;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:5px 7px;font-family:ui-monospace,Consolas,monospace;font-size:11px;transition:background .15s,border-color .15s,color .15s;display:flex}.route-wp-item:hover{background:#00e5ff1a;border-color:#00e5ff59}.route-wp-item.active{color:#fff;background:#00e5ff2e;border-color:#00e5ffd9}.route-wp-sub{color:#82d9eb;flex-shrink:0;font-size:10px}.route-look-divider{color:#ffd089;border-top:1px solid #ffffff14;margin-top:4px;padding:3px 6px 1px;font-size:10.5px}.route-look-item{color:#ffe3b0}.route-look-item:hover{background:#ffc45624;border-color:#ffc45673}.route-look-item.active{color:#fff;background:#ffc45638;border-color:#ffc456e6}.route-look-item .route-wp-sub{color:#ffd089}.route-kf-editor{background:#08101ad9;border:1px solid #00e5ff52;border-radius:9px;margin-bottom:10px;padding:9px 10px}.route-kf-look-box{background:#ffc4560f;border:1px solid #ffc45640;border-radius:7px;margin-bottom:8px;padding:6px 8px}.route-kf-look-val{color:#9ec0d8;font-size:10.5px}.route-kf-look-val.locked{color:#ffd089;font-weight:600}.route-kf-look-actions{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.route-kf-look-actions .tune-btn.hidden,.route-kf-editor.hidden{display:none}.route-kf-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.route-kf-head-actions{flex-wrap:wrap;gap:4px;display:flex}.route-kf-actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.route-kf-subbtn{margin:0!important;padding:4px 8px!important;font-size:11px!important}.route-kf-title{color:#7eeeff;font-size:12px;font-weight:600}.route-kf-sync-btn{width:auto!important;margin:0!important;padding:4px 7px!important;font-size:11px!important}.route-kf-pos-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:7px;display:flex}.route-nudge-group{gap:4px;display:flex}.route-nudge-btn{color:#d8f2ff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:5px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px}.route-nudge-btn:hover{background:#00e5ff38;border-color:#00e5ffa6}.route-kf-sliders{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.route-kf-group{margin-bottom:0!important}.route-kf-group .tune-label-row{margin-bottom:3px}.route-kf-group .tune-label,.route-kf-group .tune-val{font-size:11px}.route-vcam-widget{z-index:62;pointer-events:auto;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #00e5ff99;border-radius:12px;flex-direction:column;width:418px;display:flex;position:absolute;bottom:58px;left:16px;overflow:hidden;box-shadow:0 12px 34px #000000ad,0 0 18px #00e5ff2e}@media (max-width:760px){.route-vcam-widget:not(.fullscreen){width:min(304px,100vw - 24px);left:12px}.route-vcam-widget:not(.fullscreen) .route-vcam-viewport{height:171px}}.route-vcam-widget.hidden{display:none}.route-vcam-widget.fullscreen{box-shadow:none;z-index:95;border:none;border-radius:0;width:100vw!important;height:100vh!important;inset:0!important}.route-vcam-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;background:#0c1019eb;border-bottom:1px solid #00e5ff40;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 14px 7px 10px;display:flex}.route-vcam-widget.fullscreen .route-vcam-header{z-index:6;background:#0a0e16d6;border:1px solid #00e5ff73;border-radius:999px;width:auto;max-width:calc(100vw - 24px);padding:6px 12px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0000008c}.route-vcam-widget.fullscreen #vcam-collapse-btn,.route-vcam-widget.fullscreen .vcam-resize-handle,.route-vcam-widget.collapsed .vcam-resize-handle{display:none}.vcam-resize-handle{z-index:8;touch-action:none;position:absolute}.vcam-resize-n{cursor:ns-resize;height:6px;top:0;left:0;right:16px}.vcam-resize-e{cursor:ew-resize;width:7px;top:34px;bottom:0;right:0}.vcam-resize-ne{cursor:nesw-resize;width:14px;height:14px;top:0;right:0}.vcam-resize-ne:after{content:"";border-top:2px solid #00e5ff8c;border-right:2px solid #00e5ff8c;border-top-right-radius:2px;width:6px;height:6px;transition:border-color .15s;position:absolute;top:3px;right:3px}.vcam-resize-ne:hover:after{border-color:#8eeeff}.route-vcam-widget.fullscreen .route-vcam-viewport{flex:auto;width:100%!important;height:100%!important}body.vcam-fullscreen #top-stack,body.vcam-fullscreen #route-planner-panel,body.vcam-fullscreen #pausebtn,body.vcam-fullscreen #vr-btn,body.vcam-fullscreen #hud{opacity:0!important;pointer-events:none!important}.route-vcam-title-wrap{align-items:center;gap:6px;min-width:0;display:flex}.route-vcam-rec-dot{background:#2effb0;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 8px #2effb0}.route-vcam-widget.playing .route-vcam-rec-dot{background:#ff4f64;box-shadow:0 0 10px #ff4f64}.route-vcam-title{color:#e4f7ff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.route-vcam-badge{color:#8eeeff;white-space:nowrap;background:#00e5ff24;border:1px solid #00e5ff59;border-radius:999px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px}.route-vcam-actions{flex-shrink:0;align-items:center;gap:3px;display:flex}.vcam-icon-btn{color:#e2f5ff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:background .15s,border-color .15s;display:inline-flex}.vcam-icon-btn:hover{background:#00e5ff38;border-color:#00e5ffb8}.vcam-icon-btn.active{color:#ffd5db;background:#ff4f6440;border-color:#ff6e80d9}.vcam-icon-btn:disabled{opacity:.36;filter:grayscale();cursor:not-allowed;pointer-events:auto}.vcam-icon-btn:disabled:hover{background:#ffffff14;border-color:#ffffff2e}.vcam-record-btn{background:#ff354d24;border-color:#ff546873}.vcam-record-btn:hover:not(:disabled){background:#ff354d47;border-color:#ff697ce6}.vcam-rec-disc{background:radial-gradient(circle at 35% 35%,#ff7d8d,#ff2842 68%,#c91028);border-radius:50%;width:11px;height:11px;transition:border-radius .16s,transform .16s,width .16s,height .16s;display:block;box-shadow:0 0 8px #ff304cb3}.vcam-record-btn.recording{background:#ff28425c;border-color:#ff5b70;animation:1s ease-in-out infinite vcam-rec-pulse}.vcam-record-btn.recording .vcam-rec-disc{background:#ff425a;border-radius:2px;width:9px;height:9px;box-shadow:0 0 10px #ff354d}@keyframes vcam-rec-pulse{0%,to{opacity:1;box-shadow:0 0 #ff354d8c}50%{opacity:.72;box-shadow:0 0 0 4px #ff354d1f}}.vcam-rec-status-pill{z-index:4;color:#fff2f4;letter-spacing:.02em;pointer-events:none;background:#a00e22d9;border:1px solid #ff788abf;border-radius:999px;padding:2px 8px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;font-weight:600;position:absolute;bottom:6px;right:8px;box-shadow:0 2px 10px #00000073}.vcam-rec-status-pill.hidden{display:none}.vcam-encode-popover{z-index:12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#e4f6ff;background:#0a0f18f2;border:1px solid #00e5ff6b;border-radius:10px;width:min(296px,100vw - 24px);padding:10px 11px;font-size:11px;position:absolute;top:38px;right:8px;box-shadow:0 12px 32px #000000a6}.vcam-encode-popover.hidden{display:none}.route-vcam-widget.fullscreen .vcam-encode-popover{top:56px;left:50%;right:auto;transform:translate(-50%)}.vcam-enc-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.vcam-enc-title{color:#9beeff;font-size:11.5px;font-weight:600}.vcam-enc-reset-btn{color:#cde8f6;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:5px;padding:2px 7px;font-size:10px}.vcam-enc-reset-btn:hover{background:#00e5ff33;border-color:#00e5ff99}.vcam-enc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px;display:grid}.vcam-enc-field{color:#a9cbe0;flex-direction:column;gap:3px;font-size:10.5px;display:flex}.vcam-enc-field select{color:#eaf8ff;background:#121a28f2;border:1px solid #00e5ff47;border-radius:5px;outline:none;width:100%;padding:4px 6px;font-size:11px}.vcam-enc-field input[type=range]{accent-color:#2ce3ff;cursor:pointer;width:100%}.vcam-enc-row-top{justify-content:space-between;align-items:center;display:flex}.vcam-enc-row-top b{color:#8eeeff;font-family:ui-monospace,Consolas,monospace}.vcam-enc-span2{grid-column:span 2}.vcam-enc-check{color:#cde8f6;cursor:pointer;align-items:center;gap:6px;padding-top:2px;font-size:11px;display:flex}.vcam-enc-check input[type=checkbox]{accent-color:#2ce3ff}.route-vcam-viewport{cursor:move;background:0 0;width:100%;height:224px;position:relative;overflow:hidden}.route-vcam-widget.collapsed .route-vcam-viewport{display:none}.route-vcam-widget.collapsed .route-vcam-header{border-bottom:none}.vcam-reticle{pointer-events:none;position:absolute;inset:0}.vcam-grid-h{background:#ffffff1f;height:1px;position:absolute;left:0;right:0}.vcam-grid-h1{top:33.33%}.vcam-grid-h2{top:66.66%}.vcam-grid-v{background:#ffffff1f;width:1px;position:absolute;top:0;bottom:0}.vcam-grid-v1{left:33.33%}.vcam-grid-v2{left:66.66%}.vcam-crosshair{border:1px solid #00e5ffb3;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #00000073}.route-vcam-empty{text-align:center;color:#9ec0d8;background:#080c14e0;justify-content:center;align-items:center;padding:14px;font-size:12px;line-height:1.45;display:flex;position:absolute;inset:0}.route-vcam-empty.hidden{display:none}.route-vcam-hint{color:#ebf8ffe0;pointer-events:none;background:#00000085;border-radius:4px;padding:2px 7px;font-size:10px;position:absolute;bottom:6px;left:8px}body.in-vr #route-planner-panel,body.in-vr #route-vcam-widget,body.in-vr #record-progress-hud{display:none!important}.tune-btn-record{color:#ffdbe2!important;background:#ff486829!important;border-color:#ff5c768c!important}.tune-btn-record:hover{color:#fff!important;background:#ff48684d!important;border-color:#ff6e86e6!important}.route-btn-span2{grid-column:span 2}.record-progress-hud{z-index:650;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f3f7fc;background:#0a0e16e0;border:1px solid #ff5a768c;border-radius:14px;align-items:center;gap:12px;min-width:340px;max-width:min(560px,92vw);padding:10px 14px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000085}.record-progress-hud.hidden{display:none}.rec-dot{background:#ff4769;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1s ease-in-out infinite rec-pulse;box-shadow:0 0 10px #ff4769}@keyframes rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.rec-meta{flex-direction:column;flex:1;gap:4px;min-width:150px;display:flex}.rec-title{color:#fff;font-size:12px;font-weight:600}.rec-bar-wrap{background:#ffffff24;border-radius:999px;width:100%;height:5px;overflow:hidden}.rec-bar{background:linear-gradient(90deg,#ff587a,#00e5ff);border-radius:999px;width:0%;height:100%;transition:width .12s linear}.rec-sub{color:#9ed7f0;font-family:ui-monospace,Consolas,monospace;font-size:11px}.rec-btn{color:#f1f6ff;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff38;border-radius:8px;padding:5px 10px;font-size:11.5px}.rec-btn-save{color:#d8f8ff;background:#00e5ff2e;border-color:#00e5ff8c}.rec-btn-save:hover{background:#00e5ff52}.rec-btn-cancel:hover{background:#ff506c3d;border-color:#ff6e80b3}.global-toast{z-index:660;color:#e6f8ff;pointer-events:none;white-space:nowrap;background:#0a101ae6;border:1px solid #00e5ff8c;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:500;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}.global-toast.hidden{display:none}body.recording-video #top-record-btn{color:#ffd8de;border-color:#ff5468d9}
