.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-lg);max-width:1800px;width:100%;margin:0 auto}.app-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-lg);position:sticky;top:0;z-index:var(--z-sticky)}.app-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--text-color)}.title-icon{color:var(--danger-color)}.controls-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.video-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.input-wrapper{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.url-input{flex:1;min-width:300px;padding:var(--spacing-sm) var(--spacing-md)}.add-btn{display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.primary-btn{background-color:var(--button-bg);color:var(--button-text);box-shadow:var(--shadow)}.primary-btn:hover:not(:disabled){background-color:var(--button-hover-bg);box-shadow:var(--shadow-lg)}.primary-btn:active:not(:disabled){transform:translateY(1px)}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--danger-bg);color:var(--danger-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);animation:slideUp .3s ease}.secondary-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center;justify-content:center}.control-label{font-weight:var(--font-weight-medium);color:var(--text-secondary);font-size:var(--font-size-sm)}.global-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.global-btn{display:flex;align-items:center;gap:var(--spacing-xs);background-color:var(--global-btn-bg);color:var(--global-btn-text);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow)}.global-btn:hover{background-color:var(--global-btn-hover-bg);box-shadow:var(--shadow-lg)}.global-btn:active{transform:translateY(1px)}.grid-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.grid-buttons{display:flex;gap:2px;background-color:var(--border-color);border-radius:var(--border-radius);padding:2px}.grid-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background-color:var(--bg-color);color:var(--text-color);border-radius:2px;min-width:44px}.grid-btn:hover{background-color:var(--bg-secondary)}.grid-btn.active{background-color:var(--primary-color);color:var(--button-text)}.theme-toggle{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-color);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--border-radius)}.theme-btn:hover{background-color:var(--bg-secondary);border-color:var(--primary-color)}.video-container{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-width),1fr))}.video-wrapper{position:relative;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--spacing-sm);cursor:grab;transition:all var(--transition-normal);animation:fadeIn .4s ease}.video-wrapper:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.video-wrapper.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.video-wrapper.with-chat-right{grid-column:span 2}.video-wrapper.with-chat-bottom{grid-column:span 1}.video-main-content{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.video-wrapper.with-chat-right .video-main-content{flex-direction:row;gap:var(--spacing-md)}.video-wrapper.with-chat-right .player-section{flex:1;min-width:0}.video-wrapper.with-chat-bottom .video-main-content{flex-direction:column}.player-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.remove-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);background-color:var(--danger-color);color:#fff;border-radius:var(--border-radius);z-index:10;opacity:.9;box-shadow:var(--shadow)}.remove-btn:hover{opacity:1;background-color:var(--stop-btn-hover);box-shadow:var(--shadow-lg)}.iframe-container{position:relative;width:100%;padding-bottom:56.25%;background-color:#000;border-radius:var(--border-radius);overflow:hidden}.iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-md);color:var(--text-color);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm)}.controls{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.control-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.control-btn svg{flex-shrink:0}.play-btn{background-color:var(--play-btn-bg)}.play-btn:hover{background-color:var(--play-btn-hover)}.pause-btn{background-color:var(--pause-btn-bg)}.pause-btn:hover{background-color:var(--pause-btn-hover)}.stop-btn{background-color:var(--stop-btn-bg)}.stop-btn:hover{background-color:var(--stop-btn-hover)}.chat-toggle-btn{background-color:var(--primary-color)}.chat-toggle-btn:hover{background-color:var(--primary-hover)}.chat-toggle-btn.active{background-color:var(--info-color);box-shadow:0 0 0 2px var(--info-bg)}.control-btn:active{transform:translateY(1px)}.live-chat{display:flex;flex-direction:column;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;min-height:200px}.live-chat-right{width:340px;min-width:280px;max-width:400px;height:100%;min-height:400px}.live-chat-bottom{width:100%;height:300px;min-height:200px;max-height:400px}.live-chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.live-chat-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-color)}.live-chat-controls{display:flex;gap:var(--spacing-xs)}.chat-position-btn,.chat-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:transparent;color:var(--text-secondary);border-radius:var(--border-radius)}.chat-position-btn:hover,.chat-close-btn:hover{background-color:var(--bg-color);color:var(--text-color)}.chat-close-btn:hover{color:var(--danger-color)}.live-chat-content{flex:1;position:relative;min-height:0}.live-chat-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.live-chat-warning{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--warning-bg);color:var(--warning-color);font-size:var(--font-size-xs);border-top:1px solid var(--border-color)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary);min-height:400px;animation:fadeIn .5s ease}.empty-state-icon{color:var(--text-subtle);margin-bottom:var(--spacing-lg);opacity:.5}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-color);margin-bottom:var(--spacing-sm)}.empty-state-description{font-size:var(--font-size-md);color:var(--text-secondary);max-width:400px;line-height:1.6}.empty-state-hints{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--border-radius-lg);text-align:left}.empty-state-hints h3{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.empty-state-hints ul{list-style:none;padding:0}.empty-state-hints li{margin-bottom:var(--spacing-xs)}.empty-state-hints code{font-family:Monaco,Consolas,monospace;font-size:var(--font-size-sm);background-color:var(--bg-color);padding:2px 6px;border-radius:3px;color:var(--primary-color)}.app-footer{padding:var(--spacing-md);text-align:center;color:var(--text-subtle);font-size:var(--font-size-sm);border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.app-footer p{margin:0}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.app-header{padding:var(--spacing-md)}.app-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.title-icon{width:24px;height:24px}.input-wrapper{flex-direction:column}.url-input{min-width:100%}.add-btn{width:100%;justify-content:center}.secondary-controls{flex-direction:column;align-items:stretch}.global-controls,.grid-controls,.theme-toggle{justify-content:center}.main-content{padding:var(--spacing-md)}.video-wrapper{padding:var(--spacing-sm)}.controls{flex-wrap:wrap}}@media(max-width:480px){.app-header{padding:var(--spacing-sm)}.app-title{font-size:var(--font-size-lg)}.global-controls{flex-direction:column;width:100%}.global-btn{width:100%;justify-content:center}.grid-buttons{flex-wrap:wrap;justify-content:center}.empty-state{padding:var(--spacing-lg);min-height:300px}.empty-state-hints{width:100%}}@media(max-width:768px){.video-wrapper.with-chat-right .video-main-content{flex-direction:column}.video-wrapper.with-chat-right{grid-column:span 1}.live-chat-right{width:100%;min-width:100%;max-width:100%;height:250px;min-height:200px}.controls{flex-wrap:wrap}.control-btn{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.control-btn span{display:none}}:root{--bg-color: #ffffff;--bg-secondary: #f4f5f7;--text-color: #172b4d;--text-secondary: #5e6c84;--text-subtle: #97a0af;--primary-color: #0052cc;--primary-hover: #0065ff;--primary-active: #0747a6;--button-bg: #0052cc;--button-text: #ffffff;--button-hover-bg: #0065ff;--input-bg: #fafbfc;--input-text: #172b4d;--input-border: #dfe1e6;--input-focus-border: #0052cc;--input-placeholder: #97a0af;--success-color: #00875a;--success-bg: #e3fcef;--warning-color: #ff8b00;--warning-bg: #fffae6;--danger-color: #de350b;--danger-bg: #ffebe6;--info-color: #0065ff;--info-bg: #deebff;--play-btn-bg: #00875a;--play-btn-hover: #006644;--pause-btn-bg: #ff8b00;--pause-btn-hover: #ff991f;--stop-btn-bg: #de350b;--stop-btn-hover: #ff5630;--global-btn-bg: #00b8d9;--global-btn-text: #ffffff;--global-btn-hover-bg: #00c7e6;--border-color: #dfe1e6;--border-radius: 4px;--border-radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(9, 30, 66, .1);--shadow: 0 1px 3px rgba(9, 30, 66, .15), 0 0 1px rgba(9, 30, 66, .2);--shadow-lg: 0 4px 8px rgba(9, 30, 66, .15), 0 0 1px rgba(9, 30, 66, .2);--shadow-hover: 0 8px 16px rgba(9, 30, 66, .15), 0 0 1px rgba(9, 30, 66, .2);--focus-shadow: 0 0 0 2px rgba(0, 82, 204, .25);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--grid-min-width: 320px;--grid-gap: 20px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-tooltip: 400}[data-theme=dark]{--bg-color: #1d2125;--bg-secondary: #22272b;--text-color: #b6c2cf;--text-secondary: #9fadbc;--text-subtle: #738496;--primary-color: #0c66e4;--primary-hover: #388bff;--primary-active: #0055cc;--button-bg: #0c66e4;--button-text: #ffffff;--button-hover-bg: #388bff;--input-bg: #22272b;--input-text: #b6c2cf;--input-border: #38414a;--input-focus-border: #0c66e4;--input-placeholder: #738496;--success-color: #1f845a;--success-bg: #1c3329;--warning-color: #cf9f02;--warning-bg: #332e1b;--danger-color: #e34935;--danger-bg: #391813;--info-color: #388bff;--info-bg: #1c2b41;--play-btn-bg: #1f845a;--play-btn-hover: #22a06b;--pause-btn-bg: #cf9f02;--pause-btn-hover: #e2b203;--stop-btn-bg: #e34935;--stop-btn-hover: #ff5630;--global-btn-bg: #1d9aaa;--global-btn-text: #ffffff;--global-btn-hover-bg: #22a9bd;--border-color: #38414a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 1px 3px rgba(0, 0, 0, .25), 0 0 1px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .25), 0 0 1px rgba(0, 0, 0, .3);--shadow-hover: 0 8px 16px rgba(0, 0, 0, .3), 0 0 1px rgba(0, 0, 0, .4);--focus-shadow: 0 0 0 2px rgba(12, 102, 228, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.5;color:var(--text-color);background-color:var(--bg-color);transition:background-color var(--transition-normal),color var(--transition-normal);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.25;color:var(--text-color)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-md)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover);text-decoration:underline}button{font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}button:focus-visible{outline:none;box-shadow:var(--focus-shadow)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:var(--font-size-md);color:var(--input-text);background-color:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--focus-shadow)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:768px){:root{--grid-min-width: 280px;--grid-gap: 16px;--spacing-lg: 20px;--spacing-xl: 24px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}}@media(max-width:480px){:root{--grid-min-width: 100%;--grid-gap: 12px}h1{font-size:var(--font-size-xl)}}
