@font-face{font-family:Inter;src:url(/assets/inter-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gray-50:#f7f7f5;--gray-100:#ecece8;--gray-200:#d9d8cf;--gray-300:#c0c0b1;--gray-400:#a6a391;--gray-500:#94907b;--gray-600:#87826f;--gray-700:#716c5d;--gray-800:#5e594e;--gray-900:#4d4941;--gray-950:#282622;--bg:#fff;--card:#fff;--surface:var(--gray-50);--surface-2:var(--gray-100);--border:var(--gray-200);--border-soft:var(--gray-100);--fg:var(--gray-950);--fg-body:var(--gray-900);--fg-muted:var(--gray-600);--fg-subtle:var(--gray-500);--fg-faint:var(--gray-400);--primary:#333;--primary-fg:#fafafa;--link:#2e5d70;--success:#065f46;--destructive:#b91c1c;--warn:#bd6705;--info:#075985;--ok-icon:#059467;--bad-icon:#dc2828;--bad-bg:#fef1f1;--bad-border:#fec8c8;--bad-fg:#811d1d;--warn-bg:#fffbeb;--warn-border:#fde68b;--warn-fg:#833d07;--badge-alpha:25%;--radius:8px;--shadow:0 1px 2px #0000000d;--font:Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--background:var(--bg);--foreground:var(--fg);--card-foreground:var(--fg);--popover:var(--card);--popover-foreground:var(--fg);--primary-foreground:var(--primary-fg);--secondary:var(--surface);--secondary-foreground:var(--fg);--muted:var(--surface);--muted-foreground:var(--fg-muted);--accent:var(--surface);--accent-foreground:var(--fg);--surface-raised:var(--surface);--input:var(--border);--ring:var(--fg);--line:var(--border);--text:var(--fg)}
*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg-body);font-family:var(--font);margin:0;font-size:14px;line-height:1.45}h1,h2,h3{color:var(--fg);margin:0}h1{font-size:20px;font-weight:600}h2{font-size:15px;font-weight:600}h3{margin:20px 0 8px;font-size:13px;font-weight:600}p{margin:0}a{color:var(--link)}.mono{font-family:var(--font-mono);font-size:12.5px}.wrap{word-break:break-all}.muted{color:var(--fg-muted)}.error{color:var(--bad-fg)}.i{flex:none;width:16px;height:16px}.i.sm{width:14px;height:14px}#app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex:none;width:220px;padding:16px 12px}.side-brand{align-items:center;gap:10px;padding:0 6px 16px;display:flex}.side-brand strong{color:var(--fg);font-size:14px;display:block}.side-brand small{color:var(--fg-muted)}.tile{border-radius:var(--radius);background:var(--primary);width:32px;height:32px;color:var(--primary-fg);justify-content:center;align-items:center;display:inline-flex}.nav{border-radius:var(--radius);color:var(--fg-body);align-items:center;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.nav:hover{background:var(--surface-2)}.nav.active{background:var(--card);color:var(--fg);box-shadow:var(--shadow);font-weight:600}.workspace{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex}.who{align-items:center;gap:16px;display:flex}.who a{color:var(--fg-muted);align-items:center;gap:6px;text-decoration:none;display:inline-flex}main{max-width:1400px;padding:24px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--fg-muted);margin-top:4px}.actions{align-items:center;gap:8px;display:flex}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.card-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.card-head p{color:var(--fg-muted);margin-top:2px}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:14px 16px}.stat-label{color:var(--fg-muted);font-size:12.5px;display:block}.stat strong{color:var(--fg);margin:2px 0;font-size:26px;font-weight:600;display:block}.stat small{color:var(--fg-subtle)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px;display:grid}.grid-2 .card{margin-bottom:0}.grid-2+.card{margin-top:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--fg-muted);background:var(--surface);white-space:nowrap;padding:8px 12px;font-size:12.5px;font-weight:500}td{border-top:1px solid var(--border-soft);white-space:nowrap;padding:9px 12px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface)}.empty{text-align:center;color:var(--fg-muted);padding:28px 16px}.callout{border:1px solid var(--bad-border);border-radius:var(--radius);background:var(--bad-bg);color:var(--bad-fg);gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.state{align-items:center;gap:6px;display:inline-flex}.dot{background:var(--fg-faint);border-radius:50%;width:8px;height:8px}.state.ok .dot{background:var(--ok-icon)}.state.info .dot{background:var(--info)}.state.warn .dot{background:var(--warn)}.state.bad .dot{background:var(--bad-icon)}.badge{background:var(--surface-2);color:var(--fg-body);border-radius:4px;padding:1px 6px;font-size:12px;display:inline-block}.badge.mono{font-family:var(--font-mono)}.labels{flex-wrap:wrap;gap:4px;display:inline-flex}.slots{align-items:center;gap:8px;display:inline-flex}.bar{background:var(--surface-2);border-radius:3px;width:80px;height:6px;display:inline-flex;overflow:hidden}.bar .used{background:var(--info)}.bar .warm{background:var(--ok-icon)}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:32px;color:var(--fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.btn.danger{background:var(--destructive);border-color:var(--destructive);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 85%, #000)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--destructive) 85%, #000);border-color:color-mix(in srgb, var(--destructive) 85%, #000)}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.link.row-link{color:inherit;text-decoration:none}.link.row-link:hover,.link.row-link:focus-visible{text-decoration:underline}.link{color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.filters label{color:var(--fg-muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}input,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:32px;color:var(--fg);font:inherit;min-width:180px;padding:0 10px}.check{align-items:center;gap:6px;display:inline-flex}.check input{min-width:0;height:auto}.pager{border-top:1px solid var(--border-soft);justify-content:flex-end;align-items:center;gap:12px;padding:10px 12px;display:flex}.drawer-overlay{background:#0003;position:fixed;inset:0}.facts{gap:8px;margin:0 0 16px;display:grid}.facts div{grid-template-columns:120px 1fr;gap:12px;display:grid}.facts dt{color:var(--fg-muted)}.facts dd{min-width:0;margin:0}.confirm{border:1px solid var(--bad-border);border-radius:var(--radius);background:var(--bad-bg);gap:10px;padding:12px;display:grid}.timeline{border-left:2px solid var(--border);margin:0;padding:0;list-style:none}.timeline li{padding:4px 0 10px 14px;position:relative}.timeline li:before{content:"";background:var(--fg-faint);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:-5px}.timeline time{color:var(--fg-subtle);font-size:12px;display:block}.signin{justify-content:center;align-items:center;max-width:none;min-height:100vh;display:flex}.signin-card{justify-items:start;gap:12px;width:360px;padding:28px;display:grid}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);gap:12px;width:min(440px,100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:grid;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0000001f}.modal h2{font-size:16px}.form{gap:12px;display:grid}.form label{color:var(--fg-muted);gap:4px;font-size:12.5px;display:grid}.form .actions{justify-content:flex-end}textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--fg);font:inherit;font-family:var(--font-mono);resize:vertical;padding:8px 10px;font-size:12.5px}.live-actions{margin-bottom:12px}.live{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;position:fixed;inset:24px;overflow:hidden;box-shadow:0 8px 32px #00000029}.live-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.live-head h2{font-size:14px}.live-head .actions{margin-left:auto}.live-head .confirm{z-index:1;width:min(340px,100% - 28px);position:absolute;top:52px;right:14px}.live-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.live-mode.driving{background:var(--warn-bg);color:var(--warn-fg)}.live-bar{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;min-height:48px;padding:8px 14px;display:flex}.live-bar input{font-family:var(--font-mono);flex:1;font-size:12.5px}.live-stage{background:var(--gray-950);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.live-stage canvas{background:#fff;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.live-stage canvas.controlled{cursor:default;outline:none}.live-stage canvas.controlled:focus-visible{box-shadow:0 0 0 2px var(--warn)}.live-notice{color:#fff;background:#000000bf;border-radius:6px;max-width:calc(100% - 24px);padding:6px 12px;font-size:12.5px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.live-veil{color:#fff;text-align:center;background:#0000008c;place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:0}.live-note{border-top:1px solid var(--border-soft);padding:8px 14px;font-size:12px}.caret{color:var(--fg-subtle);vertical-align:middle;margin-right:6px;transition:transform .2s;display:inline-flex}.row-open .caret{color:var(--fg);transform:rotate(90deg)}tr.row-open>td,tr.row-detail>td{background:var(--surface)}tr.row-detail>td{white-space:normal;border-top:0;padding:0}.row-detail-body{padding:4px 16px 16px;animation:.22s ease-out row-open}.row-detail-body.pinned{padding-top:12px;animation:none}@keyframes row-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.session-inline-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.session-inline-actions .confirm{max-width:420px}.session-inline-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px;display:grid}.session-inline-main{align-content:start;gap:16px;display:grid}.session-inline-main .facts{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin:0;padding:14px 16px}.session-inline-events{min-height:320px;position:relative}.session-inline-events>.card{flex-direction:column;margin:0;display:flex;position:absolute;inset:0}.session-inline-events .card-body{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 16px;overflow-y:auto}.live-embed{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;display:flex;overflow:hidden}.live-embed .live-stage{aspect-ratio:16/10;max-height:60vh}.live-embed .live-head{position:relative}.live-stage video{background:var(--gray-950);width:100%;height:100%;display:block}.recording-start{color:var(--gray-300);text-align:center;justify-items:center;gap:10px;display:grid}.recording-start .muted{color:inherit;opacity:.8}.recording-empty{aspect-ratio:16/10;border:1px dashed var(--border);border-radius:var(--radius);background:var(--card);max-height:40vh;color:var(--fg-muted);text-align:center;place-items:center;gap:8px;padding:24px;display:grid}.recording-empty .i{width:24px;height:24px}@media (prefers-reduced-motion:reduce){.row-detail-body{animation:none}.caret{transition:none}}@media (max-width:900px){.session-inline-grid{grid-template-columns:minmax(0,1fr)}.session-inline-events{min-height:0}.session-inline-events>.card{max-height:420px;position:static}}@media (max-width:760px){.sidebar{width:64px;padding:16px 8px}.side-brand div,.nav span{display:none}main{padding:16px}.grid-2{grid-template-columns:1fr}}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}
