.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-folders{display:grid;gap:10px;margin:20px 0}
.project-folder{border:1px solid #e4e7ec;border-radius:12px;background:#f7f8fa;padding:14px;color:#4b5563}
.project-folder.empty{padding:14px;border-style:solid}
.project-folder.draft{background:#fff;border-color:#bed5f2}
.project-folder summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px;align-items:center;font-weight:700;overflow-wrap:anywhere}
.project-folder summary small{display:block;font-weight:400;color:#697481;margin-top:3px}
.project-folder summary:focus-visible{outline:2px solid #318ce7;outline-offset:3px}
.project-folder .folder-state{font-size:12px;color:#697481;flex:none}
.project-folder p{margin:12px 0;font-size:14px}
.project-folder textarea{min-height:90px}
.project-folder select{display:block;width:100%;min-height:44px;font:inherit;background:#fff;color:#17191d;border:1px solid #cbd1da;border-radius:10px;padding:10px}
.project-folder form>.secondary{margin-top:12px}
.new-chat{margin:0 8px 18px;text-align:left;border:1px solid #d9e0e7;background:#fff;border-radius:12px;padding:12px 14px;color:#17191d;font-weight:700;min-height:44px}
.new-chat:hover{border-color:#318ce7;background:#f6faff}
.sidebar .brand-home{width:100%;min-height:44px;background:transparent;border:0;text-align:left;cursor:pointer;border-radius:10px}
.sidebar .brand-home:hover{background:#edf6ff}
.sidebar .brand-home:focus-visible{outline:2px solid #318ce7;outline-offset:2px}
.canonical-brand{display:block;width:108px;height:72px;max-width:100%;object-fit:contain;flex:none}
.recent-wrap{margin-top:26px;min-height:100px;overflow-y:auto}
.recent-label{color:#78818c;font-size:11px;font-weight:800;letter-spacing:.12em;padding:0 16px 10px;text-transform:uppercase}
.recent-list{display:grid;gap:2px}
.recent-list button{border:0;background:transparent;border-radius:9px;padding:10px 14px;text-align:left;color:#4b5563;min-height:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-list button:hover,.recent-list button.active{background:#eceff3;color:#172431}
#workspace-view{min-height:calc(100vh - 69px);display:flex;flex-direction:column}
#workspace-view[hidden]{display:none}
.content:has(#workspace-view:not([hidden])){max-width:none;padding:0 28px}
#workspace-view>.heading{max-width:890px;width:100%;margin:0 auto;padding:26px 4px 0}
#workspace-view>.heading h1{font-size:clamp(24px,3vw,34px);margin:6px 0}
#workspace-view>.heading p{margin:0}
#workspace-view>.heading .eyebrow{color:#68737f}
#notice{max-width:890px;width:100%;margin:8px auto}
.conversation-thread{max-width:890px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column;gap:22px;padding:18px 4px 28px}
.conversation-thread[hidden]{display:none}
.chat-empty{margin:auto;text-align:center;padding:60px 20px 90px}
.chat-empty h2{font-size:clamp(27px,4vw,42px);letter-spacing:-.05em;margin-bottom:12px}
.chat-empty p{font-size:16px}
.chat-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:28px}
.chat-examples button{border:1px solid #dfe4ea;border-radius:999px;padding:9px 14px;background:white;color:#515c69;font-size:13px}
.chat-examples button:hover{border-color:#318ce7;color:#075da8}
.chat-message{max-width:78%;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-message.user{align-self:flex-end;border-radius:19px;background:#f1f3f6;padding:12px 17px}
.chat-message.tdx{align-self:flex-start;padding:7px 2px;color:#172431}
.chat-message .speaker{display:block;font-size:12px;font-weight:800;color:#318ce7;margin-bottom:6px}
.chat-message p{margin:0;color:inherit}
.chat-message .inline-action{display:inline-block;margin-top:12px;border:1px solid #bed5f2;color:#075da8;background:#fff;border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700}
#view-body{max-width:890px;width:100%;margin:0 auto;flex:1;padding:14px 4px 24px}
#view-body[hidden]{display:none}
.chat-composer{position:sticky;bottom:0;max-width:890px;width:100%;margin:0 auto 18px;background:white;border:1px solid #d5dbe3;border-radius:20px;box-shadow:0 6px 30px #17243110;padding:11px 14px 9px}
.chat-composer:focus-within{border-color:#318ce7;box-shadow:0 0 0 3px #318ce71f}
.chat-composer textarea{min-height:55px;max-height:180px;border:0;outline:0;padding:7px 5px;resize:vertical}
.chat-composer textarea:focus{outline:0}
.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.composer-actions span{color:#8a929d;font-size:11px}
.composer-actions .primary{margin:0;min-height:40px;padding:7px 15px;flex:none;white-space:nowrap}
@media(max-width:760px){.content:has(#workspace-view:not([hidden])){padding:0 16px}#workspace-view{min-height:calc(100dvh - 60px)}#workspace-view>.heading{padding-top:20px}.conversation-thread{gap:14px;padding-top:10px}.chat-message{max-width:92%}.chat-empty{padding:40px 6px 60px}.chat-composer{margin-bottom:10px}.composer-actions span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.chat-composer,.new-chat,.recent-list button{scroll-behavior:auto}}
.project-folder meter { width:100%; }
#project-workspace{display:flex;flex:1;flex-direction:column;min-width:0}
#project-chat{display:flex;flex:1;flex-direction:column;min-width:0}
#project-chat[hidden]{display:none}
#project-workspace.with-companion{display:grid;flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;height:calc(100dvh - 240px);min-height:420px;overflow:hidden}
.with-companion #project-chat,.with-companion #view-body{overflow-y:auto;min-height:0}
.with-companion .chat-composer{margin-top:auto}
.with-companion .conversation-thread{overflow-y:auto;min-height:0}
#return-project-chat{align-self:flex-start;min-height:44px}
#project-companion-switch{grid-column:1/-1;display:flex;gap:10px;position:sticky;top:0;background:white;z-index:2;padding:6px 0}
#project-companion-switch[hidden]{display:none}
#project-workspace.with-companion{grid-template-rows:auto minmax(0,1fr)}
@media(max-width:760px){#project-workspace.with-companion{display:flex;height:auto;min-height:0;overflow:visible}.with-companion #project-chat{max-height:65dvh;min-height:280px;position:relative}.with-companion #view-body{overflow:visible}#return-project-chat{position:sticky;top:0;z-index:1}}
@media(max-width:760px){.with-companion:not([data-mobile-view="chat"]) #project-chat{display:none}.with-companion[data-mobile-view="chat"] #view-body{display:none}}
[aria-label="Project Health"] meter { display:block; width:100%; }
.regression-high,.regression-severe { border-color:#a12622; }
.regression-low,.regression-moderate { border-color:#9a6700; }
/* Canonical Home control: same single-flight handler, no separate bot authority. */
#header-brand-home { display:none;align-items:center;gap:6px;flex:none;min-height:44px;font-weight:700; }
#header-brand-home img { flex:none; }
#native-bot-status { display:block;padding:4px 20px;color:#64748b;overflow-wrap:anywhere; }
#native-bot-status[data-attention="RED"] { color:#9f2424; }
#native-bot-status[data-attention="YELLOW"] { color:#765a12; }
@media(max-width:700px) { .topbar { gap:6px; } }
.tdx-brand-lockup { display:inline-flex;align-items:center;gap:0;flex:none; }
.tdx-brand-lockup img { object-fit:contain;flex:none; }
.tdx-brand-lockup .brand-bot { margin-left:-5px; }
.primary-lockup { min-width:163px; }
.compact-lockup { width:93px; }
#header-brand-home { padding:2px 4px; }
@media(max-width:480px) { .compact-lockup { width:81px; } .compact-lockup img:first-child { width:58px;height:auto; } .compact-lockup .brand-bot { width:28px;height:42px; } }
@media(prefers-reduced-motion:reduce) { #header-brand-home img { animation:none!important;transition:none!important; } }
/* One visible shell identity: rail on desktop, compact header with a closed drawer. */
.sidebar .brand-home { padding-inline:10px; }
@media(max-width:760px) { #header-brand-home { display:flex; } .app:has(.sidebar.open) #header-brand-home { visibility:hidden;pointer-events:none; } }
@media(min-width:761px) and (max-width:1100px) { .primary-lockup { min-width:144px; } .primary-lockup .canonical-brand { width:96px;height:64px; } .primary-lockup .brand-bot { width:50px;height:75px; } }
.chat-empty { padding-block:32px 48px; }
/* Persistent #3: the same Home handler, no second attention engine. */
.rail-bot { display:none; }
.sidebar #native-bot-status { padding:0 10px 14px;font-size:11px; }
#header-brand-home .compact-lockup { width:44px; }
#header-brand-home .compact-lockup img:first-child { width:44px;height:44px; }
.menu { display:block;min-width:44px;min-height:44px; }
@media(min-width:761px) {
 .app.nav-collapsed { grid-template-columns:72px minmax(0,1fr); }
 .nav-collapsed .sidebar { padding-inline:8px; }
 .nav-collapsed .primary-lockup,.nav-collapsed .brand-home .stage,.nav-collapsed .recent-wrap,.nav-collapsed .sidebar-footer { display:none; }
 .nav-collapsed .rail-bot { display:flex; }
 .nav-collapsed .sidebar #native-bot-status { padding:0;font-size:0;height:16px;text-align:center; }
 .nav-collapsed .sidebar #native-bot-status::before { content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#89939f; }
 .nav-collapsed .sidebar .brand-home { justify-content:center;padding:4px 0 18px; }
 .nav-collapsed .sidebar nav button { font-size:0;padding:10px;min-height:44px; }
 .nav-collapsed .sidebar nav button>span:not(.nav-tooltip) { display:none; }
 .nav-collapsed .new-chat { margin-inline:0;font-size:0;padding:10px; }
 .nav-collapsed .new-chat::before { content:'＋';font-size:20px; }
}
/* Founder-approved shell composition: empty Home differs from the message stream. */
.app { grid-template-columns:248px minmax(0,1fr); }
.topbar { height:56px;padding-inline:24px; }
.sidebar .brand-home { padding-bottom:22px; }
.sidebar nav button { display:flex;align-items:center;gap:12px;position:relative;height:46px; }
.nav-icon { width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.nav-tooltip { display:none;position:absolute;left:calc(100% + 12px);top:5px;background:#172431;color:white;border-radius:6px;padding:8px 12px;font-size:12px;white-space:nowrap;z-index:8;pointer-events:none; }
.sidebar-bottom { margin-top:auto;padding-top:24px; }
.sidebar-footer:empty { display:none; }
.home-view>.heading { display:none; }
#workspace-view { min-height:calc(100dvh - 56px); }
.empty-home { flex:initial!important;padding-top:clamp(90px,20dvh,200px); }
.empty-home .conversation-thread { flex:none;padding:0;max-width:760px; }
.empty-home .chat-empty { margin:0;padding:0;text-align:center; }
.chat-empty h2 { font-size:clamp(36px,3.3vw,42px);line-height:1.15; }
.chat-empty p { margin-bottom:8px; }
.chat-empty .guest-privacy { font-size:13px;color:#75808c; }
.chat-examples { margin-top:22px; }
.chat-examples button { min-height:38px; }
.local-intelligence-hero{max-width:560px;margin:18px auto 0}
.chat-empty .local-intelligence-hero-title{font-size:16px;line-height:1.45;font-weight:600;color:#17212b;letter-spacing:0}
.chat-empty .local-intelligence-hero-support{font-size:13px;line-height:1.45;color:#687582}
.chat-empty .local-intelligence-hero-state{font-size:12px;line-height:1.4;color:#687582}
.local-intelligence-hero button{min-height:38px}
@media(max-width:760px){.empty-home:has(.local-intelligence-hero) .chat-composer{margin-top:0}}
.empty-home .chat-composer { position:relative;bottom:auto;margin:56px auto 32px;max-width:840px;min-height:106px;box-shadow:none; }
.chat-composer { box-shadow:none; }
@media(min-width:761px) { .sidebar { position:sticky;top:0;height:100dvh; }.recent-wrap { min-height:0; }.nav-collapsed .sidebar nav button { justify-content:center;padding:10px;width:44px;margin-inline:auto; }.nav-collapsed .sidebar nav button:hover .nav-tooltip,.nav-collapsed .sidebar nav button:focus-visible .nav-tooltip { display:block; }.nav-collapsed .new-chat { width:44px;height:44px;margin-inline:auto; }.nav-collapsed .rail-bot img { width:32px;height:48px; }.nav-collapsed .sidebar .brand-home { padding-bottom:4px; } }
@media(max-width:760px) { .app { display:block; }.topbar { padding-inline:12px; }.empty-home { padding-top:clamp(52px,14dvh,110px); }.chat-empty h2 { font-size:clamp(30px,8vw,34px); }.empty-home .chat-composer { margin-top:48px; }.chat-empty { padding-inline:4px; } }
/* Observable response transport, never a simulated worker heartbeat. */
.response-activity { display:block; color:#666; font-size:.85rem; }
.response-cursor { color:#007fff; }
/* Account categories wrap on small screens; no competing application shell. */
.account-settings-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.account-profile-form { display:grid; gap:12px; min-width:0; }
.account-profile-form label { display:grid; gap:6px; }
.account-profile-form input, .account-profile-form textarea { width:100%; box-sizing:border-box; }
