*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000000;--surface: #0a0a0a;--surface-2: #111111;--border: #1e1e1e;--border-hover: #333333;--accent: #ffffff;--accent-dim: #555555;--accent-faint: #1a1a1a;--text: #ffffff;--text-dim: #888888;--text-muted: #666666;--error: #cc2200;--radius: 6px;--font: "SF Mono", "Fira Code", "Cascadia Code", "Menlo", monospace}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:12px;line-height:1.6;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:20px;padding:14px 28px;border-bottom:1px solid var(--border)}.logo{font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--text)}.logo-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text);margin-left:4px;vertical-align:middle;position:relative;top:-1px}.nav{display:flex;gap:2px;margin-left:8px}.nav-btn{padding:4px 12px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius);font-family:var(--font);font-size:11px;cursor:pointer;letter-spacing:.08em;transition:color .15s,border-color .15s}.nav-btn:hover{color:var(--text)}.nav-btn.active{color:var(--text);border-color:var(--border)}.header-right{margin-left:auto;display:flex;align-items:center;gap:12px}.header-badge{padding:3px 10px;border:1px solid var(--border);border-radius:100px;font-size:10px;color:var(--text-muted);letter-spacing:.12em}.app-main{flex:1;padding:28px;overflow:auto}.app-home{justify-content:center;align-items:center}.home-content{max-width:520px;width:100%;padding:0 24px;text-align:center}.home-title{font-size:88px;font-weight:700;letter-spacing:.3em;color:var(--text);line-height:1;margin-bottom:20px}.home-sub{color:var(--text-dim);font-size:13px;line-height:1.9;margin-bottom:32px}.home-claim{margin-bottom:44px}.claim-badge{display:inline-block;padding:7px 18px;border:1px solid var(--border);border-radius:100px;color:var(--text-dim);font-size:10px;letter-spacing:.2em}.content-picker{text-align:left;margin-bottom:36px}.content-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.content-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.content-item:hover{border-color:var(--border-hover)}.content-item.selected{border-color:var(--accent-dim)}.content-item-icon{color:var(--text-muted);font-size:14px}.content-item-id{flex:1;color:var(--text)}.content-item-size{color:var(--text-muted);font-size:10px}.content-custom{display:flex;gap:8px;align-items:center;margin-top:8px}.content-empty{padding:20px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);font-size:11px;line-height:1.8;margin-bottom:12px}.home-props{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:36px}.prop{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:10px;color:var(--text-muted);letter-spacing:.05em}.player-layout{display:flex;gap:20px;align-items:flex-start;max-width:1140px}.video-panel{flex:1;min-width:0}.video-wrapper{position:relative;background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;border:1px solid var(--border)}.video-el{width:100%;height:100%;display:block}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#000000e6}.overlay-sub{color:var(--text-dim);font-size:11px;letter-spacing:.06em}.overlay-detail{color:var(--text-muted);font-size:10px}.ended-overlay{background:#000}.ended-title{font-size:32px;font-weight:700;color:var(--text);letter-spacing:.1em}.error-overlay{background:#000}.error-title{font-size:14px;color:var(--error);letter-spacing:.06em}.error-msg{color:var(--text-dim);font-size:11px;max-width:280px;text-align:center;line-height:1.6}.progress-ring{width:64px;height:64px;border-radius:50%;border:1px solid var(--border);border-top-color:var(--text);display:flex;align-items:center;justify-content:center;animation:spin 1.2s linear infinite}.progress-pct{font-size:12px;color:var(--text);animation:spin-reverse 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}.spinner{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);border-top-color:var(--text);animation:spin .9s linear infinite}.session-bar{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.session-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0;transition:background .3s}.session-dot.active{background:var(--text);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.session-text{flex:1;font-size:10px;color:var(--text-dim);letter-spacing:.04em}.session-info{margin-top:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.info-row{display:flex;flex-direction:column;gap:2px}.info-label{font-size:9px;letter-spacing:.15em;color:var(--text-muted)}.info-value{font-size:10px;color:var(--text-dim)}.ram-viz{width:220px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px}.viz-label{font-size:9px;letter-spacing:.2em;color:var(--text-muted)}.viz-canvas{width:100%;border-radius:3px;background:#050505;border:1px solid var(--border)}.buffer-track{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.buffer-fill{height:100%;background:var(--text);border-radius:2px;transition:width .15s ease,background .3s}.buffer-fill.buffer-clear{background:var(--error);transition:width .8s ease,background .2s}.viz-stats{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted);margin-top:-8px}.enc-badge{padding:6px 10px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:3px}.enc-line{font-size:9px;color:var(--text-muted);letter-spacing:.06em}.enc-line span{color:var(--text-dim)}.disk-counter{border-top:1px solid var(--border);padding-top:14px;display:flex;flex-direction:column;align-items:center;gap:4px}.disk-label{font-size:8px;letter-spacing:.25em;color:var(--text-muted)}.disk-zero{font-size:44px;font-weight:700;color:var(--text);line-height:1;letter-spacing:-.02em}.upload-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;max-width:960px}.upload-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.upload-title{font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--text);margin-bottom:4px}.upload-sub{font-size:11px;color:var(--text-dim);margin-bottom:24px;line-height:1.6}.drop-zone{border:1px dashed var(--border-hover);border-radius:var(--radius);padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:16px}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent-dim);background:var(--accent-faint)}.drop-zone-icon{font-size:28px;margin-bottom:10px;opacity:.4}.drop-zone-text{color:var(--text-dim);font-size:11px;line-height:1.8}.drop-zone-text strong{color:var(--text)}.file-preview{padding:12px 14px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;gap:12px;margin-bottom:16px}.file-preview-icon{font-size:18px;opacity:.5}.file-preview-info{flex:1;min-width:0}.file-preview-name{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-size{font-size:10px;color:var(--text-dim)}.file-preview-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px}.file-preview-clear:hover{color:var(--text)}.upload-progress{margin-bottom:16px}.upload-progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:6px}.upload-progress-fill{height:100%;background:var(--text);border-radius:2px;transition:width .2s}.upload-progress-text{font-size:10px;color:var(--text-dim)}.upload-result{padding:14px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.upload-result-label{font-size:9px;letter-spacing:.2em;color:var(--text-muted);margin-bottom:6px}.upload-result-id{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.08em;margin-bottom:4px}.upload-result-sub{font-size:10px;color:var(--text-dim)}.library-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.library-title{font-size:10px;letter-spacing:.15em;color:var(--text-muted);margin-bottom:14px}.library-list{display:flex;flex-direction:column;gap:6px}.library-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--accent-faint);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.library-item:hover{border-color:var(--border-hover)}.library-item-id{font-size:11px;color:var(--text)}.library-item-size{font-size:9px;color:var(--text-muted)}.library-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:11px;line-height:1.8}.input-label{display:block;color:var(--text-muted);font-size:9px;letter-spacing:.15em;margin-bottom:6px}.input-field{width:100%;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:12px;outline:none;transition:border-color .15s}.input-field:focus{border-color:var(--accent-dim)}.input-hint{color:var(--text-muted);font-size:10px;margin-top:5px;line-height:1.5}.input-hint code{color:var(--text-dim)}.btn-primary{padding:9px 22px;background:var(--text);color:var(--bg);border:none;border-radius:var(--radius);font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-primary.btn-large{width:100%;padding:12px;font-size:12px}.btn-secondary{padding:8px 18px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:11px;cursor:pointer;letter-spacing:.06em;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text)}.btn-revoke{padding:3px 10px;background:transparent;color:var(--error);border:1px solid var(--error);border-radius:4px;font-family:var(--font);font-size:10px;cursor:pointer;opacity:.6;transition:opacity .15s;white-space:nowrap;letter-spacing:.04em}.btn-revoke:hover{opacity:1}.btn-ghost{padding:4px 8px;background:transparent;color:var(--text-muted);border:none;font-family:var(--font);font-size:11px;cursor:pointer;letter-spacing:.04em;transition:color .15s}.btn-ghost:hover{color:var(--text)}.btn-icon{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent-faint);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:11px;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.btn-icon:hover{border-color:var(--border-hover);color:var(--text)}.divider{height:1px;background:var(--border);margin:20px 0}.section-heading{font-size:9px;letter-spacing:.2em;color:var(--text-muted);margin-bottom:12px}.event-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;max-width:960px}.event-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dashboard-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.dashboard-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 860px){.app-header{flex-wrap:wrap;padding:12px 16px;gap:10px}.header-badge{display:none}.nav{order:3;width:100%}.player-layout{flex-direction:column}.ram-viz{width:100%}.upload-layout,.event-layout{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(3,1fr)}.app-main{padding:16px}}@media (max-width: 560px){.home-title{font-size:56px}.home-sub{font-size:12px}.event-form-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.session-info{grid-template-columns:1fr}.nav{flex-wrap:wrap}.nav-btn{font-size:10px;padding:4px 8px}}
