.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}*,:before,:after{box-sizing:border-box}:root{--bg:#0d0d0d;--text:#ccc;--input-bg:#1a1a1a;--border:#333;--accent:#0c6;--accent-dim:#007a3d;--panel-bg:#141414;--panel-border:#444;--btn-bg:#222;--btn-hover:#2e2e2e;--danger:#c33}html,body,#root{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;padding:0;font-family:Courier New,Courier,monospace;font-size:14px;overflow:hidden}.app-container{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.top-bar{border-bottom:1px solid var(--border);background:#111;flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 12px;display:flex}.top-bar-left{align-items:center;gap:10px;min-width:0;display:flex}.top-bar-glyph{width:22px;height:22px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.top-bar-glyph svg{display:block}.top-bar-wordmark{color:var(--accent);letter-spacing:1px;flex-shrink:0;margin:0;font-size:14px;font-weight:700}@media (width<=480px){.top-bar-wordmark{display:none}}.btn-reconnect{color:#d8c050;cursor:pointer;background:#d8c0501f;border:1px solid #d8c050;border-radius:4px;flex-shrink:0;align-items:center;gap:5px;min-height:28px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.btn-reconnect:hover{background:#d8c05038}.btn-reconnect:focus-visible{outline-offset:2px;outline:1px dashed #d8c050}.update-strip{height:28px;color:var(--accent);box-sizing:border-box;background:#69d36e14;border-bottom:1px solid #69d36e4d;flex-shrink:0;align-items:center;gap:8px;padding:0 10px 0 12px;font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;display:flex}.update-strip-body{color:var(--text);flex:1}.update-strip-body strong{color:var(--accent);font-weight:700}.update-strip-refresh{height:22px;color:var(--accent);cursor:pointer;background:#69d36e2e;border:1px solid #69d36e80;border-radius:4px;flex-shrink:0;padding:0 10px;font-family:inherit;font-size:11px;font-weight:700}.update-strip-refresh:hover{background:#69d36e4d}.update-strip-refresh:focus-visible{outline:1px dashed var(--accent);outline-offset:2px}.update-strip-x{box-sizing:content-box;color:#888;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;width:22px;height:22px;margin:-11px -11px -11px 0;padding:11px;font-size:14px;line-height:1}.update-strip-x:hover{color:#ccc;background:#ffffff0d}@media (width<=480px){.update-strip{padding:0 8px 0 10px;font-size:10.5px}}.autologin-nudge{color:var(--accent);background:#69d36e1a;border-top:1px solid #69d36e66;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;display:flex}.autologin-nudge label{cursor:pointer;color:var(--accent);flex:1}.autologin-nudge label strong{color:#fff;font-weight:600}.autologin-nudge-hint{color:#888;flex-shrink:0;font-size:10.5px}.autologin-nudge-dismiss{box-sizing:content-box;color:#888;cursor:pointer;background:0 0;border:0;border-radius:3px;width:22px;height:22px;margin:-11px -11px -11px 0;padding:11px;font-size:16px;line-height:1}.autologin-nudge-dismiss:hover{color:#ccc;background:#ffffff0d}.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}.top-bar-actions{align-items:center;gap:8px;display:flex}.btn-icon{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;min-height:32px;padding:3px 8px;font-family:inherit;font-size:14px}.btn-icon:hover{background:var(--btn-hover);border-color:var(--accent-dim)}:root{--hud-hp:#33e633;--hud-ck:#39c1ef;--hud-st:#f49c2a;--hud-target:#ff7a7a;--hud-gold:#d8c8a8;--hud-gold-dim:#6b6450;--hud-panel-bg:#080c10f5;--hud-border-c:#ffffff14;--hud-healthy:#6da472;--hud-injured:#c8b264;--hud-hurt:#c98a3a;--hud-severe:#d54040}.hud-status-line{border-top:1px solid var(--hud-border-c);z-index:5;background:linear-gradient(#080c10eb,#080c10f5);flex-shrink:0;align-items:center;gap:8px;min-height:28px;padding:0 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;display:flex;position:relative}.hud-id{color:#fff;flex-shrink:0;align-items:center;gap:5px;font-family:-apple-system,system-ui,sans-serif;font-weight:600;display:inline-flex}.hud-id-name{font-size:11px}.hud-id-lvl{color:var(--hud-ck);font-size:11px;font-weight:600}.hud-divider{background:#ffffff29;flex-shrink:0;width:1px;height:14px;margin:0 1px;display:inline-block}.hud-headband-plate{background:#66aaff0f;border:1px solid #6af;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;box-shadow:0 0 4px #66aaff59}.hud-headband-sm{width:12px;height:12px;-webkit-mask:var(--village-icon) center / contain no-repeat;-webkit-mask:var(--village-icon) center / contain no-repeat;mask:var(--village-icon) center / contain no-repeat;background-color:#6af;flex-shrink:0;display:inline-block}.hud-stat-group{flex:0 auto;align-items:center;gap:4px;min-width:0;display:inline-flex}.hud-stat-lab{text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-family:-apple-system,system-ui,sans-serif;font-size:10px;font-weight:700}.hud-stat-lab-hp{color:#60eb60}.hud-stat-lab-ck{color:#68d0f3}.hud-stat-lab-st{color:#f6b35a}.hud-segbar{flex-shrink:1;align-items:center;gap:1px;width:80px;min-width:50px;max-width:100%;height:9px;display:inline-flex}.hud-seg{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:1px;flex:1;height:100%}.hud-seg-on{background:var(--seg-color);box-shadow:0 0 3px var(--seg-color);border-color:#0006}.hud-segbar-hp{--seg-color:var(--hud-hp)}.hud-segbar-ck{--seg-color:var(--hud-ck)}.hud-segbar-st{--seg-color:var(--hud-st)}.hud-segbar-low.hud-segbar-hp,.hud-segbar-crit.hud-segbar-hp{--seg-color:var(--hud-severe)}.hud-segbar-low .hud-seg-on{animation:1.4s ease-in-out infinite hud-bar-pulse}.hud-segbar-crit .hud-seg-on{animation:.7s ease-in-out infinite hud-bar-pulse}@keyframes hud-bar-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.6)}}.hud-target-inline{color:var(--hud-target);cursor:pointer;background:#ff7a7a1a;border:1px solid #ff7a7a6b;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-family:-apple-system,system-ui,sans-serif;font-size:10.5px;font-weight:600;transition:background .12s,box-shadow .12s;display:inline-flex}.hud-target-inline:hover,.hud-target-inline:focus-visible{background:#ff7a7a2e;outline:none;box-shadow:0 0 6px #ff7a7a59}.hud-target-inline-open{background:#ff7a7a38;box-shadow:0 0 8px #ff7a7a73}.hud-target-inline-name{letter-spacing:.02em}.hud-target-inline-stance{font-size:12px;line-height:1}.hud-target-inline .hud-icon-sm{color:var(--hud-target)}.hud-spiral-tab{width:26px;height:26px;color:var(--hud-gold-dim);cursor:pointer;box-sizing:content-box;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:-9px -9px -9px auto;padding:9px;transition:color .15s,background .15s;display:flex}.hud-spiral-tab:hover{color:var(--hud-gold);background:#d8c8a80f}.hud-spiral-tab-open{color:var(--hud-gold);background:#d8c8a81f}.hud-icon{width:14px;height:14px;display:block}.hud-icon-sm{width:11px;height:11px;display:block}.hud-popover-stack{z-index:6;pointer-events:none;flex-direction:column;gap:6px;width:min(340px,100vw - 12px);display:flex;position:absolute;bottom:calc(100% + 6px);right:6px}.hud-popover{background:var(--hud-panel-bg);border:1px solid var(--hud-border-c);pointer-events:auto;border-radius:6px;flex-direction:column;gap:8px;width:100%;padding:10px 12px;font-family:-apple-system,system-ui,sans-serif;font-size:11px;animation:.18s ease-out hud-pop-up;display:flex;box-shadow:0 -6px 22px #0009}@keyframes hud-pop-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hud-pop-target-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hud-pop-target-row .hud-icon-sm{color:var(--hud-target)}.hud-pop-target-name{color:var(--hud-target);font-size:12px;font-weight:600}.hud-pop-target-stance{color:#d4e8ff;font-size:11px}.hud-pop-tenketsu-row{border-top:1px dashed #ffffff14;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:6px;display:grid}.hud-body-cell{background:#ffffff08;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:4px 0;display:flex}.hud-body-cell-lab{text-transform:uppercase;letter-spacing:.06em;color:#888;font-family:-apple-system,system-ui,sans-serif;font-size:9.5px;font-weight:700}.hud-body-cell-dot{background:var(--hud-healthy);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1.5px #00000080}.hud-body-cell-dot[data-state=healthy]{background:var(--hud-healthy)}.hud-body-cell-dot[data-state=injured]{background:var(--hud-injured)}.hud-body-cell-dot[data-state=hurt]{background:var(--hud-hurt)}.hud-body-cell-dot[data-state=severe]{background:var(--hud-severe);box-shadow:0 0 0 1.5px #00000080, 0 0 6px var(--hud-severe);animation:1.1s ease-in-out infinite hud-bar-pulse}.hud-pop-label{color:#5d6166;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:10px}.hud-pop-room-row{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.hud-pop-room-name{color:#c8d4dc;font-weight:500}.hud-pop-area{color:#5d6166}.hud-pop-exits{align-items:baseline;gap:4px;margin-left:auto;display:inline-flex}.hud-pop-exits-value{color:#6cf;font-family:ui-monospace,monospace;font-size:10.5px}.hud-pop-money-row{border-top:1px dashed #ffffff14;flex-wrap:wrap;gap:12px;padding-top:4px;display:flex}.hud-pop-stat{align-items:baseline;gap:3px;font-size:11px;display:inline-flex}.hud-pop-stat-lab{color:#5d6166;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px}.hud-pop-stat b{color:#ddd;font-family:ui-monospace,monospace;font-weight:500}.hud-pop-xp{flex:100%;grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;font-family:-apple-system,system-ui,sans-serif;font-size:10.5px;display:grid}.hud-pop-xp-lab{color:#5d6166;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px}.hud-pop-xp-val{color:#ddd;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:10.5px}.hud-pop-xp-track{background:#ffffff0f;border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.hud-pop-xp-track>span{background:linear-gradient(90deg,#8a6420,#d4a040);height:100%;transition:width .3s ease-out;display:block;box-shadow:0 0 4px #d4a04080}.hud-pop-affects-row{border-top:1px dashed #ffffff14;flex-direction:column;gap:4px;padding-top:4px;display:flex}.hud-pop-affects-list{flex-wrap:wrap;gap:4px 5px;display:flex}.hud-pop-affect-pill{color:var(--hud-gold);white-space:nowrap;background:#d8c8a81a;border:1px solid #d8c8a847;border-radius:10px;align-items:center;gap:4px;padding:2px 7px;font-family:-apple-system,system-ui,sans-serif;font-size:10px;display:inline-flex}.hud-pop-affect-pill-ico{flex-shrink:0;width:11px;height:11px;display:block}.hud-pop-affect-pill-name{font-weight:600}.hud-pop-affect-pill-dur{color:var(--term-dim,#888);font-family:ui-monospace,monospace;font-size:9.5px}.hud-pop-lsc-row{border-top:1px dashed #ffffff14;flex-direction:column;gap:6px;padding-top:4px;display:flex}.hud-pop-lsc-toggle{color:#888;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px dashed #ffffff2e;border-radius:4px;align-self:flex-start;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-family:-apple-system,system-ui,sans-serif;font-size:10px;font-weight:600;display:inline-flex}.hud-pop-lsc-toggle:hover{color:#b8d8c4;border-color:#b8d8c452}.hud-pop-lsc-toggle-on{color:#b8d8c4;background:#b8d8c40f;border-style:solid;border-color:#b8d8c452}.hud-pop-lsc-grid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px 8px;display:grid}.hud-pop-lsc-pill{grid-template-columns:28px 1fr;align-items:center;gap:4px 6px;font-family:ui-monospace,monospace;font-size:10px;display:grid}.hud-pop-lsc-pill-lab{color:#b8d8c4;letter-spacing:.06em;font-weight:600}.hud-pop-lsc-pill-val{color:#fff;text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.hud-pop-lsc-pill-track{background:#ffffff0f;border-radius:1.5px;grid-column:1/-1;height:3px;overflow:hidden}.hud-pop-lsc-pill-track>span{background:linear-gradient(90deg,#5a8,#7c9);height:100%;display:block}@media (width<=480px){.hud-status-line{gap:5px;padding:0 6px;font-size:10px}.hud-id-name,.hud-id-lvl{font-size:10.5px}.hud-segbar{width:64px;min-width:40px}.hud-target-inline{padding:2px 4px}.hud-headband-plate{width:18px;height:18px}.hud-headband-sm{width:11px;height:11px}.hud-divider{height:13px;margin:0}}@media (width<=380px){.hud-segbar{width:50px;min-width:36px}.hud-stat-group{gap:3px}.hud-status-line{gap:4px}.hud-stat-lab{font-size:9px}.hud-divider{height:12px}}@media (prefers-reduced-motion:reduce){.hud-popover,.hud-segbar-low .hud-seg-on,.hud-segbar-crit .hud-seg-on,.hud-body-cell-dot[data-state=severe]{animation:none}}.terminal-container{background:var(--bg);overscroll-behavior:contain;flex:1;padding:4px 6px;overflow:hidden}.terminal-container .xterm{height:100%}.terminal-container .xterm-viewport{overflow-y:auto!important}.input-bar{border-top:1px solid var(--border);background:var(--input-bg);padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0;align-items:center;gap:4px;display:flex}.status-indicator{white-space:nowrap;flex-shrink:0;font-size:11px}.status-connected{color:var(--accent)}.status-connecting{color:#aa0}.status-disconnected{color:#777}.history-btns{flex-shrink:0;gap:2px;display:flex}.history-btn{background:var(--btn-bg);border:1px solid var(--border);color:#888;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:3px;justify-content:center;align-items:center;width:30px;min-height:32px;padding:0;font-family:inherit;font-size:14px;display:flex}.history-btn:hover{background:var(--btn-hover);color:var(--text);border-color:var(--accent-dim)}.history-btn:active{background:var(--accent-dim);color:#fff}.history-btn:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.input-bar input{color:var(--text);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;padding:8px 4px;font-family:inherit;font-size:16px}.send-btn{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;flex-shrink:0;min-height:32px;padding:4px 10px;font-family:inherit;font-size:12px}.send-btn:hover{background:var(--btn-hover);border-color:var(--accent-dim)}.channel-toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--hud-border-c);border-bottom:1px solid var(--hud-border-c);height:26px;color:var(--text);cursor:pointer;z-index:6;box-sizing:border-box;background:#0d0d0dd1;align-items:center;gap:8px;padding:0 8px 0 12px;font-family:-apple-system,system-ui,sans-serif;font-size:11.5px;display:flex;position:fixed;bottom:68px;left:0;right:0}.channel-toast:before{content:"";width:2px;position:absolute;top:0;bottom:0;left:0}.channel-toast-discord:before{background:#5865f2}.channel-toast-ooc:before{background:#d8c8a8}.channel-toast-tell:before{background:var(--hud-target)}.channel-toast .channel-badge{flex-shrink:0}.channel-toast-name{color:#fff;flex-shrink:0;font-weight:600}.channel-toast-tell .channel-toast-name{color:var(--hud-target)}.channel-toast-text{color:#cfd2d6;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.channel-toast-tag{color:#888;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:9.5px}.channel-toast-dismiss{box-sizing:content-box;color:#888;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;width:22px;height:22px;margin:-11px -11px -11px 0;padding:11px;font-size:16px;line-height:1}.channel-toast-dismiss:hover{color:#ccc;background:#ffffff0d}.channel-panel{width:280px;max-height:calc(100dvh - 124px - var(--hud-popover-h,0px) - 8px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;background:#141414c7;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;font-family:-apple-system,system-ui,sans-serif;font-size:12px;display:flex;position:fixed;top:44px;right:8px;overflow:hidden;box-shadow:0 4px 18px #00000080}.channel-panel-head{border-bottom:1px solid var(--hud-border-c);flex-shrink:0;align-items:center;gap:4px;padding:6px 8px;display:flex}.channel-panel-close{color:#888;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;width:22px;min-width:44px;height:22px;min-height:44px;font-size:16px;line-height:1}.channel-panel-close:hover{color:#ccc;background:#ffffff0d}.channel-tabs{flex:1;gap:4px;min-width:0;display:flex}.channel-tab{color:#888;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.channel-tab:hover{color:#ccc}.channel-tab-active{color:#fff;border-color:var(--hud-border-c);background:#ffffff0f}.channel-tab-tells.channel-tab-active{color:var(--hud-target);background:#ff7a7a1f;border-color:#ff7a7a4d}.channel-tab-count{color:#fff;text-align:center;background:#ffffff1a;border-radius:8px;min-width:14px;padding:0 5px;font-size:9.5px;font-weight:700;line-height:1.5}.channel-tab-tells .channel-tab-count{color:#fff;background:#ff7a7a33}.channel-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;padding:6px 8px;font-size:11.5px;line-height:1.4;display:flex;overflow-y:auto}.channel-list-empty{color:#888;text-align:center;padding:12px 4px;font-size:11px;font-style:italic}.channel-msg{word-break:break-word;border-left:2px solid #0000;flex-wrap:wrap;align-items:baseline;gap:4px;margin-left:-8px;padding:2px 0 2px 8px;display:flex}.channel-msg-discord{border-left-color:#5865f2}.channel-msg-mud{border-left-color:#ffffff0f}.channel-msg-tell{border-left-color:var(--hud-target)}.channel-badge{color:#fff;background:#5865f2;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-family:-apple-system,system-ui,sans-serif;font-size:9px;font-weight:700;display:inline-flex}.channel-msg-name{color:#6cf;flex-shrink:0;font-weight:600}.channel-msg-tell .channel-msg-name{color:var(--hud-target)}.channel-msg-name:after{content:":";color:#888;margin-right:2px;font-weight:400}.channel-msg-text{color:var(--text)}@media (width<=833px){.channel-panel{z-index:6;pointer-events:none;border-bottom:0;border-left:0;border-right:0;border-radius:12px 12px 0 0;width:100%;height:320px;max-height:75vh;transition:transform .18s ease-out;inset:auto 0 40px;transform:translateY(calc(100% + 40px))}.channel-panel-open{pointer-events:auto;transform:translateY(0)}}@media (width>=834px){.channel-toast,.channel-panel-close{display:none}:is(.app-container:has(.channel-panel) .update-strip,.app-container:has(.channel-panel) .audio-consent){padding-right:300px}}.settings-overlay{z-index:100;background:#0009;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.settings-panel{background:var(--panel-bg);border-left:1px solid var(--panel-border);flex-direction:column;width:480px;max-width:100vw;height:100vh;display:flex;overflow:hidden}.settings-header{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.settings-header h2{color:var(--accent);margin:0;font-size:15px}.btn-close{min-width:44px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0 12px;font-size:20px;line-height:1}.settings-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 0 auto;min-width:48px;padding:12px 6px;font-family:inherit;font-size:12px;transition:color .15s}.settings-tabs button:hover{color:var(--text)}.settings-tabs button.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tabs button.tab-active.tab-active-warn{color:var(--hud-st,#d8c050);border-bottom-color:var(--hud-st,#d8c050)}.shortcut-search-row{margin:0 0 8px}.shortcut-search-row input{border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;background:#1e1e1e;border-radius:3px;padding:6px 10px;font-family:inherit;font-size:12px}.shortcut-search-row input:focus{border-color:var(--accent-dim);outline:none}.shortcut-list,.reaction-list{flex-direction:column;gap:4px;display:flex}.shortcut-row,.reaction-row{background:#ffffff05;border:1px solid #0000;border-radius:4px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:6px 4px 6px 6px;display:grid}.shortcut-row:hover,.reaction-row:hover{background:#ffffff0a}.shortcut-row.disabled .shortcut-body,.reaction-row.disabled .shortcut-body{opacity:.55}.shortcut-row.editing,.reaction-row.editing{background:#66ccff0d;border-color:#66ccff4d;grid-template-columns:1fr}.reaction-row{background:#d8c0500a;border-color:#d8c0502e}.reaction-row.editing{background:#66ccff0d;border-color:#66ccff4d}.shortcut-row input[type=checkbox],.reaction-row input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}.shortcut-body{flex-direction:column;gap:1px;min-width:0;display:flex}.shortcut-trigger code{color:var(--hud-ck,#6cf);font-family:ui-monospace,monospace;font-size:12px;font-weight:600}.shortcut-expansion code{color:#bbb;font-family:ui-monospace,monospace;font-size:11px}.shortcut-expansion-list{flex-direction:column;gap:1px;min-width:0;display:flex}.shortcut-actions{gap:2px;display:inline-flex}.row-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;display:inline-flex}.row-btn:hover{color:#ccc;border-color:var(--border);background:#ffffff0d}.row-btn.danger:hover{color:var(--danger);border-color:#c7505066}.shortcut-edit{grid-template-columns:22px 1fr;gap:8px;padding:4px;display:grid}.shortcut-edit-fields{grid-template-columns:1fr;gap:6px;display:grid}.shortcut-edit-field{align-items:center;gap:6px;display:flex}.shortcut-edit-field label{color:#999;text-transform:uppercase;letter-spacing:.06em;width:80px;font-size:10.5px}.shortcut-edit-field label.multiline-label{align-self:flex-start;padding-top:6px}.shortcut-edit-field input,.shortcut-edit-field textarea,.shortcut-edit-field select{border:1px solid var(--border);color:var(--text);box-sizing:border-box;background:#1e1e1e;border-radius:3px;flex:1;padding:4px 8px;font-family:ui-monospace,monospace;font-size:12px}.shortcut-edit-field textarea{resize:vertical;min-height:60px;line-height:1.4}.shortcut-edit-buttons{justify-content:flex-end;gap:6px;display:flex}.shortcut-edit-buttons button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#1e1e1e;border-radius:3px;padding:4px 12px;font-family:inherit;font-size:11.5px}.shortcut-edit-buttons button.primary{color:var(--accent);background:#69d36e2e;border-color:#69d36e80;font-weight:700}.shortcut-add-row{border-top:1px dashed var(--border);flex-direction:column;align-items:stretch;gap:6px;margin-top:8px;padding-top:10px}.shortcut-add-row input[type=text],.shortcut-add-row textarea,.shortcut-add-row select{border:1px solid var(--border);color:var(--text);box-sizing:border-box;background:#1e1e1e;border-radius:3px;flex:none;width:100%;padding:6px 8px;font-family:ui-monospace,monospace;font-size:12px}.shortcut-add-row textarea{resize:vertical;min-height:60px;line-height:1.4}.shortcut-add-row button{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;align-self:flex-end;padding:6px 14px;font-family:inherit;font-size:12px}.shortcut-add-label{text-transform:uppercase;letter-spacing:.08em;color:#888;font-size:10px}.reaction-meta{margin-top:2px}.reaction-rate-select{color:var(--hud-st,#d8c050);cursor:pointer;background:0 0;border:0;padding:0;font-family:ui-monospace,monospace;font-size:10px}.reaction-rate-select:focus{outline:1px dashed var(--hud-st,#d8c050);outline-offset:2px}.reaction-disabled-badge{color:var(--hud-st,#d8c050);text-transform:none;letter-spacing:.04em;margin-left:6px;font-size:9.5px;font-weight:700}.reaction-add-rate{align-items:center;gap:6px;display:flex}.reaction-add-rate label{color:#999;text-transform:none;letter-spacing:0;flex:1;font-size:11px}.reaction-add-rate select{flex:none;width:auto}.starter-pack-banner{color:#ddd;background:#69d36e1a;border:1px solid #69d36e4d;border-radius:3px;align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;font-size:11.5px;line-height:1.45;display:flex}.starter-pack-banner span{flex:1}.starter-pack-banner button{color:var(--accent);cursor:pointer;white-space:nowrap;background:#69d36e2e;border:1px solid #69d36e80;border-radius:3px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:700}.starter-pack-banner button:hover{background:#69d36e47}.reactions-migration-banner{color:#ddd;background:#d8c0501a;border:1px solid #d8c0504d;border-radius:3px;align-items:flex-start;gap:8px;margin:0 0 8px;padding:8px 10px;font-size:11.5px;line-height:1.45;display:flex}.reactions-migration-banner button{color:#999;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.reactions-migration-banner button:hover{color:#ccc}.shortcuts-hint code,.reactions-hint code{color:var(--hud-ck,#6cf);background:#66ccff14;border-radius:2px;padding:0 3px}.settings-empty,.shortcut-empty-filter{text-align:center;color:#666;padding:12px 0;font-size:11px;font-style:italic}.sound-section .sound-master{font-size:13px}.sound-vol-row{grid-template-columns:60px 1fr 44px;align-items:center;gap:8px;display:grid}.sound-vol-row label{color:#999;min-width:0;font-size:12px}.sound-vol-row input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.sound-vol-row input[type=range]:disabled{cursor:not-allowed;opacity:.4}.sound-vol-readout{color:#888;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:11px}.sound-section .settings-row input[type=checkbox]:disabled+span{opacity:.45}.audio-consent{color:#ddd;cursor:pointer;background:#66ccff1a;border-bottom:1px solid #66ccff40;flex-shrink:0;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.audio-consent:hover{background:#66ccff24}.audio-consent-icon{font-size:14px}.audio-consent-body{flex:1}.audio-consent-dismiss{color:#888;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px;line-height:1}.audio-consent-dismiss:hover{color:#ccc}.settings-body{flex:1;padding:16px;overflow-y:auto}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-group-head{text-transform:uppercase;letter-spacing:.1em;color:var(--hud-ck);border-bottom:1px solid #6cf3;margin:12px 0 0;padding:0 0 4px;font-size:10px;font-weight:700}.settings-group-head:first-of-type{margin-top:0}.settings-reset{color:#888;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:8px;padding:4px 0;font-size:11px;text-decoration:underline}.settings-reset:hover{color:#ccc}.settings-reset:focus-visible{outline-offset:2px;outline:1px dashed #888}.settings-row,.font-size-control{align-items:center;gap:8px;display:flex}.font-size-control span{text-align:center;min-width:36px;font-size:13px}.settings-row label{color:#999;min-width:80px;font-size:12px}.settings-row input[type=text],.settings-row input[type=password]{border:1px solid var(--border);color:var(--text);background:#1e1e1e;border-radius:3px;outline:none;flex:1;padding:5px 8px;font-family:inherit;font-size:13px}.settings-row input[type=text]:focus,.settings-row input[type=password]:focus{border-color:var(--accent-dim)}.settings-hint{color:#666;margin:0;font-size:11px;line-height:1.5}.settings-table{border-collapse:collapse;width:100%;font-size:12px}.settings-table th{text-align:left;color:#666;border-bottom:1px solid var(--border);padding:4px 6px}.settings-table td{vertical-align:middle;border-bottom:1px solid #1e1e1e;padding:4px 6px}.settings-table td code{color:var(--accent);font-family:inherit}.settings-add-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.settings-add-row input[type=text],.settings-add-row select{border:1px solid var(--border);color:var(--text);background:#1e1e1e;border-radius:3px;outline:none;flex:1;min-width:80px;padding:4px 6px;font-family:inherit;font-size:12px}.settings-add-row button{background:var(--btn-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:3px;padding:4px 10px;font-family:inherit;font-size:12px}.settings-add-row button:hover{background:var(--btn-hover)}.settings-add-row button.btn-capturing{border-color:var(--accent);color:var(--accent);animation:1s infinite pulse}.btn-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
