/* AKSDP-018 daily workspace: viewport geometry and compact chrome. */
.site-header{min-height:46px;gap:.8rem;padding:.32rem .85rem;position:relative}
.brand{font-size:1rem;white-space:nowrap}.release-badge{font-size:.66rem}
.site-header nav{display:flex;gap:.2rem;margin-right:auto;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.site-header nav a{white-space:nowrap;padding:.35rem .48rem;border-radius:.3rem;font-size:.82rem}
.site-header nav a:hover{background:#ffffff14}
.site-header .language-switcher{gap:.15rem;font-size:.76rem;white-space:nowrap}
.site-header .language-switcher>span{display:none}
.site-header .inline button{padding:.35rem .58rem;font-size:.8rem}
body[data-mode="NORMAL"] .brand::after{content:none}

.project-room-page{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
.project-room-page>.site-header{flex:0 0 auto}
.project-room-page>main{width:100%;max-width:none;min-height:0;flex:1 1 auto;margin:0;padding:.42rem .8rem .58rem;display:flex;flex-direction:column;overflow:hidden}
.project-room-page>main>.notice,.project-room-page>main>.error{flex:0 0 auto;margin:.18rem 0;padding:.38rem .65rem;font-size:.84rem}
.project-room-page>.version{z-index:8;pointer-events:none}

.compact-project-header{width:100%;min-height:35px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .38rem;padding:.35rem .65rem;border:1px solid #d5dee7;border-radius:9px;background:#fff}
.compact-project-header>div{min-width:0;display:flex;align-items:baseline;gap:.65rem}
.compact-project-header strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-project-header span:not(.badge){min-width:0;color:#66717d;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.project-room-shell{width:100%;min-height:0;flex:1 1 auto;margin:0;transform:none;display:grid;grid-template-columns:minmax(160px,190px) minmax(0,1fr) minmax(220px,280px);gap:.55rem;align-items:stretch;transition:grid-template-columns .18s ease}
.project-room-shell.left-collapsed{grid-template-columns:34px minmax(0,1fr) minmax(220px,280px)}
.project-room-shell.right-collapsed{grid-template-columns:minmax(160px,190px) minmax(0,1fr) 34px}
.project-room-shell.left-collapsed.right-collapsed{grid-template-columns:34px minmax(0,1fr) 34px}

.support-panel{height:100%;min-height:0;position:relative;overflow:hidden;border:1px solid #d5dee7;border-radius:11px;background:#fff}
.support-panel-scroll{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:.7rem}
.project-nav.support-panel,.activity-panel.support-panel{position:relative;top:auto;align-self:stretch;display:block}
.project-nav.support-panel .support-panel-scroll{display:grid;align-content:start;gap:.65rem;padding-top:2.35rem}
.activity-panel.support-panel .support-panel-scroll{display:flex;flex-direction:column;gap:.55rem;padding-top:2.35rem}
.panel-collapse{position:absolute;z-index:4;top:.42rem;width:27px;height:27px;padding:0;display:grid;place-items:center;border:1px solid #c8d2dc;border-radius:7px;background:#edf3f8;color:#34506a;font-size:1.2rem;line-height:1}
.panel-collapse-left{left:.42rem}.panel-collapse-right{right:.42rem}
.support-panel.is-collapsed .support-panel-scroll{visibility:hidden;pointer-events:none}
.support-panel.is-collapsed .panel-collapse{inset:.42rem 3px auto 3px;width:26px}
.support-panel.is-collapsed{border-color:#c9d5df;background:#edf3f8}
.project-nav-identity{padding:.6rem 0}.project-nav nav{gap:.1rem}.project-nav nav a{padding:.52rem .58rem}

.conversation-surface{height:100%;min-height:0;min-width:0;padding:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #cbd7e1;border-radius:12px;background:#fff;box-shadow:0 5px 20px #17202a0b}
.codex-direct-surface{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.conversation-surface-header{min-height:38px;padding:.35rem .62rem;display:flex;align-items:center;border-bottom:1px solid #e3e8ed;background:#fbfcfd}
.conversation-surface-header>div{display:flex;align-items:center;gap:.48rem;min-width:0}
.conversation-surface-header>div>span:not(.aoi-avatar):not(.codex-avatar){color:#66717d;font-size:.8rem}
.aoi-avatar,.codex-avatar{width:1.75rem;height:1.75rem;flex:0 0 auto;font-size:.78rem}
.codex-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#405164,#17202a);color:#fff;font-weight:850}
.aoi-avatar.large,.codex-avatar.large{width:3rem;height:3rem;font-size:1.1rem;margin:auto}
.aoi-availability,.direct-state{font-size:.72rem;margin-left:auto}

.conversation-switcher{min-height:36px;margin:0;border:0;border-bottom:1px solid #e1e7ed;border-radius:0;background:#fff}
.conversation-switcher>summary{padding:.48rem .65rem;font-size:.82rem}
.conversation-switcher[open]{max-height:min(35vh,320px);overflow:auto;overscroll-behavior:contain}
.conversation-switcher-body{padding:.5rem .65rem}

.conversation-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:.55rem .65rem;scrollbar-gutter:stable}
.conversation-surface .chat-history{max-height:none;overflow:visible;margin:0;gap:.65rem;padding:0}
.chat-message{max-width:88%;padding:.72rem .82rem;border-radius:12px}
.chat-message header{margin-bottom:.38rem;font-size:.82rem}
.chat-message details{margin-top:.45rem;color:#66717d;font-size:.76rem}
.chat-message details summary{cursor:pointer}
.message-content{line-height:1.55}
.message-actions{display:flex;align-items:center;gap:.45rem;margin-top:.5rem}
.conversation-accept{padding:.28rem .56rem;background:#eef6ee;color:#17633a;border:1px solid #bcdac7;font-size:.78rem;font-weight:750}
.conversation-accept:hover{background:#dff0e3}.acceptance-state{font-size:.76rem;color:#17633a;font-weight:750}
.message-actions small{color:#8a5c00}
.conversation-welcome{padding:1.25rem .75rem}
.conversation-to-task,.direct-results,.direct-formal-link{margin:.7rem 0 0;padding-top:.6rem;border-top:1px solid #e1e7ed}
.conversation-to-task>summary,.direct-results>summary,.direct-formal-link>summary{cursor:pointer;color:#526579;font-weight:750}
.request-failure{margin:.65rem 0}

.composer-region{min-height:0;padding:.42rem .58rem .55rem;border-top:1px solid #e1e7ed;background:#f8fafc}
.composer-region>.warning{margin:0 0 .35rem;padding:.35rem .55rem;font-size:.78rem}
.conversation-surface .chat-composer{position:relative;bottom:auto;margin:0;padding:.5rem .65rem;border-radius:10px;box-shadow:0 -2px 10px #0000000b}
.conversation-surface .chat-composer textarea{min-height:54px;max-height:20vh;resize:vertical;padding:.38rem 0}
.composer-actions{padding-top:.4rem}.composer-actions button{padding:.42rem .72rem}
.attachment-picker{background:#edf3f8;color:#34506a;border:1px solid #c8d2dc;font-size:1rem;line-height:1}
.attachment-previews{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.42rem}
.attachment-preview,.message-attachment{display:flex;align-items:center;gap:.45rem;min-width:0;padding:.38rem .46rem;border:1px solid #d7e0e8;border-radius:8px;background:#fff;color:inherit;text-decoration:none}
.attachment-preview{max-width:min(300px,100%)}.attachment-preview>span:not(.attachment-file-icon),.message-attachment>span{min-width:0;display:grid}
.attachment-preview strong,.message-attachment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.attachment-preview small,.message-attachment small{color:#66717d;font-size:.68rem}
.attachment-preview img,.message-attachment img{width:46px;height:46px;flex:0 0 auto;object-fit:cover;border-radius:6px;background:#edf2f6}
.attachment-file-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:6px;background:#edf3f8;color:#48647f;font-size:1.15rem}
.attachment-remove{width:25px;height:25px;margin-left:auto;padding:0;display:grid;place-items:center;background:#fff;color:#7c2630;border:1px solid #ddc4c7;border-radius:50%}
.attachment-status{min-height:1rem;color:#8a4d0f;font-size:.72rem}.attachment-drop-indicator{position:absolute;inset:.35rem;z-index:4;display:grid;place-items:center;border:2px dashed #5193c4;border-radius:9px;background:#eef8ffeb;color:#245c83;font-weight:750;pointer-events:none}.attachment-drop-indicator[hidden]{display:none}
.attachment-drag-active{outline:2px solid #79acd0;outline-offset:-2px}
.message-attachments{display:grid;gap:.28rem;margin-top:.5rem}.message-attachment{width:max-content;max-width:100%}.attachment-capability{display:block;color:#755d22;font-size:.68rem}.attachment-capability.direct{color:#17633a}

.activity-panel-title{padding-right:1.8rem}.activity-resource{padding:.65rem;flex:0 0 auto}.activity-resource.quiet{display:flex;align-items:center;justify-content:space-between;gap:.4rem;opacity:.56;padding:.42rem .6rem}.activity-resource.quiet .resource-state{font-size:.75rem}.activity-resource.quiet a{display:none}
.activity-emergency-options{flex:0 0 auto;margin-top:auto;padding:.52rem .58rem;border:1px solid #ead8a7;border-radius:8px;background:#fffaf0;font-size:.76rem}
.activity-emergency-options>summary{cursor:pointer;font-weight:750;color:#6b531b}.activity-emergency-options .check-label{margin:.48rem 0}.activity-emergency-options button{width:100%;font-size:.74rem}
.direct-boundary{display:flex;align-items:center;gap:.6rem;padding:.42rem .65rem;border-bottom:1px solid #ead8a7;background:#fffaf0;color:#5f4a18;font-size:.76rem}
.direct-boundary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.direct-results{display:grid;gap:.45rem}.direct-results article{margin-top:.4rem;padding:.55rem;border:1px solid #dbe1e8;border-radius:8px}.direct-results article>a{margin-left:.5rem}.direct-results p{margin:.35rem 0}
.state-working,.state-queued{color:#1669aa}.state-complete{color:#08783e}.state-failed{color:#a62222}

/* Aoi presence is truthful request state, never a progress estimate. */
.aoi-presence{justify-self:start;display:flex;align-items:center;min-height:34px;padding:.25rem .35rem}
.aoi-presence[hidden]{display:none}
.presence-orb{--orb-scale:.09;display:block;width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c9efff 0 14%,#54a9df 42%,#1f568d 100%);box-shadow:0 0 0 4px #a6d8f326,0 0 16px #3f92c76b;animation:aoi-presence-breathe 2.8s ease-in-out infinite,aoi-presence-drift 5.6s ease-in-out infinite}
.aoi-presence.amplitude-medium .presence-orb{--orb-scale:.13}
.aoi-presence.amplitude-large .presence-orb{--orb-scale:.17}
@keyframes aoi-presence-breathe{0%,100%{transform:scale(1);opacity:.62}50%{transform:scale(calc(1 + var(--orb-scale)));opacity:.96}}
@keyframes aoi-presence-drift{0%,100%{margin-left:0}50%{margin-left:2px}}
@media(prefers-reduced-motion:reduce){.project-room-shell{transition:none}.presence-orb{animation:none;opacity:.82;transform:none}}

@media(max-width:1040px){
  .project-room-shell{grid-template-columns:minmax(145px,170px) minmax(0,1fr) minmax(205px,240px)}
  .project-room-shell.left-collapsed{grid-template-columns:34px minmax(0,1fr) minmax(205px,240px)}
  .project-room-shell.right-collapsed{grid-template-columns:minmax(145px,170px) minmax(0,1fr) 34px}
  .project-room-shell.left-collapsed.right-collapsed{grid-template-columns:34px minmax(0,1fr) 34px}
}
@media(max-width:820px){
  .site-header{flex-wrap:nowrap;gap:.3rem;overflow-x:auto}.site-header nav{margin-right:auto}.site-header .brand{font-size:.9rem}.site-header .release-badge{display:none}.site-header .language-switcher{margin-left:0}
  .project-room-page>main{padding:.3rem}.compact-project-header{margin-bottom:.3rem}
  .project-room-shell,.project-room-shell.left-collapsed,.project-room-shell.right-collapsed,.project-room-shell.left-collapsed.right-collapsed{position:relative;grid-template-columns:34px minmax(0,1fr) 34px;gap:.3rem}
  .left-panel{grid-column:1}.conversation-surface{grid-column:2}.right-panel{grid-column:3}
  .support-panel:not(.is-collapsed){position:absolute;z-index:7;top:0;bottom:0;width:min(280px,82vw);box-shadow:0 8px 28px #17202a38}
  .left-panel:not(.is-collapsed){left:0}.right-panel:not(.is-collapsed){right:0}
  .compact-project-header span:not(.badge){display:none}
}
@media(max-width:560px){
  .site-header nav a{font-size:.74rem;padding:.32rem}.site-header .language-switcher{display:none}
  .compact-project-header{min-height:31px;padding:.25rem .5rem}.compact-project-header strong{font-size:.9rem}
  .conversation-surface-header>div>span:not(.aoi-avatar):not(.codex-avatar){display:none}
  .chat-message{max-width:97%}.composer-context{display:none}
  .direct-boundary span{display:none}
}
