.our-space {
  --module-accent: #73a9ff;
  position: fixed; inset: 72px 0 0 var(--sidebar-width); overflow: hidden;
  padding: clamp(22px, 3vw, 42px); color: #eef6ff; z-index: 4;
  background: radial-gradient(circle at 82% 4%, rgba(72,132,235,.16), transparent 34%), linear-gradient(145deg,#07111f,#0a1526 55%,#08101d);
}
.our-space[hidden], .our-space-module[hidden], .our-space-hub[hidden], .lab-product[hidden], .lab-project-panel[hidden], .lab-manage-menu[hidden], .our-space-composer[hidden] { display:none!important; }
.our-space-hub { width:min(1120px,100%); height:100%; margin:auto; overflow:auto; scrollbar-width:thin; }
.our-space-heading { padding:clamp(8px,2vw,22px) 2px 10px; }
.our-space-heading>span,.our-space-module-head>div:last-child>span { color:var(--module-accent); font-size:.74rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.our-space-heading h2 { margin:10px 0 0; font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.045em; }
.our-space-grid { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:clamp(12px,1.8vw,20px); margin-top:clamp(24px,4vw,44px); }
.our-space-card { width:100%; box-sizing:border-box; min-height:112px; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:20px; padding:clamp(18px,2vw,25px); border:1px solid rgba(145,182,230,.16); border-radius:24px; color:inherit; background:linear-gradient(155deg,rgba(22,43,70,.88),rgba(9,23,42,.94)); box-shadow:0 18px 45px rgba(0,0,0,.2); cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.our-space-card:hover,.our-space-card:focus-visible { transform:translateY(-4px); border-color:rgba(115,169,255,.62); background:linear-gradient(155deg,rgba(29,58,94,.94),rgba(11,28,50,.98)); outline:none; }
.our-space-card-icon,.our-space-module-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:16px; color:#a7caff; background:rgba(76,139,233,.14); border:1px solid rgba(117,173,255,.22); font-size:1.35rem; }
.our-space-card strong { font-size:1.18rem; letter-spacing:-.015em; }
.our-space-module { width:min(1500px,100%); height:100%; margin:auto; display:grid; grid-template-rows:auto minmax(0,1fr); }
.our-space-module-head { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:14px; padding:0 2px 14px; }
.our-space-module-head h2 { margin:2px 0; font-size:clamp(1.35rem,2vw,1.75rem); }
.our-space-module-head p { margin:0; color:#91a6bf; font-size:.82rem; }
.our-space-back { width:42px; height:42px; border-radius:14px; border:1px solid rgba(145,182,230,.2); color:#e9f3ff; background:rgba(16,34,57,.82); cursor:pointer; }
.our-space-chat { min-height:0; overflow:auto; padding:clamp(14px,2vw,24px); scrollbar-width:thin; }
.our-space-message { display:flex; margin:0 0 14px; }
.our-space-message.user { justify-content:flex-end; }
.our-space-bubble { max-width:min(760px,84%); padding:12px 16px; border-radius:18px; background:#142a46; color:#edf6ff; white-space:pre-wrap; line-height:1.52; }
.our-space-message.user .our-space-bubble { background:#245ca9; }
.our-space-bubble strong { display:block; margin-bottom:4px; font-size:.72rem; color:#a8caff; }
.our-space-message.user .our-space-bubble strong { color:#d8e8ff; }
.lab-language-note { display:flex; align-items:center; gap:7px; margin-top:7px; color:#b7cae4; font-size:.72rem; }
.lab-original-toggle { padding:2px 7px!important; border-radius:999px!important; font-size:.7rem!important; }
.our-space-empty { height:100%; display:grid; place-items:center; color:#8298b2; text-align:center; }
.our-space-typing { padding:6px 10px 0; color:#91acd0; font-size:.84rem; }
.our-space-composer { display:grid; grid-template-columns:1fr auto; gap:9px; margin-top:10px; }
.our-space-composer textarea { min-height:48px; max-height:126px; resize:vertical; padding:13px 15px; border-radius:17px; border:1px solid rgba(145,182,230,.2); background:#0e2037; color:#f2f7ff; font:inherit; outline:none; }
.our-space-composer textarea:focus { border-color:#5795ed; box-shadow:0 0 0 3px rgba(87,149,237,.13); }
.mira-message-time { display:block; margin-top:6px; color:#9fb3ca; font-size:.72rem; line-height:1; text-align:right; font-variant-numeric:tabular-nums; }
.our-space-composer button { border:0; border-radius:14px; background:#397cd8; color:#fff; font-weight:750; cursor:pointer; }
.our-space-disclaimer { margin:8px 0 0; color:#7489a3; text-align:center; font-size:.74rem; }
.our-space-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.lab-product { position:relative; min-height:0; display:grid; grid-template-columns:190px minmax(0,1fr); gap:14px; }
.lab-list-panel,.lab-chat-panel,.lab-project-panel { min-width:0; border:1px solid rgba(145,182,230,.14); background:rgba(6,16,29,.68); box-shadow:0 18px 50px rgba(0,0,0,.16); }
.lab-list-panel { padding:13px; border-radius:22px; overflow:hidden; }
.lab-chat-panel { min-height:0; padding:10px 12px 12px; border-radius:24px; display:flex; flex-direction:column; }
.lab-chat-panel .our-space-chat { flex:1; border:0; background:transparent; }
.lab-panel-title,.lab-toolbar { display:flex; align-items:center; gap:8px; }
.lab-panel-title { justify-content:space-between; margin-bottom:12px; }
.lab-toolbar { justify-content:flex-end; min-height:40px; margin-bottom:2px; }
#labSwitcherToggle { display:none; margin-right:auto; }
.lab-product button,.lab-product input,.lab-product textarea,.lab-product select,.lab-project-item a { border:1px solid rgba(145,182,230,.2); border-radius:11px; background:#10243d; color:#eef6ff; font:inherit; }
.lab-product button,.lab-project-item a { padding:7px 10px; cursor:pointer; text-decoration:none; }
.lab-product button:hover,.lab-product button:focus-visible,.lab-project-item a:focus-visible { border-color:#67a5fb; outline:none; }
.lab-product button.danger { color:#ffb7b7; }
#labManageToggle { min-width:42px; font-size:1rem; letter-spacing:.12em; }
.lab-action-menu { position:relative; }
.lab-manage-menu { position:absolute; top:calc(100% + 7px); right:0; z-index:12; width:210px; padding:7px; border:1px solid rgba(145,182,230,.2); border-radius:15px; background:#0b1b30; box-shadow:0 20px 55px rgba(0,0,0,.48); }
.lab-manage-menu button { display:block; width:100%; margin:2px 0; text-align:left; background:transparent; border-color:transparent; }
#labList { display:grid; gap:6px; align-content:start; }
.lab-list-item,.lab-invitation { display:block; width:100%; margin:0; padding:9px 10px!important; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lab-list-item.active { background:linear-gradient(135deg,#245ca9,#1b477d); border-color:#75adff; }
.lab-project-panel { position:fixed; right:clamp(14px,3vw,42px); top:92px; bottom:22px; z-index:11; width:min(380px,calc(100vw - 28px)); padding:16px; border-radius:22px; overflow:auto; overflow-x:hidden; box-shadow:0 25px 80px rgba(0,0,0,.55); backdrop-filter:blur(18px); }
.lab-project-nav { display:flex; gap:6px; overflow-x:auto; padding:0 0 9px; scrollbar-width:thin; }
.lab-project-nav button { flex:0 0 auto; padding:6px 9px; font-size:.78rem; }
.lab-project-nav button.active { color:#fff; background:#245ca9; border-color:#75adff; }
.lab-project-panel label { display:block; margin:10px 0; color:#a9bad0; font-size:.82rem; }
.lab-project-panel input,.lab-project-panel textarea { display:block; width:100%; box-sizing:border-box; margin-top:5px; padding:9px; }
.lab-project-panel textarea { min-height:72px; resize:vertical; }
.lab-project-item { position:relative; margin:9px 0; padding:11px; border:1px solid rgba(145,182,230,.14); border-radius:15px; background:rgba(20,42,70,.5); }
.lab-project-item,#labProjectContent { min-width:0; overflow-wrap:anywhere; }
.lab-project-item p { margin:6px 0; color:#b6c6da; white-space:pre-wrap; font-size:.84rem; }
.lab-project-item>details { margin-top:7px; }
.lab-project-item summary { width:max-content; cursor:pointer; color:#a9c9f4; font-size:.78rem; }
.lab-item-actions { display:flex; gap:5px; flex-wrap:wrap; padding-top:7px; }
.lab-attachment-tray { display:flex; gap:6px; flex-wrap:wrap; padding:7px 2px; }
.lab-attachment-tray button { border-radius:999px; padding:5px 10px; font-size:.78rem; }
.lab-sources { margin-top:12px; padding-top:9px; border-top:1px solid rgba(255,255,255,.15); font-size:.82rem; color:#bad4f7; }
.lab-sources a { display:block; margin-top:5px; color:#9fc8ff; }
.lab-chat-panel .our-space-composer { grid-template-columns:auto auto auto minmax(120px,1fr) auto auto; }
#labRetry { align-self:flex-start; margin-top:5px; }

@media (max-width:1050px) {
  .our-space { padding:22px; }
  .lab-product { grid-template-columns:minmax(0,1fr); }
  #labSwitcherToggle { display:inline-flex; }
  .lab-list-panel { position:fixed; left:calc(var(--sidebar-width) + 18px); top:92px; bottom:22px; z-index:12; width:230px; box-shadow:0 25px 80px rgba(0,0,0,.55); }
  .lab-list-panel:not(.open) { display:none; }
}
@media (max-width:900px) { .our-space-grid { grid-template-columns:repeat(2,minmax(150px,1fr)); } }
@media (max-width:640px) {
  .our-space { inset:72px 0 0; padding:14px; }
  .our-space-grid { gap:10px; margin-top:24px; }
  .our-space-card { min-height:104px; padding:16px; border-radius:19px; gap:12px; }
  .our-space-card-icon { width:42px; height:42px; }
  .our-space-module-head { grid-template-columns:auto 1fr; padding-bottom:10px; }
  .our-space-module-icon { display:none; }
  .our-space-module-head p { max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .lab-list-panel { left:14px; right:14px; top:86px; bottom:14px; width:auto; }
  .lab-project-panel { left:14px; right:14px; top:86px; bottom:14px; width:auto; }
  .lab-chat-panel { border-radius:20px; padding:8px; }
  .lab-chat-panel .our-space-composer { grid-template-columns:auto auto auto minmax(0,1fr) auto; }
  #labStop { grid-column:5; }
  #labSend { grid-column:5; }
  .our-space-bubble { max-width:92%; }
  .our-space-chat { padding:11px; }
}
@media (max-width:390px) {
  .our-space-grid { grid-template-columns:1fr 1fr; }
  .lab-chat-panel .our-space-composer { grid-template-columns:auto auto auto 1fr; }
  #labInput { grid-column:1/-1; grid-row:1; }
  #labActions,#labEmoji,#labMic { grid-row:2; }
  #labSend,#labStop { grid-row:2; grid-column:4; }
}

/* Phase 4 / Task 2E: conversation-first Lab closure */
.our-space { padding:clamp(14px,2vw,30px); }
.our-space-hub { width:min(1380px,100%); }
.our-space-grid { grid-template-columns:repeat(4,minmax(160px,1fr)); }
.our-space-module { width:min(1760px,100%); }
.our-space-module-head { padding-bottom:10px; }
.our-space-back svg,.lab-product button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.lab-product { grid-template-columns:clamp(164px,14vw,210px) minmax(0,1fr); gap:10px; }
.lab-list-panel,.lab-chat-panel,.lab-project-panel { border-color:rgba(145,182,230,.09); box-shadow:0 14px 40px rgba(0,0,0,.13); }
.lab-list-panel { padding:11px; border-radius:18px; }
.lab-chat-panel { padding:6px 10px 10px; border-radius:20px; }
.lab-toolbar { margin:0; }
.lab-toolbar>button,.lab-toolbar .lab-action-menu>button { min-height:38px; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
#labManageToggle,#labProjectClose { width:38px; min-width:38px; padding:0; }
.our-space-chat { padding:clamp(16px,2.3vw,34px); }
.our-space-message { margin-bottom:20px; }
.our-space-bubble { position:relative; max-width:min(820px,78%); padding:14px 18px; border-radius:20px; background:rgba(20,42,70,.72); font-size:clamp(.96rem,.25vw + .9rem,1.05rem); line-height:1.6; }
.our-space-message.mira .our-space-bubble { border-top-left-radius:7px; }
.our-space-message.user .our-space-bubble { border-top-right-radius:7px; background:linear-gradient(145deg,#245ca9,#1e4f8d); }
.our-space-bubble strong { margin-bottom:7px; font-size:.76rem; letter-spacing:.025em; }
.lab-voice-play { width:32px; height:32px; min-width:32px; display:grid; place-items:center; margin-top:9px; padding:0!important; border-radius:999px!important; background:transparent!important; }
.lab-voice-play svg { width:15px!important; height:15px!important; }
.lab-chat-panel .our-space-composer { grid-template-columns:42px 42px minmax(160px,1fr) 42px 46px; align-items:end; gap:6px; margin:4px 0 0; padding:7px; border:1px solid rgba(145,182,230,.14); border-radius:20px; background:rgba(10,26,45,.9); box-shadow:0 -10px 35px rgba(2,8,16,.16); }
.lab-chat-panel .our-space-composer { position:relative; }
.lab-emoji-picker { left:0; bottom:calc(100% + 10px); z-index:32; }
.lab-chat-panel .our-space-composer textarea { min-height:42px; max-height:118px; padding:10px 11px; border:0; border-radius:12px; background:transparent; resize:none; }
.lab-chat-panel .our-space-composer textarea:focus { box-shadow:none; }
.lab-chat-panel .our-space-composer button { width:42px; height:42px; min-width:42px; padding:0; display:grid; place-items:center; border-radius:13px; background:transparent; }
.lab-chat-panel .our-space-composer button[hidden] { display:none!important; }
.lab-chat-panel .our-space-composer #labSend { width:46px; background:#397cd8; }
.lab-chat-panel .our-space-composer #labStop { width:46px; background:#9d3d4b; }
#labEmoji { order:1; } #labActions { order:2; } #labInput { order:3; } #labMic { order:4; } #labSend,#labStop { order:5; }
#labMic[aria-pressed="true"] { color:#fff; background:#245ca9; }
.voice-status { min-height:18px; padding:2px 8px; color:#91a6bf; font-size:.72rem; }
.lab-project-panel { right:clamp(14px,2vw,30px); top:82px; bottom:110px; width:min(420px,calc(100vw - 28px)); padding:14px; border-radius:20px; background:rgba(7,20,36,.96); }
.lab-project-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow:visible; padding-bottom:12px; }
.lab-project-nav button { min-width:0; padding:8px; text-align:left; }
.lab-project-panel label { margin:13px 0; }
.lab-project-panel input,.lab-project-panel textarea { border-color:transparent; background:rgba(17,39,65,.76); }
.lab-project-item { border-color:transparent; background:rgba(20,42,70,.42); }
#labSaveReply { margin-top:12px; font-size:.78rem; background:transparent; }
.lab-manage-menu { z-index:30; }

@media (min-width:1180px) {
  .lab-product {
    grid-template-columns:clamp(164px,14vw,210px) minmax(0,1fr) 0px;
    gap:0;
    transition:grid-template-columns .22s ease;
  }
  .lab-chat-panel { margin-left:10px; }
  .our-space.project-tools-open .lab-product {
    grid-template-columns:clamp(164px,14vw,210px) minmax(0,1fr) clamp(350px,30vw,430px);
  }
  .our-space.project-tools-open .lab-project-panel {
    position:static;
    inset:auto;
    width:auto;
    height:100%;
    max-height:100%;
    margin-left:10px;
    box-sizing:border-box;
    z-index:auto;
    backdrop-filter:none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .lab-product { transition:none; }
}
@media (max-width:1050px) {
  .our-space-grid { grid-template-columns:repeat(2,minmax(150px,1fr)); }
  .lab-product { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px) {
  .our-space { padding:10px; }
  .our-space-module-head { min-height:48px; }
  .our-space-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .our-space-card { min-width:0; }
  .lab-chat-panel { padding:5px; }
  .lab-toolbar>button span { display:none; }
  .our-space-bubble { max-width:94%; padding:12px 14px; }
  .lab-emoji-picker { left:0; width:min(368px,calc(100vw - 32px)); height:min(438px,calc(100vh - 180px)); }
  .lab-project-panel { left:10px; right:10px; top:82px; bottom:92px; width:auto; }
  .lab-chat-panel .our-space-composer { grid-template-columns:38px 38px minmax(0,1fr) 38px 42px; padding:5px; }
  .lab-chat-panel .our-space-composer button { width:38px; height:38px; min-width:38px; }
  .lab-chat-panel .our-space-composer #labSend,.lab-chat-panel .our-space-composer #labStop { width:42px; }
  #labInput { grid-column:auto; grid-row:auto; }
  #labActions,#labEmoji,#labMic,#labSend,#labStop { grid-row:auto; grid-column:auto; }
}
@media (max-width:390px) {
  .lab-chat-panel .our-space-composer { grid-template-columns:36px 36px minmax(0,1fr) 36px 40px; gap:3px; }
  .lab-chat-panel .our-space-composer button { width:36px; height:36px; min-width:36px; }
  .lab-chat-panel .our-space-composer #labSend,.lab-chat-panel .our-space-composer #labStop { width:40px; }
}
