/* MWSE Studio — desktop-first Miller-column UI */ .mwse-studio { display: flex; flex-direction: column; width: 100%; height: 100%; background: #1a1a1a; color: #d4d4d4; font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; font-size: 13px; overflow: hidden; user-select: none; } /* Top toolbar */ .mwse-studio__toolbar { display: flex; align-items: center; gap: 8px; padding: 6px 12px; background: #111; border-bottom: 1px solid #333; flex-shrink: 0; } .mwse-studio__title { font-weight: 600; color: #fff; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; } .mwse-studio__status { margin-left: auto; font-size: 11px; color: #888; } .mwse-studio__status--online { color: #4caf50; } .mwse-studio__status--error { color: #f44336; } /* Column scroll area */ .mwse-studio__columns { display: flex; flex-direction: row; flex: 1; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: #444 #1a1a1a; } .mwse-studio__columns::-webkit-scrollbar { height: 4px; } .mwse-studio__columns::-webkit-scrollbar-track { background: #1a1a1a; } .mwse-studio__columns::-webkit-scrollbar-thumb { background: #444; border-radius: 2px; } /* Individual column */ .mwse-col { min-width: 220px; max-width: 260px; flex-shrink: 0; display: flex; flex-direction: column; border-right: 1px solid #2e2e2e; background: #1e1e1e; } .mwse-col--active { background: #222; } .mwse-col__header { padding: 8px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #777; border-bottom: 1px solid #2a2a2a; flex-shrink: 0; } /* Search box */ .mwse-col__search { margin: 6px 8px; padding: 4px 8px; background: #2a2a2a; border: 1px solid #383838; border-radius: 4px; color: #d4d4d4; font-size: 12px; outline: none; flex-shrink: 0; } .mwse-col__search:focus { border-color: #0078d4; } /* Item list */ .mwse-col__list { flex: 1; overflow-y: auto; padding: 4px 0; scrollbar-width: thin; scrollbar-color: #333 transparent; } .mwse-col__list::-webkit-scrollbar { width: 4px; } .mwse-col__list::-webkit-scrollbar-thumb { background: #333; border-radius: 2px; } /* Single item */ .mwse-item { display: flex; align-items: center; gap: 8px; padding: 6px 12px; cursor: pointer; border-radius: 0; border-left: 2px solid transparent; transition: background 80ms; } .mwse-item:hover { background: #2a2a2a; } .mwse-item--active { background: #0d3a5a !important; border-left-color: #0078d4; } .mwse-item__icon { font-size: 12px; color: #555; flex-shrink: 0; width: 14px; text-align: center; } .mwse-item--active .mwse-item__icon { color: #60cdff; } .mwse-item__body { flex: 1; min-width: 0; } .mwse-item__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #d0d0d0; font-size: 13px; } .mwse-item--active .mwse-item__label { color: #fff; } .mwse-item__meta { font-size: 11px; color: #666; margin-top: 1px; } .mwse-item--active .mwse-item__meta { color: #4d9fce; } .mwse-item__arrow { font-size: 10px; color: #444; flex-shrink: 0; } .mwse-item--active .mwse-item__arrow { color: #60cdff; } /* Status badges */ .mwse-badge { display: inline-block; padding: 1px 5px; border-radius: 3px; font-size: 10px; font-weight: 600; letter-spacing: .03em; } .mwse-badge--live { background: #d32f2f; color: #fff; } .mwse-badge--ok { background: #2e7d32; color: #fff; } .mwse-badge--ws { background: #333; color: #aaa; } .mwse-badge--p2p { background: #1565c0; color: #fff; } /* Progress bar (file transfer) */ .mwse-progress { margin: 8px 12px; height: 4px; background: #333; border-radius: 2px; } .mwse-progress__bar { height: 100%; background: #0078d4; border-radius: 2px; transition: width 200ms; } /* Action buttons inside columns */ .mwse-col__actions { padding: 8px 12px; border-top: 1px solid #2a2a2a; display: flex; gap: 6px; flex-shrink: 0; } .mwse-btn { flex: 1; padding: 5px 8px; background: #2a2a2a; border: 1px solid #3a3a3a; border-radius: 4px; color: #ccc; font-size: 11px; cursor: pointer; text-align: center; } .mwse-btn:hover { background: #333; color: #fff; } .mwse-btn--primary { background: #0d47a1; border-color: #1565c0; color: #fff; } .mwse-btn--primary:hover { background: #1565c0; } .mwse-btn--danger { background: #4a1a1a; border-color: #7b2020; color: #f88; } .mwse-btn--danger:hover { background: #7b2020; } /* Slider for quality controls */ .mwse-slider-row { display: flex; align-items: center; gap: 8px; padding: 4px 12px; } .mwse-slider-row label { font-size: 11px; color: #888; flex-shrink: 0; width: 64px; } .mwse-slider-row input[type=range] { flex: 1; accent-color: #0078d4; } .mwse-slider-row span { font-size: 11px; color: #bbb; width: 40px; text-align: right; } /* Video preview thumbnail */ .mwse-preview { width: 100%; aspect-ratio: 16/9; background: #111; border-top: 1px solid #2a2a2a; object-fit: contain; }