:root{color:#48533e;font-synthesis:none;background:#f8f9f3;font-family:Avenir Next,Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}button:focus-visible{outline-offset:4px;outline:2px solid #789b59}button{transition:background .15s,color .15s}button:hover{background:#e9efdd}h1,h2,p{margin:0}.office-app{flex-direction:column;max-width:1800px;height:100dvh;margin:auto;padding:0 30px;display:flex}.office-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;height:86px;display:flex}.office-brand{align-items:center;gap:11px;display:flex}.office-brand>span{color:#799454;background:#dfe8cc;border-radius:10px;place-items:center;width:39px;height:41px;display:grid;transform:rotate(-4deg)}.office-brand strong{letter-spacing:-1px;color:#3e4d34;font-size:23px;font-weight:750}.office-brand small{color:#9da88e;letter-spacing:.3px;margin-top:3px;font-size:10px;display:block}.office-header-actions{align-items:center;gap:17px;display:flex}.mode-switch{background:#f0f3e8;border:1px solid #e3e8d8;border-radius:8px;gap:2px;padding:3px;display:flex}.mode-switch button{color:#9aa98b;white-space:nowrap;border-radius:5px;padding:8px 13px;font-size:11px}.mode-switch button.selected{color:#5d7b45;background:#fffef8;font-weight:600;box-shadow:0 1px 4px #687a4414}.connection{color:#9aa88b;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.connection i,.office-caption i{background:#97b475;border-radius:50%;width:5px;height:5px;display:inline-block}.connection.offline i{background:#c4a46b}.roster-button{color:#8ca071;border:1px solid #e1e8d5;border-radius:7px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;display:flex}.office-window{isolation:isolate;background:#f6eedb;border:1px solid #e5e0cf;border-radius:16px;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:0 4px 20px #6c694608}.office-stage,.game-host{position:absolute;inset:0}.game-host{touch-action:none}.game-host canvas{image-rendering:pixelated;cursor:grab;display:block}.game-host canvas:active{cursor:grabbing}.camera-controls{z-index:3;gap:5px;display:flex;position:absolute;bottom:18px;right:18px}.camera-controls button{color:#a19d7e;background:#fffdf4e8;border:1px solid #e0dbc4;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 2px 4px #554d2e08}.camera-controls button:hover,.camera-controls button.active{color:#728f51;background:#e6edda}.stage-loading{color:#a09373;background:#f6eedb;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.office-caption{color:#9a9b7c;pointer-events:none;background:#fffdf4de;border:1px solid #e7e1cc;border-radius:7px;align-items:center;gap:9px;padding:8px 11px;font-size:10px;display:flex;position:absolute;top:18px;left:20px}.office-caption>span{align-items:center;gap:5px;display:flex}.caption-separator{color:#c4c4aa}.office-footer{color:#a6b198;flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;height:56px;font-size:10px;display:flex}.office-footer>span>span{color:#b7c68f;margin-left:7px}.office-footer>div{align-items:center;gap:9px;display:flex}.office-footer button{color:#93a77d;border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;display:flex}.office-footer button.active{background:#e9eedf}.waiting-card{text-align:center;pointer-events:none;color:#a9b389;background:#fffef2e8;border:1px solid #ebe6d2;border-radius:13px;padding:21px 34px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #594f3712}.waiting-card h2{color:#7b895f;margin:8px 0 4px;font-size:18px;font-weight:500}.waiting-card p{color:#a5b08d;white-space:nowrap;font-size:11px}.agent-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:4;background:#fffef6f2;border:1px solid #e7e4d2;border-radius:13px;width:290px;padding:18px;position:absolute;bottom:20px;left:20px;box-shadow:0 10px 30px #50492814}.card-close{color:#b1b79d;border-radius:6px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:8px;right:8px}.card-agent-heading{align-items:center;gap:10px;display:flex}.agent-portrait{width:42px;height:44px;image-rendering:pixelated;background-color:#e9edde;background-position:50%;background-repeat:no-repeat;background-size:42px;border-radius:7px;flex-shrink:0;display:block}.agent-portrait.coord{background-color:#e3e9ed}.agent-portrait.creative{background-color:#f0e3e7}.agent-portrait.production{background-color:#ebe5f1}.agent-portrait.qa{background-color:#f3e8dc}.card-agent-heading h2{letter-spacing:-.4px;font-size:18px;font-weight:600}.card-agent-heading p{color:#9ea88d;margin-top:3px;font-size:10px;line-height:1.6}.card-agent-heading p>span{font-size:9px;display:block}.agent-state{color:#a4ac93;align-items:center;gap:5px;margin-top:14px;font-size:10px;display:flex}.agent-state i,.roster-status i{background:#b2baa1;border-radius:50%;width:5px;height:5px;display:inline-block}.agent-state.working,.roster-status.working{color:#7b9b59}.agent-state.working i,.roster-status.working i{background:#7fa461}.agent-state.thinking,.roster-status.thinking{color:#8b9db1}.agent-state.thinking i,.roster-status.thinking i{background:#829ebd}.agent-state.waiting,.roster-status.waiting{color:#baa06c}.agent-state.waiting i,.roster-status.waiting i{background:#c1a264}.agent-state.error,.roster-status.error{color:#b78663}.agent-state.error i,.roster-status.error i{background:#c68b63}.agent-state.done,.roster-status.done{color:#8aa16a}.agent-state.done i,.roster-status.done i{background:#8ba466}.agent-task{color:#80906d;overflow-wrap:anywhere;margin-top:7px;font-size:12px;line-height:1.7}.parent-label{color:#abb398;border-top:1px solid #edf0e2;margin-top:12px;padding-top:10px;font-size:9px}.agent-progress{background:#edf1e4;border-radius:4px;height:4px;margin:16px 29px 5px 0;position:relative}.agent-progress>i{background:#a1b880;border-radius:4px;height:100%;display:block}.agent-progress>span{color:#96aa7b;font-size:9px;position:absolute;top:-4px;right:-29px}dialog{color:#677752;background:#fffef7;border:1px solid #e4e9d8;border-radius:14px;width:min(440px,92vw);padding:0;box-shadow:0 25px 100px #34462a25}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#34452a55}.roster-heading{border-bottom:1px solid #edf0e5;justify-content:space-between;align-items:center;padding:22px;display:flex}.roster-heading small{letter-spacing:1.5px;color:#a3b48f;font-size:8px}.roster-heading h2{margin-top:6px;font-size:19px;font-weight:600}.roster-heading h2>span{color:#a4b78c;vertical-align:middle;background:#eff3e6;border-radius:4px;margin-left:4px;padding:3px 6px;font-size:10px}.roster-heading>button{color:#a4b492;border-radius:5px;padding:5px}.roster-list{scrollbar-width:thin;max-height:65dvh;padding:9px 15px;overflow:auto}.roster-list>button{text-align:left;border-radius:8px;align-items:center;gap:11px;width:100%;padding:10px 8px;display:flex}.roster-list .agent-portrait{background-size:34px;width:35px;height:35px}.roster-list strong{font-size:12px;font-weight:600}.roster-list small{color:#a2b18f;margin-top:4px;font-size:9px;display:block}.roster-list>button>svg{color:#b6c2a4}.roster-status{color:#a7b397;white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:9px;display:flex}.empty-roster{color:#a2b18d;text-align:center;padding:28px 10px;font-size:12px}@media (width<=767px){.office-app{padding:0 14px}.office-header{gap:8px;height:81px}.office-brand{gap:8px}.office-brand>span{width:32px;height:35px}.office-brand strong{font-size:19px}.office-brand small{font-size:8px}.office-header-actions{gap:7px}.connection{display:none}.roster-button{border:0;padding:8px}.roster-button>span{display:none}.mode-switch button{padding:7px 8px;font-size:9px}.office-window{border-radius:12px}.office-caption{gap:6px;padding:7px 9px;font-size:8px;top:12px;left:12px}.office-footer{gap:3px;height:51px;font-size:8px}.office-footer button{padding:7px 6px;font-size:8px}.office-footer>span{max-width:155px;line-height:1.7}.office-footer>span>span{display:none}.camera-controls{gap:4px;bottom:12px;right:12px}.camera-controls button{width:30px;height:30px}.agent-card{width:calc(100% - 24px);max-width:310px;padding:16px;bottom:56px;left:12px}.waiting-card{padding:19px 24px}.card-agent-heading p>span{display:none}.roster-heading{padding:18px}.roster-list{padding:8px 10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
