:root { font-family: Manrope, Arial, sans-serif; color: #f0f1e9; background: #111314; font-synthesis: none; --muted: #a2a7aa; --line: #34383a; --yellow: #eced89; --green: #78c5a0; }
* { box-sizing: border-box; letter-spacing: 0; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; overflow: hidden; }
button { font: inherit; cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
svg { width: 18px; height: 18px; flex: none; vertical-align: middle; }
.shell { min-height: 100dvh; }
.topbar { height: 84px; display: flex; justify-content: space-between; align-items: center; padding: 0 32px; border-bottom: 1px solid var(--line); background: #151713; }
.identity { display: flex; align-items: center; gap: 14px; }
.identity-rule { width: 3px; height: 34px; background: var(--yellow); }
.identity strong { display: block; font-size: 23px; line-height: 1.3; }
.identity-link { color: inherit; text-decoration: none; }
.identity-link:hover { color: var(--yellow); }
.identity-link:focus-visible { outline: 2px solid var(--yellow); outline-offset: 4px; }
.identity strong > span, .room-heading h2 > span { color: var(--yellow); }
.identity small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.top-actions, .clock, .shareholder { display: flex; align-items: center; }
.top-actions { gap: 25px; }
.shareholder { gap: 8px; color: #c0c5b8; font-size: 11px; }
.shareholder svg { color: var(--yellow); width: 16px; height: 16px; }
.clock { gap: 7px; font-family: 'DM Mono', monospace; }
.clock b { font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; }
.clock small { color: var(--muted); font-size: 9px; }
.mode-badge { color: var(--yellow); font: 11px 'DM Mono', monospace; text-transform: uppercase; }
.icon-btn { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: #c7cbbf; }
.icon-btn:hover, .icon-btn[aria-pressed="true"] { background: #2c3126; color: var(--yellow); border-color: #62694a; }
.workspace { display: grid; grid-template-columns: minmax(0, 1fr) 390px; height: calc(100dvh - 84px); }
.studio { min-width: 0; min-height: 0; overflow: auto; padding: 28px 32px 18px; display: flex; flex-direction: column; }
.studio-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.eyebrow { font: 10px/1.5 'DM Mono', monospace; color: var(--muted); }
h1 { margin: 6px 0 0; font-size: 24px; line-height: 1.3; font-weight: 600; }
.scene-meta, .floor-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.scene-meta { padding: 0 2px 12px; font: 10px 'DM Mono', monospace; color: #b3b9ac; }
.scene-meta > span:first-child { display: flex; align-items: center; gap: 7px; }
.scene-meta svg { width: 14px; height: 14px; color: #c6cf97; }
.connection { display: flex; align-items: center; gap: 7px; }
.connection i, .person-state i { display: inline-block; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #818b7c; }
.connection[data-connected="true"] i { background: var(--green); box-shadow: 0 0 0 3px #78c5a014; }
.scene-stage { display: grid; place-items: center; width: 100%; min-height: 0; flex: 1 1 auto; container-type: size; min-height: 220px; background: #0b1014; }
.office { width: min(100cqw, calc(100cqh * 1672 / 941)); aspect-ratio: 1672 / 941; position: relative; overflow: hidden; background-size: 100% 100%; background-position: center; background-repeat: no-repeat; image-rendering: pixelated; }
.lucy { position: absolute; width: 10%; height: 28%; bottom: 23%; left: 51%; z-index: 8; filter: drop-shadow(2px 3px 2px #0005); }
.lucy img { width: 100%; height: 100%; object-fit: contain; filter: saturate(.88) contrast(1.02) brightness(.9); }
.lucy[data-state="idle"], .lucy[data-state="offline"], .office:is([data-station="phone"], [data-station="desk"], [data-station="research"]) .lucy { display: none; }
.office[data-station="board"] .lucy { left: 51%; bottom: 23%; }
.office[data-station="calendar"] .lucy { left: 52%; bottom: 25%; }
.office[data-station="audio"] .lucy { left: 52%; bottom: 23%; }
.sleeping-lucy { display: none; position: absolute; left: 60%; bottom: 7%; width: 10%; aspect-ratio: 1; z-index: 9; transform-origin: 50% 85%; animation: sleep-breathe 4.8s ease-in-out infinite; filter: drop-shadow(2px 3px 2px #0005); }
.office[data-station="rest"] .sleeping-lucy { display: block; }
.sleeping-lucy img { display: block; width: 100%; height: 100%; object-fit: contain; filter: saturate(.9) contrast(1.03) brightness(.9); }
.zzz { display: none; position: absolute; left: 60%; bottom: 21%; width: 3%; height: 8%; z-index: 12; font: 700 17px 'DM Mono', monospace; color: #f4d77b; filter: drop-shadow(2px 2px 0 #182129); }
.office[data-station="rest"] > .zzz { display: block; }
.zzz span { position: absolute; animation: float-z 2.7s steps(5,end) infinite; opacity: 0; }
.zzz span:nth-child(1) { left: 3%; bottom: 4%; font-size: .65em; animation-delay: -.2s; }
.zzz span:nth-child(2) { left: 34%; bottom: 30%; font-size: .82em; animation-delay: -1.1s; }
.zzz span:nth-child(3) { right: 2%; top: 2%; animation-delay: -2s; }
.teammate { position: absolute; width: 19%; aspect-ratio: 1; z-index: 8; pointer-events: none; }
.teammate.nico { left: 29%; top: 70%; width: 14%; }
.teammate.ardi { left: 64.3%; top: 47%; width: 15%; }
.teammate img { display: block; width: 100%; height: 100%; image-rendering: pixelated; transform-origin: 50% 85%; filter: brightness(.83) saturate(.85) drop-shadow(1px 2px 1px #0006); }
.office[data-daypart="morning"] .teammate img, .office[data-daypart="afternoon"] .teammate img { filter: brightness(.98) saturate(.9) drop-shadow(1px 2px 1px #0006); }
.teammate[data-state="idle"] img { animation: team-breathe 3.4s ease-in-out infinite; }
.teammate[data-state="working"] img { animation: team-work 1.6s steps(2,end) infinite; }
.teammate[data-state="offline"] { visibility: hidden; }
.team-sleep { position: absolute; left: 65%; top: 12%; font: bold 15px monospace; color: #f8e7a2; text-shadow: 1px 1px #232323; animation: team-zzz 2.8s ease-in-out infinite; }
.team-sleep span { display: inline-block; transform: translateY(-6px); font-size: 12px; }
.team-sleep span:last-child { transform: translateY(-11px); font-size: 9px; }
.teammate:not([data-state="idle"]) .team-sleep { display: none; }
.office[data-focus="nico"] .nico img, .office[data-focus="ardi"] .ardi img { filter: brightness(1.04) saturate(.95) drop-shadow(0 0 2px #e4eb6466); }
.floor-caption { padding: 12px 0 16px; color: var(--muted); font-size: 11px; }
.floor-caption time { font: 10px 'DM Mono', monospace; white-space: nowrap; }
.roster { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; flex: none; }
.person { min-width: 0; display: flex; align-items: center; gap: 10px; text-align: left; padding: 13px 10px; border: 1px solid var(--line); border-radius: 6px; color: #eff1e7; background: #1b1e18; }
.person:hover { background: #24291f; border-color: #5d6650; }
.person[aria-pressed="true"] { border-color: var(--yellow); background: #292e1e; }
.avatar { width: 49px; height: 56px; display: block; overflow: hidden; flex: none; background: #30362a; border-radius: 5px; position: relative; }
.avatar img { display: block; position: absolute; width: 110%; max-width: none; height: auto; left: -5%; top: 0; image-rendering: pixelated; }
.avatar-nico { background: #37362b; }
.avatar-nico img { width: 156%; left: -28%; top: -4%; }
.avatar-ardi { background: #273732; }
.avatar-ardi img { width: 180%; left: -40%; top: -1%; }
.avatar-lucy img { width: 112%; left: -6%; top: 0; }
.avatar-shareholder { display: grid; place-items: center; color: var(--yellow); background: #303525; }
.person-info { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.person strong { font-size: 13px; font-weight: 700; }
.person-role { color: #a6ad9c; font-size: 9px; margin-top: 4px; line-height: 1.4; }
.person-state { display: flex; gap: 5px; align-items: center; color: #c9cfbf; font-size: 10px; margin-top: 8px; }
.person-state[data-state="idle"] i { background: #b8c8a0; }
.person-state:not([data-state="offline"]):not([data-state="idle"]) i { background: var(--green); }
.person-state:is([data-state="error"],[data-state="waiting"]) i { background: #edbc76; }
.person > svg { width: 13px; height: 13px; color: #747e68; align-self: start; }
.publication { display: flex; gap: 12px; align-items: center; padding: 20px 0 16px; margin-top: 8px; border-bottom: 1px solid var(--line); flex: none; }
.publication-icon { color: var(--yellow); width: 34px; height: 34px; display: grid; place-items: center; flex: none; }
.publication > div { min-width: 0; flex: 1; }
.publication strong { display: block; margin-top: 3px; font-size: 13px; }
.publication p { margin: 5px 0 0; color: #a6ad9c; font: 10px/1.5 'DM Mono', monospace; }
.publication-status { max-width: 150px; font: 10px/1.5 'DM Mono', monospace; color: var(--muted); text-align: right; }
.publication-status[data-status="scheduled"] { color: var(--yellow); }
.publication-status[data-status="published"] { color: var(--green); }
.publication-status:is([data-status="failed"],[data-status="blocked"]) { color: #e6b383; }
.studio-footer { display: flex; justify-content: space-between; gap: 10px; padding-top: 14px; color: #939b89; font: 9px/1.5 'DM Mono', monospace; flex: none; }
.studio-footer > span { display: inline-flex; align-items: center; gap: 6px; }
.studio-footer svg { width: 11px; height: 11px; }
.team-room { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #1a1d17; border-left: 1px solid var(--line); }
.room-heading { padding: 29px 24px 24px; display: flex; justify-content: space-between; align-items: center; }
.room-heading h2 { font-size: 21px; font-weight: 600; margin: 7px 0 0; }
.team-count { display: flex; align-items: center; gap: 6px; color: #abb39e; font: 11px 'DM Mono', monospace; }
.team-count svg { width: 15px; height: 15px; }
.room-tabs { display: flex; gap: 20px; border-bottom: 1px solid var(--line); padding: 0 24px; }
.room-tabs button { display: flex; align-items: center; gap: 7px; position: relative; color: #9fa893; background: transparent; border: 0; padding: 13px 0; font-size: 11px; }
.room-tabs svg { width: 15px; height: 15px; }
.room-tabs button[aria-selected="true"] { color: #e8eddd; }
.room-tabs button[aria-selected="true"]::after { content: ''; position: absolute; height: 2px; background: var(--yellow); bottom: -1px; left: 0; right: 0; }
#eventCount { min-width: 19px; height: 18px; display: grid; place-items: center; border-radius: 3px; background: #363d2b; color: #d5dfbd; font: 9px 'DM Mono', monospace; }
.filter-bar { min-height: 46px; display: flex; align-items: center; gap: 7px; padding: 0 24px; border-bottom: 1px solid #292f23; }
.filter-bar > span { font-size: 10px; color: #c0c7b3; }
.filter-bar small { margin-left: auto; font: 9px 'DM Mono', monospace; color: #8e9980; }
.clear-filter { width: 24px; height: 24px; display: grid; place-items: center; background: transparent; color: #b3bf9e; border: 0; }
.clear-filter svg { width: 13px; height: 13px; }
.room-body { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #444f38 transparent; padding: 0 24px 24px; }
.empty-state { text-align: center; max-width: 275px; margin: 70px auto; color: #a0aa93; }
.empty-icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 auto 18px; color: #c9d4b4; border: 1px solid #3c4730; border-radius: 8px; }
.empty-state h3 { color: #d7dfca; font-size: 13px; line-height: 1.6; font-weight: 600; }
.empty-state p { font-size: 11px; line-height: 1.8; }
.date-divider { display: flex; align-items: center; gap: 10px; color: #919d80; font: 9px 'DM Mono', monospace; margin: 24px 0; white-space: nowrap; }
.date-divider::before, .date-divider::after { content: ''; height: 1px; flex: 1; background: #333c29; }
.message { display: flex; gap: 10px; margin-bottom: 25px; }
.message-avatar .avatar { width: 32px; height: 36px; border-radius: 4px; }
.message-body { flex: 1; min-width: 0; }
.message-head { display: flex; justify-content: space-between; gap: 7px; align-items: baseline; padding-top: 2px; }
.message-who { display: flex; flex-wrap: wrap; column-gap: 7px; row-gap: 3px; align-items: baseline; min-width: 0; }
.message-head strong { color: #e3e8da; font-size: 11px; }
.message:has(.avatar-nico) .message-head strong { color: #dfc590; }
.message:has(.avatar-ardi) .message-head strong { color: #92c6ac; }
.recipient { color: #939e83; font-size: 9px; }
.message-head time, .system-event time { flex: none; font: 9px 'DM Mono', monospace; color: #8d987e; }
.message p { margin: 7px 0 8px; font-size: 12px; line-height: 1.7; color: #cdd5c0; overflow-wrap: anywhere; }
.message-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; color: #95a083; font-size: 9px; line-height: 1.6; }
.receipt { display: inline-flex; align-items: center; gap: 4px; }
.receipt::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.receipt.completed { color: #99bc96; }
.receipt.active { color: #d9e58e; }
.receipt.blocked { color: #e8b78e; }
.message-meta > span + span::before { content: '/'; margin-right: 7px; color: #647352; }
.system-event { display: flex; gap: 10px; align-items: center; padding: 15px 0; border-bottom: 1px solid #313a27; }
.system-mark { color: #aabd8f; }
.system-mark svg { width: 17px; height: 17px; }
.system-event > div { min-width: 0; flex: 1; }
.system-event strong { display: block; font-size: 11px; color: #d6dfc8; font-weight: 600; }
.system-event small { display: block; margin-top: 4px; color: #8f9e7b; font-size: 9px; }
.room-footer { display: flex; justify-content: space-between; padding: 16px 24px; border-top: 1px solid var(--line); color: #95a084; font: 9px 'DM Mono', monospace; }
.room-footer > span { display: inline-flex; align-items: center; gap: 6px; }
.room-footer svg { width: 12px; height: 12px; }
.new-updates { position: absolute; bottom: 64px; left: 50%; transform: translateX(-50%); display: flex; gap: 7px; align-items: center; padding: 9px 14px; border-radius: 6px; border: 1px solid #697b45; color: #e3ebd3; background: #343f26; font-size: 11px; box-shadow: 0 5px 18px #0005; white-space: nowrap; }
.new-updates svg { width: 14px; height: 14px; }
.workspace.expanded { grid-template-columns: minmax(0,1fr); }
.workspace.expanded .team-room { display: none; }
.workspace.expanded .studio { width: 100%; max-width: 1500px; margin-inline: auto; }
@keyframes sleep-breathe { 50% { transform: scaleY(1.006); } }
@keyframes float-z { 0% { opacity: 0; transform: translate(0,7px) scale(.75); } 20%,62% { opacity: 1; } 100% { opacity: 0; transform: translate(8px,-12px) scale(1.08); } }
@keyframes team-breathe { 50% { transform: scaleY(.997); } }
@keyframes team-work { 50% { transform: rotate(.25deg) translateY(-1px); } }
@keyframes team-zzz { 0%,100% { opacity: .35; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-6px); } }
body[data-paused="true"] *, body[data-paused="true"] *::before, body[data-paused="true"] *::after { animation-play-state: paused !important; }
@media (min-width: 1600px) { .workspace { grid-template-columns: minmax(0,1fr) 420px; } .studio { padding: 32px 40px 22px; } .person { padding: 16px; } .avatar { width: 58px; height: 62px; } .person strong { font-size: 15px; } .person-role { font-size: 11px; } .person-state { font-size: 11px; } }
@media (max-height: 780px) and (min-width: 1001px) { .topbar { height: 66px; } .workspace { height: calc(100dvh - 66px); } .studio { padding: 18px 24px 12px; } .studio-heading { margin-bottom: 14px; } h1 { font-size: 21px; } .publication { padding: 12px 0; } .studio-footer { padding-top: 10px; } .person { padding: 10px; } .floor-caption { padding: 10px 0; } }
@media (max-width: 1150px) and (min-width: 1001px) { .workspace { grid-template-columns: minmax(0,1fr) 340px; } .studio { padding-left: 20px; padding-right: 20px; } .person { flex-wrap: wrap; position: relative; } .person > svg { position: absolute; right: 10px; top: 10px; } .person-info { flex-basis: 100%; } .person-role { font-size: 10px; } }
@media (max-width: 1000px) {
  body { overflow: auto; }
  .topbar { height: 76px; padding: 0 24px; }
  .top-actions { gap: 18px; }
  .workspace, .workspace.expanded { height: auto; display: block; }
  .studio { padding: 24px; }
  .scene-stage { container-type: normal; min-height: 0; }
  .office { width: 100%; }
  .team-room { border-left: 0; border-top: 1px solid var(--line); min-height: 430px; }
  .room-body { flex: none; height: 430px; padding-left: 24px; padding-right: 24px; }
  .room-heading { padding-top: 24px; }
  .message { max-width: 750px; }
  .empty-state { margin: 80px auto; }
  .workspace.expanded .team-room { display: flex; }
  #expandOffice { display: none; }
}
@media (max-width: 680px) {
  .topbar { height: 72px; padding: 0 16px; }
  .identity { gap: 10px; }
  .identity strong { font-size: 20px; }
  .identity small { font-size: 8px; max-width: 150px; line-height: 1.5; }
  .identity-rule { height: 32px; }
  .shareholder { display: none; }
  .top-actions { gap: 10px; }
  .clock { gap: 5px; }
  .clock b { font-size: 12px; }
  .clock small { font-size: 8px; }
  .icon-btn { width: 36px; height: 36px; }
  .mode-badge { position: absolute; top: 78px; right: 16px; font-size: 8px; }
  .studio { padding: 22px 16px 18px; }
  .studio-heading { margin-bottom: 22px; }
  h1 { font-size: 21px; margin-top: 5px; }
  .scene-meta { font-size: 8px; padding-bottom: 10px; }
  .scene-meta svg { width: 12px; height: 12px; }
  .scene-stage { width: calc(100% + 32px); margin-left: -16px; }
  .floor-caption { font-size: 9px; padding: 12px 0 16px; }
  .floor-caption time { font-size: 8px; }
  .roster { gap: 7px; }
  .person { padding: 11px 8px; display: block; position: relative; }
  .person > svg { position: absolute; right: 8px; top: 11px; width: 11px; height: 11px; }
  .person .avatar { width: 44px; height: 48px; margin-bottom: 9px; }
  .person strong { font-size: 12px; }
  .person-role { font-size: 9px; min-height: 27px; }
  .person-state { margin-top: 7px; font-size: 9px; gap: 4px; }
  .person-state i { width: 5px; height: 5px; }
  .publication { gap: 7px; padding: 18px 0; margin-top: 7px; }
  .publication-icon { width: 25px; }
  .publication strong { font-size: 12px; }
  .publication p { font-size: 8px; }
  .publication-status { font-size: 8px; max-width: 90px; }
  .publication .eyebrow { font-size: 8px; }
  .studio-footer { font-size: 8px; gap: 6px; }
  .studio-footer > span { gap: 4px; }
  .studio-footer svg { width: 10px; height: 10px; }
  .room-heading { padding: 23px 20px; }
  .room-heading h2 { font-size: 22px; }
  .room-tabs { padding: 0 20px; gap: 26px; }
  .room-tabs button { font-size: 12px; min-height: 47px; }
  .filter-bar { padding: 0 20px; }
  .clear-filter { width: 36px; height: 36px; }
  .room-body { padding: 0 20px 20px; height: 430px; }
  .message p { font-size: 12px; }
  .message-head strong { font-size: 12px; }
  .room-footer { padding-inline: 20px; }
  .zzz { font-size: 10px; }
  .team-sleep { font-size: 9px; }
  .team-sleep span { font-size: 7px; transform: translateY(-3px); }
  .team-sleep span:last-child { font-size: 6px; transform: translateY(-6px); }
}
@media (max-width: 360px) { .top-actions { gap: 6px; } .identity small { max-width: 123px; } .clock b { font-size: 11px; } .identity strong { font-size: 18px; } .person-role { font-size: 8px; } .studio-footer { font-size: 7px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } .zzz span { opacity: .85; } }
.agenda-jump { display:flex; align-items:center; gap:10px; padding:14px 0; width:100%; background:none; color:var(--yellow); border:0; border-bottom:1px solid var(--line); text-align:left; font-size:11px; flex:none; }
.agenda-jump span {flex:1; min-width:0; line-height:1.5;}
.room-tabs {gap:20px;}
.room-tabs button {gap:6px;font-size:12px;}
.room-tabs button svg {width:15px;height:15px;}
.agenda-overview {padding:22px 0 8px;}
.agenda-overview h3 {font-size:20px;margin:7px 0;}
.agenda-overview p {font-size:12px;line-height:1.7;color:#bdc8b2;margin:8px 0 14px;}
.agenda-dates {display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #48523b;border-radius:6px;overflow:hidden;margin-top:18px;}
.agenda-dates button {background:none;border:0;color:#bbc7b0;min-height:38px;font-size:11px;}
.agenda-dates button[aria-pressed="true"] {background:#dfe872;color:#202515;font-weight:700;}
.agenda-overview .agenda-date {font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);margin:15px 0 5px;}
.agenda-slots {padding:8px 0 16px;border-bottom:1px solid #36402d;}
.agenda-slots h4 {font-size:12px;margin:0 0 12px;}
.agenda-slot-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;list-style:none;margin:0;padding:0;}
.agenda-slot-list li {min-width:0;padding-left:10px;border-left:2px solid #66715b;}
.agenda-slot-list time {display:block;font:10px 'DM Mono',monospace;color:var(--muted);}
.agenda-slot-list strong {display:block;font-size:11px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere;}
.agenda-slot-list li[data-status="published"] {border-color:#91d3b2;color:#91d3b2;}
.agenda-slot-list li[data-status="scheduled"] {border-color:var(--yellow);color:var(--yellow);}
.agenda-slot-list li:is([data-status="empty"],[data-status="blocked"],[data-status="missed"],[data-status="needs_reconciliation"]) {border-color:#f0ba96;}
.agenda-task {padding:17px 0;border-bottom:1px solid #36402d;position:relative;}
.agenda-task-top {display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;align-items:center;}
.agenda-task time {font:10px 'DM Mono',monospace;color:#c8d3bc;}
.agenda-status {font-size:10px;color:#a9b49b;}
.agenda-task:is([data-status="published"],[data-status="completed"],[data-status="checked"]) .agenda-status {color:#91d3b2;}
.agenda-task:is([data-status="blocked"],[data-status="partial"],[data-status="missed"]) .agenda-status {color:#f0ba96;}
.agenda-task[data-status="running"] .agenda-status {color:var(--yellow);}
.agenda-task h4 {font-size:13px;line-height:1.5;margin:8px 0 5px;overflow-wrap:anywhere;}
.agenda-owner {font-size:11px;color:#b2c09e;}
.agenda-details {margin-top:10px;font-size:11px;color:#9dac8b;line-height:1.6;}
.agenda-details summary,.agenda-weekly summary {cursor:pointer;min-height:24px;}
.agenda-details p {margin:5px 0;color:#becbb1;}
.agenda-blocker {font-size:10px;color:#e3b396;line-height:1.6;margin:7px 0 0;}
.agenda-task[data-status="not_active"] {opacity:.6;}
.agenda-weekly {padding:20px 0;color:#dce5cc;font-size:12px;}
.agenda-weekday {padding:13px 0;border-bottom:1px solid #35412a;}
.agenda-weekday p {margin:5px 0;font-size:12px;line-height:1.5;}
.agenda-weekday small {font-size:10px;color:#a6b695;line-height:1.6;display:block;}
.agenda-note {font-size:10px;line-height:1.7;color:#a4b08f;margin:15px 0;}
.agenda-overview .agenda-warning {color:#f0ba96;}
@media(max-width:680px) {.room-tabs {gap:20px;} .agenda-jump {font-size:10px;} .agenda-task {padding:19px 0;} .agenda-dates button {min-height:44px;} .agenda-details summary {min-height:30px;} }

/* All room effects share the artwork coordinate system, including on phones. */
.topbar { background: #161819; }
.team-room { background: #1b1d1e; }
.studio-heading { margin-bottom: 16px; }
.scene-actions { display: flex; gap: 8px; }
.scene-stage { background: #040f21; isolation: isolate; }
.office { container-type: inline-size; isolation: isolate; }
.room-atmosphere { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.window-light { position: absolute; inset: 0; background: #ffe7a0; opacity: 0; clip-path: polygon(11% 36%,43% 15%,43% 35%,11% 62%); animation: daylight-drift 18s ease-in-out infinite alternate; }
.office[data-daypart="morning"] .window-light { opacity: .055; }
.office[data-daypart="afternoon"] .window-light { opacity: .035; }
.office[data-daypart="evening"] .window-light { background: #ffbe83; opacity: .07; }
.screen-light { position: absolute; overflow: hidden; background: #82d6e9; opacity: .06; }
.screen-left { left: 25.1%; top: 42.6%; width: 5.7%; height: 10%; transform: skewY(-23deg); }
.screen-right { left: 31.6%; top: 38.7%; width: 5.9%; height: 10%; transform: skewY(-23deg); }
.screen-light i { display: block; width: 80%; height: 3%; margin: 12% 8%; background: #dbf5ff; box-shadow: 0 9px #dbf5ff, 0 18px #dbf5ff, 0 27px #dbf5ff; animation: monitor-scroll 4s steps(6,end) infinite; }
.office:not(:is([data-station="desk"],[data-station="research"],[data-station="phone"])) .screen-light i { animation: none; opacity: 0; }
.office:is([data-station="desk"],[data-station="research"],[data-station="phone"]) .screen-light { opacity: .14; }
.audio-meter { position: absolute; left: 76.3%; top: 48.3%; width: 4%; height: 3.4%; display: flex; gap: 5%; align-items: center; transform: skewY(22deg); opacity: 0; }
.audio-meter i { flex: 1; height: 25%; background: #8adfff; transform-origin: center; animation: meter-wave 1.1s ease-in-out infinite alternate; }
.audio-meter i:nth-child(3n) { animation-delay: -.6s; height: 60%; }
.audio-meter i:nth-child(3n + 1) { animation-delay: -.3s; height: 40%; }
.office[data-station="audio"] .audio-meter { opacity: .7; }
.lucy img { transform-origin: 50% 85%; animation: lucy-consider 4s ease-in-out infinite; }
.office[data-station="audio"] .lucy img { animation: lucy-listen 2.8s ease-in-out infinite; }
.office[data-activity="error"] .lucy img, .office[data-activity="waiting"] .lucy img { animation: none; }
.teammate.nico { --lean: -.12deg; }
.teammate.ardi { --lean: .1deg; }
.teammate[data-state="working"] img { animation: desk-work 2.8s ease-in-out infinite; }
.teammate.ardi[data-state="working"] img { animation-delay: -.9s; }
.teammate[data-state="idle"] img { animation: team-breathe 4.5s ease-in-out infinite; }
.teammate.ardi[data-state="idle"] img { animation-delay: -1.8s; }
.team-sleep { font-size: clamp(7px, 1.1cqw, 17px); }
.team-sleep span { font-size: .8em; }
.team-sleep span:last-child { font-size: .65em; }
.zzz { font-size: clamp(9px, 1.3cqw, 19px); }
.person { background: #202324; border-color: #393e3f; }
.person:hover { background: #2a2e2f; }
.person[aria-pressed="true"] { background: #303229; }
.person-role, .person-state { color: #bbc0bc; }
.room-tabs button, .message p { color: #c9cfcd; }
.room-tabs button[aria-selected="true"] { color: #f4f5ee; }
.preview-controls { display: flex; gap: 14px; margin-bottom: 16px; flex: none; }
.preview-controls label { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); min-width: 0; }
.preview-controls select { color: #e9ece4; background: #232628; border: 1px solid #495052; border-radius: 4px; padding: 8px 24px 8px 9px; font: inherit; min-width: 0; max-width: 180px; min-height: 36px; }
.preview-controls select:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
@keyframes daylight-drift { to { filter: brightness(1.4); } }
@keyframes monitor-scroll { from { transform: translateY(0); } to { transform: translateY(14px); } }
@keyframes meter-wave { to { transform: scaleY(2.1); } }
@keyframes lucy-consider { 0%,70%,100% { transform: rotate(0); } 35% { transform: rotate(-.3deg); } }
@keyframes lucy-listen { 50% { transform: rotate(.35deg); } }
@keyframes desk-work { 0%,70%,100% { transform: rotate(0); } 35% { transform: rotate(var(--lean)); } }
@media (min-width: 1001px) { .studio { padding-top: 22px; } .scene-stage { min-height: 260px; } .roster .avatar { width: 42px; height: 48px; } .person { padding-block: 10px; } }
@media (max-width: 680px) { .scene-actions .icon-btn { width: 40px; height: 40px; } .preview-controls { gap: 10px; } .preview-controls label { flex: 1; flex-direction: column; align-items: stretch; gap: 5px; } .preview-controls select { max-width: none; width: 100%; min-height: 44px; } .scene-stage { margin-top: 2px; } .mode-badge { position: static; font-size: 8px; max-width: 44px; } .identity strong { font-size: 18px; } }
@media (max-width: 360px) { .clock { display: none; } }
@media (prefers-reduced-motion: reduce) { .window-light, .screen-light i, .audio-meter i, .lucy img, .teammate img { animation: none !important; } }

/* Shareholder workspace: live presence first, operational detail on demand. */
:root { --line: #303436; --muted: #a7afaf; --yellow: #e9eb83; }
a:focus-visible, summary:focus-visible, input:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
.topbar { height: 68px; padding-inline: 28px; background: #151718; }
.identity strong { display: flex; align-items: center; gap: 8px; font-size: 20px; }
.identity strong > span { color: inherit; }
.identity-link svg { width: 20px; height: 20px; }
.identity small { font-size: 10px; max-width: none; }
.identity-rule { height: 30px; }
.top-actions { gap: 22px; }
.icon-btn { width: 40px; height: 40px; color: #c4cbca; }
.icon-btn:hover { background: #272c2d; border-color: #626b68; }
.workspace { height: calc(100dvh - 68px); grid-template-columns: minmax(0,1fr) 380px; }
.studio { padding: 20px 28px 14px; }
.studio-heading { min-height: 40px; margin-bottom: 10px; }
h1 { font-size: 20px; margin: 0; }
.scene-meta { font-size: 11px; padding-bottom: 12px; }
.connection { color: #b6bebc; }
.connection[data-connected="true"] { color: #90d3b1; }
.scene-stage { min-height: 240px; }
.floor-caption { min-height: 36px; padding: 10px 0; font-size: 12px; }
.floor-caption time { font-size: 11px; }
.roster { gap: 8px; }
.person { padding: 11px; gap: 10px; background: #1b1e1f; border-color: var(--line); }
.person strong { font-size: 13px; }
.person-role { font-size: 10px; line-height: 1.5; margin-top: 2px; color: #a7afaf; }
.person-state { font-size: 11px; margin-top: 5px; }
.person[aria-pressed="true"] { background: #272b23; border-color: #989e61; }
.person > svg { color: #9ca5a0; }
.person .avatar { width: 36px; height: 42px; }
.daily-publishing { flex: none; margin-top: 18px; }
.publishing-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.publishing-heading h2 { font-size: 13px; font-weight: 600; margin: 0; }
.publishing-heading > span { font: 10px 'DM Mono', monospace; color: var(--muted); }
.slot-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.slot { padding: 4px 12px 6px; border: 0; border-left: 2px solid #505858; background: transparent; text-align: left; color: #b4bcba; min-height: 48px; min-width: 0; }
.slot:hover { background: #202526; }
.slot time { display: block; color: #e6eae6; font: 12px 'DM Mono', monospace; }
.slot-label { display: block; font-size: 11px; line-height: 1.5; margin-top: 6px; overflow-wrap: anywhere; }
.slot[data-status="published"] { border-color: var(--green); color: var(--green); }
.slot:is([data-status="scheduled"],[data-status="preparing"],[data-status="running"]) { border-color: var(--yellow); color: var(--yellow); }
.slot:is([data-status="blocked"],[data-status="empty"],[data-status="missed"],[data-status="needs_reconciliation"]) { border-color: #dfa87d; color: #e9b28e; }
.publication { padding: 12px 0; margin-top: 12px; border-top: 1px solid var(--line); border-bottom: 0; }
.publication p, .publication-status { font-size: 11px; }
.agenda-jump { margin-top: 12px; padding: 12px 0; border-top: 1px solid var(--line); color: #c3ccca; font-size: 12px; }
.agenda-jump[data-attention="true"] { color: #e9b28e; }
.agenda-jump:hover { background: #1a1e1f; }
.studio-footer { padding-top: 10px; color: #98a29e; font-size: 10px; }
.team-room { background: #191c1d; }
.room-heading { padding: 28px 22px 22px; }
.room-heading h2 { font-size: 20px; margin: 0; }
.team-count { color: #a7afaf; }
.room-tabs { padding-inline: 22px; gap: 26px; }
.room-tabs button { font-size: 12px; min-height: 44px; }
.room-tabs button[aria-selected="true"] { color: var(--yellow); }
.filter-bar { padding-inline: 22px; border-color: var(--line); }
.filter-bar > span { font-size: 11px; color: #bdc6c3; }
.filter-bar small { font-size: 10px; color: #9ca7a3; }
.room-body { padding-inline: 22px; scrollbar-color: #4b5352 transparent; }
.message { margin-bottom: 26px; }
.message p { font-size: 13px; line-height: 1.75; color: #d4dad7; }
.message-head strong { font-size: 12px; }
.message-head time, .recipient, .message-meta { font-size: 10px; }
.date-divider { color: #99a4a1; font-size: 10px; }
.date-divider::before, .date-divider::after { background: var(--line); }
.system-event { border-color: var(--line); padding-block: 17px; }
.system-event strong { font-size: 12px; }
.system-event small, .system-event time { font-size: 10px; color: var(--muted); }
.room-footer { color: #a0aaa6; font-size: 10px; padding: 14px 22px; }
.empty-state { margin: 70px auto; color: var(--muted); }
.empty-state h3 { font-size: 14px; color: #dce2de; }
.empty-state p { font-size: 12px; }
.empty-icon { border-color: #3d4643; color: #a7bbb1; }
.agenda-overview { padding-top: 18px; }
.agenda-overview h3 { font-size: 18px; }
.agenda-overview p, .agenda-task h4 { font-size: 13px; }
.agenda-slot-list time, .agenda-task time, .agenda-status, .agenda-blocker, .agenda-details, .agenda-note { font-size: 11px; }
.agenda-task, .agenda-slots, .agenda-weekday { border-color: var(--line); }
.agenda-overview p, .agenda-owner, .agenda-details, .agenda-note { color: #aebbb5; }
.display-settings { position: relative; z-index: 40; }
.display-settings summary { list-style: none; cursor: pointer; }
.display-settings summary::-webkit-details-marker { display: none; }
.display-settings[open] > summary { color: var(--yellow); background: #262c29; }
.settings-panel { position: absolute; top: 48px; right: 0; width: 248px; padding: 16px; border: 1px solid #48504d; background: #202525; border-radius: 6px; box-shadow: 0 12px 30px #0006; }
.settings-panel > strong { display: block; font-size: 13px; margin-bottom: 8px; }
.settings-panel label { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; font-size: 12px; color: #cbd3ce; cursor: pointer; }
.settings-panel input { width: 18px; height: 18px; flex: none; accent-color: var(--yellow); cursor: pointer; }
@media (min-width: 1600px) {
  .workspace { grid-template-columns: minmax(0,1fr) 420px; }
  .studio { padding-inline: 36px; }
}
@media (max-width: 1150px) and (min-width: 1001px) {
  .workspace { grid-template-columns: minmax(0,1fr) 340px; }
  .studio { padding-inline: 20px; }
  .person { gap: 6px; flex-wrap: nowrap; }
  .person .avatar { display: none; }
  .person-info { flex-basis: auto; }
  .person > svg { display: none; }
}
@media (max-width: 1000px) {
  .workspace, .workspace.expanded { height: auto; display: block; }
  .studio { padding: 18px 24px; }
  .studio-heading { min-height: 26px; }
  .scene-stage { min-height: 0; }
  .team-room { scroll-margin-top: 12px; }
  .room-body { height: min(65dvh,560px); min-height: 300px; }
  .room-body:has(.empty-state) { height: 320px; }
  .room-heading { padding-block: 22px 12px; }
}
@media (max-width: 680px) {
  .topbar { height: 68px; padding-inline: 16px; }
  .identity strong { font-size: 17px; }
  .identity small { font-size: 9px; max-width: 200px; }
  .top-actions { gap: 10px; }
  .icon-btn { width: 40px; height: 40px; }
  .studio { padding: 16px; }
  h1 { font-size: 18px; }
  .scene-meta { font-size: 10px; }
  .floor-caption { font-size: 11px; gap: 8px; }
  .floor-caption time { font-size: 10px; }
  .person { padding: 10px 8px; display: grid; grid-template-columns: 26px minmax(0,1fr); align-items: start; gap: 6px; }
  .person .avatar { width: 26px; height: 30px; margin: 0; }
  .person-info { display: contents; }
  .person strong { font-size: 12px; align-self: center; }
  .person-role { display: none; }
  .person-state { grid-column: 1/-1; margin-top: 2px; font-size: 10px; min-height: 18px; line-height: 1.5; }
  .person-state span { overflow-wrap: anywhere; }
  .person > svg { display: none; }
  .daily-publishing { margin-top: 16px; }
  .publishing-heading { margin-bottom: 10px; }
  .slot { padding-left: 8px; padding-right: 4px; }
  .slot time { font-size: 11px; }
  .slot-label { font-size: 10px; }
  .agenda-jump { font-size: 12px; min-height: 44px; }
  .studio-footer { font-size: 9px; }
  .publication p, .publication-status { font-size: 10px; }
  .room-heading, .room-tabs, .filter-bar, .room-body, .room-footer { padding-left: 16px; padding-right: 16px; }
  .room-tabs { gap: 28px; }
  .room-heading h2 { font-size: 18px; }
}
@media (max-width: 360px) {
  .identity strong { font-size: 17px; }
  .studio-footer { font-size: 8px; }
}

/* Scene framing and event-driven presence. Foot positions stay clear of desks. */
.studio { gap: 0; }
.scene-stage { min-height: 320px; background: #080f18; }
.office { flex: none; }
.lucy { width: 11.5%; height: 30%; }
.office[data-station="board"] .lucy { left: 50%; }
.teammate.nico { left: 28.5%; top: 69%; width: 15%; }
.teammate.ardi { left: 64%; top: 46%; width: 16%; }
.sleeping-lucy { left: 59%; bottom: 5%; width: 10.5%; }
.lucy img, .teammate img, .sleeping-lucy img { transition: filter 400ms ease; }
.office[data-daypart="morning"] .lucy img,
.office[data-daypart="afternoon"] .lucy img { filter: brightness(1) saturate(.9) drop-shadow(1px 2px 1px #0005); }
.office[data-daypart="evening"] .lucy img { filter: brightness(.94) saturate(.95) sepia(.08); }
.office[data-focus="lucy"] .lucy img { filter: brightness(1.08) saturate(.95); }
.teammate[data-state="working"] { animation: arrive-at-station 450ms ease-out both; }
.teammate.nico[data-state="working"] img { animation: creative-pause 6.3s ease-in-out infinite; }
.teammate.ardi[data-state="working"] img { animation: operations-check 4.7s ease-in-out infinite; }
.office[data-station="board"] .lucy img { animation: lucy-consider 7s ease-in-out infinite; }
.office[data-station="calendar"] .lucy img { animation: calendar-glance 5.4s ease-in-out infinite; }
.office[data-activity="error"] .lucy img,
.office[data-activity="waiting"] .lucy img { animation: none; }
.office[data-station="offline"] .window-light { animation: none; }
.office[data-station="offline"] .screen-light { opacity: 0; }
.latest-update { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 13px 0; margin: 0 0 14px; background: transparent; color: #d9dfdc; flex: none; }
.latest-update:hover { background: #1b2020; }
.update-mark { width: 28px; color: #c9d892; flex: none; }
.update-content { flex: 1; min-width: 0; }
.update-content > span { display: block; font-size: 10px; color: var(--muted); margin-bottom: 4px; }
.update-content strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 12px; line-height: 1.6; font-weight: 500; overflow-wrap: anywhere; }
.latest-update time { font: 10px 'DM Mono', monospace; color: var(--muted); flex: none; }
.latest-update > svg { width: 14px; color: var(--muted); }
.latest-update[data-status="blocked"] .update-mark { color: #efb184; }
.person { transition: border-color 160ms ease, background 160ms ease; }
.person[aria-pressed="true"] { border-color: #dbe576; background: #242a23; }
.message { padding-left: 10px; border-left: 2px solid transparent; }
.message:last-child { border-left-color: #879d72; }
@keyframes arrive-at-station { from { opacity: .45; } to { opacity: 1; } }
@keyframes creative-pause { 0%,30%,65%,100% { transform: rotate(0); } 40%,52% { transform: rotate(-.45deg); } }
@keyframes operations-check { 0%,45%,100% { transform: translateY(0); } 55%,65% { transform: translateY(-.6px); } }
@keyframes calendar-glance { 0%,60%,100% { transform: rotate(0); } 72%,82% { transform: rotate(.45deg); } }

/* One transient bubble at a time keeps the floor legible on small screens. */
.office-speech { position: absolute; z-index: 20; left: 34%; top: 24%; width: 32%; box-sizing: border-box; padding: 9px 12px; border: 1px solid #b8c88a; border-radius: 6px; background: #101912f5; color: #f5f6ec; box-shadow: 0 3px 10px #0005; font: 12px/1.4 sans-serif; image-rendering: auto; pointer-events: none; }
.office-speech[hidden] { display: none; }
.office-speech strong { display: block; color: #d3e79f; font-size: 11px; margin-bottom: 3px; }
.office-speech span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.office-speech[data-actor="nico"] { left: 17%; top: 47%; }
.office-speech[data-actor="ardi"] { left: 59%; top: 25%; }
.office-speech::after { content: ''; position: absolute; bottom: -6px; left: 50%; width: 9px; height: 9px; background: #101912; border-right: 1px solid #b8c88a; border-bottom: 1px solid #b8c88a; transform: rotate(45deg); }
.office .lucy[data-walking="true"] img { animation: office-step 280ms ease-in-out infinite; }
.office [data-speaking="true"] img { animation: office-talk 950ms ease-in-out infinite; }
@keyframes office-step { 0%,100% { transform: translateY(0) rotate(-.5deg); } 50% { transform: translateY(-1.4px) rotate(.5deg); } }
@keyframes office-talk { 0%,100% { transform: rotate(0); } 30% { transform: rotate(-.6deg) translateY(-.5px); } 65% { transform: rotate(.3deg); } }
@media (max-width: 680px) { .office-speech { padding: 5px 7px; font-size: 10px; width: 39%; left: 30%; } .office-speech strong { font-size: 10px; margin-bottom: 1px; } .office-speech[data-actor="ardi"] { left: 59%; } .office-speech span { -webkit-line-clamp: 2; } }
@media (min-width: 1001px) {
  .workspace { grid-template-columns: minmax(0,1fr) 360px; }
  .studio { padding: 16px 24px 14px; }
  .scene-stage { flex: 1 0 320px; }
  .studio-heading { margin-bottom: 6px; }
}
@media (min-width: 1600px) { .workspace { grid-template-columns: minmax(0,1fr) 400px; } }
@media (max-width: 1000px) { .scene-stage { min-height: 0; } }
@media (max-width: 680px) {
  .latest-update { gap: 8px; padding: 12px 0; }
  .latest-update time { display: none; }
  .update-content strong { font-size: 12px; }
  .update-mark { width: 20px; }
  .studio-heading { margin-bottom: 8px; }
  .scene-stage { margin-top: 0; }
  .roster { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .teammate, .lucy img, .teammate img { animation: none !important; transition: none !important; }
}
/* Compact operational readiness, separate from confirmed publication. */
.production-board {padding:16px 0;border-top:1px solid #30343a;margin-top:12px}
.production-board h2 {font-size:14px;margin:0 0 4px}
.production-board > small,.production-row small {color:#91989c;font-size:11px}
.production-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid #262b30;font-size:12px}
.production-row strong {overflow-wrap:anywhere}
.production-row small {grid-column:1/-1}
@media(max-width:480px) {.production-row {grid-template-columns:minmax(0,1fr)}.production-row span {color:#b7bec2}}
