:root{color:#f7fbff;background:#03050c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel-bg: rgba(7, 11, 24, .66);--panel-border: rgba(255, 255, 255, .14)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}.app-shell{position:relative;width:100%;height:100%;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,111,63,.14),transparent 28%),radial-gradient(circle at 80% 22%,rgba(74,215,255,.14),transparent 30%),#03050c}.galaxy-canvas,.pinned-media-layer,.gesture-layer{position:fixed;inset:0}.galaxy-canvas canvas{display:block;width:100%;height:100%}.gesture-layer{z-index:5;touch-action:none;cursor:grab}.gesture-layer:active{cursor:grabbing}.pinned-media-layer{z-index:4;overflow:hidden;pointer-events:none}.pinned-media{position:absolute;left:var(--pin-x);top:var(--pin-y);width:clamp(118px,16vw,230px);aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.24);border-radius:8px;box-shadow:0 0 28px #ff6f3f3d,0 0 64px #4ad7ff2e;opacity:0;overflow:hidden;transform:translate(-50%,-50%) scale(.72);animation:pin-pop .52s ease var(--pin-delay) forwards,pin-float 5.8s ease-in-out calc(var(--pin-delay) + .52s) infinite}.pinned-media img,.pinned-media video{display:block;width:100%;height:100%;object-fit:cover}@keyframes pin-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:.88;transform:translate(-50%,-50%) scale(1)}}@keyframes pin-float{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,calc(-50% - 8px)) scale(1.03)}}.top-bar{position:fixed;z-index:12;top:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.brand,.status-pill,.action-hud,.capability-notice,.quality-panel,.readiness-panel,.scene-controls,.start-panel,.media-dock,.tab-switcher{border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 60px #00000047}.scene-controls{position:fixed;z-index:16;right:18px;top:222px;display:grid;grid-template-columns:1fr;gap:6px;width:112px;padding:8px;border-radius:8px;pointer-events:auto}.scene-control{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:34px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff12;cursor:pointer}.scene-control.active{border-color:#6fe6ffd1;background:#6fe6ff24}.scene-control span{font-size:12px;font-weight:700}.brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:460px;padding:10px 12px;border-radius:8px}.brand strong{display:block;font-size:15px}.brand span,.status-pill span,.dock-head span,.media-meta small,.start-copy p{color:#f7fbffad}.brand span{display:block;margin-top:2px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:999px;font-size:13px}.action-hud{position:fixed;z-index:13;top:78px;left:18px;display:grid;gap:7px;width:min(286px,calc(100vw - 36px));padding:11px 12px;border-radius:8px;pointer-events:none}.quality-panel{position:fixed;z-index:13;top:178px;left:18px;display:grid;gap:8px;width:min(286px,calc(100vw - 36px));padding:10px;border-radius:8px;pointer-events:auto}.readiness-panel{position:fixed;z-index:13;top:274px;left:18px;display:grid;gap:8px;width:min(286px,calc(100vw - 36px));padding:10px;border-radius:8px;pointer-events:none}.readiness-title{display:flex;align-items:center;gap:8px;color:#f7fbffc7;font-size:12px;font-weight:800}.readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.readiness-item{display:inline-flex;min-width:0;align-items:center;gap:5px;padding:6px;border-radius:6px;font-size:11px;white-space:nowrap}.readiness-item.ok{background:#4fffd21f;color:#b7ffec}.readiness-item.warn{background:#ffe2a81f;color:#ffe2a8}.capability-notice{position:fixed;z-index:19;right:18px;top:128px;display:grid;grid-template-columns:auto 1fr;gap:9px;width:min(360px,calc(100vw - 36px));padding:11px 12px;border-radius:8px;color:#ffe2a8;pointer-events:none}.capability-notice strong,.capability-notice span{display:block}.capability-notice strong{margin-bottom:4px;font-size:13px}.capability-notice span{color:#ffe2a8d1;font-size:12px;line-height:1.55}.quality-title{display:flex;align-items:center;gap:8px;color:#f7fbffc7;font-size:12px;font-weight:800}.quality-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.quality-button{display:grid;gap:2px;min-height:40px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff12;cursor:pointer}.quality-button.active{border-color:#4fffd2c2;background:#4fffd224}.quality-button strong{font-size:13px}.quality-button span{color:#f7fbff9e;font-size:10px}.hud-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.hud-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hud-metrics span{overflow:hidden;padding:5px 6px;border-radius:5px;background:#ffffff12;color:#f7fbffb3;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.tab-switcher{position:fixed;z-index:16;right:18px;bottom:20px;display:grid;grid-template-columns:repeat(4,minmax(68px,1fr));gap:6px;width:min(440px,calc(100vw - 36px));padding:8px;border-radius:8px}.tab-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:42px;border:0;border-radius:6px;background:#ffffff0f;cursor:pointer;pointer-events:auto}.tab-button span{display:grid;width:21px;height:21px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--tab-color) 78%,white 8%);color:#07101c;font-size:12px;font-weight:800}.tab-button.active{background:color-mix(in srgb,var(--tab-color) 30%,rgba(255,255,255,.08));outline:1px solid color-mix(in srgb,var(--tab-color) 80%,white 10%)}.media-dock{position:fixed;z-index:14;left:18px;bottom:20px;display:grid;width:min(430px,calc(100vw - 36px));max-height:min(46vh,420px);grid-template-rows:auto 1fr auto;padding:12px;border-radius:8px;pointer-events:auto}.dock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dock-head strong,.dock-head span{display:block}.dock-head strong{font-size:14px}.dock-head span{margin-top:2px;font-size:12px}.dock-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.dock-actions button,.media-tool,.camera-button,.primary-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);background:#ffffff14;cursor:pointer}.dock-actions button{width:34px;height:34px;border-radius:6px}.cycle-control{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-bottom:10px;color:#f7fbffb8;font-size:12px}.cycle-control input{width:100%;min-width:0;accent-color:#4fffd2}.media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;padding-right:2px}.empty-media{grid-column:1 / -1;padding:18px;border:1px dashed rgba(255,255,255,.22);border-radius:8px;color:#f7fbffad;font-size:13px;line-height:1.6}.media-card{position:relative;display:grid;min-width:0;grid-template-columns:54px 1fr;gap:8px;align-items:center;min-height:66px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f;text-align:left}.media-card.selected{border-color:#6fe6ffd9;background:#6fe6ff21}.media-card img,.media-card video{width:54px;height:54px;border-radius:6px;object-fit:cover;background:#ffffff14}.media-order{position:absolute;top:4px;left:4px;display:grid;width:19px;height:19px;place-items:center;border-radius:999px;background:#000000a3;font-size:11px;font-weight:800}.media-meta{min-width:0;padding-right:24px}.media-meta strong,.media-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta strong{font-size:12px}.media-meta small{margin-top:4px;font-size:11px}.media-tools{position:absolute;top:6px;right:6px;display:flex;gap:4px}.media-tool{width:21px;height:21px;border-radius:999px}.dock-notice{margin-top:10px;color:#ffe4ad;font-size:12px}.start-panel{position:fixed;z-index:18;top:50%;left:50%;display:grid;width:min(520px,calc(100vw - 36px));gap:18px;padding:22px;border-radius:8px;transform:translate(-50%,-50%)}.start-copy span{font-size:13px;font-weight:800}.start-copy h1{margin:4px 0 10px;font-size:clamp(32px,7vw,68px);line-height:1;letter-spacing:0}.start-copy p{margin:0;font-size:14px;line-height:1.8}.primary-action{gap:8px;min-height:46px;border-radius:8px;background:#f8fbff;color:#07101c;font-weight:800}.camera-button{position:fixed;z-index:17;right:18px;top:78px;min-width:108px;min-height:38px;padding:0 14px;border-radius:999px;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.camera-button.ready{border-color:#5bffd2a3;color:#b7ffec}.camera-button.failed{border-color:#ff787880;color:#ffc4c4}.camera-preview{position:fixed;z-index:11;right:18px;top:128px;width:128px;height:86px;border:1px solid rgba(255,255,255,.16);border-radius:8px;object-fit:cover;opacity:.48;transform:scaleX(-1);pointer-events:none}@media(max-width:760px){.top-bar{top:10px;left:10px;right:10px;align-items:flex-start}.brand{max-width:calc(100vw - 148px)}.status-pill{width:42px;height:42px;padding:0}.status-pill span{display:none}.camera-button{top:62px;right:10px}.action-hud{top:112px;left:10px;width:min(270px,calc(100vw - 20px))}.quality-panel{top:202px;left:10px;width:min(270px,calc(100vw - 20px))}.readiness-panel{top:294px;left:10px;width:min(270px,calc(100vw - 20px))}.camera-preview{display:none}.capability-notice{top:252px;left:10px;right:10px;width:auto}.media-dock{left:10px;right:10px;bottom:126px;width:auto;max-height:28vh}.media-list{grid-template-columns:1fr}.tab-switcher{right:10px;bottom:10px;width:calc(100vw - 20px)}.scene-controls{top:auto;right:10px;bottom:64px;width:calc(100vw - 20px);grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);grid-template-columns:none;overflow-x:auto}.scene-control{justify-content:center;min-height:42px;padding:0}.scene-control span{display:none}.tab-button{min-height:44px;font-size:12px}.tab-button span{width:20px;height:20px}.start-panel{top:44%;width:calc(100vw - 28px);padding:18px}}
