:root{--bg-primary: #111319;--bg-secondary: #171b22;--bg-tertiary: #202632;--bg-hover: #2a3240;--bg-active: #343f4f;--player-wrapper-bg: #121b18;--player-placeholder-bg: #08110d;--text-primary: #e8edf5;--text-secondary: #b8c2cf;--text-muted: #8f9cad;--accent: #47c983;--accent-hover: #67d99a;--accent-dim: rgba(71, 201, 131, .16);--green: #67d99a;--green-dim: rgba(103, 217, 154, .18);--red: #ff7c8a;--red-dim: rgba(255, 124, 138, .18);--orange: #ffc26b;--orange-dim: rgba(255, 194, 107, .18);--blue: #7fb7ff;--blue-dim: rgba(127, 183, 255, .16);--purple: #b49bff;--purple-dim: rgba(180, 155, 255, .16);--border: #2e3847;--border-light: #3d495d;--radius: 6px;--radius-lg: 10px;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", "Fira Code", "Consolas", monospace;--font-sans: "Plus Jakarta 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;--right-panel-width: 280px;--bottom-panels-height: 260px;--top-panels-height: auto;--resize-handle-size: 6px}[data-theme=light]{--bg-primary: #f5f7fb;--bg-secondary: #ffffff;--bg-tertiary: #edf1f7;--bg-hover: #e2e8f2;--bg-active: #d6deea;--player-wrapper-bg: #edf5f0;--player-placeholder-bg: #e3efe8;--text-primary: #1b2430;--text-secondary: #3b4b5f;--text-muted: #627289;--accent: #23915f;--accent-hover: #2aa76d;--accent-dim: rgba(35, 145, 95, .12);--border: #cfd7e3;--border-light: #dde3ec;--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}.top-panels{display:flex;flex-direction:column;height:var(--top-panels-height);min-height:48px;max-height:60vh;overflow:auto;flex-shrink:0;background:var(--bg-secondary)}.env-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(90deg,color-mix(in srgb,var(--bg-secondary) 96%,var(--accent) 4%),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);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.env-icon{font-size:13px;opacity:.9}.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 10px;cursor:pointer;font-size:14px;font-weight:700;transition:all var(--transition)}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-light)}.custom-env-panel{padding:6px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.custom-env-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.custom-env-title-wrap{display:flex;align-items:baseline;gap:8px;min-width:0}.custom-env-header strong{font-size:11px;font-weight:600;color:var(--text-primary);line-height:1.1}.custom-env-header span{font-size:10px;color:var(--text-muted);line-height:1.1}.custom-env-toggle{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius);font-size:10px;font-weight:600;padding:2px 8px;cursor:pointer;transition:all var(--transition);white-space:nowrap}.custom-env-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.custom-env-panel.is-collapsed .custom-env-content{display:none}.custom-env-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.custom-env-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);padding:6px;display:flex;flex-direction:column;gap:4px}.custom-env-group-title{font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);line-height:1}.custom-env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:4px}.custom-env-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-env-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-env-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-env-field{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-secondary);min-height:44px}.custom-env-field>span{font-weight:600}.custom-field-stack{display:flex;flex-direction:column;gap:2px}.custom-env-field input[type=number],.custom-env-field select{width:100%;padding:3px 8px;font-size:11px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);outline:none;height:24px}.custom-env-field input[type=number]::-webkit-outer-spin-button,.custom-env-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-env-field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.custom-env-field input[type=number]:focus,.custom-env-field select:focus{border-color:var(--accent)}.custom-env-field input[type=range]{width:100%;margin:0;accent-color:var(--accent);height:14px}.custom-env-field.checkbox{flex-direction:row;align-items:center;gap:6px;padding:4px 7px;min-height:44px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary)}.custom-env-field.checkbox input[type=checkbox]{accent-color:var(--accent)}.custom-env-field.checkbox>span{font-weight:500;color:var(--text-primary)}.custom-env-actions{display:flex;justify-content:flex-end;gap:4px}.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}.workflow-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.workflow-steps{display:flex;gap:6px;flex-wrap:wrap}.workflow-step{font-size:11px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;background:var(--bg-tertiary)}.workflow-step.done{border-color:var(--green);color:var(--green);background:var(--green-dim)}.session-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.summary-pill{font-size:11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:2px 8px;background:var(--bg-tertiary)}.summary-pill strong{color:var(--text-primary)}.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:#0a101e;font-weight:700}.btn-primary:hover{background:var(--accent-hover)}.btn-sm{padding:4px 10px;font-size:11px}.btn-share{background:var(--blue-dim);border-color:var(--blue);color:var(--blue);font-size:12px}.btn-share:hover{background:var(--blue);color:#0a101e}.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:var(--player-wrapper-bg);position:relative;min-height:200px}.player-preview-viewport{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.player-preview-stage{position:relative;transform-origin:center center;will-change:transform}.rmp-container{position:relative;width:960px;height:540px;background:var(--player-placeholder-bg);border:1px solid var(--border)}[data-theme=light] .rmp-container,[data-theme=light] .rmp-container.rmp-fullscreen-on{background:var(--player-placeholder-bg)!important}.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}[data-theme=light] .player-state-badge{background:#ffffffdb;border:1px solid var(--border);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.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:var(--right-panel-width);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:var(--bottom-panels-height);display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.resize-handle{position:relative;flex-shrink:0;background:transparent;transition:background var(--transition)}.resize-handle:before{content:"";position:absolute;border-radius:999px;background:var(--border);transition:background var(--transition)}.resize-handle-horizontal{height:var(--resize-handle-size);cursor:row-resize}.resize-handle-horizontal:before{left:20%;right:20%;top:2px;height:2px}.resize-handle-vertical{width:var(--resize-handle-size);cursor:col-resize}.resize-handle-vertical:before{top:20%;bottom:20%;left:2px;width:2px}.resize-handle:hover,.resize-handle.is-active{background:var(--accent-dim)}.resize-handle:hover:before,.resize-handle.is-active:before{background:var(--accent)}body.is-resizing{-webkit-user-select:none;user-select:none}body.is-resizing-horizontal,body.is-resizing-horizontal *{cursor:row-resize!important}body.is-resizing-vertical,body.is-resizing-vertical *{cursor:col-resize!important}.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}.diagnostics-log{flex:1;overflow-y:auto;padding:6px 0;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}.diagnostic-entry{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border)}.diagnostic-severity{width:62px;font-size:10px;font-weight:700;letter-spacing:.4px}.diagnostic-message{flex:1;color:var(--text-primary)}.diagnostic-code{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.diagnostic-entry.severity-error .diagnostic-severity{color:var(--red)}.diagnostic-entry.severity-warning .diagnostic-severity{color:var(--orange)}.diagnostic-entry.severity-info .diagnostic-severity{color:var(--green)}.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){.resize-handle,.api-inspector{display:none}.workflow-bar{flex-direction:column;align-items:flex-start}.env-profiles{overflow-x:auto}.custom-env-header{flex-direction:column;align-items:flex-start;gap:4px}.custom-env-title-wrap{flex-direction:column;align-items:flex-start;gap:2px}.custom-env-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.custom-env-groups,.custom-env-grid.cols-2,.custom-env-grid.cols-3,.custom-env-grid.cols-4{grid-template-columns:1fr}.custom-env-actions{justify-content:flex-start}}
