.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade-in .4s ease-out both}.login-card{width:100%;max-width:380px;padding:30px 26px 24px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-brand-mark{width:34px;height:34px;border-radius:var(--radius);background:var(--surface-2);border:var(--hairline) solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.66rem}.login-brand-text .name{font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.login-brand-text .sub{font-family:var(--font-mono);font-size:.66rem;color:var(--ink-faint);letter-spacing:.08em;margin-top:5px}.login-field{margin-bottom:16px}.login-field label{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:7px}.login-field input{width:100%;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink);padding:10px 11px;font-family:var(--font-jp);font-size:.85rem;letter-spacing:.02em;transition:border-color .15s ease}.login-field input:focus{border-color:var(--accent);outline:none}.login-field .hint{margin-top:6px;font-size:.68rem;color:var(--ink-faint);line-height:1.5}.login-error{background:color-mix(in oklab,var(--danger) 14%,var(--surface));border:var(--hairline) solid color-mix(in oklab,var(--danger) 55%,var(--line));border-radius:var(--radius);color:var(--ink);padding:9px 10px;font-size:.75rem;margin-bottom:16px;line-height:1.5}.login-submit{width:100%;background:var(--accent);color:#161200;border:none;border-radius:var(--radius);padding:13px;font-family:var(--font-jp);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .15s ease}.login-submit:hover:not(:disabled){opacity:.86}.login-submit:disabled{opacity:.5;cursor:default}.login-back{display:inline-block;margin-top:14px;font-size:.72rem;color:var(--ink-muted);background:none;border:none;cursor:pointer;padding:0}.login-back:hover{color:var(--accent)}.strip .live{font-family:var(--font-mono)}.strip .live[hidden]{display:none}.strip .strip-in{flex-wrap:wrap;height:auto;min-height:52px;row-gap:8px;padding-top:6px;padding-bottom:6px}.strip .brand,.strip .live,.strip .strip-nav a,.strip .strip-public-link,.strip .dash-user{white-space:nowrap}.strip .strip-right{margin-left:0;flex:1 0 auto;justify-content:flex-end}.strip-schedule{background:var(--surface-2);border-top:var(--hairline) solid var(--line);border-bottom:var(--hairline) solid var(--line);padding:8px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.strip-schedule[hidden],.schedule-picker[hidden],.schedule-countdown[hidden],.schedule-error[hidden]{display:none}.schedule-picker,.schedule-countdown,.schedule-error{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;width:100%}.schedule-picker-label,.schedule-countdown-message{color:var(--ink);font-size:.75rem;white-space:nowrap}.schedule-picker-options{display:flex;gap:8px}.schedule-close{margin-left:auto;background:none;border:none;color:var(--ink-faint);font-size:1rem;line-height:1;cursor:pointer;padding:2px 6px}.schedule-close:hover{color:var(--accent)}.schedule-countdown-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700;color:var(--ink);min-width:4.5em;text-align:center}.schedule-countdown-time.is-critical{color:var(--accent)}.schedule-progress{flex:1 1 160px;min-width:120px;height:6px;background:var(--surface);border:var(--hairline) solid var(--line);border-radius:var(--radius);overflow:hidden}.schedule-progress-fill{height:100%;background:var(--accent);transition:width .2s linear}.schedule-error{color:var(--danger);font-size:.75rem}.strip-power{display:flex;gap:8px}@media(max-width:720px){.strip-power{display:none}}.strip-public-link{display:flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color .16s}.strip-public-link:hover,.strip-public-link:focus-visible{color:var(--accent)}.strip-public-icon{width:14px;height:14px;flex:none}@media(max-width:900px){.strip-right .strip-public-label{display:none}}.dash-user{display:flex;align-items:center;gap:10px;font-size:.72rem;color:var(--ink-muted);font-family:var(--font-mono)}.dash-logout{background:none;border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink-muted);padding:6px 12px;font-size:.7rem;cursor:pointer}.dash-logout:hover{border-color:var(--accent);color:var(--accent)}.hero{position:relative;border-bottom:var(--hairline) solid var(--line);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(115% 85% at 80% 12%,rgba(240,167,51,.09),transparent 62%),linear-gradient(198deg,#1c201a,#111411 58%,#0d0f0d)}.hero-in{position:relative;padding:32px 0 0}.mapline{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap}.mapname{font-family:var(--font-display);font-size:clamp(36px,6vw,72px);line-height:.98;letter-spacing:-.012em;text-transform:uppercase;overflow:hidden;margin:0}.mapname span{display:block}.mapmeta-strip{padding:0}.mapmeta-strip:has(.mapmeta:not([hidden])){padding:18px 0}.mapmeta{display:flex;flex-wrap:wrap;row-gap:6px;gap:22px;padding-bottom:9px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.mapmeta b{color:var(--bone);font-weight:500}.counts{display:flex;align-items:baseline;flex-wrap:wrap;row-gap:4px;gap:12px;margin:20px 0 14px}.count-big{font-family:var(--font-display);font-size:36px;line-height:1;font-variant-numeric:tabular-nums;color:var(--amber)}.count-sub{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.balance{margin-top:14px;padding-bottom:24px}.balance .bar{position:relative;width:100%;height:12px;display:flex;gap:3px;margin-bottom:9px}.balance .bar i{display:block;height:100%;width:0;transition:width .75s cubic-bezier(.22,.9,.3,1)}.balance .b-al{background:var(--allies)}.balance .b-ax{background:var(--axis)}.balance .b-sp{background:var(--line-bright)}.balance .bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(13,15,13,.55) 0 1px,transparent 1px 16px)}.bar-legend{display:flex;gap:26px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.bar-legend s{width:8px;height:8px;display:inline-block;margin-right:7px;text-decoration:none}.bar-legend b{color:var(--bone);font-weight:500;margin-left:6px;font-variant-numeric:tabular-nums}.hero-map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}@media(max-width:900px){.hero-map-actions{flex-direction:column;align-items:stretch}.hero-map-actions .modal-label{white-space:normal}.hero-map-actions .modal-select{flex:1 1 auto}}.hero-map-actions .modal-label{margin:0;flex:0 0 auto;white-space:nowrap}.hero-map-actions .modal-select{width:auto;flex:1 1 160px;min-width:140px}.hero-map-actions button{flex:0 0 auto}.hero-map-actions .stub-note{flex:1 1 100%}.dash-gauge-status .panel-body{padding-bottom:10px}.vitals-tiles{display:flex;flex-wrap:wrap;gap:6px}.vital-tile{flex:1 1 96px;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;transition:background-color .2s ease}.vital-tile-label{font-size:.62rem;letter-spacing:.03em;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vital-tile-caption{font-family:var(--font-mono);font-size:.58rem;color:var(--ink-faint)}.vital-tile:has(.stat-value.is-warn){animation:vital-warn-pulse 1.8s ease-in-out infinite}@keyframes vital-warn-pulse{0%,to{background-color:color-mix(in oklab,var(--danger) 6%,var(--surface-2))}50%{background-color:color-mix(in oklab,var(--danger) 20%,var(--surface-2))}}.main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:0;align-items:stretch}.main .dash-monitor{border-right:none}@media(max-width:980px){.main{display:flex;flex-direction:column;gap:26px;align-items:stretch}.main .dash-monitor{border-right:var(--hairline) solid var(--line)}}.dash-monitor{container-type:inline-size;min-width:0}.main .hud-panel{min-height:0}.main .panel-body,.main .roster-scroll{flex:1 1 auto;min-height:0}.main .chat-log-list{flex:1 1 auto;min-height:0;max-height:1040px}.ops-grid,.mod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start;padding:24px 0}.dash-search-compact .search-results:empty,.dash-search-compact .search-results:has(.empty-note){display:none}.main .hud-panel,.ops-grid .hud-panel,.mod-grid .hud-panel{display:flex;flex-direction:column}.main .panel-title,.ops-grid .panel-title,.mod-grid .panel-title{flex:0 0 auto}.main .panel-body,.ops-grid .panel-body,.mod-grid .panel-body{display:flex;flex-direction:column;gap:8px}.main .panel-body.scroll-y,.ops-grid .panel-body.scroll-y,.mod-grid .panel-body.scroll-y{max-height:420px;overflow-y:auto}.main .chat-log-list,.main .search-results,.mod-grid .chat-log-list,.mod-grid .search-results{min-height:0}.panel-title{font-family:var(--font-display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);padding:12px 14px 0}.panel-title .badge-todo{font-size:.62rem;color:var(--ink-faint);border:var(--hairline) solid var(--line);border-radius:var(--radius);padding:2px 6px;margin-left:8px}.panel-body{padding:12px 14px 14px}.vitals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vital-stub{background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);padding:10px;text-align:center;color:var(--ink-faint)}.vital-stub .label{font-size:.66rem}.vital-stub .value{font-family:var(--font-mono);font-size:.8rem;margin-top:8px}.stat-value{display:inline-block;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1;color:var(--accent);padding:2px 6px;border-radius:var(--radius);transition:color .2s ease}.stat-value.is-empty{color:var(--ink-faint);font-weight:400}.stat-value.is-warn{color:var(--danger)}@keyframes value-flash{0%{background-color:color-mix(in oklab,currentColor 30%,transparent)}to{background-color:transparent}}.value-flash{animation:value-flash .35s ease-out;border-radius:var(--radius)}.stub-note{margin-top:10px;font-size:.68rem;color:var(--ink-faint);line-height:1.6}.stub-note[data-power-cooldown]:not(:empty){color:var(--danger)}[data-power-state]{display:inline-flex;align-items:center;gap:6px}[data-power-state]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-faint);flex:none;transition:background-color .2s ease}[data-power-state][data-state=active]{color:var(--good)}[data-power-state][data-state=active]:before{background:var(--good)}[data-power-state][data-state=inactive],[data-power-state][data-state=failed]{color:var(--danger)}[data-power-state][data-state=inactive]:before,[data-power-state][data-state=failed]:before{background:var(--danger)}[data-power-state][data-state=activating],[data-power-state][data-state=deactivating]{color:var(--accent)}[data-power-state][data-state=activating]:before,[data-power-state][data-state=deactivating]:before{background:var(--accent)}.broadcast-row{display:flex;gap:8px}.broadcast-row input{flex:1;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink);padding:9px 10px;font-size:.8rem;transition:border-color .15s ease}.broadcast-row input:focus{border-color:var(--accent);outline:none}.broadcast-row button{background:var(--accent);color:#161200;border:none;border-radius:var(--radius);padding:9px 16px;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.broadcast-row button:hover{opacity:.86}.modtab{table-layout:auto}table.modtab thead th,table.modtab tbody td{font-family:var(--font-mono)}.modtab tbody tr:hover{background:var(--surface-2)}table.modtab tbody td.pname{font-family:var(--font-jp)}.modtab th.type,.modtab td.type{text-align:center}.modtab td.expiry{color:var(--ink-faint)}.modtab th.reason,.modtab td.reason{text-align:left;font-family:var(--font-jp);font-weight:400;color:var(--ink-muted);white-space:normal;width:34%}.modtab th.action,.modtab td.action{width:92px}.modtab td.action{text-align:right}.modtab tbody td.empty-note{font-family:var(--font-jp);text-align:center;white-space:normal}.bot-badge{font-size:.6rem;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink-faint);padding:1px 5px;flex-shrink:0}.player-badge-human{background:color-mix(in oklab,var(--accent) 16%,var(--surface-2));border-color:color-mix(in oklab,var(--accent) 55%,var(--line));color:var(--accent)}.class-icon{width:15px;height:15px;display:block}.player-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.btn-xs{background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink-muted);padding:4px 8px;font-size:.66rem;cursor:pointer}.btn-xs:hover{border-color:var(--accent);color:var(--accent)}.btn-xs-danger:hover{border-color:var(--danger);color:var(--ink)}.btn-xs:disabled{opacity:.3;cursor:not-allowed;border-color:var(--line);color:var(--ink-faint);background:transparent}.btn-xs:disabled:hover{border-color:var(--line);color:var(--ink-faint)}.empty-note{color:var(--ink-faint);font-size:.75rem;padding:10px 4px}.roster-refresh{font-size:.66rem;color:var(--ink-faint);background:none;border:none;cursor:pointer;padding:0}.roster-refresh:hover{color:var(--accent)}.roster-scroll{max-height:1040px;overflow-y:auto;overflow-x:hidden}.roster-scroll .team{margin-bottom:14px}.roster-scroll .team:last-child{margin-bottom:0}.roster-scroll .team-hd{display:flex;align-items:center;gap:10px;padding:5px 4px;border-bottom:var(--hairline) solid var(--line)}.roster-scroll .team-tag{font-family:var(--font-jp);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.team-allies .team-tag{color:var(--team-allies)}.team-axis .team-tag{color:var(--team-axis)}.team-spectator .team-tag{color:var(--team-spectator)}.roster-scroll .team-n{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-faint);margin-left:auto;font-variant-numeric:tabular-nums}.roster-scroll .team-table-wrap{overflow-x:auto}.roster-scroll table{width:100%;border-collapse:collapse;table-layout:fixed}.roster-scroll thead th{position:sticky;top:0;background:var(--surface);z-index:1;font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:right;padding:6px 5px;border-bottom:var(--hairline) solid var(--line)}.roster-scroll .roster-cell-rank{color:var(--ink-faint)}.roster-scroll thead th.pname,.roster-scroll td.pname{width:auto;text-align:left}.roster-scroll thead th:first-child,.roster-scroll .roster-cell-rank{width:22px;text-align:left}.roster-scroll thead th.c-skill,.roster-scroll td.c-skill{width:40px}.roster-scroll thead th.c-ip,.roster-scroll td.c-ip,.roster-scroll thead th.c-xp,.roster-scroll td.c-xp{display:none}.roster-scroll thead th:nth-child(6),.roster-scroll .roster-cell-kills{width:34px}.roster-scroll thead th:nth-child(7),.roster-scroll .roster-cell-deaths{width:34px}.roster-scroll thead th:nth-child(8),.roster-scroll .roster-cell-kpm{display:none}.roster-scroll thead th:nth-child(9),.roster-scroll .roster-cell-ping{width:34px}@container (min-width: 540px){.roster-scroll thead th,.roster-scroll tbody td{padding:7px 8px}.roster-scroll thead th:first-child,.roster-scroll .roster-cell-rank{width:34px}.roster-scroll thead th.c-skill,.roster-scroll td.c-skill{width:40px}.roster-scroll thead th.c-ip,.roster-scroll td.c-ip{display:table-cell;width:110px}.roster-scroll thead th.c-xp,.roster-scroll td.c-xp{display:table-cell;width:100px}.roster-scroll thead th:nth-child(6),.roster-scroll .roster-cell-kills{width:50px}.roster-scroll thead th:nth-child(7),.roster-scroll .roster-cell-deaths{width:50px}.roster-scroll thead th:nth-child(8),.roster-scroll .roster-cell-kpm{display:table-cell;width:66px}.roster-scroll thead th:nth-child(9),.roster-scroll .roster-cell-ping{width:50px}}.roster-scroll tbody td{padding:6px 5px;border-bottom:var(--hairline) solid var(--line);text-align:right;font-family:var(--font-mono);font-size:.68rem;font-variant-numeric:tabular-nums}.roster-scroll td.c-xp{color:var(--accent)}.roster-scroll .roster-cell-kills{color:var(--good)}.roster-scroll .roster-cell-deaths{color:var(--danger)}.roster-scroll .roster-cell-ping{color:var(--ink-faint)}.roster-scroll td.pname{font-family:var(--font-jp);font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-scroll tbody tr{cursor:pointer;transition:background .14s}.roster-scroll tbody tr:hover{background:var(--surface-2)}.roster-scroll tbody tr.is-selected{background:color-mix(in oklab,var(--accent) 12%,var(--surface))}@keyframes roster-row-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.roster-row-enter{animation:roster-row-enter .3s ease-out both}@keyframes roster-row-exit{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.roster-row-exit{animation:roster-row-exit .25s ease-in forwards;pointer-events:none}.roster-scroll .country-code{display:none;width:26px;margin-right:8px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;color:var(--ink-faint);vertical-align:-2px}@container (min-width: 540px){.roster-scroll .country-code{display:inline-block}}.roster-scroll .player-flag{display:inline-block;width:40px;margin-right:9px;font-size:.78rem;opacity:.85;vertical-align:-2px;border-radius:1px}.roster-scroll .player-flag.is-bot{padding:1px 6px;border:var(--hairline) solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.1em;color:var(--ink-faint);text-align:center;box-sizing:border-box;opacity:1}.roster-scroll td.pname .player-flag.fi{width:40px}.roster-scroll .player-name{font-family:var(--font-jp)}.player-name-slot-suffix{font-family:var(--font-mono);color:var(--ink-faint);font-weight:400}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0f0dbf;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fade-in .15s ease-out both}.modal-box{width:100%;max-width:380px;padding:16px}.modal-title{font-family:var(--font-display);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}.modal-body{font-size:.78rem;line-height:1.6}.modal-label{display:block;font-size:.68rem;color:var(--ink-muted);margin:10px 0 6px}.modal-textarea,.modal-select{width:100%;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink);padding:8px;font-family:var(--font-jp);font-size:.8rem;transition:border-color .15s ease}.modal-textarea:focus,.modal-select:focus{border-color:var(--accent);outline:none}.modal-duration-row{display:flex;gap:8px;align-items:center}.modal-duration-row .modal-textarea{flex:1 1 auto;min-width:0;width:auto}.modal-duration-row .modal-select{flex:0 0 auto;width:auto;min-width:84px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-outline{background:none;border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink-muted);padding:8px 14px;font-family:var(--font-display);font-size:.72rem;letter-spacing:.04em;cursor:pointer}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);color:#161200;border:none;border-radius:var(--radius);padding:8px 14px;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.04em;cursor:pointer}.btn-primary:hover{opacity:.86}.btn-danger{background:var(--danger);color:#1a0705;border:none;border-radius:var(--radius);padding:8px 14px;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.04em;cursor:pointer}.btn-danger:hover{opacity:.86}.power-actions{display:flex;gap:8px}.power-actions button{flex:1}.power-actions-4{flex-wrap:wrap}.power-actions-4 button{flex:1 1 calc(50% - 4px)}@media(max-width:480px){.power-actions-4{flex-direction:column}.power-actions-4 button{flex:1 1 auto}}.lua-status-list{margin-top:6px;display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.lua-status-row{display:flex;justify-content:space-between;gap:8px;font-size:.68rem;color:var(--ink-faint)}.settings-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-content:start}@media(max-width:1200px){.settings-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.settings-grid{grid-template-columns:1fr}}.setting-row{padding:10px 12px;border:var(--hairline) solid var(--line);border-radius:var(--radius);transition:background-color .15s ease}.setting-row:hover{background:var(--surface-2)}.setting-label{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:5px}.setting-row-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.setting-row-main .btn-xs{flex:0 0 auto;white-space:nowrap}.setting-value{font-family:var(--font-mono);color:var(--accent);font-size:.82rem;flex:1 1 auto;min-width:0;overflow-wrap:anywhere;transition:color .2s ease}.setting-value.is-unavailable{color:var(--ink-faint);font-style:italic;font-size:.76rem}.setting-value.is-enabled{color:var(--good)}.setting-value.is-disabled{color:var(--ink-faint)}.chat-log-list{max-height:420px;overflow-y:auto;border:var(--hairline) solid var(--line);border-radius:var(--radius);padding:6px 8px}.chat-log-compact{max-height:140px}.search-input{width:100%;background:var(--surface-2);border:var(--hairline) solid var(--line);border-radius:var(--radius);color:var(--ink);padding:9px 10px;font-size:.8rem;margin-bottom:10px;transition:border-color .15s ease}.search-input:focus{border-color:var(--accent);outline:none}.search-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.search-bar-row .search-input{width:auto;flex:1 1 auto;margin-bottom:0}.search-bar-row button{flex:0 0 auto}@media(max-width:480px){.search-bar-row{flex-direction:column;align-items:stretch}}.search-results{max-height:260px;overflow-y:auto}.search-result-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:var(--hairline) solid var(--line);cursor:pointer;transition:background-color .15s ease}.search-result-row:hover{background:var(--surface-2)}.search-result-name{font-size:.8rem;flex-shrink:0}.search-result-meta{font-family:var(--font-mono);color:var(--ink-faint);font-size:.66rem;margin-left:auto}.status-badge{font-size:.62rem;padding:2px 6px;border:var(--hairline) solid var(--line);border-radius:var(--radius);flex-shrink:0}.status-online{color:var(--good);border-color:var(--good)}.status-offline{color:var(--ink-faint)}.history-box{max-width:480px;max-height:85vh;display:flex;flex-direction:column}.history-header{display:flex;align-items:center;gap:10px}.history-name{font-size:.9rem}.history-meta{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-faint);line-height:1.7;margin-top:6px}.history-ban-note{margin-top:8px;background:color-mix(in oklab,var(--danger) 14%,var(--surface));border:var(--hairline) solid color-mix(in oklab,var(--danger) 55%,var(--line));border-radius:var(--radius);padding:6px 8px;font-size:.7rem}.history-chat-title{font-size:.68rem;color:var(--ink-muted);margin:14px 0 6px}.history-chat-list{flex:1;min-height:120px;max-height:320px;overflow-y:auto;border:var(--hairline) solid var(--line);border-radius:var(--radius);padding:6px 8px}.chat-log-row{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-bottom:var(--hairline) solid var(--line);font-size:.72rem;flex-wrap:wrap}@keyframes chat-row-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.chat-row-enter{animation:chat-row-enter .3s ease-out both}.chat-log-time{font-family:var(--font-mono);color:var(--ink-faint);font-size:.62rem;flex-shrink:0;white-space:nowrap}.chat-log-message{flex:1;min-width:0;word-break:break-word}.event-icon{flex-shrink:0;font-family:var(--font-mono)}.event-icon-join{color:var(--good)}.event-icon-leave{color:var(--ink-faint)}.event-icon-kill{color:var(--danger)}.scroll-y{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.scroll-y::-webkit-scrollbar{width:8px;height:8px}.scroll-y::-webkit-scrollbar-track{background:transparent}.scroll-y::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.live-indicator{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.live-indicator .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);position:relative}.live-indicator.is-live .dot{background:var(--good)}.live-indicator.is-live .dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--good);animation:live-pulse 2s ease-out infinite}.live-indicator.is-live{color:var(--ink-muted)}@keyframes live-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(3);opacity:0}}.toast-stack{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:320px}.toast{background:var(--surface);border:var(--hairline) solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);color:var(--ink);padding:10px 12px;font-size:.75rem;line-height:1.5;animation:toast-in .2s ease-out}.toast-error{border-left-color:var(--danger)}.toast-out{opacity:0;transition:opacity .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
