/* The desktop room is a dedicated workspace. Mobile rooms use /mobile/room.css. */
.desktop-room{--room-rail-width:316px;min-width:0;min-height:0;overflow:hidden;container-type:inline-size}
.desktop-room .room-header{min-height:92px;padding:18px 24px 16px;gap:12px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-content:center;background:var(--bg)}
.desktop-room .room-return{align-self:flex-start;margin:0;width:100%;border:0;background:none;padding:0;text-align:left;font-size:11px;color:var(--muted);cursor:pointer}
.desktop-room .room-return:hover{color:var(--club-green,var(--mint))}
.desktop-room .roomicon{width:38px;height:38px;border-radius:10px}
.desktop-room .room-title{flex:1;min-width:180px}
.desktop-room .room-title h2{max-width:none;font-size:21px;letter-spacing:-.04em}
.desktop-room .room-title .eyebrow{font-size:10px;letter-spacing:.08em}
.desktop-room .room-header>.spacer{display:none}
.desktop-room .room-actions{flex:none;gap:7px;margin-left:auto}
.desktop-room .room-actions .btn{min-height:36px;padding:0 11px;font-size:12px}
.desktop-room .phase-hud{margin-left:10px}
.desktop-room .phase-track{display:none}
.desktop-room .room-more{position:relative}
.desktop-room .room-more>summary{list-style:none;cursor:pointer}
.desktop-room .room-more>summary::-webkit-details-marker{display:none}
.desktop-room .room-more-menu{position:absolute;right:0;top:calc(100% + 8px);display:flex;flex-direction:column;align-items:stretch;min-width:174px;padding:7px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);z-index:25}
.desktop-room .room-more-menu>.btn{justify-content:flex-start;white-space:nowrap}
.desktop-room .room-grid[data-layout]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--room-rail-width);grid-template-rows:minmax(0,1fr);grid-template-areas:'primary rail';gap:18px;padding:20px 24px 22px;min-height:0;overflow:hidden}
.desktop-room .room-grid[data-rail="closed"]{grid-template-columns:minmax(0,1fr);grid-template-areas:'primary'}
.desktop-room-primary{grid-area:primary;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:2px}
.desktop-room .room-grid .panel-slot{max-height:none;height:auto;min-height:0;overflow:visible;padding:0}
.desktop-room .room-grid .panel-slot:only-child{height:100%}
.desktop-room-rail{grid-area:rail;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);box-shadow:0 3px 18px #152c2010}
.desktop-room [hidden]{display:none!important}
.room-rail-tabs{display:flex;align-items:center;gap:4px;flex:none;padding:8px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.room-rail-tabs>[role=tab]{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:36px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}
.room-rail-tabs>[role=tab][aria-selected=true]{background:var(--panel);border-color:var(--line);color:var(--club-green,var(--mint));font-weight:700;box-shadow:0 1px 3px #12291c09}
.room-rail-tabs .icon{width:15px;height:15px}
.room-rail-close{width:32px;height:34px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:17px}
.desktop-room .room-grid .chat-card{display:flex;flex-direction:column;flex:1;grid-area:auto;min-height:0;border:0;border-radius:0;background:var(--panel);box-shadow:none;overflow:hidden;height:auto}
.room-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px 10px;flex:none}
.room-chat-heading b{font-size:12px;font-weight:700}
.room-chat-heading span{font-size:10px;color:var(--muted)}
.desktop-room .msg-scroll{padding:12px 14px;gap:16px;font-size:12px;scrollbar-width:thin;overscroll-behavior:contain}
.desktop-room .msg{gap:7px}
.desktop-room .msg .m-user{font-size:11px}
.desktop-room .msg .m-text{font-size:12px;line-height:1.75}
.desktop-room .msg .m-head{flex-wrap:wrap;gap:4px 7px}
.desktop-room .msg .m-time{font-size:9px}
.desktop-room .msg .bubble{padding:8px 10px;max-width:100%;border-radius:4px 10px 10px 10px}
.desktop-room-rail .msg.sys:has(>.sys-task,>.sys-goal){align-self:stretch;max-width:none;margin:-3px 0;padding:0 2px}
.desktop-room-rail .msg.sys>.sys-box:is(.sys-task,.sys-goal){width:100%;max-width:none;border:0;border-left:2px solid var(--line-strong);border-radius:0;background:none;box-shadow:none;padding:4px 8px;color:var(--muted);font-size:10px;line-height:1.7;text-align:left;overflow-wrap:anywhere}
.desktop-room-rail .sys-box:is(.sys-task,.sys-goal)>.sys-title{display:inline;color:var(--muted);font-size:9px;font-weight:600;margin-right:6px;text-decoration:none}
.desktop-room-rail .sys-box:is(.sys-task,.sys-goal)>br{display:none}
.desktop-room-rail .sys-box:is(.sys-task,.sys-goal)>.at-feedback{font-size:10px;margin-top:5px}
.desktop-room .composer{margin:0;padding:12px;border-top:1px solid var(--line);background:var(--panel)}
.desktop-room .composer-row{flex-wrap:wrap;align-items:flex-end;padding:6px;border-radius:9px;background:var(--bg-soft);gap:3px}
.desktop-room .composer textarea{order:0;flex-basis:100%;min-height:66px;max-height:180px;font-size:13px;padding:7px;line-height:1.6}
.desktop-room .composer-attach{order:1;min-width:38px;height:30px;padding:0 6px;margin-right:auto}
.desktop-room .composer-attach .icon{width:15px;height:15px}
.desktop-room .composer-send{order:2;min-width:36px;height:32px;min-height:32px}
.desktop-room .composer .demo-readonly{font-size:12px;line-height:1.7;padding:8px;color:var(--muted)}
.desktop-room .room-grid .room-side{display:flex;flex-direction:column;grid-area:auto;gap:14px;overflow:auto;padding:14px;flex:1;min-height:0;scrollbar-width:thin}
.room-member-tools{display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:11px;flex:none}
.room-member-tools .btn{font-size:11px;min-height:34px;justify-content:center}
.desktop-room-members{border:1px solid var(--line);border-radius:10px;background:var(--panel);flex:none;overflow:hidden}
.desktop-room-members .cardhead{padding:0 12px;min-height:42px}
.desktop-room-members .cardtitle{font-size:12px}
.desktop-room-member{display:flex;align-items:center;gap:9px;padding:11px 12px;border-bottom:1px solid var(--line)}
.desktop-room-member:last-child{border-bottom:0}
.desktop-room-member>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.desktop-room-member b{font-size:12px;overflow-wrap:anywhere}
.desktop-room-member small{font-size:10px;line-height:1.5;color:var(--muted)}
.desktop-room .room-side .card{flex:none;border-radius:10px;box-shadow:none;overflow:hidden}
.desktop-room .room-side .players{flex-direction:column;align-items:stretch;gap:10px}
.desktop-room .room-side .players>.vs{display:none}
.desktop-room .room-side .log-body{max-height:220px;overflow:auto}
.desktop-room .room-side .battle-log .log-body{display:block}
.desktop-room .room-grid[data-layout="free"] .free-panel{height:auto;border:1px solid var(--line);border-radius:12px;min-height:170px}
.desktop-room[data-room-type="free"] .desktop-room-primary{display:flex;flex-direction:column;gap:14px;overflow:hidden}
.desktop-room[data-room-type="free"] .panel-slot{height:auto;flex:none;max-height:45%;overflow:auto}
.desktop-room[data-room-type="free"] .desktop-room-primary>.chat-card{flex:1;border:1px solid var(--line-strong);border-radius:12px}
.desktop-room[data-room-type="free"] .desktop-room-primary .composer-row{flex-wrap:nowrap;align-items:flex-end}
.desktop-room[data-room-type="free"] .desktop-room-primary .composer textarea{flex:1;order:1;min-height:45px}
.desktop-room[data-room-type="free"] .desktop-room-primary .composer-attach{order:0}
.desktop-room :focus-visible{outline:2px solid var(--club-green,var(--mint));outline-offset:3px}
@container (max-width:1080px){.desktop-room .room-header{padding:15px 18px}.desktop-room .room-grid[data-layout]{padding:16px 18px;gap:14px;grid-template-columns:minmax(0,1fr) 282px}.desktop-room .room-grid[data-rail="closed"]{grid-template-columns:minmax(0,1fr)}.desktop-room .phase-hud{display:none}.desktop-room[data-room-type="collab"] .room-grid:not([data-rail="closed"]){grid-template-columns:minmax(0,1fr);grid-template-areas:'primary';overflow:hidden}.desktop-room[data-room-type="collab"] .desktop-room-rail{position:absolute;top:16px;bottom:16px;right:18px;width:282px;z-index:20;grid-area:auto;box-shadow:-12px 0 36px #18281d25}}
