:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #242837;--bg-hover: #2d3145;--bg-active: #363b52;--text-primary: #e4e6f0;--text-secondary: #9a9db5;--text-muted: #6b6e85;--accent: #6c8cff;--accent-hover: #8ba3ff;--accent-dim: rgba(108, 140, 255, .15);--green: #4cce8a;--green-dim: rgba(76, 206, 138, .15);--red: #f45866;--red-dim: rgba(244, 88, 102, .15);--orange: #f5a623;--orange-dim: rgba(245, 166, 35, .15);--blue: #6cc0f4;--blue-dim: rgba(108, 192, 244, .15);--purple: #b78cf4;--purple-dim: rgba(183, 140, 244, .15);--border: #2d3145;--border-light: #363b52;--radius: 6px;--radius-lg: 10px;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--transition: .15s ease}[data-theme=light]{--bg-primary: #f5f6fa;--bg-secondary: #ffffff;--bg-tertiary: #ebedf5;--bg-hover: #e0e3ee;--bg-active: #d4d8e8;--text-primary: #1a1d27;--text-secondary: #5a5d72;--text-muted: #8b8ea5;--border: #d4d8e8;--border-light: #e0e3ee;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.env-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:12px;flex-shrink:0}.env-profiles{display:flex;gap:6px;flex-wrap:wrap}.env-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);white-space:nowrap}.env-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.env-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.env-icon{font-size:14px}.env-bar-right{display:flex;align-items:center;gap:12px}.env-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--accent-dim);padding:4px 10px;border-radius:var(--radius)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:4px 8px;cursor:pointer;font-size:16px;transition:all var(--transition)}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-light)}.tag-bar{padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.tag-input-row{display:flex;align-items:center;gap:8px}.tag-input-row label{font-weight:600;font-size:12px;color:var(--text-secondary);white-space:nowrap}.tag-url-input{flex:1;padding:7px 12px;font-size:13px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color var(--transition)}.tag-url-input:focus{border-color:var(--accent)}.preset-select{padding:7px 12px;font-size:13px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;max-width:220px}.tag-options-row{display:flex;gap:16px;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{accent-color:var(--accent)}.tag-xml-row{margin-top:8px}.raw-xml-input{width:100%;padding:8px 12px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;outline:none}.raw-xml-input:focus{border-color:var(--accent)}.raw-xml-actions{display:flex;justify-content:flex-end;margin-top:6px}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 16px;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-sm{padding:4px 10px;font-size:11px}.btn-share{background:var(--green-dim);border-color:var(--green);color:var(--green);font-size:12px}.btn-share:hover{background:var(--green);color:#fff}.btn-ctrl{width:36px;height:36px;padding:0;font-size:16px}.main-area{display:flex;flex:1;min-height:0;overflow:hidden}.player-column{flex:1;display:flex;flex-direction:column;min-width:0}.player-wrapper{flex:1;display:flex;align-items:center;justify-content:center;background:#000;position:relative;min-height:200px}.rmp-container{position:relative;width:960px;height:540px;max-width:100%;max-height:100%;background:#000}.rmp-container.rmp-fullscreen-on{width:100vw!important;height:100vh!important;max-width:none;max-height:none}.rmp-content{position:relative;width:100%;height:100%}.rmp-video{width:100%;height:100%;object-fit:contain}.player-state-badge{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:3px 8px;border-radius:3px;background:#000000b3;color:var(--text-muted);pointer-events:none;z-index:10}.player-state-badge[data-state=playing]{color:var(--green)}.player-state-badge[data-state=loading]{color:var(--orange)}.player-state-badge[data-state=paused]{color:var(--blue)}.player-state-badge[data-state=error]{color:var(--red)}.player-state-badge[data-state=complete]{color:var(--purple)}.endcard-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:endcard-fadein .3s ease}.endcard-overlay.hidden{display:none!important}@keyframes endcard-fadein{0%{opacity:0}to{opacity:1}}.endcard-close{position:absolute;top:10px;right:10px;z-index:25;width:32px;height:32px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.endcard-close:hover{background:#fff3}.endcard-content{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.endcard-content iframe{border:none;max-width:100%;max-height:100%}.endcard-content img{max-width:100%;max-height:100%;object-fit:contain}.controls-bar{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.controls-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.volume-slider{width:100px;accent-color:var(--accent);cursor:pointer}.api-inspector{width:280px;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto;flex-shrink:0}.panel-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--border)}.api-table{padding:4px 0}.api-row{display:flex;align-items:baseline;padding:3px 14px;font-size:12px;font-family:var(--font-mono);transition:background var(--transition)}.api-row:hover{background:var(--bg-hover)}.api-row.changed{background:var(--accent-dim)}.api-key{color:var(--text-secondary);white-space:nowrap;min-width:130px}.api-value{color:var(--accent);word-break:break-all;margin-left:8px}.bottom-panels{height:260px;display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0}.panel-tab{padding:8px 18px;font-size:12px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition)}.panel-tab:hover{color:var(--text-secondary)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.panel-content{flex:1;position:relative;overflow:hidden}.panel-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;overflow:hidden}.panel-pane.active{display:flex}.panel-toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.filter-input{flex:1;padding:4px 10px;font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);outline:none;max-width:300px}.filter-input:focus{border-color:var(--accent)}.event-log,.network-log{flex:1;overflow-y:auto;padding:4px 0;font-family:var(--font-mono);font-size:12px}.event-entry,.network-entry{display:flex;align-items:baseline;padding:2px 12px;gap:10px;transition:background var(--transition)}.event-entry:hover,.network-entry:hover{background:var(--bg-hover)}.event-time,.network-time{color:var(--text-muted);white-space:nowrap;min-width:70px;font-size:11px}.event-name{font-weight:600;white-space:nowrap}.event-data,.network-url{color:var(--text-secondary);word-break:break-all}.event-entry[data-category=lifecycle] .event-name{color:var(--blue)}.event-entry[data-category=progress] .event-name{color:var(--green)}.event-entry[data-category=error] .event-name{color:var(--red)}.event-entry[data-category=error]{background:var(--red-dim)}.event-entry[data-category=interaction] .event-name{color:var(--orange)}.event-entry[data-category=volume] .event-name{color:var(--purple)}.validation-rules{flex:1;overflow-y:auto;padding:4px 0}.validation-rule{display:flex;align-items:center;padding:6px 12px;gap:10px;font-size:13px}.validation-rule:hover{background:var(--bg-hover)}.validation-indicator{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.validation-indicator.pass{background:var(--green-dim);color:var(--green)}.validation-indicator.fail{background:var(--red-dim);color:var(--red)}.validation-indicator.na{background:var(--bg-tertiary);color:var(--text-muted)}.validation-indicator.pending{background:var(--orange-dim);color:var(--orange)}.validation-name{font-weight:500;color:var(--text-primary)}.validation-message{color:var(--text-secondary);font-size:12px;margin-left:auto}.validation-summary{font-size:12px;font-weight:600;color:var(--text-secondary)}.xml-tree{flex:1;overflow-y:auto;padding:8px 12px;font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;word-break:break-all}.xml-tag{color:var(--blue)}.xml-attr{color:var(--orange)}.xml-value{color:var(--green)}.xml-text{color:var(--text-secondary)}.xml-node{margin-left:16px}.xml-node-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.xml-node-toggle:hover{color:var(--accent)}.companion-display{flex:1;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:12px;padding:12px;overflow:auto}.companion-slot{border:1px dashed var(--border-light);border-radius:var(--radius);background:var(--bg-tertiary);transition:all var(--transition)}.companion-slot.filled{border-color:var(--green);border-style:solid;background:var(--bg-secondary)}.companion-slot-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:24px;line-height:16px}.companion-slot.filled .companion-slot-label{color:var(--green)}.companion-slot-area{background:var(--bg-primary)}.companion-slot-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--border-light);font-size:14px;font-weight:600;font-family:var(--font-mono)}.companion-slot-inner img{display:block;max-width:100%;max-height:100%}.session-timeline{flex:1;overflow-y:auto;padding:8px 12px;font-family:var(--font-mono);font-size:12px}.session-json{white-space:pre-wrap;word-break:break-all;color:var(--text-secondary)}.placeholder-text{color:var(--text-muted);font-size:13px;text-align:center;padding:40px 20px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:900px){.api-inspector{display:none}.env-profiles{overflow-x:auto}}
