/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.pw-frame{display:flex;flex-direction:column;height:min(840px,calc(100vh - 130px));min-height:0}.pw-frame>.split,.pw-frame>.board{flex:1;grid-template-rows:minmax(0,1fr)}.pw-body{flex:1;min-height:0;overflow:auto;padding:16px 18px}.pw-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);flex:none}.pw-toolbar select{width:auto;min-width:170px;max-width:260px}.pw-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.pw-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pw-inline-select{width:auto;min-height:26px;padding:2px 8px}.pw-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:24px;padding:0 8px;border-radius:7px;border:1px solid var(--line-strong);background:#ffffff0d;font-size:12px;cursor:pointer}.pw-chip:hover{border-color:#6ea8ff99;background:#6ea8ff1f}.pw-chip:focus-visible,.pw-list-btn:focus-visible,.tcard:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pw-list-btn{width:100%;background:none;text-align:left}.pw-picklist{display:flex;flex-direction:column;gap:4px;max-height:168px;overflow:auto;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#0f141d}.pw-dim{opacity:.55}.pw-error{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,93,115,.5);background:#ff5d731a;color:#ff9aa9;white-space:pre-wrap;word-break:break-word}.pw-note{padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);font-size:12px}.pw-warn{border-color:#ffb02073;background:#ffb02014;color:#ffd27a}.pw-diff{max-height:none}.pw-diff>div{min-height:1.45em}.pw-doc{white-space:pre-wrap;word-break:break-word;max-height:none}.pw-steps{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.pw-step{padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--faint);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pw-step-done{color:#7ff0b0;border-color:#3ddc8466}.pw-step-on{color:#cfe2ff;border-color:var(--accent);background:#6ea8ff2e}.pw-timeline{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:6px 12px;align-items:baseline}.pw-chip>.truncate{min-width:0}.pc-tabbody{flex:1;min-height:0;height:min(660px,calc(100vh - 170px));overflow:auto;padding:16px 18px}.pc-fixed{height:min(700px,calc(100vh - 120px));min-height:0}.pc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.pc-toolbar select,.pc-toolbar input:not([type]){width:auto;min-width:150px}.pc-toolbar .pc-search{flex:1;min-width:180px}.pc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.pc-dim{opacity:.45}.pc-right{text-align:right}.pc-nowrap{white-space:nowrap}.pc-cell-main{min-width:0;max-width:260px}.pc-level{display:flex;flex-direction:column;gap:3px;min-width:96px}.pc-rowbtn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:9px;border:1px solid transparent;background:none;text-align:left;cursor:pointer;min-width:0}.pc-rowbtn:hover:not(:disabled){background:#ffffff0d}.pc-rowbtn:focus-visible,.pc-cardbtn:focus-visible,.tbl tr.tbl-click:focus-visible,.pc-key:focus-visible,.pc-map [role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pc-rowbtn:disabled{cursor:default}.pc-cardbtn{display:block;width:100%;text-align:left}.pc-confirm{border:1px solid rgba(255,93,115,.55);background:#241820;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.pc-note{border:1px solid rgba(255,176,32,.4);background:#ffb02014;color:#ffd27a;border-radius:8px;padding:8px 10px;font-size:12px}.pc-info{border:1px solid var(--line);background:#6ea8ff12;border-radius:8px;padding:8px 10px;font-size:12px;color:var(--muted)}.pc-input{width:100%;background:#0f141d;border:1px solid var(--line-strong);border-radius:8px;padding:6px 10px;min-height:32px}.pc-input:focus-visible,.pc-color:focus-visible,.pc-range:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pc-color{width:100%;height:32px;padding:2px;background:#0f141d;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer}.pc-range{width:100%;accent-color:var(--accent-strong)}.pc-choice{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);cursor:pointer}.pc-choice input{margin-top:3px;flex:none;accent-color:var(--accent-strong)}.pc-choice-on{border-color:var(--accent);background:#1e2a40}.pc-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.pc-details>summary{cursor:pointer;color:var(--muted);font-weight:650;padding:6px 0}.pc-details>summary:hover{color:var(--text)}.pc-meter{display:grid;grid-template-columns:64px 1fr max-content;align-items:center;gap:8px;font-size:12px}.pc-token{font-family:var(--mono);font-size:12px;background:#0b0f17;border:1px solid var(--line);border-radius:8px;padding:9px 11px;word-break:break-all;-webkit-user-select:all;user-select:all}.pc-wall{display:flex;flex-direction:column;height:calc(100vh - 116px);min-height:0}.pc-wall-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);flex:none}.pc-wall-bar select{width:auto}.pc-wall-grid{flex:1;min-height:0;display:flex;flex-direction:column}.pc-wall-grid>.wall{flex:1;height:auto}.pc-wall-grid>.empty{margin:auto}.pc-wall-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:7px 12px;border-top:1px solid var(--line);font-size:12px;flex:none}.pc-wall-host{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pc-tile-attn{border-color:#ffb020b3}.pc-tile-btn{height:22px;padding:0 7px;font-size:11px}.pc-map{display:block;width:100%;height:auto;max-height:calc(100vh - 300px)}.pc-map text{font-family:var(--sans);pointer-events:none;-webkit-user-select:none;user-select:none}.pc-map-room{fill:#ffffff09;stroke:#fff3;stroke-width:.08}.pc-map-room-open{fill:#ffffff04;stroke-dasharray:.3 .3;stroke:#ffffff1a}.pc-map-room-label{fill:var(--faint);font-size:.62px;font-weight:700;letter-spacing:.05px;text-transform:uppercase}.pc-map-desk{fill:#232c3e;stroke:#ffffff38;stroke-width:.05}.pc-map-person{cursor:pointer}.pc-map-person:hover circle,.pc-map-person:focus-visible circle{stroke:#fff;stroke-width:.12}.pc-map-name{fill:var(--text);font-size:.56px;font-weight:650}.pc-map-pick{cursor:pointer}.pc-map-pick rect{fill:#232c3e;stroke:#ffffff4d;stroke-width:.06}.pc-map-pick:hover rect,.pc-map-pick:focus-visible rect{stroke:var(--accent);stroke-width:.12}.pc-map-pick-taken rect{fill:#3a3350}.pc-map-pick-mine rect{fill:var(--accent-strong);stroke:#fff;stroke-width:.1}.pc-map-pick text{fill:#fff;font-size:.5px;font-weight:700}.pc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}.pc-legend span{display:inline-flex;align-items:center;gap:6px}.pc-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;box-sizing:border-box}.pc-keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.pc-keyrow{display:flex;align-items:center;gap:8px;min-width:0}.pc-key{min-width:92px;height:28px;padding:0 10px;border-radius:7px;border:1px solid var(--line-strong);background:#0f141d;font-family:var(--mono);font-size:12px;cursor:pointer}.pc-key:hover{border-color:#ffffff4d}.pc-key-on{border-color:var(--accent);background:#6ea8ff2e;color:#cfe2ff}.pc-key-dup{border-color:#ffb020b3}.pc-help h3{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}.pc-help dl{margin:0}.pc-help li{margin:3px 0}.pc-help ul,.pc-help ol{margin:0;padding-left:18px}.pc-timeline{max-height:340px;overflow:auto}.pc-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}.pc-milestones{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.pc-milestone-locked{opacity:.6;border-style:dashed}.pc-navgroup+.pc-navgroup{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.pc-navgroup .section-title{margin:0 10px 2px}.pc-navhint{margin:0 10px 6px}fieldset.pc-plain{border:0;margin:0;padding:0;min-width:0}.room-swatch{width:26px;height:26px;border-radius:7px;border:2px solid transparent;cursor:pointer;padding:0}.room-swatch.on{border-color:#fff;box-shadow:0 0 0 2px #00000080}:root{--bg: #0d1118;--panel: rgba(18, 23, 33, .92);--panel-solid: #121721;--panel-2: #1a2130;--panel-3: #222b3d;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--text: #e8ecf3;--muted: #94a0b4;--faint: #66728a;--accent: #6ea8ff;--accent-strong: #3f82f0;--good: #3ddc84;--warn: #ffb020;--bad: #ff5d73;--violet: #c792ea;--radius: 12px;--mono: "JetBrains Mono", "SF Mono", Menlo, Monaco, "Cascadia Mono", Consolas, monospace;--sans: "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);font:13.5px/1.45 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}a{color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:8px;border:2px solid transparent;background-clip:content-box}.app{position:fixed;top:0;right:0;bottom:0;left:0}.scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;isolation:isolate}.scene canvas{display:block;outline:none}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.hud>*{pointer-events:auto}.row{display:flex;align-items:center;gap:8px}.row-wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.spread{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.split{display:grid;grid-template-columns:300px 1fr;gap:0;height:100%;min-height:0}.split>.split-side{border-right:1px solid var(--line);overflow:auto;padding:10px}.split>.split-main{overflow:auto;padding:16px 18px;min-width:0}.scroll{overflow:auto;min-height:0}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono{font-family:var(--mono);font-size:12px}.small{font-size:12px}.strong{font-weight:650}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pre{white-space:pre-wrap;word-break:break-word}.section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:14px 0 6px}.section-title:first-child{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line-strong);background:var(--panel-3);cursor:pointer;font-weight:600;white-space:nowrap;transition:background .12s,border-color .12s,transform .05s}.btn:hover:not(:disabled){background:#2c3750;border-color:#ffffff42}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent-strong);border-color:transparent;color:#fff}.btn-primary:hover:not(:disabled){background:#5594f7}.btn-success{background:#1f9d57;border-color:transparent;color:#fff}.btn-success:hover:not(:disabled){background:#27b866}.btn-danger{background:#c23850;border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:#db4761}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:#ffffff14}.btn-sm{height:26px;padding:0 9px;font-size:12px;border-radius:7px}.btn-icon{width:32px;padding:0}input[type=text],input[type=search],input[type=number],input[type=password],input:not([type]),select,textarea{width:100%;background:#0f141d;border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;min-height:32px}textarea{resize:vertical;min-height:70px;line-height:1.45}input[type=checkbox]{accent-color:var(--accent-strong);width:15px;height:15px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:11.5px;font-weight:650;color:var(--muted)}.field-hint{font-size:11.5px;color:var(--faint)}.field-wide{grid-column:1 / -1}.check{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.check input{margin-top:2px;flex:none}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.02em;background:#ffffff17;color:var(--text);white-space:nowrap}.badge-info,.badge-accent{background:#6ea8ff2e;color:#a9cbff}.badge-good{background:#3ddc8429;color:#7ff0b0}.badge-warn{background:#ffb0202e;color:#ffd27a}.badge-bad{background:#ff5d732e;color:#ff9aa9}.badge-muted{background:#ffffff0f;color:var(--muted)}.progress{display:inline-block;width:100%;height:6px;border-radius:4px;background:#ffffff1a;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .3s}.progress-good i{background:var(--good)}.progress-warn i{background:var(--warn)}.progress-bad i{background:var(--bad)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.dot-good{background:var(--good)}.dot-warn{background:var(--warn)}.dot-bad{background:var(--bad)}.dot-info{background:var(--accent)}.win-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080d9e;display:flex;align-items:center;justify-content:center;z-index:60;animation:fade .12s ease-out}.win{display:flex;flex-direction:column;max-height:calc(100vh - 56px);background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 30px 80px #0000008c;animation:pop .14s ease-out;overflow:hidden}.win-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--line);flex:none}.win-head h2{font-size:15px;font-weight:700}.win-head p{font-size:12px;color:var(--muted);margin-top:1px}.win-actions{display:flex;align-items:center;gap:6px}.win-body{padding:16px 18px;overflow:auto;min-height:0;flex:1}.win-body-flush{padding:0;overflow:hidden;display:flex;flex-direction:column}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.985)}}.tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--line);flex:none}.tab{background:none;border:0;padding:10px 12px;cursor:pointer;color:var(--muted);font-weight:650;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--text)}.tab-on{color:var(--text);border-bottom-color:var(--accent)}.tab-count{background:var(--accent-strong);color:#fff;font-size:10.5px;border-radius:9px;padding:0 6px;height:17px;line-height:17px}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px}.card-click{cursor:pointer;transition:border-color .12s,background .12s}.card-click:hover{border-color:#6ea8ff80;background:#1e2637}.card-on{border-color:var(--accent);background:#1e2a40}.list{display:flex;flex-direction:column;gap:6px}.list-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;border:1px solid transparent;cursor:pointer;min-width:0}.list-item:hover{background:#ffffff0d}.list-item-on{background:#6ea8ff21;border-color:#6ea8ff59}.empty{padding:28px 16px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:4px}.stat{display:flex;flex-direction:column;gap:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.stat-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.stat-value{font-size:22px;font-weight:700;line-height:1.15}.stat-sub{font-size:11.5px;color:var(--muted)}.stat-good .stat-value{color:var(--good)}.stat-warn .stat-value{color:var(--warn)}.stat-bad .stat-value{color:var(--bad)}table.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel-solid)}.tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr.tbl-click{cursor:pointer}.tbl tr.tbl-click:hover td{background:#ffffff0a}.kv{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;word-break:break-word}.code{font-family:var(--mono);font-size:12px;background:#0b0f17;border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow:auto;white-space:pre;max-height:340px}.diff-add{color:#7ff0b0}.diff-del{color:#ff9aa9}.diff-hunk{color:#8fbcff}.diff-file{color:#ffd27a;font-weight:700}.avatar{position:relative;display:inline-block;border-radius:50%;background:#2a3346;overflow:hidden;flex:none}.avatar i{position:absolute;display:block}.avatar-shirt{left:12%;right:12%;bottom:-30%;height:62%;border-radius:50% 50% 0 0}.avatar-head{left:28%;top:18%;width:44%;height:44%;border-radius:50%}.avatar-hair{left:25%;top:11%;width:50%;height:26%;border-radius:50% 50% 20% 20%}.avatar-hair-long{height:46%;border-radius:50% 50% 30% 30%;z-index:0}.avatar-hair-curly{left:20%;width:60%;height:34%;top:6%;border-radius:50%}.topbar{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:10px;pointer-events:none}.topbar>*{pointer-events:auto}.glass{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 10px 30px #00000059}.brand{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 9px}.brand-mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#6ea8ff,#c792ea);display:grid;place-items:center;font-weight:800;color:#0d1118;font-size:14px}.brand b{font-size:13px;letter-spacing:.12em}.brand span{color:var(--muted);font-size:12px}.pillbar{display:flex;align-items:center;gap:2px;padding:4px}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;border:0;background:transparent;cursor:pointer;color:var(--muted);font-weight:650;font-size:12.5px;white-space:nowrap}.pill:hover{background:#ffffff14;color:var(--text)}.pill-on{background:#6ea8ff33;color:#cfe2ff}.pill kbd,.kbd{font-family:var(--mono);font-size:10.5px;padding:1px 5px;border-radius:5px;border:1px solid var(--line-strong);background:#ffffff0f;color:var(--muted)}.pill-alert{color:#ffd27a}.pill-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:#1b1300;font-size:11px;font-weight:800;display:inline-grid;place-items:center}.pill-count-bad{background:var(--bad);color:#fff}.menu-anchor{position:relative}.brand-btn{cursor:pointer;color:inherit;font:inherit;text-align:left;gap:10px}.brand-btn:hover,.brand-on{border-color:#6ea8ff8c}.brand-btn span{color:var(--muted);font-size:12px}.feed-pill{position:absolute;left:12px;bottom:12px;max-width:420px;display:flex;align-items:center;gap:9px;padding:7px 12px;color:inherit;font:inherit;font-size:12.5px;cursor:pointer;pointer-events:auto}.feed-pill-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.dock{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:190px;display:flex;flex-direction:column;gap:1px;padding:4px}.dock .pill{width:100%;justify-content:flex-start}.conn{padding:6px 10px;font-size:12px;font-weight:650;display:flex;align-items:center;gap:6px}.feed{position:absolute;left:12px;bottom:12px;width:400px;max-height:34vh;display:flex;flex-direction:column;overflow:hidden}.feed-head{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--faint)}.feed-list{overflow:auto;padding:4px 0;display:flex;flex-direction:column-reverse}.feed-item{display:flex;gap:8px;padding:3px 10px;font-size:12.5px;cursor:pointer;border:0;background:none;text-align:left;width:100%}.feed-item:hover{background:#ffffff0f}.feed-time{color:var(--faint);font-family:var(--mono);font-size:11px;flex:none;padding-top:1px}.feed-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-good{color:#9af0bd}.feed-warn{color:#ffd27a}.feed-bad{color:#ff9aa9}.prompt{position:absolute;left:50%;bottom:86px;transform:translate(-50%);padding:9px 16px;font-weight:700;letter-spacing:.06em;font-size:12.5px;display:flex;align-items:center;gap:10px;animation:pop .14s ease-out;white-space:nowrap}.prompt .kbd{font-size:12px;padding:2px 7px;color:var(--text);background:#6ea8ff40;border-color:#6ea8ff99}.near-card{position:absolute;right:12px;bottom:12px;width:340px;padding:12px}.toasts{position:absolute;top:64px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;z-index:90;pointer-events:none}.toast{padding:8px 14px;border-radius:10px;background:#1c2434;border:1px solid var(--line-strong);box-shadow:0 10px 30px #0006;font-weight:600;animation:pop .14s ease-out;max-width:70vw}.toast-error{border-color:#ff5d7399;background:#2a1820}.toast-success{border-color:#3ddc8480;background:#14261d}.ctx{position:fixed;z-index:80;min-width:200px;padding:5px;display:flex;flex-direction:column}.ctx button{text-align:left;background:none;border:0;padding:7px 10px;border-radius:7px;cursor:pointer}.ctx button:hover:not(:disabled){background:#6ea8ff2e}.ctx button:disabled{opacity:.4;cursor:default}.ctx-title{padding:6px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--faint);text-transform:uppercase}.ctx hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;background:#05080d73;display:flex;justify-content:center;align-items:flex-start;padding-top:16vh}.cmd{width:min(720px,calc(100vw - 40px));overflow:hidden}.cmd input{border:0;background:transparent;padding:16px 18px;font-size:16px;min-height:0;outline:none!important}.cmd-body{border-top:1px solid var(--line);padding:12px 16px;max-height:50vh;overflow:auto}.cmd-op{display:flex;gap:10px;padding:6px 0;align-items:flex-start}.cmd-op-n{width:20px;height:20px;border-radius:50%;background:#6ea8ff33;color:#cfe2ff;font-size:11px;font-weight:800;display:grid;place-items:center;flex:none;margin-top:1px}.ws{position:absolute;top:64px;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;pointer-events:none}.ws>*{pointer-events:auto}.ws-term{display:flex;flex-direction:column;overflow:hidden;min-height:0}.ws-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);flex:none}.ws-state{font-weight:800;letter-spacing:.06em;font-size:11.5px;padding:3px 8px;border-radius:6px}.ws-state-AGENT_CONTROLLED{background:#ffffff14;color:var(--muted)}.ws-state-HUMAN_OBSERVING{background:#6ea8ff33;color:#cfe2ff}.ws-state-HUMAN_CONTROLLED{background:#ffb02040;color:#ffd27a}.ws-state-PAUSED{background:#c792ea40;color:#e3c4ff}.ws-state-DISCONNECTED{background:#ff5d7333;color:#ff9aa9}.ws-side{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;padding:12px}.ws-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.term{position:relative;flex:1;min-height:0;background:#0b0f17;border:2px solid transparent;border-radius:0 0 10px 10px}.term-controlled{border-color:#ffb020bf}.term-host{position:absolute;top:4px;right:4px;bottom:2px;left:6px;overflow:hidden}.term-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);background:#0b0f17d9;text-align:center;padding:20px}.term-overlay-closed{color:#ff9aa9}.xterm-viewport{background-color:transparent!important}.tag{position:relative;transform:translateY(-50%);min-width:96px;padding:5px 9px 6px;border-radius:9px;background:#0e131ce6;border:1px solid rgba(255,255,255,.16);text-align:center;white-space:nowrap;font-family:var(--sans);box-shadow:0 6px 18px #0006;-webkit-user-select:none;user-select:none}.tag-selected{border-color:var(--accent)}.tag-dim{opacity:.3}.tag-name{font-size:13px;font-weight:700;color:#fff}.tag-ctl{margin-left:6px;font-size:9px;font-weight:800;padding:1px 4px;border-radius:4px;background:var(--warn);color:#1b1300;vertical-align:2px}.tag-state{font-size:10.5px;font-weight:800;letter-spacing:.07em;margin-top:1px}.tag-work .tag-state{color:#8fbcff}.tag-ask .tag-state{color:#ffd27a}.tag-bad .tag-state{color:#ff9aa9}.tag-good .tag-state{color:#7ff0b0}.tag-idle .tag-state{color:#b9c3d3}.tag-wait .tag-state{color:#dab0ff}.tag-unknown .tag-state,.tag-off .tag-state{color:#7d8799}.tag-off{opacity:.75}.tag-task{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#9aa7b8;margin-top:2px;font-family:var(--mono)}.tag-bar{display:inline-block;width:40px;height:4px;border-radius:3px;background:#ffffff26;overflow:hidden}.tag-bar i{display:block;height:100%;background:var(--accent)}.tag-icon{position:absolute;left:50%;top:-30px;width:26px;height:26px;margin-left:-13px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:16px;color:#1b1300;background:var(--warn);box-shadow:0 0 0 3px #ffb0204d;animation:bob 1.1s ease-in-out infinite}.tag-icon-blocked{background:var(--bad);color:#fff;box-shadow:0 0 0 3px #ff5d734d}.tag-icon-done{background:var(--good);color:#062414;box-shadow:0 0 0 3px #3ddc844d;animation:none}@keyframes bob{50%{transform:translateY(-5px)}}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;height:100%;min-height:0;padding:12px;overflow-x:auto}.board-col{display:flex;flex-direction:column;min-height:0;background:#ffffff08;border:1px solid var(--line);border-radius:10px}.board-col-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;font-size:11.5px;font-weight:800;letter-spacing:.07em;border-bottom:2px solid var(--line)}.board-col-body{padding:8px;overflow:auto;display:flex;flex-direction:column;gap:7px;min-height:60px;flex:1}.board-col-drop{outline:2px dashed rgba(110,168,255,.6);outline-offset:-4px}.tcard{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:8px 9px;cursor:pointer}.tcard:hover{border-color:#6ea8ff8c;border-left-color:inherit}.tcard-title{font-weight:650;margin:2px 0 5px;line-height:1.3}.wall{display:grid;gap:8px;padding:10px;height:100%;min-height:0}.wall-tile{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:#0b0f17}.wall-tile-head{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--panel-2);font-size:12px;flex:none}.minimap{width:100%;background:#0b0f17;border:1px solid var(--line);border-radius:10px}.login{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(1200px 600px at 50% 30%,#1a2338,#0d1118)}.login-card{width:440px;padding:26px}.login-card h1{font-size:22px;letter-spacing:.14em}.banner{position:absolute;top:64px;left:50%;transform:translate(-50%);padding:8px 14px;font-weight:650;border-color:#ff5d7399;color:#ff9aa9}.hint-keys{position:absolute;right:12px;bottom:12px;padding:8px 12px;font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;max-width:520px;justify-content:flex-end}.talk-thread{flex:1;min-height:260px;max-height:56vh;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.talk-row{display:flex;gap:8px;align-items:flex-end}.talk-row-me{justify-content:flex-end}.talk-bubble{max-width:78%;padding:8px 11px;border-radius:12px;line-height:1.45}.talk-me{background:var(--accent-strong);color:#fff;border-bottom-right-radius:4px}.talk-them{background:var(--panel-3);border:1px solid var(--line);border-bottom-left-radius:4px}.talk-working{color:var(--muted);font-size:12.5px}.talk-meta{font-size:10.5px;opacity:.7;margin-top:3px}.talk-note{align-self:center;font-size:11.5px;color:var(--muted);padding:2px 10px;border-radius:10px;background:#ffffff0d;max-width:90%;text-align:center}.talk-note-good{color:#7ff0b0}.talk-note-bad{color:#ff9aa9}.talk-dots:after{content:"…";animation:blink 1.2s steps(3,end) infinite}@keyframes blink{0%{opacity:.2}to{opacity:1}}.talk-compose{flex:none;border-top:1px solid var(--line);padding:10px 14px 12px;display:flex;flex-direction:column;gap:8px}.talk-compose textarea{min-height:54px}.welcome{position:absolute;right:12px;top:70px;width:380px;padding:16px;gap:12px}.cc{position:absolute;right:12px;top:70px;bottom:12px;width:380px;gap:0;overflow:hidden;pointer-events:auto}.cc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.cc-body{padding:10px 8px 12px;gap:14px;overflow-y:auto;min-height:0}.cc-label{display:flex;align-items:center;gap:8px;padding:0 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cc-count{padding:0 6px;border-radius:999px;background:#ffffff14;color:var(--text);font-size:11px;letter-spacing:0}.cc-count-warn{background:#f5c54238;color:#f5c542}.cc-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.cc-row:hover{background:#ffffff0f}.cc-who{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.md{line-height:1.5;overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .6em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:.9em 0 .35em;line-height:1.25;font-weight:700}.md h1{font-size:1.3em}.md h2{font-size:1.17em}.md h3{font-size:1.06em}.md h4,.md h5,.md h6{font-size:1em;color:var(--muted)}.md ul,.md ol{margin:0 0 .6em;padding-left:1.35em}.md li{margin:.15em 0}.md li>ul,.md li>ol{margin:.15em 0 0}.md li.md-task{list-style:none;margin-left:-1.2em}.md li.md-task input{margin:0 .45em 0 0;vertical-align:-1px}.md code{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.9em;padding:.08em .36em;border-radius:5px;background:#ffffff17}.md pre.md-code{margin:0 0 .7em;padding:10px 12px;border-radius:8px;background:#00000061;border:1px solid var(--line);overflow-x:auto}.md pre.md-code code{padding:0;background:none;font-size:.86em;line-height:1.45;white-space:pre}.md blockquote{margin:0 0 .6em;padding:2px 0 2px 11px;border-left:3px solid var(--line-strong);color:var(--muted)}.md hr{border:0;border-top:1px solid var(--line);margin:.8em 0}.md a{color:#7fb0ff;text-decoration:underline;text-underline-offset:2px}.md .md-ref{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.92em;color:#9fc0ff}.md .md-table{overflow-x:auto;margin:0 0 .7em}.md table{border-collapse:collapse;font-size:.94em}.md th,.md td{border:1px solid var(--line);padding:4px 9px;text-align:left;vertical-align:top}.md th{background:#ffffff0d;font-weight:600}.fp{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line-strong);border-radius:10px;background:#00000038}.fp-bar{display:flex;align-items:center;gap:8px}.fp-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:1px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;font-size:12px}.fp-crumbs::-webkit-scrollbar{display:none}.fp-crumb,.fp-link{border:0;background:none;color:#8db6ff;font:inherit;padding:0;cursor:pointer}.fp-link{align-self:flex-start;font-size:12px}.fp-crumb:hover,.fp-link:hover{text-decoration:underline}.fp-filter{width:100%}.fp-list{max-height:232px;overflow-y:auto;display:flex;flex-direction:column}.fp-row{display:flex;align-items:center;gap:6px;border-radius:6px}.fp-row:hover{background:#ffffff0d}.fp-open{flex:1;min-width:0;display:flex;align-items:center;gap:7px;padding:6px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.fp-icon{color:var(--muted);width:10px}.fp-empty{padding:8px 6px}.doc-tip{padding:4px 9px;border-radius:7px;background:#0d1118eb;border:1px solid var(--line-strong);color:var(--text);font-size:12px;white-space:nowrap}.doc-pad{padding:22px}.doc-cols{display:grid;grid-template-columns:290px minmax(0,1fr);height:min(74vh,780px)}.doc-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#00000029}.doc-filter{margin:10px 10px 4px}.doc-tree{flex:1;min-height:0;overflow-y:auto;padding:6px 0}.doc-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 10px;border:0;background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.doc-item:hover{background:#ffffff0d}.doc-item-on{background:#6ea8ff29}.doc-folder{color:var(--muted);font-weight:600}.doc-ico{width:12px;color:var(--muted);flex:none}.doc-count{padding:8px 12px;border-top:1px solid var(--line)}.doc-main{display:flex;flex-direction:column;min-width:0;min-height:0}.doc-head{display:flex;align-items:center;gap:12px;padding:9px 18px;border-bottom:1px solid var(--line);font-size:12.5px}.doc-body{flex:1;min-height:0;overflow-y:auto;padding:18px 26px 28px;font-size:14px}.doc-body .md{max-width:820px}.doc-raw{margin:0;white-space:pre-wrap;font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12.5px;line-height:1.5}.ouch-wrap{transform:translateY(-92px)}.ouch-bubble{padding:3px 10px;border-radius:12px;background:#fff;color:#c0271c;font-weight:800;font-size:15px;letter-spacing:.04em;box-shadow:0 4px 14px #0006;animation:ouch-pop .95s ease-out forwards;white-space:nowrap}@keyframes ouch-pop{0%{transform:scale(.3) translateY(8px);opacity:0}18%{transform:scale(1.25) translateY(-4px) rotate(-6deg);opacity:1}35%{transform:scale(1) translateY(-6px) rotate(3deg)}80%{opacity:1}to{transform:scale(.95) translateY(-22px);opacity:0}}.radio-now{display:flex;align-items:center;gap:14px}.radio-disc{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;background:radial-gradient(circle at 50% 50%,#d9483b 0,#d9483b 22%,#0c0d10 23%,#0c0d10);color:#fff;flex:none}.radio-disc[data-on=true]{animation:radio-spin 2.4s linear infinite}@keyframes radio-spin{to{transform:rotate(360deg)}}.radio-volume{gap:10px}.radio-volume input{flex:1}.radio-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px}.radio-row:hover{background:#ffffff0a}.radio-row-on{background:#3ddc8414}.radio-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.radio-eq i{width:3px;height:4px;border-radius:1px;background:#3ddc84}.radio-eq-on i{animation:radio-eq .9s ease-in-out infinite}.radio-eq-on i:nth-child(2){animation-delay:.25s}.radio-eq-on i:nth-child(3){animation-delay:.5s}@keyframes radio-eq{0%,to{height:3px}50%{height:12px}}.seg{display:inline-flex;border:1px solid rgba(255,255,255,.14);border-radius:8px;overflow:hidden}.seg button{background:transparent;border:0;color:var(--muted, #9aa4b5);padding:5px 12px;font:inherit;font-size:12.5px;cursor:pointer}.seg button.seg-on{background:#6ea8ff2e;color:#fff}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:12px;padding:12px;overflow:auto;height:100%;align-content:start}.ops-card{display:flex;flex-direction:column;gap:2px;min-width:0}.ops-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;background:transparent;border:0;color:inherit;font:inherit;font-size:13px;text-align:left;min-width:0;width:100%}button.ops-row{cursor:pointer}button.ops-row:hover{background:#ffffff0d}.ops-when{flex:none;width:64px;text-align:right}.ops-dot{width:10px;height:10px;border-radius:50%;flex:none}.ops-meter{flex:none;display:inline-flex;align-items:center;gap:6px}.ops-meter-bar{width:56px;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.ops-meter-bar i{display:block;height:100%}.report-row{overflow:hidden;flex:none;display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;background:transparent;border:0;border-left:2px solid transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer;min-width:0}.report-row:hover{background:#ffffff0a}.report-row-on{background:#6ea8ff1f;border-left-color:#6ea8ff}.good{color:var(--good)}.bad{color:var(--bad)}.ssh-link{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#00000024}.ssh-form{gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.plan-wrap{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.plan{touch-action:none;-webkit-user-select:none;user-select:none}.plan text{font-size:.62px;fill:#ffffff80;pointer-events:none}.plan-room rect{fill:#ffffff0b;stroke:#ffffff47;stroke-width:.1;cursor:pointer}.plan-room-open rect{fill:#6ea8ff0d;stroke:#ffffff1a;stroke-dasharray:.3 .25}.plan-room.plan-sel rect{stroke:var(--accent);stroke-width:.18;fill:#6ea8ff1f}.plan-pod,.plan-decor{cursor:grab}.plan-pod-hit{fill:transparent;stroke:transparent;stroke-width:.1}.plan-pod:hover .plan-pod-hit{stroke:#ffffff40}.plan-pod.plan-sel .plan-pod-hit{stroke:var(--accent);fill:#6ea8ff24}.plan-desk{fill:#cfd6e2}.plan-seat{fill:#3a4455}.plan-seat-on{fill:var(--accent)}.plan-decor circle,.plan-decor rect{fill:#b9925a;stroke:transparent;stroke-width:.12}.plan-decor-plant circle{fill:#3f9a5f}.plan-decor-floor_lamp circle{fill:#ffd98a}.plan-decor-sofa rect{fill:#4f6d8f}.plan-decor-neon_sign rect{fill:#ff5fa2}.plan-decor:hover circle,.plan-decor:hover rect{stroke:#fff9}.plan-decor.plan-sel circle,.plan-decor.plan-sel rect{stroke:var(--accent);stroke-width:.18}.plan-drag-ok{opacity:.85;cursor:grabbing}.plan-drag-ok .plan-pod-hit,.plan-drag-ok circle,.plan-drag-ok rect{stroke:var(--good)}.plan-drag-bad{cursor:not-allowed}.plan-drag-bad .plan-pod-hit,.plan-decor.plan-drag-bad circle,.plan-decor.plan-drag-bad rect{stroke:var(--bad);fill:#ff5d7359}.plan-side select,.plan-side input{min-width:0}.plan-nudge{display:grid;grid-template-columns:repeat(3,34px);grid-template-areas:". n ." "w . e" ". s .";gap:3px}.plan-nudge button{padding:0;justify-content:center}.plan-nudge button:nth-child(1){grid-area:n}.plan-nudge button:nth-child(2){grid-area:w}.plan-nudge button:nth-child(3){grid-area:e}.plan-nudge button:nth-child(4){grid-area:s}.plan-wall button{width:30px;padding:0;justify-content:center}.plan-add{padding-top:10px;border-top:1px solid var(--line)}.look-locks{display:flex;flex-wrap:wrap;gap:6px}.bulk-cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:14px}.bulk-pick,.bulk-chosen{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#00000024}.bulk-list{display:flex;flex-direction:column;gap:2px;height:min(42vh,380px);overflow-y:auto}.bulk-item,.bulk-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;min-width:0;font-size:13px}.bulk-item:hover{background:#ffffff0a}.bulk-row input{padding:4px 8px}.tv-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;opacity:0;pointer-events:none}.tv-layer.tv-visible{opacity:1;pointer-events:auto}.tv-layer:not(.tv-visible) *{pointer-events:none!important}.tv-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#06080c8c}.tv-set{position:relative;display:flex;flex-direction:column;width:min(1400px,94vw);height:min(900px,90vh);border-radius:14px;overflow:hidden;border:1px solid var(--line-strong);background:#0b0e14;box-shadow:0 30px 80px #0009}.tv-bar{display:flex;align-items:center;gap:6px;padding:8px 10px 6px}.tv-address{flex:1;min-width:0}.tv-address input{width:100%;padding:6px 10px;font-size:12.5px}.tv-marks{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:0 10px 8px;font-size:12.5px}.tv-mark{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.tv-mark button{background:transparent;border:0;color:inherit;font:inherit;padding:3px 10px;cursor:pointer}.tv-mark button:hover{background:#ffffff12}.tv-mark-x{color:var(--bad)!important;padding:3px 7px 3px 2px!important}.tv-screen{flex:1;min-height:0;background:#000;display:flex}.tv-web{flex:1;width:100%;height:100%;border:0;background:#fff}.tv-note{margin:auto;max-width:460px;text-align:center;display:grid;gap:8px;padding:20px}.prompt-moving{border-color:#3ddc848c}.human-tag{transform:translateY(-50%);padding:3px 9px 4px;border-radius:9px;background:#0e131ceb;border:1.5px solid rgba(255,255,255,.3);text-align:center;white-space:nowrap;font-family:var(--sans);box-shadow:0 6px 18px #0006;position:relative}.human-name{font-weight:700;font-size:12.5px}.human-role{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #9aa4b5)}.human-says{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);max-width:260px;white-space:normal;width:max-content;padding:6px 10px;border-radius:12px;background:#fff;color:#10141c;font-size:13px;line-height:1.3;box-shadow:0 6px 18px #00000073}.saybar{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:45;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(560px,80vw);pointer-events:none}.saybar-line{padding:6px 12px;border-radius:10px;font-size:13px;max-width:100%}.saybar-form{width:100%;padding:6px;border-radius:12px;pointer-events:auto}.saybar-form input{width:100%}.people-cols{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr)}.people-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px}.people-log{display:flex;flex-direction:column;gap:8px;height:220px;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:10px;background:#00000029}.seat-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.seat-table{display:flex;flex-direction:column;gap:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#00000024;min-width:0}.seat-table input{padding:4px 8px;font-size:12.5px}.seat-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.seat{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:30px;padding:3px 6px;border:1px dashed rgba(255,255,255,.16);border-radius:7px;min-width:0}.seat:not(.seat-empty){border-style:solid;background:#ffffff0a}.seat-over{border-color:#3ddc84!important;background:#3ddc841f!important}.seat-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12.5px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.seat-x{background:none;border:0;color:var(--muted, #9aa4b5);cursor:pointer;font-size:11px;padding:0 2px}.seat-none{border-style:dashed}.pod-label{transform:translateY(-50%);padding:3px 10px;border-radius:6px;background:#0e131ce6;border:1px solid rgba(255,255,255,.22);font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.03em;white-space:nowrap}
