:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a10;--panel:#121621e0;--panel-2:#ffffff0e;--border:#ffffff1c;--text:#f4f7fb;--muted:#8c94a6;--soft:#c8cedb;--accent:#8f73ff;--cyan:#38d8ff;--good:#43e39a;--warn:#fc6;--bad:#ff6d8d;--radius:14px}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0%, #8f73ff38, transparent 24rem), radial-gradient(circle at 90% 12%, #38d8ff24, transparent 22rem), var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}.shell{width:min(1440px,100% - 24px);margin:0 auto;padding:14px 0 18px}.topbar{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:12px;display:grid}h1{margin:0;font-size:clamp(24px,3vw,38px);line-height:1}.subtitle{color:var(--muted);margin:5px 0 0;font-size:13px}.status-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.layout{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:12px;display:grid}.stack{gap:12px;display:grid}.sanity-strip,.host-strip{border-radius:var(--radius);background:linear-gradient(135deg,#38d8ff1a,#8f73ff11);border:1px solid #38d8ff2e;align-items:start;gap:12px;padding:12px 14px;display:grid}.sanity-strip.offline{background:linear-gradient(135deg,#ff6d8d1a,#38d8ff0e);border-color:#ff6d8d42}.sanity-main{gap:7px;display:grid}.state-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.state-title-row{align-items:center;gap:6px;min-width:0;display:inline-flex}.refresh-icon-btn{color:#c9d0e2d6;cursor:pointer;background:#ffffff14;border:0;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;font-size:11px;line-height:1;transition:background .12s,color .12s,transform .12s;display:inline-grid;position:relative}.refresh-icon-btn:before{content:"";position:absolute;inset:-8px}.refresh-icon-btn:hover{color:var(--text);background:#ffffff21;transform:translateY(-1px)}.sanity-now-playing{text-overflow:ellipsis;max-width:100%;overflow:hidden}.resolume-state-line{color:#c9d0e2ad;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.now-playing-row{grid-template-columns:1fr;justify-content:start;align-items:start;gap:4px;display:grid}.sanity-clock{color:#c9d0e2ad;font-size:11px;font-weight:800}.sanity-chips{flex-wrap:wrap;gap:7px;display:flex}.host-lines{gap:5px;display:grid}.host-lines div{grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.host-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.host-lines strong{min-width:0;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;box-shadow:0 18px 55px #0000004d}.panel-head{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 8px;display:flex}.panel-title{margin:0;font-size:14px}.panel-copy{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.35}.panel-body{padding:0 14px 14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.field{gap:5px;display:grid}.field.full{grid-column:1/-1}label{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}input,select,textarea{width:100%;color:var(--text);background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:8px 10px;transition:border-color .14s,box-shadow .14s,background .14s}input,select{height:36px;line-height:18px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}select option{color:var(--text);background:#151927}textarea{resize:vertical;min-height:56px}input:focus,select:focus,textarea:focus{background:#ffffff1a;border-color:#8f73ff94;box-shadow:0 0 0 3px #8f73ff21}.autosave-note{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:11px;font-weight:800;display:inline-flex}.btn{min-height:34px;color:var(--text);cursor:pointer;border:0;border-radius:999px;padding:8px 12px;font-weight:800;transition:transform .12s,filter .12s}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn:disabled,.btn:disabled:hover{color:#c8cedb61;cursor:not-allowed;filter:none;background:#ffffff0e;transform:none}.btn-primary{background:linear-gradient(135deg, var(--accent), #5a7dff 62%, var(--cyan))}.btn-secondary{background:#ffffff1a}.btn-good{color:#effff7;background:linear-gradient(135deg,#24d07fe0,#1eb88ead);box-shadow:inset 0 0 0 1px #91ffca2e,0 8px 20px #1fbf801f}.btn-stop{color:#fff4f7;background:linear-gradient(135deg,#ff677ae0,#cf4b76b3);box-shadow:inset 0 0 0 1px #ffb2c22e,0 8px 20px #ff5e8021}.btn-danger{color:#ffa0b4;background:#ff6d8d26}.btn-small{min-height:29px;padding:6px 9px;font-size:12px}.icon-btn{border-radius:999px;place-items:center;width:34px;height:34px;min-height:34px;padding:0;font-size:15px;display:inline-grid}.chip{color:var(--soft);white-space:nowrap;background:#fff1;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.chip.good{color:#78efb4;background:#43e39a1a;border-color:#43e39a47}.chip.warn{color:#fd9;background:#ffcc661a;border-color:#ffcc664d}.chip.bad{color:#ffa0b4;background:#ff6d8d1a;border-color:#ff6d8d4d}.chip.neutral{color:#aeb6c6;background:#aeb6c614;border-color:#aeb6c638}.chip.runtime{color:#c7f5ff;background:#38d8ff1a;border-color:#38d8ff42}.toolbar{justify-content:space-between;align-items:center;gap:10px;padding:0 14px 10px;display:flex}.metrics{flex-wrap:wrap;gap:7px;display:flex}.events{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:10px;max-height:560px;padding:0 14px 14px;display:grid;overflow:auto}.event-card{background:linear-gradient(145deg, #ffffff0b, #ffffff05), var(--panel-2);border:1px solid #ffffff13;border-radius:16px;flex-direction:column;justify-content:space-between;gap:8px;min-height:232px;padding:11px;display:flex;overflow:hidden}.event-card.active{background:linear-gradient(145deg,#43e39a1b,#38d8ff0b),#18252ac2;border-color:#43e39a70;box-shadow:inset 0 0 0 1px #43e39a17,0 12px 28px #0d141c33}.event-card:not(.active){background:linear-gradient(145deg,#a4aec20e,#737c9006),#1d212bbd}.event-card:not(.active) .event-name,.event-card:not(.active) .detail-value{color:#b5bdca}.event-card:not(.active) .detail-label{color:#798295}.event-main{min-width:0;overflow:hidden}.event-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:9px;display:grid}.event-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:18px;line-height:1.05;display:-webkit-box;overflow:hidden}.event-switch{cursor:pointer;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;flex:none;width:42px;height:24px;padding:0;transition:background .14s,border-color .14s,box-shadow .14s;position:relative}.event-switch span{background:#aeb6c6;border-radius:999px;width:16px;height:16px;transition:transform .14s,background .14s;position:absolute;top:3px;left:3px;box-shadow:0 2px 8px #00000047}.event-switch.on{background:#43e39a2e;border-color:#43e39a6b;box-shadow:inset 0 0 0 1px #43e39a14}.event-switch.on span{background:#78efb4;transform:translate(18px)}.event-switch:disabled{cursor:not-allowed;opacity:.52}.event-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.event-details{gap:5px;display:grid}.detail-row{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:7px;min-height:20px;display:grid}.detail-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.detail-value{min-width:0;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.detail-value.good{color:#78efb4}.detail-value.warn{color:#fd9}.detail-value.bad{color:#ffa0b4}.detail-value.runtime{color:#c7f5ff}.shuffle-pill{color:#9bd7ff;white-space:nowrap;background:#369cff21;border:1px solid #369cff66;border-radius:999px;align-items:center;max-width:100%;min-height:18px;padding:2px 7px;font-size:10px;font-weight:900;line-height:1.1;display:inline-flex}.event-actions{border-top:1px solid #ffffff14;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto;padding-top:8px;display:grid}.event-actions .icon-btn{width:100%;height:34px}.event-actions .event-trigger-btn{color:#eef8ff;background:linear-gradient(135deg,#369cffe6,#36d8ff9e);font-size:18px;transition:transform 90ms,filter 90ms,background 90ms,box-shadow 90ms,color 90ms;box-shadow:inset 0 0 0 1px #bbe5ff2e,0 8px 20px #369cff21}.event-actions .event-trigger-btn:disabled,.event-actions .event-trigger-btn:disabled:hover,.event-actions .event-trigger-btn:disabled:active{color:#c8cedb61;box-shadow:none;cursor:not-allowed;filter:none;background:#ffffff0e;transform:none}.event-actions .event-trigger-btn i{transition:transform 90ms;transform:scale(1.08)}.event-actions .event-trigger-btn:active,.event-actions .event-trigger-btn.flash{color:#10324d;background:linear-gradient(135deg,#fffffffa,#d5f4ffeb);box-shadow:inset 0 0 0 1px #ffffffb8,0 0 0 3px #ffffff29,0 10px 24px #60cdff29}.event-actions .event-trigger-btn.flash i{transform:scale(1.2)}.event-actions .event-trigger-btn.failed{color:#fff7f5;background:linear-gradient(135deg,#ff6d8deb,#ffba5eb8);box-shadow:inset 0 0 0 1px #ffd1d838,0 0 0 3px #ff6d8d24}.add-event-card{color:#c7f5ff;cursor:pointer;background:#38d8ff0e;border:1px dashed #38d8ff59;justify-content:center;align-items:center;min-height:232px;padding:0;display:flex}.add-event-card i{justify-content:center;align-items:center;width:72px;height:72px;font-size:58px;line-height:1;display:inline-flex}.add-event-card .bi:before{line-height:1;display:block}.event-form-card{aspect-ratio:auto;grid-column:span 2;min-height:auto}.event-form-card .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-form-card .field.wide{grid-column:span 2}.event-form-card .field.full{grid-column:1/-1}.event-form-actions{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.warnings{gap:7px;padding:0 14px 10px;display:grid}.warning{color:#ffe2a3;background:#ffcc6614;border:1px solid #ffcc6642;border-radius:10px;padding:8px 10px;font-size:12px}.terminal{background:#03060dc2;border:1px solid #38d8ff29;border-radius:12px;height:190px;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45;overflow:auto}.log-line{margin:0 0 5px}.log-time{color:#78c6d9}.log-message{color:#e6fbff}.log-filters{flex-wrap:wrap;gap:7px;margin-bottom:9px;display:flex}.filter-chip{min-height:28px;color:var(--soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0e;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.filter-chip input{width:13px;height:13px;accent-color:var(--accent);margin:0}.toast{z-index:5;border:1px solid var(--border);opacity:0;pointer-events:none;background:#121621f5;border-radius:12px;max-width:min(420px,100vw - 28px);padding:10px 12px;transition:opacity .16s,transform .16s;position:fixed;bottom:14px;right:14px;transform:translateY(8px);box-shadow:0 18px 55px #00000059}.toast.visible{opacity:1;transform:translateY(0)}@media (width<=980px){.layout,.topbar{grid-template-columns:1fr}.status-row{justify-content:flex-start}}@media (width<=560px){.shell{width:min(100% - 16px,1440px);padding-top:8px}.form-grid{grid-template-columns:1fr}.events{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.event-form-card{grid-column:1/-1}.event-form-card .form-grid{grid-template-columns:1fr}.event-form-card .field.wide{grid-column:1/-1}.sanity-strip{grid-template-columns:1fr}.host-lines div{grid-template-columns:1fr;gap:2px}.toolbar{flex-direction:column;align-items:stretch}}
