:root{--primary: #121212;--secondary: #947cd9;--surface: #1a1a1a;--text: #ececec;--muted: #8a8a8a;--ink: #000;--radius-lg: 20px;--radius-md: 12px;--radius-sm: 10px;--border: 2.5px solid var(--ink);--shadow-soft: 4px 4px 0 0 var(--ink);--shadow-hover: 6px 6px 0 0 var(--ink);--shadow-press: 2px 2px 0 0 var(--ink)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--primary);color:var(--text);-webkit-font-smoothing:antialiased}.shell{display:grid;grid-template-columns:minmax(200px,16vw) minmax(0,1fr) minmax(200px,16vw);gap:14px;height:100dvh;min-height:100vh;padding:14px;background:var(--primary)}.shell>*{min-height:0;min-width:0}.center-stack{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;height:100%;min-height:0}.neo-surface{background:var(--primary);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.panel{background:var(--primary);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column;min-height:0;transition:box-shadow .15s ease,transform .15s ease}.panel-left,.panel-right{height:100%}.panel-head{padding:14px 16px;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:var(--border);background:var(--surface);color:var(--text)}.users-list{list-style:none;padding:10px 12px;max-height:130px;overflow-y:auto;border-bottom:var(--border);flex-shrink:0;color:var(--muted);background:var(--primary)}.users-list li{padding:6px 10px;margin-bottom:6px;font-size:13px;font-weight:500;border:2px solid transparent;border-radius:var(--radius-sm)}.users-list li:not(.is-self){background:var(--surface);border-color:var(--ink);box-shadow:2px 2px 0 0 var(--ink)}.users-list li.is-self{color:var(--secondary);font-weight:800;background:var(--primary);border:var(--border);box-shadow:3px 3px 0 0 var(--secondary)}.chat-messages{flex:1;overflow-y:auto;padding:12px;font-size:13px;min-height:0;color:var(--text);display:flex;flex-direction:column;gap:10px;background:var(--primary)}.chat-msg{background:var(--surface);border:var(--border);border-radius:var(--radius-md);padding:10px 12px;box-shadow:3px 3px 0 0 var(--ink);line-height:1.45;max-width:100%}.chat-msg strong{display:block;color:var(--secondary);font-weight:800;font-size:12px;letter-spacing:.03em;margin-bottom:4px}.chat-form{display:flex;gap:10px;padding:12px;border-top:var(--border);background:var(--surface)}.chat-form input{flex:1;border:var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-family:inherit;font-weight:500;background:var(--primary);color:var(--text);box-shadow:var(--shadow-soft);transition:box-shadow .12s ease,transform .12s ease}.chat-form input::placeholder{color:var(--muted)}.chat-form input:focus{outline:none;box-shadow:var(--shadow-soft),0 0 0 2px var(--secondary)}.input-bar{background:var(--surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.input-bar input[type=text],.input-bar input[type=url]{flex:1;min-width:160px;border:var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-family:inherit;font-weight:500;background:var(--primary);color:var(--text);box-shadow:var(--shadow-soft)}.input-bar input::placeholder{color:var(--muted)}.input-bar input:focus{outline:none;box-shadow:var(--shadow-soft),0 0 0 2px var(--secondary)}.btn{border:var(--border);border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;font-weight:800;font-family:inherit;letter-spacing:.03em;cursor:pointer;background:var(--secondary);color:#fff;box-shadow:var(--shadow-soft);transition:transform .1s ease,box-shadow .1s ease}.btn:hover{box-shadow:var(--shadow-hover);transform:translate(-1px,-1px)}.btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.btn-secondary{background:var(--primary);color:var(--text)}.btn-secondary:hover{border-color:var(--ink);box-shadow:var(--shadow-hover)}.btn-secondary:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.player-panel{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--primary)}.share-row{display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px;border-bottom:var(--border);align-items:center;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface)}.share-row code{flex:1;min-width:120px;padding:8px 10px;font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;font-weight:600;background:var(--primary);border:var(--border);border-radius:var(--radius-sm);box-shadow:2px 2px 0 0 var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.notice-local{color:var(--secondary);font-size:12px;font-weight:700;padding:4px 14px 10px;background:var(--primary)}.video-wrap{flex:1;display:flex;flex-direction:column;align-items:stretch;background:var(--primary);min-height:0;padding:10px 12px 12px}.video-stage{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;gap:10px}.video-stage:fullscreen{width:100vw;height:100vh;max-height:100vh;padding:12px;gap:12px;background:var(--primary);box-sizing:border-box}.video-stage:fullscreen .video-viewport{flex:1;min-height:0;border-radius:var(--radius-md)}.video-stage:fullscreen .video-viewport video{max-height:none;height:100%}.video-stage:fullscreen .player-controls{flex-shrink:0}.ctrl-fullscreen{flex-shrink:0}.video-viewport{position:relative;flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;background:#000;border-radius:var(--radius-md);border:var(--border);box-shadow:6px 6px 0 0 var(--ink);overflow:hidden}.video-viewport video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block;cursor:pointer}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;background:#121212b8}.play-overlay-btn{pointer-events:auto;font-size:15px;padding:14px 28px}.play-overlay-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:var(--shadow-soft)}.play-overlay-hint{pointer-events:none;font-size:12px;font-weight:600;color:var(--muted)}.player-controls{display:flex;flex-direction:column;gap:12px;padding:12px 14px;background:var(--surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);flex-shrink:0}.seek-row{display:flex;align-items:center;gap:10px;width:100%}.seek-slider{flex:1;accent-color:var(--secondary);height:10px;cursor:pointer}.seek-slider:disabled{opacity:.4}.time-readout{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);min-width:36px}.controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%}.ctrl-btn{padding:8px 14px;font-size:12px}.ctrl-sync-toggle{margin-left:auto;flex-shrink:0}.volume-block{display:flex;align-items:center;gap:10px;flex:1;min-width:140px}.volume-label{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.volume-slider{flex:1;height:10px;accent-color:var(--secondary);cursor:pointer}.volume-slider:disabled{opacity:.4;cursor:not-allowed}.library-list{list-style:none;flex:1;overflow-y:auto;padding:12px;min-height:0;background:var(--primary)}.library-card{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:var(--border);border-radius:var(--radius-sm);padding:8px;margin-bottom:10px;font-family:inherit;font-weight:600;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px;box-shadow:3px 3px 0 0 var(--ink);transition:transform .1s ease,box-shadow .1s ease,color .1s ease}.library-card:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 0 var(--ink)}.library-card:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.library-card.active{background:var(--primary);color:var(--secondary);box-shadow:4px 4px 0 0 var(--secondary)}.library-thumb-wrap{flex-shrink:0;width:72px;height:44px}.library-thumb{width:72px;height:44px;object-fit:cover;display:block;border-radius:6px;border:2px solid var(--ink);background:#000}.library-thumb-placeholder{background:repeating-linear-gradient(-45deg,#1a1a1a,#1a1a1a 6px,#252525 6px,#252525 12px)}.library-card-title{flex:1;min-width:0;line-height:1.35;word-break:break-word}.library-empty{padding:12px;font-size:12px;font-weight:600;color:var(--muted);border:2px dashed #333;border-radius:var(--radius-sm);text-align:center}.status-dot{display:inline-block;width:10px;height:10px;border-radius:4px;margin-right:8px;background:var(--muted);border:2px solid var(--ink);box-shadow:1px 1px 0 0 var(--ink);vertical-align:middle}.status-dot.on{background:var(--secondary);box-shadow:2px 2px 0 0 var(--ink)}.chat-messages::-webkit-scrollbar,.users-list::-webkit-scrollbar,.library-list::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-thumb,.users-list::-webkit-scrollbar-thumb,.library-list::-webkit-scrollbar-thumb{background:var(--surface);border:2px solid var(--ink);border-radius:6px}@media (max-width: 1100px){.shell{grid-template-columns:minmax(180px,22vw) minmax(0,1fr) minmax(180px,22vw);padding:10px;gap:10px}}@media (max-width: 900px){body,html,#root{overflow:auto}.shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;height:auto;min-height:100dvh;overflow:visible}.center-stack{grid-row:1;min-height:min(72dvh,720px)}.panel-left{grid-row:2;max-height:36dvh}.panel-right{grid-row:3;max-height:28dvh}.share-row code{min-width:0;width:100%;order:3}.share-row .btn-secondary{width:100%;order:4}}@media (max-width: 560px){.shell{padding:8px;gap:8px}.input-bar{padding:10px}.input-bar input[type=url]{width:100%;flex:1 1 100%}.input-bar .btn{flex:1 1 auto}.center-stack{min-height:min(68dvh,600px)}.controls-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ctrl-sync-toggle{margin-left:0;grid-column:1 / -1;width:100%}.volume-block{grid-column:1 / -1;min-width:0}.play-overlay-btn{padding:12px 22px;font-size:14px}}
