@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color: #0d0c15;--panel-bg: rgba(18, 17, 28, .7);--panel-border: rgba(255, 255, 255, .08);--primary-glow: #6366f1;--primary-glow-hover: #4f46e5;--text-main: #f3f4f6;--text-muted: #9ca3af;--danger-color: #ef4444;--success-color: #10b981}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-main);overflow:hidden;height:100vh;width:100vw;display:flex;flex-direction:column}header{height:60px;background:var(--panel-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--panel-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:10;box-shadow:0 4px 30px #00000080}.logo-section{display:flex;align-items:center;gap:10px}.logo-dot{width:12px;height:12px;background-color:var(--primary-glow);border-radius:50%;box-shadow:0 0 12px var(--primary-glow);animation:pulse 2s infinite}h1{font-size:1.25rem;font-weight:600;letter-spacing:.5px;background:linear-gradient(135deg,#fff 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.controls-section{display:flex;align-items:center;gap:14px}button,select{font-family:Outfit,sans-serif;background:#ffffff0d;border:1px solid var(--panel-border);color:var(--text-main);padding:8px 16px;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px}button:hover,select:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}button:active{transform:translateY(0)}button.primary{background:var(--primary-glow);border-color:transparent;box-shadow:0 4px 14px #6366f166}button.primary:hover{background:var(--primary-glow-hover);box-shadow:0 6px 20px #6366f199}.video-container{height:100vh;height:100dvh;width:100%;position:relative;display:flex;align-items:center;justify-content:center;background-color:#050508;overflow:hidden}video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;outline:none;cursor:crosshair;transform:translateZ(0);will-change:transform;backface-visibility:hidden}.diagnostic-hud{position:absolute;top:20px;left:20px;background:#0a0a12d9;backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:12px;padding:16px;width:auto;font-size:.815rem;display:block;z-index:20;flex-direction:column;gap:8px;pointer-events:none;box-shadow:0 8px 32px #0009}.hud-item{display:flex;justify-content:space-between}.hud-label{color:var(--text-muted)}.hud-value{font-family:monospace;font-weight:600}.overlay{position:absolute;inset:0;background:#0d0c15e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;gap:16px;transition:opacity .3s ease}.overlay.hidden{opacity:0;pointer-events:none}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--primary-glow);border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 16px #6366f133}.status-text{font-size:1.125rem;font-weight:500;color:var(--text-main)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}.fab{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);z-index:20;width:44px;height:44px;padding:0;justify-content:center;border-radius:14px;background:var(--panel-bg);backdrop-filter:blur(16px);border:1px solid var(--panel-border);color:var(--text-main);box-shadow:0 6px 20px #00000073;opacity:.55;transition:opacity .2s ease,transform .2s ease}.fab:hover{opacity:1;transform:none}.fab:active{transform:scale(.94)}@media (hover: none){.fab{opacity:.8}}.menu-backdrop{position:fixed;inset:0;z-index:30;background:#05050a8c;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s ease}.menu-backdrop.open{opacity:1;pointer-events:auto}.menu-sheet{position:fixed;z-index:40;background:#100f1aeb;backdrop-filter:blur(22px);border:1px solid var(--panel-border);color:var(--text-main);display:flex;flex-direction:column;box-shadow:0 -8px 40px #0009;transition:transform .28s cubic-bezier(.4,0,.2,1);left:0;right:0;bottom:0;max-height:88dvh;border-radius:22px 22px 0 0;padding:6px 18px calc(env(safe-area-inset-bottom,0px) + 18px);transform:translateY(110%)}.menu-sheet.open{transform:translateY(0)}@media (min-width: 720px){.menu-sheet{inset:0 0 0 auto;width:360px;max-height:none;border-radius:18px 0 0 18px;padding:18px 20px;transform:translate(110%)}.menu-sheet.open{transform:translate(0)}.sheet-grip{display:none}}.sheet-grip{width:44px;height:5px;border-radius:3px;background:#ffffff38;margin:8px auto 10px;flex:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--panel-border);flex:none}.icon-btn{width:36px;height:36px;padding:0;justify-content:center;border-radius:10px;font-size:1rem;color:var(--text-muted)}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:18px;padding:8px 2px 4px}.sheet-section{display:flex;flex-direction:column;gap:10px}.section-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.section-hint{font-size:.78rem;color:var(--text-muted);line-height:1.35}.segmented{display:flex;gap:6px;background:#ffffff0a;border:1px solid var(--panel-border);border-radius:12px;padding:5px}.seg-btn{flex:1;justify-content:center;padding:11px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-weight:600}.seg-btn:hover{background:#ffffff0f;transform:none}.seg-btn.active{background:var(--primary-glow);color:#fff;box-shadow:0 4px 14px #6366f166}.audio-volume-row{display:flex;align-items:center;gap:10px;padding:6px 16px}[hidden]{display:none!important}.audio-volume-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent, #4f8cff);cursor:pointer}.row-btn{width:100%;justify-content:space-between;padding:14px 16px;border-radius:12px;font-weight:500}#loading-overlay #btn-connect{width:min(260px,82vw);justify-content:center;margin:8px auto 0}.row-state{font-size:.78rem;font-weight:600;color:var(--text-muted);padding:3px 10px;border-radius:999px;background:#ffffff0f}.row-btn.on .row-state{color:#fff;background:var(--success-color)}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.action-btn{flex-direction:column;gap:6px;padding:14px 6px;border-radius:12px;font-size:.78rem;font-weight:500;text-align:center;justify-content:center}.action-ico{font-size:1.25rem;line-height:1}#monitor-select{width:100%;padding:12px 14px;border-radius:12px}.sheet-foot{flex:none;padding-top:12px;margin-top:12px;border-top:1px solid var(--panel-border);font:10px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--text-muted);text-align:center}.kbd-capture{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;padding:0;border:0}@media (hover: none){video{cursor:none}}body.touch-runtime .fab,body.touch-runtime .menu-backdrop,body.touch-runtime .menu-sheet,body.touch-runtime .diagnostic-hud{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}body.touch-runtime .logo-dot,body.touch-runtime .spinner{animation:none}.login{display:flex;flex-direction:column;gap:12px;width:min(320px,86vw);align-items:stretch}.login[hidden]{display:none}.login .logo-section{justify-content:center;margin-bottom:8px}.login input{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:inherit;font-size:16px}.login .status-text{min-height:1.2em;color:#f87171}.spinner[hidden],#btn-connect[hidden]{display:none}pre.diagnostic-hud{margin:0;white-space:pre;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}pre.diagnostic-hud[hidden]{display:none}video{image-rendering:auto}
