:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a2e;--bg-surface: #16213e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #4a90d9;--accent-hover: #5ba0e9;--border: #2a2a4a;--shadow: rgba(0, 0, 0, .3);--radius: 8px;--transition: .3s ease}@media(prefers-color-scheme:light){:root{--bg-primary: #f5f5f5;--bg-secondary: #e8e8f0;--bg-surface: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666666;--accent: #3a7bc8;--accent-hover: #2a6bb8;--border: #d0d0e0;--shadow: rgba(0, 0, 0, .1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header,.hero,.settings-container,.site-footer,.install-btn{filter:var(--ui-filter, none)}.site-header{text-align:center;padding:2rem 1rem 1rem;opacity:.3;transition:opacity .6s ease}.site-header:hover,.site-header:focus-within{opacity:1;transition:opacity .15s ease}.logo{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.tagline{color:var(--text-secondary);font-size:1.1rem;margin-top:.25rem}.hero{display:flex;justify-content:center;padding:2rem 1rem;opacity:.3;transition:opacity .6s ease}.hero:hover,.hero:focus-within{opacity:1;transition:opacity .15s ease}.url-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:600px}.url-input{width:100%;padding:.875rem 1rem;font-size:1rem;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.url-input::placeholder{color:var(--text-secondary)}.url-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #4a90d940}.url-submit{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition);min-height:44px}.url-submit:hover{background:var(--accent-hover)}.url-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.url-submit:active{transform:scale(.98)}.player-section{padding:1rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.player-wrapper{position:relative;width:100%;max-width:900px;aspect-ratio:16 / 9;background:var(--bg-secondary);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 24px var(--shadow)}.player-wrapper iframe{width:100%;height:100%;border:none;transition:filter var(--transition)}.filter-overlay{position:absolute;inset:0;pointer-events:none;z-index:10;transition:filter var(--transition),background-color var(--transition),mix-blend-mode var(--transition)}.end-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#0009;filter:var(--ui-filter, none);z-index:20}.end-screen-replay{padding:.75rem 2rem;font-size:1.1rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition),transform var(--transition);min-height:44px}.end-screen-replay:hover{background:var(--accent-hover);transform:scale(1.05)}.end-screen-form{display:flex;gap:.5rem;width:80%;max-width:480px}.end-screen-input{flex:1;padding:.6rem .75rem;font-size:.95rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);outline:none}.end-screen-input::placeholder{color:#fff6}.end-screen-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4a90d94d}.end-screen-go{padding:.6rem 1rem;font-size:.95rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.end-screen-go:hover{background:var(--accent-hover)}.settings-container{width:100%;max-width:600px;opacity:.3;transition:opacity .6s ease}.settings-container:hover,.settings-container:focus-within{opacity:1;transition:opacity .15s ease}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.settings-group{display:flex;flex-direction:column;gap:.5rem}.settings-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}@keyframes slider-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(var(--pulse-boost, 1))}}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--border);border-radius:3px;outline:none;cursor:pointer}.settings-container:hover input[type=range],.settings-container:focus-within input[type=range]{animation:slider-pulse 2s ease-in-out infinite}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--slider-color, var(--accent));border-radius:50%;cursor:pointer;box-shadow:var(--slider-glow, 0 0 6px 2px rgba(74, 144, 217, .5))}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--slider-color, var(--accent));border:none;border-radius:50%;cursor:pointer;box-shadow:var(--slider-glow, 0 0 6px 2px rgba(74, 144, 217, .5))}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-hint{font-size:.8rem;color:var(--text-secondary);font-weight:400;margin-top:.25rem;min-height:1.2em}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mode-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);min-height:44px}.mode-btn:hover{border-color:var(--accent);color:var(--text-primary)}.mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle-wrap{display:flex;align-items:center;justify-content:space-between}.toggle{position:relative;width:48px;height:26px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--border);border-radius:13px;transition:background var(--transition)}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform var(--transition)}.toggle input:checked+.toggle-track:after{transform:translate(22px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.install-btn{display:none;position:fixed;bottom:1rem;right:1rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 12px var(--shadow);transition:background var(--transition);z-index:100}.install-btn.show{display:block}.install-btn:hover{background:var(--accent-hover)}.install-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-footer{text-align:center;padding:1.5rem 1rem;color:var(--text-secondary);font-size:.85rem}@media(min-width:768px){.site-header{padding:3rem 1rem 1.5rem}.logo{font-size:2.5rem}.url-form{flex-direction:row}.url-input{flex:1}.url-submit{flex-shrink:0}.hero{padding:2.5rem 1.5rem}.player-section,.settings-panel{padding:1.5rem}}@media(min-width:1024px){.logo{font-size:3rem}.hero{padding:3rem 2rem}}.experimental-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ff9800;background:#ff98001f;border:1px solid rgba(255,152,0,.3);border-radius:4px;padding:.1em .4em;vertical-align:middle}.auto-detect-status{font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:normal;margin-left:.5rem}.auto-detect-status.status-pending{color:#ff9800}.auto-detect-status.status-active{color:#4caf50}.auto-detect-status.status-error{color:#f44336}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
