:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b1020;color:#eef4ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#1d2b55 0,#0b1020 38%,#080b13)}button,input,select{font:inherit}button{border:0;border-radius:14px;padding:10px 14px;background:#27365f;color:#eef4ff;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:700}button:hover{background:#33477b}button:disabled{opacity:.55;cursor:not-allowed}button.danger{background:#5d2632}button.danger:hover{background:#7a3040}button.ghost{background:transparent;border:1px solid rgba(255,255,255,.12)}input,select{width:100%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff;padding:13px 14px;border-radius:14px;outline:none}select option{color:#10131d}code{display:inline-block;padding:8px 10px;border-radius:10px;background:#ffffff14;color:#b9d1ff}.boot{min-height:100vh;display:grid;place-items:center;color:#b9c8e8}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#0d1221d1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.12);padding:34px;border-radius:28px;box-shadow:0 24px 80px #00000061}.login-card h1{margin:14px 0 6px;font-size:28px}.login-card p{margin:0 0 24px;color:#9eb0d4}.login-card button{width:100%;justify-content:center;margin-top:14px}.login-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#4564ff,#2ec4ff)}.error{margin:12px 0;background:#ff4e6e1f;border:1px solid rgba(255,78,110,.32);color:#ffb9c6;padding:10px 12px;border-radius:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}aside{padding:22px;border-right:1px solid rgba(255,255,255,.08);background:#070a1285;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#4564ff,#2ec4ff);font-weight:900}.brand b,.brand span{display:block}.brand span{color:#9eb0d4;font-size:13px}nav{display:grid;gap:8px}nav button{justify-content:flex-start;background:transparent;color:#b9c8e8}nav button.active{background:#ffffff1a;color:#fff}main{padding:28px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}header h1{margin:0;font-size:32px}header p{margin:4px 0 0;color:#8fa2ca}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:#0d1221b8;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:20px;box-shadow:0 20px 60px #00000038;min-width:0}.card-title{display:flex;align-items:center;gap:10px;color:#dbe7ff;font-weight:900;margin-bottom:16px}.big-line{font-size:22px;font-weight:900;margin-bottom:6px;word-break:break-word}.muted{color:#8fa2ca}.row{display:flex;align-items:center;gap:10px;margin:16px 0}.between{justify-content:space-between}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.actions.small{margin-top:0;justify-content:flex-end}.actions.small button{padding:8px 10px;font-size:13px}.pill{border-radius:999px;padding:6px 10px;font-size:13px;font-weight:900;display:inline-flex;align-items:center;white-space:nowrap}.pill.good{background:#3ede9324;color:#9dffd0}.pill.bad{background:#ff4e6e24;color:#ffb9c6}.pill.warn{background:#ffc65724;color:#ffdd91}.stat{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.stat span{color:#8fa2ca}.stat b{text-align:right}.table{display:grid;gap:10px}.tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff0a}.tr b,.tr span{display:block}.tr span{color:#8fa2ca;font-size:13px;word-break:break-all}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar select{max-width:260px}.logs{margin:0;min-height:430px;max-height:62vh;overflow:auto;padding:14px;border-radius:18px;background:#00000061;color:#c7d8ff;font-size:13px;line-height:1.45;white-space:pre-wrap}.toast{position:fixed;right:22px;bottom:22px;max-width:min(440px,calc(100vw - 44px));padding:13px 16px;border-radius:16px;background:#14203df5;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px #00000059;z-index:10}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}aside{position:static;height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}nav{grid-template-columns:repeat(4,1fr)}nav button{justify-content:center}.grid{grid-template-columns:1fr}main{padding:18px}header{align-items:flex-start;flex-direction:column}.tr{grid-template-columns:1fr}.actions.small{justify-content:flex-start}}@media (max-width: 560px){aside{padding:14px}nav{grid-template-columns:repeat(2,1fr)}.brand{margin-bottom:14px}header h1{font-size:26px}.toolbar{flex-direction:column}.toolbar select{max-width:100%}}.scene-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}.scene-grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.active-button{background:linear-gradient(135deg,#4564ff,#2ec4ff)!important;color:#fff}.wide-left{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}.input-row{grid-template-columns:minmax(0,1fr) auto minmax(260px,auto)}@media (max-width: 1100px){.wide-left,.input-row{grid-template-columns:1fr}}@media (max-width: 900px){nav{grid-template-columns:repeat(3,1fr)}}@media (max-width: 560px){nav{grid-template-columns:repeat(2,1fr)}.scene-grid{grid-template-columns:1fr}}.code-line{display:block;width:100%;white-space:pre-wrap;word-break:break-all;margin:8px 0 14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:7px;color:#9eb0d4;font-weight:800}.small-logs{min-height:160px;max-height:260px}h3{margin:18px 0 8px}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}}.toolbar.wrap{flex-wrap:wrap}.toolbar.wrap button{white-space:nowrap}@media (max-width: 560px){.toolbar.wrap button{width:100%;justify-content:center}}.volume-row{display:grid;grid-template-columns:minmax(130px,1fr) 82px;gap:10px;align-items:center;min-width:240px}.volume-row input[type=range]{padding:0;height:32px}.input-row{grid-template-columns:minmax(0,1fr) auto minmax(240px,.8fr) auto}@media (max-width: 1250px){.input-row{grid-template-columns:1fr}.volume-row{min-width:0}}.stat b .pill{vertical-align:middle}pre.logs code,.logs{-moz-tab-size:2;tab-size:2}.scene-editor-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}.scene-editor-layout .card{min-height:0}.scene-preview{width:100%;max-height:420px;object-fit:contain;background:#050812;border:1px solid rgba(255,255,255,.12);border-radius:18px;display:block}.preview-empty{min-height:260px;display:grid;place-items:center;color:#8fa2ca;background:#00000047;border:1px dashed rgba(255,255,255,.18);border-radius:18px}.scene-tools{margin-top:16px}.scene-item-row{cursor:pointer;grid-template-columns:minmax(0,1fr) auto minmax(380px,auto)}.scene-item-row:hover{border-color:#5884ff59;background:#5884ff14}.selected-row{border-color:#2ec4ff8c!important;background:#2ec4ff1a!important}.field-label{display:grid;gap:8px;color:#9eb0d4;font-weight:800;margin:12px 0}textarea{width:100%;min-height:170px;resize:vertical;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff;padding:13px 14px;border-radius:14px;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45}@media (max-width: 1250px){.scene-editor-layout,.scene-item-row{grid-template-columns:1fr}}@media (max-width: 560px){.scene-editor-layout .actions button{width:100%;justify-content:center}}.text-editor-area{min-height:110px;font-family:inherit}.raw-settings{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff09}.raw-settings summary{cursor:pointer;color:#dbe7ff;font-weight:900}.raw-settings textarea{margin-top:12px;min-height:210px}.check-row{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:start;gap:10px!important;min-height:44px}.check-row input[type=checkbox]{width:18px;height:18px}input[type=color]{min-height:42px;padding:4px}.subtabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#0f172a73}.subtabs button{border:1px solid rgba(255,255,255,.1);background:#0f172aa6}.subtabs button.active{background:linear-gradient(135deg,#3b82f6d9,#0ea5e9b3);border-color:#93c5fd8c}.notice.info{border:1px solid rgba(56,189,248,.25);background:#082f4957;color:#dbeafe;padding:12px 14px;border-radius:14px;margin:12px 0}.source-preview-small{width:min(100%,360px);max-height:220px;object-fit:contain;background:#050812;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:8px;margin:10px 0 14px;display:block}input[type=file]{border:1px dashed rgba(255,255,255,.18);background:#ffffff0e;border-radius:14px;padding:12px;color:#dbe7ff}.quick-transform-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 8px}.quick-transform-buttons button{min-width:120px}.live-actions button{min-width:160px;justify-content:center}.live-scene-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:14px}.live-scene-buttons button{justify-content:center;min-height:46px}.compact-table .tr.service-ready-row{grid-template-columns:minmax(0,1fr) auto auto}@media (max-width: 720px){.compact-table .tr.service-ready-row{grid-template-columns:1fr}}.live-control-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(420px,1.28fr);gap:18px;align-items:start}.live-hero{display:grid;gap:18px}.live-start-stop{display:grid;gap:12px}.live-main-button{min-height:58px;justify-content:center;font-size:18px}.live-scene-buttons-large{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.live-scene-buttons-large button{min-height:58px;font-size:16px}.dashboard-service-list{margin-top:12px}@media (max-width: 1050px){.live-control-grid{grid-template-columns:1fr}}.snapshot-preview-wrap{margin-top:12px}.live-snapshot-preview{width:100%;max-height:520px;object-fit:contain;background:#050812;border:1px solid rgba(255,255,255,.12);border-radius:18px;display:block}.preview-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px;color:#8fa2ca;font-size:13px}.inline-field{display:inline-grid;grid-template-columns:auto minmax(120px,150px);gap:8px;align-items:center;color:#9eb0d4;font-weight:800}.inline-field select{min-width:120px}@media (max-width: 560px){.inline-field{width:100%;grid-template-columns:1fr}.inline-field select{max-width:100%}}.projector-frame-wrap{width:100%;aspect-ratio:16 / 9;border:1px solid rgba(148,163,184,.18);border-radius:18px;overflow:hidden;background:#05070b;box-shadow:inset 0 0 0 1px #ffffff08}.projector-frame{display:block;width:100%;height:100%;border:0;background:#05070b}.projector-empty{min-height:220px}.projector-deps{margin-top:8px;color:var(--muted)}
