:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#142033;color-scheme:light;background:linear-gradient(126deg,#e9f4ff,#f7f9fd 42%,#eef8f5 72%,#faeff8);background-size:100% 100%;background-position:50% 50%;background-attachment:fixed}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-width:320px;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:-22vmax;right:-22vmax;bottom:-22vmax;left:-22vmax;z-index:0;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent 0 7%,rgba(0,151,255,.82) 10%,rgba(0,225,255,.5) 15%,transparent 25%,transparent 43%,rgba(255,75,180,.82) 49%,rgba(160,84,255,.54) 56%,transparent 67%,transparent 82%,rgba(49,210,143,.56) 88%,transparent 100%);filter:blur(34px) saturate(145%);opacity:.9;transform:translateZ(0);animation:ambient-orbit-slow 10s steps(100,end) infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(112deg,rgba(255,255,255,.08) 0 1px,transparent 1px 24px),conic-gradient(from 180deg at 50% 50%,rgba(255,255,255,.26),transparent 18%,rgba(255,255,255,.16) 42%,transparent 70%,rgba(255,255,255,.24));mix-blend-mode:soft-light;opacity:.5;animation:ambient-orbit-sheen 7s steps(70,end) infinite}@media(prefers-reduced-motion:reduce){:root,.ambient-background,.ambient-background:before,.ambient-background:after,body:before,body:after,.player-main-button:before{animation:none}}html[data-ambient-effects=off] body:before,html[data-ambient-effects=off] body:after,html[data-ambient-effects=off] .ambient-background,html[data-ambient-effects=off] .ambient-background:before,html[data-ambient-effects=off] .ambient-background:after{animation:none!important;display:none!important}html[data-player-active=true] body:before,html[data-player-active=true] body:after,html[data-player-active=true] .ambient-background,html[data-player-active=true] .ambient-background:before,html[data-player-active=true] .ambient-background:after,html[data-player-active=true] .player-main-button:before{animation:none!important}html[data-player-active=true] .card,html[data-player-active=true] .hero-card,html[data-player-active=true] .player-overlay-badge{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}button,input,select,textarea{font:inherit}.app-shell{position:relative;z-index:1;min-height:100vh;width:min(100%,1180px);margin:0 auto;padding:12px}.ambient-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:conic-gradient(from 60deg at 50% 50%,#1870ee47,#00d2ff4d,#ff53be47,#6957e83d,#26cb9347,#1870ee47);filter:brightness(1.02) saturate(122%);animation:ambient-system-pulse 4.8s steps(48,end) infinite}.ambient-background:before,.ambient-background:after{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;pointer-events:none;will-change:transform,opacity,background-position}.ambient-background:before{background:conic-gradient(from 0deg at 50% 50%,transparent 0 4%,rgba(21,148,255,.92) 8%,rgba(0,228,255,.72) 13%,transparent 22%,transparent 45%,rgba(255,80,189,.95) 51%,rgba(150,82,255,.7) 58%,transparent 68%,transparent 100%);filter:blur(22px) saturate(155%);opacity:.96;mix-blend-mode:screen;transform:scale(1.08);animation:ambient-binary-orbit 6.4s steps(64,end) infinite}.ambient-background:after{background:conic-gradient(from 180deg at 50% 50%,transparent 0 8%,rgba(49,211,142,.72) 13%,transparent 24%,transparent 31%,rgba(255,191,74,.52) 37%,transparent 48%,transparent 70%,rgba(71,118,255,.46) 78%,transparent 100%);filter:blur(28px) saturate(142%);opacity:.72;mix-blend-mode:screen;transform:scale(1.18);animation:ambient-multi-orbit 9s steps(90,end) infinite reverse}@keyframes ambient-system-pulse{0%,to{filter:brightness(.94) saturate(112%)}50%{filter:brightness(1.12) saturate(142%)}}@keyframes ambient-orbit-slow{0%{transform:rotate(0) scale(1.1)}to{transform:rotate(360deg) scale(1.1)}}@keyframes ambient-orbit-sheen{0%{transform:rotate(0) scale(1.08)}to{transform:rotate(-360deg) scale(1.08)}}@keyframes ambient-binary-orbit{0%{transform:rotate(0) scale(1.08)}to{transform:rotate(360deg) scale(1.08)}}@keyframes ambient-multi-orbit{0%{transform:rotate(0) scale(1.18)}to{transform:rotate(360deg) scale(1.18)}}.topbar{border:1px solid rgba(20,32,51,.08);background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #24407014}.card,.hero-card{border:1px solid rgba(255,255,255,.34);background:linear-gradient(180deg,#ffffff94,#ffffff4d),#ffffff38;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 24px 70px #081a5433,inset 0 1px #fff9}.topbar{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;align-items:stretch;padding:8px;border-radius:16px}.topbar-actions{display:flex;flex-direction:column;gap:6px}.topbar-copy,.brand-block,.brand-meta{width:100%}.topbar h1,.hero-card h2,.card h3{margin:0}.topbar-copy h1{font-size:clamp(1.2rem,4vw,1.9rem);line-height:1.2}.brand-block{display:flex;align-items:flex-start;gap:7px}.brand-logo{width:53px;height:53px;object-fit:contain;flex:0 0 auto;border-radius:12px;background:linear-gradient(180deg,#ffffffeb,#f1f6ffe6);padding:6px;box-shadow:0 10px 24px #2440701f,inset 0 1px #ffffffd9}.brand-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;min-width:0;flex:1 1 auto}.brand-title{grid-row:1 / span 2;align-self:start;font-size:1rem;line-height:20px;color:#16243a;padding-top:16px}.brand-tagline,.host-hint{margin:0;color:#5b6d87;font-size:.92rem}.brand-link{display:inline-flex;align-items:center;justify-self:end;width:fit-content;max-width:100%;min-height:20px;padding:0 10px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(57,112,204,.14);color:#1d4fa7;text-decoration:none;font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 20px #2f5db614}.brand-link:hover{background:#ffffffeb;color:#163d93}.language-switcher{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;justify-self:end;margin-right:0;gap:9px!important;min-height:22px;padding:2px 3px 2px 10px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(20,32,51,.08)}.language-icon,.player-button-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.language-icon{width:20px;height:20px;color:#1d4fa7}.language-icon svg,.player-button-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.language-label{font-size:.86rem;font-weight:600;color:#31445e;white-space:nowrap}.language-switcher select{width:auto;min-width:132px;min-height:22px;padding-inline:10px 30px;border-radius:999px}.page{margin:16px 0}.nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:999px;background:#1420330f;border:1px solid rgba(20,32,51,.06);box-shadow:inset 0 1px #ffffffa6}.nav a,.button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;width:100%;padding:0 16px;border-radius:999px;border:none;background:linear-gradient(135deg,#184fbe,#246ee9);color:#fff;text-decoration:none;cursor:pointer;text-align:center;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background-position .22s ease}.nav a{min-height:40px;background:transparent;color:#5c6d86;box-shadow:none;transition:background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.nav a.active,.nav a:hover{filter:brightness(1.05)}.button:hover{filter:brightness(1.04);transform:translateY(-1px)}.nav a:hover{background:#ffffff8c;color:#20324a}.nav a.active{background:linear-gradient(180deg,#fff,#f3f7ff);color:#163d93;box-shadow:0 8px 18px #2f5db624,inset 0 1px #ffffffd9}.nav-pill{position:relative;overflow:hidden}.nav-label{display:inline-flex;align-items:center;justify-content:center;width:100%;font-size:.96rem;font-weight:600;letter-spacing:.01em}.button.ghost{border:1px solid rgba(20,32,51,.14);background:#fff;color:#142033}.stack{display:flex;flex-direction:column}.gap-24{gap:16px}.hero-card,.card{border-radius:20px;padding:16px}.settings-card{display:flex;flex-direction:column;gap:16px}.settings-card>.card-section-head{gap:3px}.settings-card>.card-section-head .eyebrow{margin-bottom:0}.settings-card>.card-section-head h2{margin-top:2px;margin-bottom:4px}.settings-card>.settings-panel .hero-actions{margin-top:22px}.settings-panel,.subcard{padding:16px;border-radius:18px;background:#f7faffd1;border:1px solid rgba(20,32,51,.08)}.card-section-head{display:flex;flex-direction:column;gap:6px}.card-section-head p{margin:0}.advanced-card{padding:0;overflow:hidden}.advanced-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.advanced-summary::-webkit-details-marker{display:none}.advanced-summary p{margin:6px 0 0}.advanced-toggle{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;background:#1420330f;color:#28415f;font-size:.9rem;font-weight:600;white-space:nowrap}.advanced-card[open] .advanced-toggle{background:#246ee91f;color:#1d4fa7}.advanced-body{display:flex;flex-direction:column;gap:16px;padding:0 16px 16px}.axis-grid{display:grid;gap:14px}.axis-control{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:#ffffffc7;border:1px solid rgba(20,32,51,.08)}.axis-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.axis-label strong{font-size:.95rem;color:#1a2941}.axis-label em{font-style:normal;color:#5b6d87;font-size:.92rem}.debug-toolbar,.debug-input-row{display:flex;flex-direction:column;gap:10px}.debug-log{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow:auto;padding:14px;border-radius:18px;background:linear-gradient(180deg,#f8fafff0,#ecf3ffdb),#eef4ff;border:1px solid rgba(20,32,51,.08);color:#17263f}.debug-entry{display:flex;flex-direction:column;gap:5px;width:fit-content;max-width:min(78%,680px);padding:10px 12px;border-radius:16px;box-shadow:0 8px 18px #24407014}.debug-entry.send{align-self:flex-end;border-bottom-right-radius:6px;background:linear-gradient(135deg,#184fbe,#246ee9);color:#fff}.debug-entry.receive{align-self:flex-start;border-bottom-left-radius:6px;background:#fff;color:#17263f;border:1px solid rgba(20,32,51,.08)}.debug-entry.status{align-self:center;max-width:92%;padding:7px 12px;border-radius:999px;background:#14203312;color:#52647d;box-shadow:none}.debug-direction{font-size:.78rem;color:currentColor;opacity:.68}.debug-entry code{white-space:pre-wrap;word-break:break-word;font-family:Consolas,SFMono-Regular,Cascadia Code,monospace;font-size:.92rem}.debug-entry.status code{font-family:inherit;font-size:.86rem}.summary-grid{display:grid;gap:14px}.summary-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px;background:#f7faffd1;border:1px solid rgba(20,32,51,.08)}.summary-card span{font-size:.86rem;color:#5f728c}.summary-card strong{font-size:1rem;color:#17263f;word-break:break-word}.hero-card{display:flex;flex-direction:column;justify-content:flex-start;gap:16px;align-items:stretch}.hero-copy{max-width:58ch}.hero-actions,.toolbar,.axis-badges,.stats,.inline-grid{display:flex;flex-direction:column;gap:12px}.hero-actions .button,.toolbar .button{width:100%}.player-stage{gap:9px;background:linear-gradient(180deg,#ffffffe6,#f8faffe0),linear-gradient(128deg,rgba(65,121,230,.1),transparent 38%)}.player-stage-head{display:flex;flex-direction:column;gap:8px}.player-stage-copy h2{font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.08;letter-spacing:-.02em}.player-stage-copy .eyebrow{margin-bottom:2px}.player-stage-copy .muted{margin:0}.player-stage-actions{display:flex;flex-wrap:wrap;gap:8px}.player-quiet-button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:10px 16px;border-radius:999px;border:1px solid rgba(20,32,51,.1);background:#ffffffd9;color:#223249;box-shadow:0 10px 24px #2440700f,inset 0 1px #ffffffe6;cursor:pointer;text-decoration:none;text-align:center;line-height:1.2;white-space:normal;transition:transform .18s ease,box-shadow .18s ease,color .16s ease,background .18s ease,border-color .18s ease}.player-quiet-button.primary{background-color:#3eb2fd;background-image:linear-gradient(1deg,#4f58fd,#149bf3 72%,#21c6cf);background-size:calc(100% + 20px) calc(100% + 20px);color:#fff;border-color:transparent;box-shadow:0 14px 26px #246ee93d,inset 0 1px #fff3}.player-quiet-button.primary:hover{background-position:-20px -20px;transform:translateY(-1px);box-shadow:0 16px 30px #246ee94d,inset 0 1px #ffffff3d}.player-quiet-button:not(.primary):hover{background:#f7fbff;border-color:#246ee933;color:#174ea6;transform:translateY(-1px);box-shadow:#3c40432e 0 2px 4px,#3c40431f 0 5px 12px 2px}.player-quiet-button:active,.button:active,.player-mode-button:active{transform:translateY(1px) scale(.99)}.player-button-icon{width:18px;height:18px}.player-button-label{display:block;min-width:0;overflow-wrap:anywhere;text-wrap:balance}.player-video-wrap{position:relative;overflow:hidden;border-radius:24px}.player-video{margin:0;min-height:150px;max-height:320px;object-fit:contain;border-radius:24px}.player-video-overlay{position:absolute;top:14px;left:14px;right:14px;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.player-empty-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none}.player-empty-picker .player-quiet-button{pointer-events:auto}.player-empty-picker .player-media-actions{width:100%;max-width:200px}.player-no-video-resource{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#17263f,#101827);color:#ffffffd1;font-weight:700;text-align:center}.player-media-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.player-overlay-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#0a1322b8;color:#eff6ff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.88rem;font-weight:600}.player-overlay-badge.subtle{color:#eff6ffdb;font-weight:500}.player-primary-bar{display:flex;flex-direction:column;gap:9px;margin-top:8px;margin-bottom:8px}.player-control-strip{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));align-items:center;gap:10px;width:100%}.player-sync-panel{display:grid;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#f6f9ffeb,#ecf4ffd1);border:1px solid rgba(57,112,204,.14)}.player-sync-panel-copy{display:grid;gap:4px}.player-sync-panel-copy strong{color:#1f324d}.player-sync-panel-copy .muted{margin:0;font-size:.9rem}.player-sync-panel-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}.player-sync-range{display:block;min-width:0}.player-sync-range input{width:100%}.player-sync-value{min-width:72px;text-align:right;color:#174ea6;font-variant-numeric:tabular-nums}.player-sync-button-value{font-size:.88rem;font-variant-numeric:tabular-nums}.player-sync-dialog{width:min(560px,100%)}.player-main-actions{display:flex;flex-wrap:wrap;gap:10px}.player-main-button{min-width:0;width:100%;position:relative;overflow:visible;border:0;isolation:isolate;background:#171923;color:#fff;box-shadow:0 14px 30px #0000004d,0 0 18px #00f2ffd1,0 0 34px #af40ff99,0 0 54px #ff00c842}.player-main-button:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-2;border-radius:inherit;background:linear-gradient(45deg,#00f0ff,#7a5cff,#ff42b3,#00f0ff);background-size:260% 260%;filter:blur(6px);opacity:.92;animation:player-glow-button 8s linear infinite}.player-main-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,#1b1f2d,#11131c)}.player-main-button:hover{box-shadow:0 14px 32px #00000052,0 0 20px #00ddebb8,0 0 36px #af40ff8f}.player-main-button:active{transform:translateY(1px) scale(.99);box-shadow:0 8px 20px #00000047,0 0 12px #00ddeb94}.player-main-button:disabled{background:#171923;color:#ffffffd1;box-shadow:0 12px 26px #0000003d,0 0 14px #00f2ff8a,0 0 28px #af40ff61,0 0 42px #ff00c82e;cursor:not-allowed;opacity:.88}.player-main-button:disabled:before{opacity:.68;filter:blur(7px)}@keyframes player-glow-button{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.player-mode-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;min-width:0;width:100%;padding:10px 16px;border-radius:999px;border:1px solid rgba(20,32,51,.12);background:#ffffffe6;color:#40536f;box-shadow:0 10px 24px #2440700f;cursor:pointer;white-space:normal;line-height:1.2;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background-color .16s ease}.player-control-strip .button,.player-control-strip .player-mode-button{width:100%}.player-mode-button:hover{background:#f7fbff;border-color:#246ee947;color:#174ea6;box-shadow:#3c404329 0 2px 4px,#3c40431a 0 5px 12px 2px;transform:translateY(-1px)}.player-mode-button.active{background:linear-gradient(135deg,#184fbe1f,#246ee933);border-color:#246ee957;color:#184fbe}.player-mode-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto}.player-mode-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.player-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.player-script-status{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.44);background:linear-gradient(180deg,#ffffffb3,#ffffff6b),#ffffff38;color:#16243a;box-shadow:0 12px 28px #24407017,inset 0 1px #ffffffa8}.player-script-status>strong{flex:0 0 auto;font-size:.95rem}.player-axis-status-list{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:8px}.player-axis-status{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 9px;border-radius:999px;background:#ffffff94;border:1px solid rgba(20,32,51,.08);color:#5f6f88;font-size:.85rem;font-weight:650}.player-axis-status b{font-size:.78rem}.player-axis-status.ready{background:#22c55e24;border-color:#22c55e42;color:#087443}.player-axis-status.missing{background:#ffffff7a;color:#8a7082}.player-stat-chip{min-width:0;padding:14px 16px;border-radius:18px;background:#ffffffd1;border:1px solid rgba(20,32,51,.08)}.player-stat-chip span{display:block;font-size:12px;color:#6a7990}.player-stat-chip strong{display:block;margin-top:4px;font-size:1rem}.connection-popover{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:22px;border:1px solid rgba(20,32,51,.08);background:#f8faffe6}.connection-popover-head h3,.live-panel-head h3{margin:0}.form-grid.compact{gap:12px}.live-panel-head{margin-bottom:12px}.player-library-head{display:flex;flex-direction:column;gap:10px;margin-top:7px;padding-top:9px;border-top:1px solid rgba(20,32,51,.1)}.player-library-head h3{margin:0}.player-library-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.library-notice{margin:0;padding:12px 14px;border-radius:16px;background:#ffffffd1;border:1px solid rgba(20,32,51,.08);color:#39506f}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-card{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:20px;border:1px solid rgba(20,32,51,.08);background:#ffffffd1;text-align:left;box-shadow:0 18px 40px #24407012}.library-card-select{display:flex;flex:1;flex-direction:column;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.library-card.active{border-color:#246ee961;box-shadow:0 22px 46px #2f5db629}.library-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:linear-gradient(180deg,#17263f,#101827)}.library-thumb.placeholder{width:100%;aspect-ratio:16 / 9;background:linear-gradient(180deg,#17263f,#101827)}.library-card-body{display:flex;flex-direction:column;gap:8px;padding:14px}.library-title{font-size:1rem;color:#16243a}.library-path{color:#6a7990;font-size:.84rem;word-break:break-all}.library-meta{display:flex;flex-wrap:wrap;gap:10px;color:#334861;font-size:.88rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a13227a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.upload-dialog{position:relative;width:min(960px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:18px 18px 20px;border-radius:20px;background:#f8fafff5;border:1px solid rgba(20,32,51,.1);box-shadow:0 24px 80px #0a13223d}.upload-dialog-head,.upload-dialog-toolbar{display:flex;flex-direction:row;gap:10px}.upload-dialog-head h3{margin:0}.upload-dialog-head{padding-right:92px}.upload-dialog-head .muted{margin:6px 0 0}.upload-dialog-close{position:absolute;top:14px;right:14px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(20,32,51,.1);background:#ffffffe0;color:#223249;cursor:pointer}.upload-dialog-toolbar{flex-wrap:wrap;margin:16px 0}.upload-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-select-item{position:relative;display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0;padding:8px;border-radius:14px;background:#ffffffdb;border:1px solid rgba(20,32,51,.08)}.upload-select-item.uploading{border-color:#246ee95c;box-shadow:0 10px 24px #246ee91f}.upload-select-check{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#ffffffe6;box-shadow:0 6px 16px #0a132229}.upload-select-check input{width:18px;min-height:18px}.upload-select-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;background:linear-gradient(180deg,#17263f,#101827)}.upload-select-thumb.placeholder{background:linear-gradient(180deg,#17263f,#101827)}.upload-select-name{min-width:0;overflow:hidden;color:#223249;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.tutorial-modal-backdrop{z-index:48}.tutorial-modal{position:relative;width:min(1080px,100%);max-height:min(820px,calc(100vh - 32px));overflow:auto;padding:20px 20px 24px;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#f5fafff5),#ffffffeb;border:1px solid rgba(20,32,51,.1);box-shadow:0 28px 96px #0a132242,inset 0 1px #ffffffc2}.tutorial-modal-head{display:flex;justify-content:space-between;gap:16px;padding-right:92px}.tutorial-modal-head h3{margin:0}.tutorial-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tutorial-meta-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#ffffffe0;border:1px solid rgba(20,32,51,.08);color:#334861;font-size:.82rem;font-weight:600}.tutorial-meta-badge.accent{color:#256ee9;border-color:#256ee933;background:#ebf4fff0}.tutorial-status{margin:10px 0 0;color:#51667f;font-size:.92rem}.tutorial-modal-body{margin-top:18px}.tutorial-modal-body>div,.tutorial-modal-body>p{margin:0}.tutorial-modal-body :where(img,video,iframe,table){max-width:100%}.tutorial-rich{display:grid;gap:18px}.tutorial-hero,.tutorial-section,.tutorial-link-card{border-radius:22px;border:1px solid rgba(20,32,51,.08);background:linear-gradient(148deg,#ffffffeb,#e8f6ffb8),#ffffffe0;box-shadow:0 14px 42px #0a132214,inset 0 1px #ffffffb8}.tutorial-hero{padding:24px}.tutorial-section,.tutorial-link-card{padding:22px}.tutorial-hero h2,.tutorial-section h3,.tutorial-link-card h3{margin:0}.tutorial-section-primary{padding:24px}.tutorial-hero p,.tutorial-section p,.tutorial-link-card p{margin:10px 0 0;color:#41566f;line-height:1.7}.tutorial-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tutorial-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(20,32,51,.08);color:#334861;font-size:.82rem;font-weight:600}.tutorial-chip.accent{background:#ebf4fff5;border-color:#256ee933;color:#256ee9}.tutorial-guide-tabs{display:flex;flex-wrap:wrap;gap:10px}.tutorial-guide-tab{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(20,32,51,.1);background:#ffffffd6;color:#334861;font-weight:800;cursor:pointer}.tutorial-guide-tab.active{border-color:#256ee938;background:linear-gradient(135deg,#27334a,#1a2335);color:#fff;box-shadow:0 14px 32px #0a13223d}.tutorial-flow{display:grid;gap:14px;margin-top:16px}.tutorial-flow-block{padding:18px;border-radius:18px;background:#ffffffd6;border:1px solid rgba(20,32,51,.08)}.tutorial-flow-block h4{margin:0;color:#223249}.tutorial-flow-block-emphasis{border-color:#256ee929;background:linear-gradient(140deg,#e4f1ffe6,#ffffffe0),#ffffffe6}.tutorial-flow-block p{margin-top:10px}.tutorial-platform-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tutorial-platform-tab{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(20,32,51,.1);background:#ffffffd6;color:#334861;font-weight:700;cursor:pointer}.tutorial-platform-tab.active{border-color:#256ee938;background:linear-gradient(135deg,#2cc9ff,#3566ff);color:#fff;box-shadow:0 12px 28px #256ee938}.tutorial-card-grid,.tutorial-platform-grid{display:grid;gap:12px;margin-top:16px}.tutorial-card-grid,.tutorial-platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tutorial-card,.tutorial-platform-card{min-width:0;padding:18px;border-radius:18px;background:#ffffffdb;border:1px solid rgba(20,32,51,.08)}.tutorial-platform-card.is-current{border-color:#256ee93d;box-shadow:0 14px 32px #256ee91f,inset 0 1px #ffffffd1}.tutorial-platform-card-stack{margin-top:12px}.tutorial-card h3,.tutorial-platform-card strong{color:#223249}.tutorial-platform-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutorial-platform-card p{margin:10px 0 0}.tutorial-note-list,.tutorial-step-list{margin:12px 0 0;padding-left:18px;color:#31465d;line-height:1.65}.tutorial-note-list li+li,.tutorial-step-list li+li{margin-top:8px}.tutorial-status-grid{display:grid;gap:12px;margin-top:12px}.tutorial-status-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border-radius:18px;border:1px solid rgba(20,32,51,.08);background:#ffffffdb}.tutorial-status-card.success{border-color:#1b945e33}.tutorial-status-card.warning{border-color:#d0941a3d}.tutorial-status-card h5{margin:0;color:#223249;font-size:1rem}.tutorial-status-card p{margin:8px 0 0}.tutorial-status-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;background:#f5f9fff5;color:#1f2d44;box-shadow:inset 0 1px #ffffffb8}.tutorial-status-card.success .tutorial-status-icon{color:#1b945e;background:#eefcf5f5}.tutorial-status-card.warning .tutorial-status-icon{color:#b26b00;background:#fff7e6fa}.tutorial-status-icon svg{width:44px;height:44px}.tutorial-link-card a{display:inline-flex;align-items:center;margin-top:14px;color:#256ee9;font-weight:700;text-decoration:none}.tutorial-link-card a:hover{text-decoration:underline}.grid.two{display:grid;grid-template-columns:1fr;gap:16px}.eyebrow{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#3970cc}.muted{color:#5b6d87}.video{width:100%;aspect-ratio:16 / 9;min-height:220px;border-radius:18px;background:#000;margin:14px 0}.form-grid{display:grid;gap:14px}.form-grid label,.stack label{display:flex;flex-direction:column;gap:8px}input,select,textarea{width:100%;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid rgba(20,32,51,.12);background:#ffffffe0}textarea{min-height:280px;padding:14px;resize:vertical;font-family:Consolas,SFMono-Regular,Cascadia Code,monospace}.json-editor{min-height:320px}.editor-label{margin-bottom:14px}input[type=range]{padding:0}.axis-row{display:grid;grid-template-columns:1fr;gap:10px;align-items:center;padding:12px;border-radius:18px;background:linear-gradient(180deg,#f6f9ffe6,#edf4ffc7);border:1px solid rgba(57,112,204,.12)}.checkbox{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.checkbox input{width:18px;min-height:18px}.console{padding:16px;border-radius:18px;background:#0f172a;color:#dbeafe;white-space:pre-wrap;word-break:break-all;overflow-x:auto}.badge{min-width:0;flex:1 1 calc(50% - 8px);padding:12px;border-radius:18px;background:linear-gradient(180deg,#f6f9ff,#edf4ff);border:1px solid rgba(57,112,204,.12)}.badge span,.stats span{display:block;font-size:12px;color:#678}.badge strong,.stats strong{font-size:18px}.badge.success{flex:0 0 auto;min-width:132px;background:linear-gradient(180deg,#eefbf4,#ddf7e7);border-color:#257b4929}.player-connection-card{display:grid;gap:10px}.player-connection-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.player-connection-top .muted{margin:0}.player-connection-top-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.player-connection-top-copy h3{margin:0}.player-transport-tabs{display:flex;flex-wrap:nowrap;gap:8px}.player-connection-field{min-width:0;display:grid;gap:4px}.player-connection-field span{font-size:12px;color:#678}.player-connection-field input{min-width:0}.player-connection-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;width:100%;overflow-x:hidden;overflow-y:hidden}.player-connection-toolbar .button{width:auto;flex:0 0 auto;min-width:148px}.player-connection-status{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:10px;white-space:nowrap}.player-connection-status strong{line-height:1.1}.player-connection-status .badge{min-width:128px;flex:0 0 auto}.player-connection-advanced-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#3c4f6d;font-size:.95rem;font-weight:700;cursor:pointer}.player-connection-advanced-toggle:hover{color:#2359d6}.player-connection-advanced-panel{padding-top:4px}.player-connection-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.axis-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.axis-gauge{min-width:0;padding:14px;border-radius:18px;background:linear-gradient(180deg,#ffffffe6,#f6f9ffdb);border:1px solid rgba(20,32,51,.08);box-shadow:0 12px 26px #24407012}.axis-gauge-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.axis-gauge-head span{color:#5c6d86;font-size:.86rem;font-weight:700}.axis-gauge-head strong{color:#16243a;font-size:1.12rem}.axis-gauge-track{position:relative;height:12px;margin-top:12px;overflow:hidden;border-radius:999px;background:#14203314}.axis-gauge-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#31b67d,#246ee9)}.axis-gauge-marker{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;border:3px solid #ffffff;background:#184fbe;box-shadow:0 4px 12px #184fbe47;transform:translate(-50%,-50%)}.axis-gauge-scale{display:flex;justify-content:space-between;margin-top:8px;color:#718198;font-size:.75rem}.stats>div{min-width:0;flex:1 1 100%;padding:14px;border-radius:18px;background:linear-gradient(180deg,#fff,#f5f9ff);border:1px solid rgba(20,32,51,.08)}.list{margin:0;padding-left:18px}.list li+li{margin-top:10px}.footer{padding:12px 8px 24px;text-align:center;color:#607089;font-size:14px}.site-notice-card{margin-bottom:12px;overflow:hidden;border:1px solid rgba(255,255,255,.38);border-radius:20px;background:linear-gradient(180deg,#ffffffdb,#ffffff8f),#ffffff4d;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 20px 56px #081a5424,inset 0 1px #ffffffb8}.site-notice-toggle{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:0;background:transparent;color:#16243a;text-align:left;cursor:pointer}.site-notice-toggle-copy{display:grid;gap:4px;min-width:0;flex:1 1 auto}.site-notice-card.is-collapsed .site-notice-toggle{align-items:center;padding:10px 14px}.site-notice-card.is-collapsed .site-notice-toggle-copy{display:block}.site-notice-pill{display:inline-flex;align-items:center;width:fit-content;min-height:22px;padding:0 10px;border-radius:999px;background:#246ee91a;color:#1952ac;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.site-notice-toggle-copy strong{font-size:1rem;line-height:1.25}.site-notice-summary{color:#53657f;font-size:.88rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-notice-collapsed-line{display:block;min-width:0;color:#223249;font-size:.88rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-notice-toggle-action{flex:0 0 auto;color:#1850aa;font-size:.82rem;font-weight:700;white-space:nowrap}.site-notice-card.is-open .site-notice-summary{white-space:normal;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.site-notice-body{padding:0 16px 16px;color:#223249;line-height:1.6}.site-notice-body>div{display:grid;gap:14px;max-width:min(760px,100%);margin:0 auto}.site-notice-body :first-child{margin-top:0}.site-notice-body :last-child{margin-bottom:0}.site-notice-body :where(img,video,iframe,table){max-width:100%}.site-notice-body p{margin:0}.site-notice-body img{width:100%;height:auto;border-radius:18px;box-shadow:0 18px 42px #081a5429;object-fit:cover}.site-notice-card.info{border-color:#246ee93d}.site-notice-card.warning{border-color:#d0941a47;background:linear-gradient(180deg,#fffaeff2,#fff6e0d1),#fff8e97a}.site-notice-card.error{border-color:#c9484847;background:linear-gradient(180deg,#fff7f7f2,#ffeeeed1),#fff1f17a}.notification-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:35;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:linear-gradient(180deg,#ffffffc7,#fff6),#ffffff47;color:#143a91;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 16px 38px #0a13223d,0 0 0 5px #ffffff1f,inset 0 1px #ffffffb8;cursor:pointer}.notification-fab:after{content:"";position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:#ff2f73;box-shadow:0 0 14px #ff2f73e6}.notification-fab svg,.notification-modal-head button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notification-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:#060d2061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-modal{width:min(560px,100%);max-height:min(76vh,680px);overflow:auto;border:1px solid rgba(255,255,255,.42);border-radius:22px;background:linear-gradient(180deg,#ffffffd6,#ffffff94),#ffffff52;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 28px 90px #00000052,inset 0 1px #ffffffbf}.notification-modal-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 10px;background:#ffffff6b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.notification-modal-head h3{margin:0;color:#142033;font-size:1.08rem}.notification-modal-head button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(20,32,51,.1);border-radius:999px;background:#ffffff9e;color:#24344d;cursor:pointer}.notification-modal-body{padding:4px 18px 18px;color:#223249;line-height:1.55}.notification-modal-body :first-child{margin-top:0}.notification-modal-body :last-child{margin-bottom:0}@media(min-width:720px){.app-shell{padding:20px}.topbar{padding:10px}.topbar-actions{gap:7px}.brand-logo{width:58px;height:58px;border-radius:12px}.brand-block{align-items:flex-start}.brand-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:start;gap:0 12px;min-height:58px;flex:1 1 auto}.brand-title{grid-column:1;grid-row:1;align-self:start;line-height:normal;padding-top:0}.brand-link{grid-column:1;grid-row:3;justify-self:start}.language-switcher{grid-column:2;grid-row:1 / span 3;align-self:end;justify-self:end;margin-right:0}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-card,.card{padding:20px}.settings-panel,.subcard{padding:18px}.hero-actions,.toolbar,.axis-badges,.stats,.inline-grid{flex-direction:row;flex-wrap:wrap}.hero-actions .button,.toolbar .button{width:auto}.form-grid,.form-grid.compact,.axis-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.debug-toolbar{flex-direction:row;flex-wrap:wrap}.debug-toolbar .button{width:auto}.debug-input-row{flex-direction:row;align-items:stretch}.debug-input-row input{flex:1 1 auto}.debug-input-row .button{width:auto;min-width:138px}.player-library-head{flex-direction:row;justify-content:space-between;align-items:flex-start}.player-library-actions{flex-direction:row;align-items:center;justify-content:flex-end}.player-library-actions .player-media-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;min-width:0}.player-library-actions .player-media-actions .player-quiet-button{flex:0 1 188px;min-width:188px}.player-library-actions .player-media-actions .player-button-label{text-wrap:balance}.axis-row{grid-template-columns:72px repeat(3,minmax(0,1fr)) 96px;padding:10px 12px;align-items:center}.stats>div{flex:1 1 160px}.badge{flex:1 1 120px}.player-stage-head{flex-direction:row;justify-content:space-between;align-items:flex-start}.player-stage-actions{justify-content:flex-end}.player-primary-bar{align-items:stretch}.player-control-strip{flex-wrap:nowrap;width:100%}.upload-dialog-toolbar{align-items:center}.upload-dialog-toolbar{justify-content:flex-start}}@media(min-width:960px){.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;justify-content:flex-start;align-items:stretch}.topbar-actions{align-items:stretch}.nav{width:100%;min-width:0}.hero-card{flex-direction:row;justify-content:space-between;align-items:flex-start}.player-video{min-height:260px;max-height:320px}.axis-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.axis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.notice-banner{margin:0 0 16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(20,32,51,.1);background:#ffffffe0;color:#223249}.notice-banner strong{display:block;margin-bottom:6px}.notice-banner p{margin:0}.notice-banner.inline{margin-top:16px}.notice-banner.info{border-color:#246ee93d;background:#edf4ffeb}.notice-banner.warning{border-color:#d0941a47;background:#fff7e6f0}.notice-banner.error{border-color:#c9484847;background:#fff0f0f0}.update-grid{display:grid;gap:14px}.update-label{display:block;margin-bottom:8px;color:#5b6d87;font-size:.9rem}.update-toolbar{display:flex;flex-wrap:wrap;gap:10px}.connection-fields{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.player-connection-indicator{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding:10px 12px;border:1px solid rgba(20,32,51,.08);border-radius:14px;background:#ffffffb3;font-size:.86rem}.player-connection-indicator-status{display:inline-flex;align-items:center;gap:7px}.player-connection-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#718096}.is-connected .player-connection-dot{background:#16834b}.is-connecting .player-connection-dot{background:#b77910}.is-error .player-connection-dot{background:#c53030}.player-connection-indicator-hint{margin-left:auto;text-align:right;color:#245eb7}.player-vr-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.85rem}.vr-player{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;gap:10px;padding:16px;background:#080b12;color:#edf3ff;overflow:auto}.vr-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.vr-toolbar h2{margin:0 auto 0 0;font-size:1.2rem}.vr-toolbar .button{width:auto;flex:0 0 auto}.vr-player button:disabled{opacity:.45;cursor:not-allowed}.vr-toolbar label{display:flex;align-items:center;gap:8px;font-size:.85rem}.vr-toolbar select{width:auto;background:#192434;color:#edf3ff;border:1px solid #53627b}.vr-player .button.ghost{color:#edf3ff;background:#192434;border:1px solid #53627b}.vr-player button:focus-visible,.vr-player input:focus-visible,.vr-player select:focus-visible,.vr-viewport:focus-visible{outline:2px solid #65d6ff;outline-offset:3px}.vr-swap input{width:auto}.vr-viewport{flex:1 0 240px;min-height:240px;overflow:hidden;border:1px solid #354258;border-radius:16px;cursor:grab;touch-action:none}.vr-viewport:active{cursor:grabbing}.vr-viewport canvas{display:block}.vr-playback>input{flex:1;min-width:120px}.vr-playback label input{width:100px}.vr-playback span{font-variant-numeric:tabular-nums;font-size:.85rem}.vr-help,.vr-error{margin:0;font-size:.82rem}.vr-help{color:#bac9df}.vr-error{color:#ffb6b6}
