:root{color:#17212b;background:#eef2f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{align-items:center;border:1px solid #cbd5d2;background:#fff;color:#17212b;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:8px 12px;border-radius:7px}button:hover{border-color:#7c918b}input,select,textarea{width:100%;border:1px solid #c5cfcc;border-radius:7px;padding:10px 11px;background:#fff;color:#17212b}textarea{min-height:82px;resize:vertical}label{display:grid;gap:6px}label span,.eyebrow,.room-card span,.room-stats span,.timer-display span,.person-row span,.member-row span,.goal-status span{color:#5c6d68;font-size:.78rem;font-weight:700;text-transform:uppercase}h1,h2,h3,p{margin:0}.setup-screen,.dashboard{min-height:100vh;padding:28px}.setup-screen{align-items:center;display:flex;justify-content:center}.setup-panel,.room-create{background:#fff;border:1px solid #d6dedb;border-radius:8px;display:grid;gap:18px;padding:24px}.setup-panel{width:min(440px,100%)}.setup-panel h1,.topbar h1,.room-header h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05}.swatches{display:flex;gap:10px}.swatch{border-radius:999px;height:34px;min-height:34px;padding:0;width:34px}.swatch.active{outline:3px solid #17212b;outline-offset:2px}.primary-action{background:#1f8a70;border-color:#1f8a70;color:#fff;font-weight:750}.topbar,.room-header{align-items:center;display:flex;justify-content:space-between;gap:16px}.topbar-actions,.room-header-actions{align-items:center;display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.profile-pill,.runtime-badge,.network-badge{align-items:center;background:#fff;border:1px solid #d2dcd8;border-radius:999px;display:inline-flex;gap:8px;padding:8px 11px;white-space:nowrap}.media-controls{align-items:end;display:grid;gap:6px;justify-items:end}.media-buttons{display:flex;gap:6px}.media-button.connected{background:#e3f3ed;border-color:#9bc8ba;color:#11614d}.media-button.muted{background:#fff7dc;border-color:#ddc66f;color:#735a00}.media-button.error{background:#fde7e5;border-color:#eba8a1;color:#91342c}.media-button:disabled{cursor:wait;opacity:.78}.media-leave{aspect-ratio:1;padding:0;width:38px}.media-roster{align-items:center;display:flex;gap:8px;max-width:360px}.media-roster>span,.media-status{color:#5c6d68;font-size:.78rem;font-weight:800}.media-roster>div{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.media-roster small{align-items:center;background:#fff;border:1px solid #d6dedb;border-radius:999px;color:#53645f;display:inline-flex;gap:4px;max-width:150px;overflow:hidden;padding:3px 7px;text-overflow:ellipsis;white-space:nowrap}.media-roster small.speaking{border-color:#6fb39f;color:#11614d}.media-status{color:#91342c}.avatar-dot{border-radius:999px;display:inline-block;height:14px;width:14px}.dashboard-grid{display:grid;gap:22px;grid-template-columns:minmax(280px,420px) 1fr;margin-top:26px}.room-create p,.room-card p,.room-header p{color:#53645f}.rooms-list{display:grid;gap:12px;align-content:start}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading span{background:#dce7e3;border-radius:999px;min-width:28px;padding:4px 8px;text-align:center}.room-card{align-items:center;background:#fff;border:1px solid #d6dedb;border-radius:8px;display:flex;justify-content:space-between;gap:16px;padding:16px}.room-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px}.empty-state{border:1px dashed #a9b7b2;border-radius:8px;color:#53645f;padding:22px}.muted-text{color:#53645f}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:100vh}.room-surface{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:18px}.room-header{min-height:58px}.icon-button{aspect-ratio:1;padding:0;width:40px}.runtime-badge.edge{background:#e3f3ed;color:#11614d}.runtime-badge.local,.runtime-badge.connecting{background:#fff7dc;color:#7a5b00}.runtime-badge.error{background:#fde7e5;color:#91342c}.network-badge.online{background:#e3f3ed;color:#11614d}.network-badge.checking{background:#eef2f1;color:#53645f}.network-badge.offline,.network-badge.degraded{background:#fde7e5;color:#91342c}.pixi-shell{min-height:0;padding-top:16px}.pixi-host{background:#dfe8e5;border:1px solid #cbd7d3;border-radius:8px;height:calc(100vh - 108px);min-height:520px;overflow:hidden;width:100%}.pixi-host canvas{display:block}.side-panel{background:#fbfcfc;border-left:1px solid #d6dedb;display:grid;grid-template-rows:auto 1fr;min-height:100vh}.tabs{border-bottom:1px solid #d6dedb;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.tabs button{border:0;border-radius:0;min-height:54px}.tabs button.active{background:#e8f0ee;color:#136b58}.panel-body{display:grid;gap:18px;align-content:start;padding:18px}.timer-display{background:#17212b;border-radius:8px;color:#fff;display:grid;gap:6px;padding:18px}.timer-display span{color:#adc2bd}.timer-display strong{font-size:3rem;line-height:1}.timer-actions,.goal-status div{display:flex;gap:8px;flex-wrap:wrap}.goal-form,.session-form,.checkin-form{display:grid;gap:10px}.session-form{grid-template-columns:minmax(0,1fr) 92px auto;align-items:end}.goal-status{border:1px solid #d6dedb;border-radius:8px;display:grid;gap:12px;padding:14px}.people-list,.members-panel,.member-list,.checkin-list,.chat-feed,.layout-panel,.layout-version-list,.access-panel,.room-panel,.room-stats,.invite-list,.requests-panel,.request-list,.webhook-panel,.webhook-list,.admin-panel{display:grid;gap:10px}.person-row,.member-row,.request-row,.checkin-row,.chat-message,.layout-draft,.layout-version-row,.webhook-row,.system-message,.room-stats div,.invite-row{background:#fff;border:1px solid #dbe3e0;border-radius:8px;padding:12px}.person-row{align-items:center;display:flex;gap:10px}.person-row div,.member-row div{display:grid}.member-row{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) minmax(104px,auto) auto}.member-row small,.request-row small{color:#667773}.role-select{min-width:112px}.role-pill{background:#eef2f1;border-radius:999px;justify-self:start;padding:5px 8px}.members-toolbar{display:flex;justify-content:flex-end}.request-row{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.request-row div{display:grid}.request-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.chat-scope{background:#eef2f1;border:1px solid #d6dedb;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px}.chat-scope button{border:0;border-radius:6px;min-height:34px}.chat-scope button.active{background:#fff;color:#136b58}.chat-message{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.chat-message-main{display:grid;gap:7px;min-width:0}.chat-message-header{align-items:center;display:flex;gap:8px;min-width:0}.chat-message-header strong{color:#136b58;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message-header small{color:#667773;margin-left:auto;white-space:nowrap}.chat-actions{display:flex;gap:5px}.chat-action{aspect-ratio:1;min-height:30px;padding:0;width:30px}.system-message{color:#53645f}.summary-card{background:#e3f3ed;border:1px solid #9bc8ba;border-radius:8px;color:#11614d;display:grid;gap:8px;padding:14px}.summary-card span,.checkin-row span{color:inherit;font-size:.78rem;font-weight:800;text-transform:uppercase}.checkin-row{display:grid;gap:6px}.checkin-row small{color:#667773}.chat-composer{display:grid;grid-template-columns:1fr 42px;gap:8px}.room-stats div{display:grid;gap:4px}.room-stats strong{font-size:1.1rem}.layout-draft{display:grid;gap:12px}.layout-draft-summary{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.layout-draft-summary div{background:#f5f8f7;border:1px solid #dbe3e0;border-radius:8px;display:grid;gap:3px;padding:9px}.layout-draft-summary span,.layout-version-row span{color:#5c6d68;font-size:.78rem;font-weight:800;text-transform:uppercase}.layout-actions{display:flex;flex-wrap:wrap;gap:8px}.layout-version-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.layout-version-row div{display:grid;gap:3px}.webhook-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.webhook-row div{display:grid;gap:4px;min-width:0}.webhook-row span,.webhook-row small{color:#5c6d68}.admin-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid div{background:#fff;border:1px solid #dbe3e0;border-radius:8px;display:grid;gap:4px;padding:12px}.admin-grid span{color:#5c6d68;font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-grid strong{font-size:1.15rem}.invite-panel,.invite-row{display:grid;gap:12px}.invite-controls{align-items:end;display:grid;gap:8px;grid-template-columns:1fr auto 42px}.invite-controls button[aria-label]{aspect-ratio:1;padding:0}.invite-row>div:first-child{display:grid;gap:7px;min-width:0}.invite-row strong{text-transform:capitalize}.invite-row>span{color:#5c6d68;font-size:.82rem;font-weight:700}.invite-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:980px){.dashboard-grid,.workspace{grid-template-columns:1fr}.side-panel{border-left:0;border-top:1px solid #d6dedb;min-height:420px}.pixi-host{height:58vh;min-height:420px}}@media(max-width:620px){.setup-screen,.dashboard,.room-surface{padding:14px}.topbar,.room-header,.room-card{align-items:stretch;flex-direction:column}.profile-pill,.runtime-badge,.network-badge,.topbar-actions,.room-header-actions{align-self:flex-start;justify-content:flex-start}.media-controls,.media-roster>div{justify-items:start;justify-content:flex-start}.timer-display strong{font-size:2.4rem}.invite-controls,.session-form{align-items:stretch;grid-template-columns:1fr}.invite-controls button[aria-label]{aspect-ratio:auto;width:100%}.member-row{grid-template-columns:auto minmax(0,1fr)}.layout-draft-summary,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-row .role-select,.member-row .role-pill,.member-row button{grid-column:1 / -1}.request-actions button{flex:1 1 120px}}
