:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6e8e8;font-synthesis:none;--ink:#e6e8e8;--muted:#92999c;--panel:#0d1112;--panel-raised:#111617;--line:#3a4244;--line-soft:#252c2e;--acid:#b8ff36;--acid-dim:#8fc42f;--red:#ff4b4f;--cyan:#53d9ed;--amber:#ffb44d;background:#090c0d;font-family:SFMono-Regular,Cascadia Mono,Consolas,monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at 50% 0,#13191a 0,#090c0d 50%);min-width:320px;margin:0}button,input{font:inherit}button{color:inherit}.agent-name{cursor:pointer;min-width:0;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:500;overflow:hidden}.agent-name:hover{text-underline-offset:3px;text-decoration:underline}.agent-name:focus-visible{outline-offset:3px;outline:1px solid}.app-shell{background-image:linear-gradient(#ffffff03 1px,#0000 1px);background-size:100% 4px;grid-template-rows:60px auto 1fr 64px;min-height:100vh;padding:0 6px;display:grid}.top-bar{border-bottom:1px solid var(--line);text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.brand{color:var(--ink);letter-spacing:.045em;white-space:nowrap;font-size:clamp(1.1rem,2vw,1.7rem);font-weight:600;text-decoration:none}.room-stats{align-items:center;height:30px;display:flex}.room-stats>span{border-left:1px solid var(--line);white-space:nowrap;align-items:center;gap:8px;height:100%;padding:0 24px;display:flex}.room-name{color:var(--acid)}.live{color:var(--red)}.live b{background:currentColor;width:12px;height:12px;display:inline-block}.error-banner{color:#ffd7d8;background:#461d20;border:1px solid #a63a40;justify-content:space-between;gap:16px;padding:10px 18px;display:flex}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0}.notice-stack{display:grid}.agent-guide{isolation:isolate;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#b8ff3612,#53d9ed06 58%,#0000);grid-template-columns:minmax(300px,1.05fr) minmax(390px,1.25fr) minmax(250px,.8fr);align-items:center;gap:24px;padding:14px 18px;display:grid;position:relative}.agent-guide:before{content:"";z-index:-1;opacity:.1;pointer-events:none;background:repeating-linear-gradient(135deg,#efbd2f 0 14px,#050606 14px 28px);position:absolute;inset:0}.agent-guide-kicker{color:var(--acid);letter-spacing:.11em;font-size:.68rem}.agent-guide h2{letter-spacing:.025em;margin:5px 0 4px;font-size:.92rem;font-weight:600}.agent-guide p{color:#b9c0c2;margin:0;font-size:.7rem;line-height:1.45}.agent-steps{color:#c7cccd;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 22px;margin:0;padding-left:23px;font-size:.69rem;line-height:1.4;display:grid}.agent-steps li::marker{color:var(--acid)}.agent-guide code{color:var(--cyan);font:inherit}.agent-tools{gap:8px;min-width:0;display:grid}.agent-tool-status{letter-spacing:.05em;border:1px solid;width:fit-content;padding:4px 7px;font-size:.62rem}.agent-tool-status.is-ready{color:var(--acid)}.agent-tool-status.is-waiting{color:var(--amber)}.agent-tool-status.is-error{color:var(--red)}.agent-tools>div{flex-wrap:wrap;gap:5px;display:flex}.agent-tools>div code{border:1px solid var(--line);background:#0003;padding:3px 6px;font-size:.62rem}.dashboard{border-left:1px solid var(--line);border-right:1px solid var(--line);grid-template-rows:minmax(0,58fr) 150px minmax(0,42fr);min-height:0;display:grid}.dashboard.is-loading{opacity:.82}.dashboard-row{grid-template-columns:minmax(480px,1fr) minmax(620px,1fr);min-width:0;min-height:0;display:grid}.dashboard-row>:first-child{border-right:1px solid var(--line)}.game-area,.computer-panel,.chat-panel,.event-panel{min-height:0;overflow:hidden}.game-area,.computer-panel{grid-template-rows:50px 1fr;display:grid}.chat-panel,.event-panel{grid-template-rows:44px 1fr auto;display:grid}.event-panel{grid-template-rows:44px 1fr}.section-heading{justify-content:space-between;align-items:center;min-width:0;padding:0 18px;display:flex}.section-heading h2{color:var(--acid);letter-spacing:.045em;margin:0;font-size:1rem;font-weight:500}.section-heading>span,.vote-clock{color:var(--muted);font-size:.83rem}.game-section-heading{grid-template-columns:auto minmax(0,1fr) auto auto;gap:13px;display:grid}.vote-activity{color:#6f7779;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;justify-content:center;min-width:0;font-size:.67rem;display:flex;overflow:hidden}.vote-activity .agent-name{max-width:132px}.vote-activity.is-result{color:var(--ink)}.vote-activity.is-result strong{color:var(--acid);font-weight:600}.vote-clock{color:var(--acid);letter-spacing:.035em}.vote-clock span{margin-left:10px}.audio-toggle{color:#7c8587;cursor:pointer;font:inherit;letter-spacing:.04em;white-space:nowrap;background:#0c1011;border:1px solid #3c4446;align-items:center;gap:5px;padding:4px 7px;font-size:.56rem;display:inline-flex}.audio-toggle:hover,.audio-toggle:focus-visible{border-color:var(--acid);color:var(--acid);outline:0}.audio-toggle.is-live{color:var(--acid);background:#b8ff360f;border-color:#b8ff3694}.audio-toggle.is-starting,.audio-toggle.is-buffering,.audio-toggle.is-retrying{color:var(--amber)}.audio-toggle.is-error{color:#ff8087;border-color:#61363a}.audio-toggle:disabled{color:#4f5759;cursor:not-allowed;border-color:#252b2c}.revision-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-grid{grid-template-columns:minmax(300px,1.55fr) minmax(230px,.88fr);gap:16px;min-height:0;padding:0 18px 18px;display:grid}.game-screen-shell{border:2px solid var(--acid);background:#aebc68;place-items:stretch stretch;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 34px #243018,0 0 12px #b8ff3617}.game-screen-media{place-items:center;min-width:0;min-height:0;display:grid;position:relative}.game-screen{object-fit:contain;width:100%;height:100%;min-height:0;image-rendering:pixelated}.game-frame-fallback{position:absolute;inset:0}.game-stream-layer{opacity:0;place-items:center;display:grid;position:absolute;inset:0}.game-stream-layer.is-live{opacity:1}.game-stream-canvas{min-height:0}.game-screen-loading{color:#27351e;place-items:center;display:grid}.screen-scanlines{pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 3px,#15231021 4px);position:absolute;inset:0}.screen-mode{color:#d9e49b;background:#182312d1;padding:3px 6px;font-size:.65rem;position:absolute;bottom:7px;right:8px}.vote-panel{border:1px solid var(--line);grid-template-rows:repeat(8,minmax(0,1fr)) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.vote-row{border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;grid-template-columns:78px minmax(54px,1fr) 40px;align-items:center;gap:9px;min-width:0;min-height:0;padding:0 9px;display:grid}.vote-row.is-selected{box-shadow:inset 3px 0 var(--acid);background:#b8ff3614}.vote-row.is-leading{background:#b8ff3609}.vote-row.is-winner{box-shadow:inset 4px 0 var(--acid), inset 0 0 22px #b8ff3629}.vote-row.is-winner .vote-label,.vote-row.is-winner .vote-percent{color:var(--acid)}.vote-row.is-vote-updated{animation:.72s ease-out vote-row-flash}.vote-label{align-items:center;gap:9px;font-size:.78rem;display:flex}.vote-glyph{width:19px;color:var(--acid);text-align:center;font-size:1.45rem;line-height:1}.vote-meter{background:#282d2f;height:12px;overflow:hidden}.vote-meter>span{background:linear-gradient(90deg, var(--acid), #d1f76c);height:100%;transition:width .2s ease-out;display:block}.vote-percent{color:#cdd2d3;text-align:right;font-size:.72rem}.vote-rule{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:7px 9px;font-size:.58rem;overflow:hidden}.pokemon-party-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#b8ff3609,#53d9ed06);min-width:0;min-height:0;padding:9px 10px}.pokemon-party-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;height:100%;display:grid}.pokemon-party-card{border:1px solid var(--line);background:linear-gradient(145deg,#121819,#0b0f10);grid-template-rows:20px minmax(0,1fr) 30px;gap:3px;min-width:0;min-height:0;padding:6px 8px 7px;display:grid;position:relative;overflow:hidden}.pokemon-party-card.is-active{border-color:var(--acid);box-shadow:inset 0 0 0 1px #b8ff3626,0 0 9px #b8ff3614}.pokemon-party-card.is-fainted{border-color:#663337}.pokemon-card-header{min-width:0;color:var(--muted);letter-spacing:.045em;white-space:nowrap;align-items:center;gap:6px;font-size:.57rem;display:flex}.pokemon-card-header>:first-child{margin-right:auto}.active-badge{color:var(--acid)}.pokemon-status{min-width:28px;color:var(--acid);text-align:center;border:1px solid;padding:2px 4px}.status-slp,.status-par{color:var(--amber)}.status-psn{color:#d989ff}.status-brn,.status-fnt{color:var(--red)}.status-frz{color:var(--cyan)}.pokemon-card-body{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:0;display:grid}.pokemon-sprite{object-fit:contain;width:54px;height:54px;image-rendering:pixelated;filter:drop-shadow(0 2px #0009)}.is-fainted .pokemon-sprite{filter:grayscale()contrast(.75);opacity:.48}.pokemon-identity{gap:2px;min-width:0;display:grid}.pokemon-identity strong,.pokemon-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pokemon-identity strong{color:var(--ink);font-size:.76rem;font-weight:600}.pokemon-identity span{color:var(--muted);font-size:.57rem}.pokemon-identity b{color:var(--cyan);font-size:.61rem;font-weight:500}.pokemon-hp{align-content:end;gap:4px;min-width:0;display:grid}.pokemon-hp-label{color:var(--muted);justify-content:space-between;gap:5px;font-size:.58rem;display:flex}.pokemon-hp-label strong{color:#d6dada;font-weight:500}.pokemon-hp-meter{background:#2a3031;height:6px;overflow:hidden}.pokemon-hp-meter>span{height:100%;display:block}.pokemon-hp-meter .is-healthy{background:var(--acid)}.pokemon-hp-meter .is-warning{background:var(--amber)}.pokemon-hp-meter .is-danger{background:var(--red)}.pokemon-party-card.is-empty{color:#626a6c;letter-spacing:.04em;text-align:center;background:#090c0d80;border-style:dashed;grid-template-rows:20px 1fr auto;place-items:center;padding-bottom:12px;font-size:.57rem}.pokemon-party-card.is-empty .pokemon-card-header{width:100%}.empty-party-mark{color:#394043;align-self:end;font-size:2rem;line-height:1}.compact-heading{border-bottom:1px solid var(--line-soft)}.log-shell{min-height:0;position:relative;overflow:hidden}.chat-log{scrollbar-color:#687174 transparent;height:100%;min-height:0;padding:10px 18px 6px;overflow-y:auto}.history-marker{color:#747d7f;border:1px solid var(--line-soft);letter-spacing:.055em;text-transform:uppercase;width:fit-content;margin:0 auto 7px;padding:3px 8px;font-size:.56rem}.new-items-button{z-index:2;border:1px solid var(--acid);color:#0a0d0d;background:var(--acid);cursor:pointer;letter-spacing:.04em;padding:5px 9px;font-size:.62rem;font-weight:700;position:absolute;bottom:10px;right:14px;box-shadow:0 3px 14px #00000073}.new-items-button:hover,.new-items-button:focus-visible{outline-offset:2px;background:#d0ff7b;outline:1px solid #d0ff7b}.chat-line{grid-template-columns:65px 120px 1fr;gap:8px;padding:2px 0;font-size:.78rem;line-height:1.35;display:grid}.chat-line time{color:var(--muted)}.chat-line strong,.chat-line .agent-name{text-overflow:ellipsis;font-weight:500;overflow:hidden}.chat-line span{overflow-wrap:anywhere}.mcp-only-note{border-top:1px solid var(--line-soft);color:var(--muted);margin:0;padding:10px 18px 14px;font-size:.65rem;line-height:1.4}.mcp-only-note code{color:var(--cyan)}.computer-browser{border:1px solid var(--line);grid-template-columns:minmax(185px,31%) 1fr;min-height:0;margin:0 12px 12px;display:grid}.file-tree{border-right:1px solid var(--line);min-width:0;padding:7px 0;overflow:auto}.file-tree button{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;width:100%;height:30px}.tree-root{padding:0 10px}.tree-entry{align-items:center;gap:8px;padding-right:9px;display:flex;overflow:hidden}.tree-entry>span:last-child{text-overflow:ellipsis;overflow:hidden}.tree-entry:hover,.tree-entry:focus-visible{background:#ffffff0d;outline:none}.tree-entry.is-selected{color:var(--acid);box-shadow:inset -2px 0 var(--acid);background:#b8ff361c}.tree-caret{width:10px;color:var(--muted)}.tree-icon{color:#d3d8d9}.tree-entry.is-selected .tree-icon{color:var(--acid)}.file-view{grid-template-rows:41px 1fr 31px;min-width:0;min-height:0;display:grid}.file-tab{border-bottom:1px solid var(--line);min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:0 15px;font-size:.75rem;display:flex}.file-tab span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-view{outline:none;min-height:0;padding:9px 0;overflow:auto}.code-line{grid-template-columns:44px 1fr;min-width:max-content;min-height:21px;font-size:.78rem;line-height:1.6;display:grid}.line-number{color:#70777a;text-align:right;border-right:1px solid var(--line-soft);-webkit-user-select:none;user-select:none;padding-right:10px}.code-line code{white-space:pre;padding-left:14px}.file-meta{border-top:1px solid var(--line);color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 14px;font-size:.68rem;display:flex}.live-label{color:var(--acid)!important}.offline-label{color:var(--amber)!important}.event-log{scrollbar-color:#687174 transparent;height:100%;min-height:0;padding:7px 12px 0;overflow-y:auto}.computer-event{border-bottom:1px solid var(--line-soft);grid-template-columns:12px 98px 105px minmax(0,1fr) 45px;gap:8px;padding:9px 4px;font-size:.73rem;line-height:1.4;display:grid;position:relative}.event-mark{background:var(--cyan);width:10px;height:10px;margin-top:3px}.computer-event.is-error .event-mark{background:var(--red)}.computer-event time,.event-rev{color:var(--muted)}.computer-event strong,.computer-event .agent-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-body{min-width:0}.event-body>code{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-body pre{color:#c6cbcc;white-space:pre-wrap;overflow-wrap:anywhere;max-height:76px;font:inherit;margin:4px 0 0;overflow:hidden}.event-body .stderr{color:#ff8087}.event-rev{text-align:right}.empty-state{color:var(--muted);margin:8px 0;font-size:.75rem}.status-bar{border-top:1px solid var(--line);color:#b6bcbe;white-space:nowrap;justify-content:space-around;align-items:center;gap:12px;padding:0 20px;font-size:.75rem;display:flex;overflow-x:auto}.status-bar i{background:var(--line);flex:0 0 1px;width:1px;height:25px}.status-good{color:var(--acid)}.status-warn{color:var(--amber)}.status-muted{color:var(--muted)}.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}.agent-modal{border:1px solid var(--acid);width:min(880px,100vw - 28px);max-height:min(760px,100vh - 28px);color:var(--ink);background:#090d0e;padding:0;overflow:auto;box-shadow:0 24px 90px #000000c7,0 0 26px #b8ff361a}.agent-modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030505d1}.agent-modal-frame{background-image:linear-gradient(#ffffff03 1px,#0000 1px);background-size:100% 4px;align-content:start;min-height:420px;display:grid}.agent-modal-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;min-width:0;padding:18px 20px;display:grid}.agent-modal-header p{color:var(--muted);letter-spacing:.1em;margin:0 0 5px;font-size:.61rem}.agent-modal-header h2{min-width:0;margin:0;font-size:1.12rem;font-weight:600}.agent-modal-header h2 .agent-name{max-width:100%}.agent-online,.agent-offline{letter-spacing:.055em;white-space:nowrap;font-size:.68rem}.agent-online{color:var(--acid)}.agent-offline{color:var(--muted)}.agent-modal-close{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#0d1213;padding:6px 9px;font-size:.65rem}.agent-modal-close:hover,.agent-modal-close:focus-visible{border-color:var(--acid);color:var(--acid);outline:0}.agent-modal-loading,.agent-modal-error{color:var(--muted);text-align:center;margin:48px 20px}.agent-modal-error{color:#ff8087}.agent-identity-grid{border-bottom:1px solid var(--line);grid-template-columns:1.4fr repeat(3,1fr);margin:0;display:grid}.agent-identity-grid>div{border-right:1px solid var(--line-soft);min-width:0;padding:14px 16px}.agent-identity-grid>div:last-child{border-right:0}.agent-identity-grid dt{color:var(--muted);letter-spacing:.06em;margin-bottom:6px;font-size:.58rem}.agent-identity-grid dd{overflow-wrap:anywhere;color:#d5d9da;margin:0;font-size:.72rem}.agent-count-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.agent-count-grid>div{border-right:1px solid var(--line-soft);justify-items:center;gap:5px;padding:17px 12px;display:grid}.agent-count-grid>div:last-child{border-right:0}.agent-count-grid strong{color:var(--acid);font-size:1.35rem;font-weight:500}.agent-count-grid span{color:var(--muted);letter-spacing:.055em;font-size:.58rem}.agent-last-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;display:grid}.agent-activity-card{border:1px solid var(--line);background:#0f1415b8;grid-template-rows:auto minmax(0,1fr) auto;gap:9px;min-width:0;min-height:130px;padding:12px;display:grid}.agent-activity-card h3{color:var(--muted);letter-spacing:.06em;margin:0;font-size:.59rem;font-weight:500}.agent-activity-card strong{color:var(--acid);align-self:center;font-size:1rem}.agent-activity-card q,.agent-activity-card code{color:#d5d9da;overflow-wrap:anywhere;align-self:center;max-height:58px;font-size:.7rem;line-height:1.45;overflow:hidden}.agent-activity-card code{white-space:pre-wrap}.agent-activity-card>span:last-child{color:var(--muted);font-size:.58rem;line-height:1.4}.agent-activity-empty{align-self:center;color:#667073!important}@keyframes vote-row-flash{0%{background:#b8ff366b}42%{background:#b8ff3633}to{background:#b8ff3609}}@media (prefers-reduced-motion:reduce){.vote-row.is-vote-updated{animation:none}.vote-meter>span{transition:none}}@media (width>=1051px){.app-shell{height:max(920px,100vh);overflow:hidden}}@media (width<=1050px){.app-shell{padding:0;display:block}.top-bar{min-height:60px}.room-stats>span{padding:0 12px}.room-stats>span:nth-child(3){display:none}.agent-guide{grid-template-columns:1fr;gap:12px}.dashboard{border:0;display:block}.dashboard-row{display:block}.dashboard-row>:first-child{border-right:0}.game-area{min-height:570px}.chat-panel{border-top:1px solid var(--line);height:390px}.pokemon-party-panel{height:auto;padding:10px}.pokemon-party-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:132px}.computer-panel{height:530px}.event-panel{border-top:1px solid var(--line);height:430px}.status-bar{justify-content:flex-start;min-height:64px}}@media (width<=680px){.top-bar{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.brand{font-size:1.2rem}.room-stats{width:100%;overflow-x:auto}.room-stats>span:first-child{border-left:0;padding-left:0}.room-stats>span:nth-child(4){display:none}.agent-guide{padding:14px 12px}.agent-steps{grid-template-columns:1fr}.game-area{grid-template-rows:50px 1fr;min-height:850px}.game-section-heading{grid-template-columns:auto 1fr auto auto;gap:7px;padding:0 10px}.vote-activity{justify-content:flex-start;font-size:.58rem}.vote-activity .agent-name{max-width:82px}.audio-toggle{justify-content:center;width:24px;padding:4px;font-size:0;overflow:hidden}.audio-toggle span{font-size:.62rem}.vote-clock{font-size:0}.vote-clock span{margin-left:0;font-size:.72rem}.game-grid{grid-template-rows:360px 1fr;grid-template-columns:1fr;padding:0 10px 10px}.pokemon-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-line{grid-template-columns:56px 92px 1fr;font-size:.68rem}.computer-panel{height:760px}.computer-browser{grid-template-rows:260px 1fr;grid-template-columns:1fr;margin:0 8px 8px}.file-tree{border-right:0;border-bottom:1px solid var(--line)}.computer-event{grid-template-columns:10px 80px 82px 1fr}.event-rev{display:none}.agent-modal-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px}.agent-modal-header>span{grid-area:2/1}.agent-modal-close{grid-area:1/2/span 2}.agent-identity-grid{grid-template-columns:repeat(2,1fr)}.agent-identity-grid>div:nth-child(2){border-right:0}.agent-identity-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.agent-last-grid{grid-template-columns:1fr}}
