:root{--bg-app:#ededeb;--bg-card:#fff;--bg-soft:#f5f5f3;--bg-hover:#e6e6e2;--bg-sunken:#e4e4e0;--bg-ink:#15181c;--bg-ink-soft:#22262c;--bg-ink-hover:#2c3138;--text-on-ink:#f2f3f4;--text-on-ink-muted:#a0a7af;--text:#15181c;--text-muted:#565d66;--text-faint:#6b727b;--line:#dcdcd8;--line-hair:#e8e8e4;--line-strong:#8f8f8a;--line-ink:#ffffff1a;--live-ink:#0a6c4e;--live-bg:#e2f0ea;--live-line:#9ccbb8;--wait-ink:#1f5fa8;--wait-bg:#e4edf7;--wait-line:#a8c4e2;--warn-ink:#8f5300;--warn-bg:#f7ebda;--warn-line:#ddbe8a;--stop-ink:#a32a24;--stop-bg:#f8e5e4;--stop-line:#e0aaa6;--idle-ink:#5e6469;--idle-bg:#ededeb;--idle-line:#c9c9c4;--focus-ring:#15181c;--focus-ring-on-ink:#fff;--shadow-pop:0 4px 16px #15181c24;--shadow-modal:0 16px 48px #15181c3d;--r-1:2px;--r-2:4px;--r-3:6px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--h-sm:32px;--h-md:38px;--h-lg:46px;--font-base:16px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, "Liberation Mono", monospace;--fs-1:.6875em;--fs-2:.75em;--fs-3:.8125em;--fs-4:.875em;--fs-5:1em;--fs-6:1.25em;--fs-7:1.625em;--fs-8:2.125em;--track-label:.08em;--track-display:-.02em;--t-display:var(--fs-7);--t-title:var(--fs-5);--t-body:var(--fs-4);--t-support:var(--fs-3);--t-label:var(--fs-1);--t-lead:var(--fs-8);--t-metric:var(--fs-6);--t-metric-sm:var(--fs-5);--gap-page:var(--sp-5);--gap-section:var(--sp-4);--gap-item:var(--sp-2);--pad-card:var(--sp-4);--pad-cell:var(--sp-3);--measure:68ch;--w-field-sm:140px;--w-field-md:320px;--w-field-lg:520px;--dur-fast:90ms;--dur-base:.14s;--z-sticky:20;--z-drawer:45;--z-tooltip:50;--z-toast:55;--z-modal:60;--z-popover:65}[data-theme=dark]{--bg-app:#101317;--bg-card:#191d22;--bg-soft:#21262c;--bg-hover:#2a3037;--bg-sunken:#14181c;--bg-ink:#0b0e11;--bg-ink-soft:#171b20;--bg-ink-hover:#232930;--text-on-ink:#e9ecef;--text-on-ink-muted:#99a1aa;--text:#e9ecef;--text-muted:#a3abb4;--text-faint:#868e97;--line:#2c333a;--line-hair:#23292f;--line-strong:#6d757e;--line-ink:#ffffff14;--live-ink:#58c199;--live-bg:#14302a;--live-line:#2f6a56;--wait-ink:#74aeee;--wait-bg:#142639;--wait-line:#2f5b8a;--warn-ink:#e0a862;--warn-bg:#33260f;--warn-line:#7a5a24;--stop-ink:#ef8e88;--stop-bg:#351b1a;--stop-line:#7d3a36;--idle-ink:#99a1aa;--idle-bg:#21262c;--idle-line:#3a4149;--focus-ring:#fff;--focus-ring-on-ink:#fff;--shadow-pop:0 4px 16px #00000080;--shadow-modal:0 16px 48px #0009}[data-fs=lg]{--font-base:18px}[data-fs=xl]{--font-base:20px}[data-density=comfortable]{--h-sm:38px;--h-md:44px;--h-lg:52px}:root,[data-theme=dark]{--border:var(--line);--border-strong:var(--line-strong);--border-focus:var(--focus-ring);--accent:var(--wait-ink);--accent-hover:var(--wait-ink);--accent-soft:var(--wait-bg);--success:var(--live-ink);--success-soft:var(--live-bg);--danger:var(--stop-ink);--danger-soft:var(--stop-bg);--warning:var(--warn-ink);--warning-soft:var(--warn-bg);--info:var(--wait-ink);--info-soft:var(--wait-bg);--bg-sidebar:var(--bg-ink);--bg-sidebar-hover:var(--bg-ink-soft);--bg-sidebar-active:var(--bg-ink-hover);--text-on-dark:var(--text-on-ink);--text-on-dark-muted:var(--text-on-ink-muted);--radius-sm:var(--r-1);--radius:var(--r-2);--radius-lg:var(--r-3);--radius-xl:var(--r-3);--shadow-sm:none;--shadow-md:var(--shadow-pop);--shadow-lg:var(--shadow-modal)}*{box-sizing:border-box}html,body{font-family:var(--font-sans);font-size:var(--font-base);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.5}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}h1,h2,h3,h4,h5{text-wrap:balance;margin:0}h1{font-size:var(--fs-7);letter-spacing:var(--track-display);font-weight:600;line-height:1.2}h2{font-size:var(--fs-6);letter-spacing:var(--track-display);font-weight:600;line-height:1.25}h3{font-size:var(--fs-5);font-weight:600;line-height:1.3}h4,h5{font-size:var(--fs-4);font-weight:600}.label,.stat-label,.sidebar-section-label,.table th,.eyebrow{font-family:var(--font-mono);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--text-muted);font-weight:600;line-height:1.4}.field-label{font-size:var(--fs-3);color:var(--text);font-weight:600;line-height:1.4}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono)}.tabular,.table td.tabular,.table th.tabular{font-variant-numeric:tabular-nums}.prose{max-width:var(--measure);line-height:1.55}.card-body>p,.card-body>.stack>p,.field-hint,.state-detail{max-width:var(--measure)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wrap-anywhere{overflow-wrap:anywhere}.skip-link{left:var(--sp-2);z-index:var(--z-modal);padding:var(--sp-2) var(--sp-4);background:var(--bg-ink);color:var(--text-on-ink);border-radius:var(--r-2);font-size:var(--fs-4);transition:top var(--dur-fast) ease;position:absolute;top:-100px}.skip-link:focus{top:var(--sp-2)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--h-md);padding:0 var(--sp-4);border-radius:var(--r-2);font-size:var(--fs-4);white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;border:1px solid #0000;font-weight:500;display:inline-flex}.btn-lg{height:var(--h-lg);padding:0 var(--sp-6);font-size:var(--fs-5)}.btn-sm{height:var(--h-sm);padding:0 var(--sp-3);font-size:var(--fs-3)}.btn-icon{width:var(--h-md);padding:0}.btn-icon.btn-sm{width:var(--h-sm)}.btn-icon.btn-lg{width:var(--h-lg)}.btn-block{width:100%}.btn-primary{background:var(--bg-ink);color:var(--text-on-ink);border-color:var(--bg-ink)}.btn-primary:hover:not(:disabled){background:var(--bg-ink-hover);border-color:var(--bg-ink-hover)}.btn-secondary{background:var(--bg-card);color:var(--text);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--stop-ink);color:#fff;border-color:var(--stop-ink)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--stop-ink) 84%, #000);border-color:color-mix(in srgb, var(--stop-ink) 84%, #000)}.btn-danger-outline{background:var(--bg-card);color:var(--stop-ink);border-color:var(--stop-line)}.btn-danger-outline:hover:not(:disabled){background:var(--stop-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled,.btn-danger:disabled{opacity:1;background:var(--bg-soft);color:var(--text-faint);border-color:var(--line)}.on-ink .btn-secondary{color:var(--text-on-ink);background:0 0;border-color:#ffffff47}.on-ink .btn-secondary:hover:not(:disabled){background:#ffffff1a}.on-ink .btn-ghost{color:var(--text-on-ink-muted)}.on-ink .btn-ghost:hover:not(:disabled){color:var(--text-on-ink);background:#ffffff14}.on-ink .btn-primary{background:var(--text-on-ink);color:var(--bg-ink);border-color:var(--text-on-ink)}.on-ink .btn-primary:hover:not(:disabled){background:#fff}.input,.select,.textarea{width:100%;min-width:0;height:var(--h-md);padding:0 var(--sp-3);border-radius:var(--r-2);border:1px solid var(--line-strong);background:var(--bg-card);color:var(--text);font-size:var(--fs-4);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;outline:none}.textarea{height:auto;min-height:76px;padding:var(--sp-2) var(--sp-3);resize:vertical;line-height:1.5}.select{background-color:var(--bg-card);color:var(--text)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-soft);color:var(--text-faint);cursor:not-allowed}.field{gap:var(--sp-1);min-width:0;max-width:var(--w-field-md);flex-direction:column;display:flex}.field-sm{max-width:var(--w-field-sm)}.field-lg{max-width:var(--w-field-lg)}.field-full{max-width:none}.field>.textarea{min-width:0}.field:has(>.textarea){max-width:none}:is(.row:has(>.field),.row-wrap:has(>.field),.field-row){align-items:flex-start}.field-row{gap:var(--gap-section);flex-wrap:wrap;display:flex}.field-hint{color:var(--text-muted);font-size:var(--t-support)}.field-error{color:var(--stop-ink);font-size:var(--fs-3);font-weight:500}.field-invalid .input,.field-invalid .textarea,.field-invalid .select{border-color:var(--stop-ink);box-shadow:inset 0 0 0 1px var(--stop-ink)}.check{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-1) 0;cursor:pointer;min-height:24px;display:flex}.check input{width:18px;height:18px;accent-color:var(--text);flex-shrink:0;margin:0}.row{align-items:center;gap:var(--sp-3);display:flex}.col{gap:var(--sp-3);flex-direction:column;display:flex}.row-wrap{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.flex-1{flex:auto;min-width:0}.gap-4{gap:var(--sp-1)}.gap-8{gap:var(--sp-2)}.gap-12{gap:var(--sp-3)}.gap-16{gap:var(--sp-4)}.gap-20{gap:var(--sp-5)}.gap-24{gap:var(--sp-6)}.gap-32{gap:var(--sp-7)}.push-right{margin-left:auto}hr.divider{border:0;border-top:1px solid var(--line);margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3);min-width:0}.card-header{padding:var(--sp-3) var(--pad-card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.card-body{padding:var(--pad-card)}.card-body>.stack{gap:var(--gap-section)}.card-footer{padding:var(--sp-3) var(--pad-card);border-top:1px solid var(--line);background:var(--bg-soft);justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.card-title{font-size:var(--t-title);margin:0;font-weight:600}.card-flush>.card-body{padding:0}.stack{gap:var(--gap-section);flex-direction:column;display:flex}.split-2-1{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}@media (min-width:900px){.split-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.page{padding:var(--sp-6) var(--sp-7);gap:var(--gap-page);flex-direction:column;min-width:0;max-width:1560px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.page-header-text{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.page-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.page-lede{color:var(--text-muted);font-size:var(--t-body);max-width:var(--measure)}.page-back{align-items:center;gap:var(--sp-1);font-size:var(--fs-3);color:var(--text-muted);width:-moz-fit-content;width:fit-content;display:inline-flex}.page-back:hover{color:var(--text)}.table{border-collapse:collapse;width:100%;font-size:var(--fs-4)}.table th{text-align:left;padding:var(--sp-2) var(--pad-cell);border-bottom:1px solid var(--line);background:var(--bg-soft);white-space:nowrap}.table td{padding:var(--pad-cell);border-bottom:1px solid var(--line-hair);vertical-align:middle}.table tbody tr:hover{background:var(--bg-soft)}.table tbody tr:last-child td{border-bottom:0}.table th.tabular,.table td.tabular{text-align:right}.table-sticky thead th{z-index:1;position:sticky;top:0}.table-scroll{max-width:100%;overflow-x:auto}.col-actions{white-space:nowrap;text-align:right;width:1%}td.col-actions>.row,td.col-actions{--row-action-gap:var(--sp-1)}td.col-actions .btn{height:var(--h-sm);padding:0 var(--sp-2);font-size:var(--t-support)}td.col-actions .btn-danger-outline{background:0 0;border-color:#0000}td.col-actions .btn-danger-outline:hover:not(:disabled){border-color:var(--stop-line);background:var(--stop-bg)}.cell-primary{flex-direction:column;gap:2px;min-width:0;display:flex}.cell-id{font-family:var(--font-mono);font-size:var(--fs-2);color:var(--text-muted)}.data-table{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3);flex-direction:column;min-width:0;display:flex;overflow:hidden}.table-toolbar{align-items:center;gap:var(--gap-item);padding:var(--sp-3) var(--pad-card);border-bottom:1px solid var(--line);background:var(--bg-soft);flex-wrap:wrap;display:flex}.data-table>.state-panel,.data-table>.skeleton-table{padding:var(--sp-7) var(--pad-card);text-align:center;background:0 0;border:0;border-radius:0;align-items:center}.data-table>.state-panel.state-error{text-align:left;background:var(--stop-bg);align-items:flex-start}.data-table>.row-cards{padding:var(--pad-card);gap:var(--gap-item)}.table-toolbar .input,.table-toolbar .select{width:auto;min-width:180px;max-width:100%}.table-toolbar .input[type=search],.table-toolbar .input-grow{min-width:220px;max-width:var(--w-field-lg);flex:260px}.table-pager{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--t-support);padding:var(--sp-2) var(--pad-card);border-top:1px solid var(--line);background:var(--bg-soft);flex-wrap:wrap;display:flex}.row-cards{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row-card{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-card);padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.row-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.row-card-title{font-weight:600;font-size:var(--fs-5);overflow-wrap:anywhere;min-width:0}.row-card-actions{gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.row-card-fields{gap:var(--sp-1);font-size:var(--fs-4);flex-direction:column;margin:0;display:flex}.row-card-field{justify-content:space-between;align-items:baseline;gap:var(--sp-3);min-width:0;display:flex}.row-card-field dt{color:var(--text-muted);flex-shrink:0}.row-card-field dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.lamp{background:currentColor;border-radius:1px;flex-shrink:0;width:10px;height:10px;display:inline-block}.lamp-hatch{background-image:repeating-linear-gradient(45deg,#0000 0 2px,#0000008c 2px 4px)}.dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.badge{align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--r-1);border:1px solid var(--idle-line);background:var(--idle-bg);color:var(--idle-ink);font-size:var(--fs-2);white-space:nowrap;max-width:100%;font-weight:500;line-height:1.6;display:inline-flex}.badge-live,.badge-success{border-color:var(--live-line);background:var(--live-bg);color:var(--live-ink)}.badge-wait,.badge-info,.badge-accent{border-color:var(--wait-line);background:var(--wait-bg);color:var(--wait-ink)}.badge-warn,.badge-warning{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-ink)}.badge-stop,.badge-danger{border-color:var(--stop-line);background:var(--stop-bg);color:var(--stop-ink)}.badge-idle,.badge-muted{border-color:var(--idle-line);background:var(--idle-bg);color:var(--idle-ink)}.badge-count{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;padding:1px var(--sp-2);background:var(--bg-soft);border-color:var(--line);color:var(--text-muted)}.op-state{align-items:center;gap:var(--sp-2);padding:3px var(--sp-2);border-radius:var(--r-1);border:1px solid var(--idle-line);background:var(--idle-bg);color:var(--idle-ink);font-size:var(--fs-3);font-weight:500;display:inline-flex}.op-state.online{border-color:var(--live-line);background:var(--live-bg);color:var(--live-ink)}.op-state.call{border-color:var(--wait-line);background:var(--wait-bg);color:var(--wait-ink)}.op-state.pause{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-ink)}.op-state.processing{border-color:var(--wait-line);background:var(--wait-bg);color:var(--wait-ink)}.op-state.offline{border-color:var(--idle-line);background:var(--idle-bg);color:var(--idle-ink)}.kbd{min-width:18px;padding:1px var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-2);text-align:center;background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--text-muted);border-bottom-width:2px;display:inline-block}.alert{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg-soft);font-size:var(--fs-4);border-left-width:3px;min-width:0;display:flex}.alert>svg,.attention-list li>svg,.ws-panel>.alert>svg{flex-shrink:0;margin-top:2px}.alert-body{overflow-wrap:anywhere;flex:1;min-width:0}.alert-error{border-color:var(--stop-line);border-left-color:var(--stop-ink);background:var(--stop-bg);color:var(--stop-ink)}.alert-warn{border-color:var(--warn-line);border-left-color:var(--warn-ink);background:var(--warn-bg);color:var(--warn-ink)}.alert-info{border-color:var(--wait-line);border-left-color:var(--wait-ink);background:var(--wait-bg);color:var(--wait-ink)}.alert-live{border-color:var(--live-line);border-left-color:var(--live-ink);background:var(--live-bg);color:var(--live-ink)}.alert details summary{cursor:pointer;font-size:var(--fs-3);margin-top:var(--sp-1)}.alert code{font-size:var(--fs-3);overflow-wrap:anywhere}.app{grid-template-columns:232px minmax(0,1fr);height:100dvh;display:grid;position:relative;overflow:hidden}.sidebar{background:var(--bg-ink);color:var(--text-on-ink);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar-header{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line-ink);align-items:center;gap:var(--sp-2);min-width:0;display:flex}.sidebar-logo{border-radius:var(--r-1);background:var(--text-on-ink);width:28px;height:28px;color:var(--bg-ink);font-family:var(--font-mono);font-weight:700;font-size:var(--fs-2);letter-spacing:.02em;flex-shrink:0;place-items:center;display:grid}.sidebar-id{flex-direction:column;min-width:0;display:flex}.sidebar-name{font-weight:600;font-size:var(--fs-4);letter-spacing:.01em}.sidebar-sub{font-family:var(--font-mono);font-size:var(--fs-2);color:var(--text-on-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-nav{padding:var(--sp-2);flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow-y:auto}.sidebar-section-label{color:var(--text-on-ink-muted);padding:var(--sp-4) var(--sp-2) var(--sp-1)}.nav-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2);border-radius:var(--r-2);color:var(--text-on-ink);font-size:var(--fs-4);min-height:36px;transition:background-color var(--dur-fast) ease;border-left:2px solid #0000;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-ink-soft)}.nav-item.active{background:var(--bg-ink-hover);border-left-color:var(--text-on-ink);font-weight:600}.nav-icon{width:18px;height:18px;color:var(--text-on-ink-muted);flex-shrink:0;place-items:center;display:grid}.nav-item.active .nav-icon{color:var(--text-on-ink)}.nav-badge{font-family:var(--font-mono);font-size:var(--fs-2);padding:1px var(--sp-1);border-radius:var(--r-1);color:var(--text-on-ink-muted);background:#ffffff1a;margin-left:auto}.sidebar-footer{padding:var(--sp-2);border-top:1px solid var(--line-ink);flex-shrink:0}.user-chip{align-items:center;gap:var(--sp-2);padding:var(--sp-2);min-width:0;display:flex}.user-chip:hover{cursor:default;background:0 0}.user-chip-text{flex-direction:column;min-width:0;display:flex}.user-chip-name{font-size:var(--fs-3);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.user-chip-role{font-size:var(--fs-2);color:var(--text-on-ink-muted)}.avatar{border-radius:var(--r-1);background:var(--bg-ink-hover);border:1px solid var(--line-ink);width:30px;height:30px;color:var(--text-on-ink);font-family:var(--font-mono);font-weight:600;font-size:var(--fs-2);flex-shrink:0;place-items:center;display:grid}.logout-confirmation{gap:var(--sp-2);padding:var(--sp-2);margin-top:var(--sp-1);border-radius:var(--r-2);background:var(--bg-ink-soft);font-size:var(--fs-3);color:var(--text-on-ink);display:grid}.logout-confirmation-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.logout-confirmation-actions>.btn{flex:90px}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{background:var(--bg-card);border-bottom:1px solid var(--line);min-height:52px;padding:0 var(--sp-5);align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.crumbs{align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:flex}.crumb{color:var(--text-muted);font-size:var(--fs-3)}.crumb-current{color:var(--text);font-weight:500}.main-scroll{flex:1;min-height:0;position:relative;overflow-y:auto}.nav-toggle,.drawer-scrim{display:none}.ws-grid{background:var(--bg-app);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;height:100%;display:grid}.ws-panes{grid-template-columns:minmax(320px,420px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.ws-left{padding:var(--sp-5);gap:var(--sp-4);border-right:1px solid var(--line);flex-direction:column;min-width:0;display:flex;overflow-y:auto}.ws-right{background:var(--bg-card);flex-direction:column;min-width:0;display:flex;overflow-y:auto}.annunciator{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);background:var(--bg-ink);color:var(--text-on-ink);border-bottom:3px solid var(--idle-ink);grid-template-columns:minmax(0,1fr) auto;min-height:68px;display:grid}.annunciator[data-lamp=live]{border-bottom-color:var(--live-ink)}.annunciator[data-lamp=wait]{border-bottom-color:var(--wait-ink)}.annunciator[data-lamp=warn]{border-bottom-color:var(--warn-ink)}.annunciator[data-lamp=stop]{border-bottom-color:var(--stop-ink)}.annunciator[data-lamp=idle]{border-bottom-color:var(--idle-ink)}.annunciator-state{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.annunciator-lamp{border-radius:1px;flex-shrink:0;width:14px;height:14px}.annunciator[data-lamp=live] .annunciator-lamp{background:var(--live-ink)}.annunciator[data-lamp=wait] .annunciator-lamp{background:var(--wait-ink)}.annunciator[data-lamp=warn] .annunciator-lamp{background:var(--warn-ink)}.annunciator[data-lamp=stop] .annunciator-lamp{background:var(--stop-ink)}.annunciator[data-lamp=idle] .annunciator-lamp{background:var(--idle-ink)}.annunciator[data-pulse=true] .annunciator-lamp{animation:2s ease-in-out infinite lamp-breathe}@keyframes lamp-breathe{0%,to{opacity:1}50%{opacity:.45}}.annunciator-word{font-family:var(--font-mono);font-size:var(--fs-5);text-transform:uppercase;letter-spacing:var(--track-label);white-space:nowrap;font-weight:700}.annunciator-timer{font-family:var(--font-mono);font-size:var(--fs-6);font-variant-numeric:tabular-nums;color:var(--text-on-ink)}.annunciator-detail{font-size:var(--fs-3);color:var(--text-on-ink-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.annunciator-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.ws-manual-dial{align-items:center;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ws-manual-dial .input{background:var(--bg-card);width:15rem;max-width:100%;color:var(--text);min-height:44px}.ws-manual-dial .input[aria-invalid=true]{border-color:var(--stop-ink);outline:2px solid var(--stop-ink);outline-offset:-2px}.ws-manual-error{text-align:right;color:var(--stop-ink);font-size:var(--t-support);background:var(--bg-card);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);flex-basis:100%}.ws-panel{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.ws-panel details summary{cursor:pointer;font-size:var(--fs-3);color:var(--text-muted)}.ws-panel-title{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.def-list{gap:var(--sp-2) var(--sp-3);font-size:var(--fs-4);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.def-list dt{color:var(--text-muted);white-space:nowrap}.def-list dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.def-list dd.tabular{font-variant-numeric:tabular-nums}.call-phone{font-family:var(--font-mono);font-size:var(--fs-6);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.ws-audio-blocked{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--warn-line);font-size:var(--fs-4);flex-wrap:wrap;display:flex}.status-list{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.status-btn{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-left:3px solid var(--idle-ink);border-radius:var(--r-2);background:var(--bg-card);min-height:48px;color:var(--text);font-size:var(--fs-4);text-align:left;transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;font-weight:500;display:flex}.status-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text)}.status-btn .status-btn-icon{flex-shrink:0;place-items:center;display:grid}.status-btn.success{border-left-color:var(--live-ink)}.status-btn.success .status-btn-icon{color:var(--live-ink)}.status-btn.danger{border-left-color:var(--stop-ink)}.status-btn.danger .status-btn-icon{color:var(--stop-ink)}.status-btn.warning{border-left-color:var(--warn-ink)}.status-btn.warning .status-btn-icon{color:var(--warn-ink)}.status-btn.info{border-left-color:var(--wait-ink)}.status-btn.info .status-btn-icon{color:var(--wait-ink)}.status-btn.muted{border-left-color:var(--idle-ink)}.status-btn.muted .status-btn-icon{color:var(--idle-ink)}.status-btn.status-primary{background:var(--bg-ink);color:var(--text-on-ink);border-color:var(--bg-ink);border-left-color:var(--live-ink);grid-column:1/-1;font-weight:600}.status-btn.status-primary:hover:not(:disabled){background:var(--bg-ink-hover);border-color:var(--bg-ink-hover);border-left-color:var(--live-ink)}.status-btn.status-primary .status-btn-icon{color:var(--live-ink)}.status-btn:disabled{opacity:.45;cursor:not-allowed}.q-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);background:var(--bg-soft);flex-shrink:0}.q-subhead{padding:var(--sp-2) var(--sp-5);border-bottom:1px solid var(--line);flex-shrink:0}.q-progress{background:var(--line);border-radius:var(--r-1);height:4px;margin-top:var(--sp-2);overflow:hidden}.q-progress-fill{background:var(--text);height:100%;transition:width var(--dur-base) ease}.q-body{padding:var(--sp-5);flex:1;min-height:0;overflow-y:auto}.q-question{font-size:var(--fs-6);margin-bottom:var(--sp-3);text-wrap:pretty;font-weight:500;line-height:1.35}.q-script{border-left:3px solid var(--wait-ink);background:var(--wait-bg);padding:var(--sp-3) var(--sp-4);border-radius:0 var(--r-2) var(--r-2) 0;font-size:var(--fs-5);margin:var(--sp-3) 0 var(--sp-4);color:var(--text);line-height:1.5}.q-script-label{font-family:var(--font-mono);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--wait-ink);margin-bottom:var(--sp-1);font-weight:600}.q-note{border-left:3px dashed var(--border);background:var(--bg-soft);padding:var(--sp-2) var(--sp-4);border-radius:0 var(--r-2) var(--r-2) 0;font-size:var(--fs-3);margin:var(--sp-2) 0 var(--sp-4);color:var(--text-muted);line-height:1.45}.q-note-label{font-family:var(--font-mono);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--text-muted);margin-bottom:var(--sp-1);font-weight:600}.q-inputs{gap:var(--sp-3);flex-direction:column;display:flex}.q-input-row{gap:var(--sp-1);flex-direction:column;display:flex}.q-input-label{font-size:var(--fs-2);color:var(--text-muted)}.q-options{gap:var(--sp-2);flex-direction:column;display:flex}.q-option{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-2);cursor:pointer;background:var(--bg-card);min-height:48px;color:var(--text);font-size:var(--fs-5);text-align:left;width:100%;transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease;display:flex}.q-option:hover{border-color:var(--text);background:var(--bg-hover)}.q-option.selected{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);background:var(--bg-soft);font-weight:600}.q-option-key{font-family:var(--font-mono);font-size:var(--fs-3);color:var(--text-muted);text-align:center;flex-shrink:0;min-width:20px}.q-option.selected .q-option-key{color:var(--text)}.q-option-text{overflow-wrap:anywhere;flex:1;min-width:0}.q-radio{border:2px solid var(--line-strong);border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.q-option.selected .q-radio{border-color:var(--text)}.q-option.selected .q-radio:after{content:"";background:var(--text);border-radius:50%;width:8px;height:8px}.q-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);background:var(--bg-soft);justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;display:flex}.q-shortcut-hint{align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);font-size:var(--fs-3);color:var(--text-muted);flex-wrap:wrap;display:flex}.verify-list{border:1px solid var(--line);border-radius:var(--r-3);margin:0;padding:0;list-style:none;overflow:hidden}.verify-row{align-items:baseline;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--line);background:var(--bg-card);grid-template-columns:auto minmax(0,1fr) minmax(0,14rem);display:grid}.verify-row:last-child{border-bottom:0}.verify-row.missing{background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn-ink)}.verify-index{white-space:nowrap}.verify-question{overflow-wrap:anywhere;min-width:0}.verify-answer{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}@media (max-width:899px){.verify-row{grid-template-columns:minmax(0,1fr)}.verify-answer{text-align:left}}.modal-backdrop{z-index:var(--z-modal);padding:var(--sp-4);overscroll-behavior:contain;background:#15181c8c;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-modal);flex-direction:column;width:100%;max-width:560px;max-height:min(90vh,900px);display:flex;overflow:hidden}.modal-header{padding:var(--sp-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.modal-body{padding:var(--sp-4);overscroll-behavior:contain;overflow-y:auto}.modal-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);justify-content:flex-end;gap:var(--sp-2);background:var(--bg-soft);flex-wrap:wrap;display:flex}.toast-viewport{right:var(--sp-4);bottom:var(--sp-4);z-index:var(--z-toast);gap:var(--sp-2);max-width:min(420px, calc(100vw - 2 * var(--sp-4)));padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-2);border:1px solid var(--line);background:var(--bg-card);box-shadow:var(--shadow-pop);font-size:var(--fs-4);border-left-width:3px;display:flex}.toast-message{overflow-wrap:anywhere;flex:1;min-width:0}.toast-success{border-left-color:var(--live-ink)}.toast-error{border-left-color:var(--stop-ink)}.toast-info{border-left-color:var(--wait-ink)}.state-panel{align-items:flex-start;gap:var(--gap-item);padding:var(--sp-6);border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--bg-soft);flex-direction:column;display:flex}.card-body>.state-panel,.card-body>*>.state-panel{padding:var(--sp-6) 0;text-align:center;background:0 0;border:0;border-radius:0;align-items:center}.card-body>.state-panel.state-error,.card-body>*>.state-panel.state-error{text-align:left;padding:var(--pad-card);background:var(--stop-bg);border-left:3px solid var(--stop-ink);border-radius:var(--r-2);align-items:flex-start}.state-error{border-style:solid;border-color:var(--stop-line);border-left:3px solid var(--stop-ink);background:var(--stop-bg)}.state-title{font-weight:600;font-size:var(--fs-5)}.state-detail{color:var(--text-muted);max-width:72ch;margin:0}.state-error .state-detail{color:var(--stop-ink)}.state-truncated{margin:var(--sp-2) 0 0;color:var(--text-muted);font-size:var(--fs-3)}.skeleton-table{gap:var(--sp-2);padding:var(--sp-3) 0;flex-direction:column;display:flex}.skeleton-row{gap:var(--sp-3);display:flex}.skeleton-cell{border-radius:var(--r-1);background:var(--bg-sunken);flex:1;height:12px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-block{border-radius:var(--r-2);background:var(--bg-sunken);height:56px;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.stat-grid{--stat-cols:var(--stat-cols-sm,2);flex-wrap:wrap;min-width:0;display:flex}@media (min-width:768px){.stat-grid{--stat-cols:var(--stat-cols-md,3)}}@media (min-width:1200px){.stat-grid{--stat-cols:var(--stat-cols-lg,4)}}.stat-grid>.stat{flex:1 1 max(var(--stat-min,150px), calc(100% / var(--stat-cols) - .02px));min-width:0}.stat-grid-strip{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden}.stat-grid-strip>.stat{border-right:1px solid var(--line-hair);border-bottom:1px solid var(--line-hair)}.stat-grid-cards{gap:var(--gap-item)}.stat-grid-cards>.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-3)}.stat{padding:var(--sp-3) var(--sp-4);gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.stat>.stat-label{display:block}.stat>.stat-value{margin-top:auto}.stat-value{font-size:var(--t-metric);font-variant-numeric:tabular-nums;letter-spacing:var(--track-display);overflow-wrap:anywhere;min-width:0;font-weight:600;line-height:1.15}.stat[data-emphasis=lead] .stat-value{font-size:var(--t-lead)}.stat[data-emphasis=dense] .stat-value{font-size:var(--t-metric-sm)}.stat[data-tone=live] .stat-value{color:var(--live-ink)}.stat[data-tone=wait] .stat-value{color:var(--wait-ink)}.stat[data-tone=warn] .stat-value{color:var(--warn-ink)}.stat[data-tone=stop] .stat-value{color:var(--stop-ink)}.stat[data-tone=idle] .stat-value{color:var(--idle-ink)}.stat-sub{font-size:var(--t-support);color:var(--text-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}@media (max-width:700px){.stat-grid>.stat[data-emphasis=lead]{flex-basis:100%}}.attention-list{margin:0;padding:0;list-style:none}.attention-list li{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--pad-card);border-bottom:1px solid var(--warn-line);color:var(--warn-ink);background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn-ink);display:flex}.attention-list li:last-child{border-bottom:0}.attention-list li>.flex-1{color:var(--text);overflow-wrap:anywhere}.attention-list li>.btn{flex-shrink:0}.split-even{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}@media (min-width:900px){.split-even{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-track{height:4px;margin-top:var(--sp-1);border-radius:var(--r-1);background:var(--bg-sunken);display:block;overflow:hidden}.progress-fill{background:var(--text);height:100%;display:block}.progress-fill.live{background:var(--live-ink)}.progress-fill.warn{background:var(--warn-ink)}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.tab{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-4);color:var(--text-muted);white-space:nowrap;transition:color var(--dur-fast) ease;background:0 0;border-bottom:2px solid #0000}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:600}.seg{background:var(--bg-soft);border-radius:var(--r-2);border:1px solid var(--line);padding:2px;display:inline-flex}.seg-item{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-1);font-size:var(--fs-3);color:var(--text-muted);white-space:nowrap;background:0 0}.seg-item.active{background:var(--bg-card);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:600}.input-scalar{flex:none;width:auto;max-width:12rem}.numbered-list{counter-reset:q;gap:var(--gap-section);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.numbered-list>li{counter-increment:q;gap:var(--sp-3);grid-template-columns:2rem minmax(0,1fr);min-width:0;display:grid}.numbered-list>li:before{content:counter(q);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:var(--track-label);color:var(--text-muted);text-align:right;padding-top:.35em;font-weight:600}.answer-list{gap:var(--sp-1);flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.answer-list>li{overflow-wrap:anywhere;min-width:0}.answer-list-numbered{padding-left:1.5rem;list-style:decimal}.input-sm{max-width:var(--w-field-sm)}.input-md{max-width:var(--w-field-md)}.input-lg{max-width:var(--w-field-lg)}.record-list{flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.record-list>li{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;flex-wrap:wrap;min-width:0;display:flex}.record-list>li+li{border-top:1px solid var(--line-hair)}.record-list>li>.record-name{overflow-wrap:anywhere;flex:12rem;min-width:0}.kv-grid{gap:var(--gap-section) var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));min-width:0;margin:0;display:grid}.kv-grid>div{flex-direction:column;gap:2px;min-width:0;display:flex}.kv-grid dt{font-family:var(--font-mono);font-size:var(--t-label);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--text-muted);font-weight:600}.kv-grid dd{overflow-wrap:anywhere;min-width:0;margin:0}.settings-group{flex-direction:column;display:flex}.settings-group>.setting-row+.setting-row{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line-hair)}.sys-row{justify-content:space-between;align-items:baseline;gap:var(--sp-1) var(--sp-4);padding:var(--sp-1) 0;flex-wrap:wrap;min-width:0;display:flex}.sys-row dt{color:var(--text-muted);flex:0 auto}.sys-row dd{text-align:right;overflow-wrap:break-word;flex:auto;min-width:0;margin:0}.question-card{border:1px solid var(--line);border-radius:var(--r-3);padding:var(--sp-4);gap:var(--sp-3);background:var(--bg-card);flex-direction:column;min-width:0;display:flex}.question-card-header{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.question-index{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:600}.option-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.branch-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-2);background:var(--bg-soft);flex-wrap:wrap;display:flex}.editor-issues{border:1px solid var(--stop-line);border-left:3px solid var(--stop-ink);background:var(--stop-bg);color:var(--stop-ink);border-radius:var(--r-2);padding:var(--sp-3) var(--sp-4)}.editor-issues ul{margin:var(--sp-2) 0 0;padding-left:var(--sp-5)}.login-screen{min-height:100dvh;padding:var(--sp-6);background:var(--bg-app);place-items:center;display:grid}.login-card{gap:var(--sp-5);flex-direction:column;width:100%;max-width:420px;display:flex}.login-mark{align-items:center;gap:var(--sp-3);display:flex}.login-mark .sidebar-logo{background:var(--bg-ink);color:var(--text-on-ink);width:34px;height:34px;font-size:var(--fs-3)}.login-form{gap:var(--sp-4);flex-direction:column;display:flex}.login-foot{font-size:var(--fs-3);color:var(--text-muted);border-top:1px solid var(--line);padding-top:var(--sp-3)}@media (max-width:1023px){.table-toolbar>.input,.table-toolbar>.select{flex:100%}.page{padding:var(--sp-4) var(--sp-4)}.ws-panes{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}.ws-left{border-right:0;border-top:1px solid var(--line);order:2;overflow:visible}.ws-right{order:1;overflow:visible}}@media (max-width:899px){.app{grid-template-columns:minmax(0,1fr)}.nav-toggle{display:inline-flex}.sidebar{width:min(288px,86vw);z-index:var(--z-drawer);transition:transform var(--dur-base) ease;box-shadow:var(--shadow-modal);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar[data-open=true]{transform:translate(0)}.drawer-scrim{z-index:calc(var(--z-drawer) - 1);background:#15181c80;display:block;position:fixed;inset:0}.topbar{padding:0 var(--sp-3)}.annunciator{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);z-index:var(--z-sticky);grid-template-columns:minmax(0,1fr);position:sticky;top:0}.annunciator-actions{justify-content:stretch}.annunciator-actions>.btn{flex:auto}.ws-manual-dial{justify-content:stretch;width:100%}.ws-manual-dial .input{flex:100%;width:auto}.ws-manual-dial>.btn{flex:auto}.ws-manual-error{text-align:left}.ws-left,.q-body{padding:var(--sp-4)}.q-header,.q-subhead,.q-footer{padding-left:var(--sp-4);padding-right:var(--sp-4)}.q-footer{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px));position:sticky;bottom:0}.status-list{grid-template-columns:minmax(0,1fr)}.modal{max-height:min(92dvh,900px)}}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,details:focus-visible,label:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sidebar button:focus-visible,.sidebar a:focus-visible,.annunciator button:focus-visible,.annunciator a:focus-visible,.on-ink button:focus-visible,.on-ink a:focus-visible{outline-color:var(--focus-ring-on-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ws-diagnostics{padding:var(--sp-2) var(--sp-5);border-top:1px solid var(--line);background:var(--bg-soft);font-size:var(--t-support);color:var(--text-muted);grid-column:1/-1}.ws-diagnostics>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.ws-diagnostics-grid{gap:var(--sp-2) var(--sp-4);padding-block:var(--sp-2);flex-wrap:wrap;display:flex}.ws-diagnostics pre{max-width:100%;font-size:var(--fs-2);overflow-x:auto}.ws-line-status{gap:var(--sp-1);flex-direction:column;margin:0;display:flex}.ws-line-status-label{font-weight:500}.ws-line-status-remedy{color:var(--text-muted);font-size:var(--fs-3)}.tour-root{z-index:var(--z-modal);pointer-events:none;position:fixed;inset:0}.tour-scrim,.tour-spotlight{border-radius:var(--r-2);position:fixed}.tour-scrim{background:#15181c73;inset:0}.tour-spotlight{outline:2px solid var(--focus-ring);outline-offset:0;box-shadow:0 0 0 9999px #15181c73}.tour-card{pointer-events:auto;background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--r-3);width:min(380px,100vw - 32px);box-shadow:var(--shadow-modal);padding:var(--sp-4,16px);gap:var(--sp-2);flex-direction:column;display:flex;position:fixed}.tour-card-centred{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.tour-card-title{font-size:var(--fs-5,1rem);margin:0;line-height:1.3}.tour-card-body{color:var(--text-muted);margin:0;line-height:1.5}.tour-card-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.hint{align-items:baseline;gap:var(--sp-1);display:inline-flex}.hint-trigger{appearance:none;border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text-muted);width:18px;height:18px;line-height:1;font-size:var(--fs-2);cursor:pointer;border-radius:50%;padding:0}.hint-trigger:hover{background:var(--bg-hover)}.hint-body{margin-top:var(--sp-1);padding:var(--sp-2);border-left:2px solid var(--line-strong);background:var(--bg-soft);color:var(--text-muted);font-size:var(--fs-3,.8125rem);line-height:1.5;display:block}.guide{max-width:78ch}.guide h2{margin-top:var(--sp-5,20px)}.guide section+section{border-top:1px solid var(--line-hair);padding-top:var(--sp-4,16px)}.guide dt{margin-top:var(--sp-2);font-weight:600}.guide dd{margin:0 0 var(--sp-2) 0;color:var(--text-muted)}@media print{.app>.sidebar,.app aside,.topbar,.skip-link,.tour-root,.guide-noprint{display:none!important}.main,.app,.guide details{display:block!important}.guide details>summary{font-weight:600;list-style:none}.guide .hint-body{display:block!important}.guide,.guide *{color:#000!important;background:0 0!important}.guide section{break-inside:avoid}}
