/* R70 workspace: one reading surface, persistent navigation, measured viewport. */
:root{--workspace-bg:#f5f6f8;--workspace-surface:#fff;--workspace-ink:#18212f;--workspace-muted:#586579;--workspace-accent:#2457c5;--workspace-line:#dce2eb;--pc-ink:var(--workspace-ink);--pc-muted:var(--workspace-muted);--pc-paper:var(--workspace-bg);--pc-accent:var(--workspace-accent);--pc-border:var(--workspace-line)}
body[data-mode]{background:var(--workspace-bg);color:var(--workspace-ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:16px}
body[data-mode] :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--workspace-accent);outline-offset:3px}
body[data-mode] :is(.pc-btn,.pc-back-home,.pc-icon-btn,.pc-file-button,.pc-nav button,.pc-text-btn){min-height:44px}
.pc-header{background:var(--workspace-surface);color:var(--workspace-ink);border-bottom:1px solid var(--workspace-line)}
.pc-brand,.pc-header .pc-text-btn,.pc-header .pc-mode-link{color:var(--workspace-ink)}
.pc-brand small,.pc-eyebrow{color:var(--workspace-muted)}
.pc-mark,.pc-launcher-chat .pc-launcher-symbol{background:#eaf0ff;color:var(--workspace-accent)}
.pc-btn-primary{background:var(--workspace-accent);border-color:var(--workspace-accent);color:#fff}
.pc-card,.pc-sidebar,.pc-launcher-card{border-color:var(--workspace-line);box-shadow:0 3px 16px #18212f05}
.pc-launcher{max-width:1000px;padding:clamp(22px,4vw,48px)}
.pc-launcher-heading h1{font-size:clamp(30px,4.5vw,46px);line-height:1.12;letter-spacing:-.035em}
.pc-launcher-heading>p:last-child{font-size:16px;max-width:620px;color:var(--workspace-muted)}
.pc-launcher-card{color:var(--workspace-ink);border-radius:18px;min-height:210px}
.pc-launcher-card small{font-size:14px;color:var(--workspace-muted)}
.pc-launcher-chat{background:var(--workspace-accent);border-color:var(--workspace-accent);color:#fff}
.pc-launcher-chat small{color:#e7eeff}
.pc-launcher-symbol{background:#eef2f8;color:var(--workspace-accent)}
.pc-home-shortcuts button{font-size:14px;color:var(--workspace-ink);min-height:48px;border-color:var(--workspace-line);border-radius:12px}
.pc-launcher-section-title{font-size:17px}
.pc-conversation{background:var(--workspace-surface);scrollbar-gutter:stable;scroll-behavior:auto}
.pc-message{font-size:16px;line-height:1.65;border-radius:14px;overflow-wrap:anywhere;max-width:min(88%,760px)}
.pc-message-user{background:#edf2ff;color:var(--workspace-ink)}
.pc-message-benji{background:#f7f8fb;color:var(--workspace-ink);border-color:var(--workspace-line)}
.pc-message-author{font-size:11px;letter-spacing:.08em;color:var(--workspace-muted)}
.pc-message-time{font-size:11px;color:var(--workspace-muted)}
.pc-message :is(pre,table){max-width:100%;overflow-x:auto}
.pc-chat-form{border-color:var(--workspace-line)}
#messageInput{background:#f7f8fb;color:var(--workspace-ink);border-color:var(--workspace-line)}
.pc-composer-bar>.pc-btn{min-height:44px;font-size:14px}
.pc-composer-options>summary{min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--workspace-muted)}
.pc-compose-tools .pc-file-button{font-size:14px;background:#f4f6fb;border-color:var(--workspace-line)}
.pc-composer-popover{border-color:var(--workspace-line);box-shadow:0 -8px 32px #18212f20}
.pc-evidence-drawer{background:#f5f7fb;color:var(--workspace-muted);border-color:var(--workspace-line)}
.pc-evidence-drawer>summary{font-size:12px;color:var(--workspace-muted)}
.pc-evidence-drawer[open] #sourcePanel{max-height:min(150px,24dvh)}
.pc-app-dock{background:#fff;border-top:1px solid var(--workspace-line);box-shadow:0 -3px 16px #18212f07;height:calc(64px + env(safe-area-inset-bottom));min-height:64px;padding:6px 10px calc(6px + env(safe-area-inset-bottom))}
.pc-app-dock button,.pc-app-dock a{color:var(--workspace-muted);font-size:13px;min-height:48px;padding:12px 8px}
.pc-app-dock [aria-current="page"]{background:#eaf0ff;color:var(--workspace-accent)}
html body[data-mode="mobile"][data-professor-ready="true"] .pc-mobile-home{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
html[data-native-shell="true"] body[data-mode="mobile"][data-professor-ready="true"] .pc-mobile-home{padding-bottom:0}
html body[data-mode="mobile"][data-professor-ready="true"] .pc-thread-toolbar-actions .pc-btn{min-height:44px;font-size:12px}
.pc-new-response{position:absolute;right:16px;bottom:calc(100% + 8px);z-index:24;background:var(--workspace-accent);color:white;border:0;border-radius:24px;padding:10px 16px;min-height:44px;font-size:14px;box-shadow:0 3px 16px #18212f25}
/* Studio derives its height from the real visible viewport, including keyboard.
   Only the transcript or active document scrolls; the sidebar and composer do not. */
html body[data-mode="studio"][data-professor-ready="true"]{height:var(--professor-height,100dvh);min-height:0;overflow:hidden}
html body[data-mode="studio"][data-professor-ready="true"] .pc-app{height:100%;min-height:0;max-width:none;display:flex;flex-direction:column;padding:0;overflow:hidden}
html body[data-mode="studio"][data-professor-ready="true"] .pc-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);flex:1 1 0;min-height:0;overflow:hidden;gap:16px;padding:16px;margin:0;width:100%;max-width:none}
html body[data-mode="studio"][data-professor-ready="true"] .pc-sidebar{min-height:0;overflow-y:auto;background:#fff;border-radius:14px;padding:16px;position:static}
body[data-mode="studio"] .pc-greeting h1{font-size:24px;line-height:1.2}
body[data-mode="studio"] .pc-greeting p{font-size:13px;color:var(--workspace-muted)}
body[data-mode="studio"] .pc-nav button{font-size:14px;color:var(--workspace-muted)}
body[data-mode="studio"] .pc-nav button.active{background:#eaf0ff;color:var(--workspace-accent)}
html body[data-mode="studio"][data-professor-ready="true"] .pc-main{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;margin:0}
html body[data-mode="studio"][data-professor-ready="true"] .pc-view.active{flex:1 1 0;min-height:0;height:auto;overflow-y:auto;padding:0 2px}
html body[data-mode="studio"][data-professor-ready="true"] #view-conversation.active{display:flex;flex-direction:column;height:auto;min-height:0;overflow:hidden;gap:12px}
html body[data-mode="studio"][data-professor-ready="true"] #view-conversation>.pc-conversation-card{flex:1 1 0;min-height:0;overflow:visible}
body[data-mode="studio"] .pc-view-head{flex:0 0 auto;padding:4px 2px;margin:0;gap:12px}
body[data-mode="studio"] .pc-view-head h2{font-size:24px;line-height:1.2}
body[data-mode="studio"][data-professor-ready="true"]>.pc-current-footer{display:none}
.pc-thread-list button{font-size:14px;line-height:1.4}
/* Owner data continues to come from existing role-protected endpoints. */
body.owner-dashboard-page{--bg:#11161e;--panel:#1a2230;--panel2:#202b3b;--text:#e8edf5;--muted:#abb7c8;--cyan:#8baeff;--blue:#8baeff;--line:#354255;background:var(--bg);color:var(--text);font-size:16px}
.owner-dashboard-page :is(.ambient,.orb,.neural-canvas){display:none!important}
.owner-dashboard-page :is(.owner-auto-card,.owner-command-card,.owner-panel,.owner-tabs){border-color:var(--line);box-shadow:none}
.owner-dashboard-page .owner-tabs{background:#1a2230!important;border-color:#354255!important;box-shadow:none!important;border-radius:14px!important}
.owner-dashboard-page .owner-tabs :is(button,input){min-height:44px;font-size:14px}
.owner-dashboard-page :is(.owner-auto-home-head,.owner-section-head) p{max-width:78ch;line-height:1.6;color:#abb7c8}
.owner-dashboard-page .owner-auto-home-head h2{font-size:clamp(24px,3vw,36px);line-height:1.15;max-width:25ch}
.owner-dashboard-page :is(.owner-auto-card,.owner-command-card) h3{line-height:1.35}
.owner-dashboard-page :is(button,a,input,select,textarea):focus-visible{outline:3px solid #8baeff;outline-offset:3px}
.owner-dashboard-page .r9-btn{min-height:44px}
@media(max-width:760px){
 .pc-launcher{padding:24px 20px}.pc-launcher-card{min-height:112px}.pc-launcher-card strong{font-size:18px}.pc-launcher-card small{font-size:13px}
 .pc-home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-message{max-width:96%;font-size:16px}
 html body[data-mode="studio"][data-professor-ready="true"] .pc-workspace{display:flex;flex-direction:column;padding:8px;gap:8px}
 html body[data-mode="studio"][data-professor-ready="true"] .pc-sidebar{flex:0 0 auto;padding:4px;overflow:hidden;border-radius:12px}
 body[data-mode="studio"] :is(.pc-greeting,.pc-sidebar-workspaces,.pc-mobile-link){display:none}
 body[data-mode="studio"] .pc-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:4px;margin:0;padding:0;scrollbar-width:thin}
 body[data-mode="studio"] .pc-nav button{flex:0 0 auto;min-height:44px;font-size:13px;padding:9px 12px;white-space:nowrap}
 html body[data-mode="studio"][data-professor-ready="true"] .pc-main{flex:1 1 0;min-height:0;overflow:hidden;width:100%}
 body[data-mode="studio"] .pc-view-head{gap:6px}body[data-mode="studio"] .pc-view-head h2{font-size:18px}
 body[data-mode="studio"] .pc-view-actions{gap:6px}body[data-mode="studio"] .pc-view-actions .pc-text-btn{font-size:12px;padding:4px}
 body[data-mode="studio"] .pc-view-actions #syncState{display:none}
 .pc-composer-bar>.pc-btn{font-size:12px;padding:8px 10px}.pc-composer-options>summary{font-size:12px}
}
@media(max-height:520px){
 body[data-mode="studio"] .pc-header{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 12px;flex:0 0 auto;min-height:52px}
 body[data-mode="studio"] .pc-header-tools{display:flex;gap:8px;margin:0}
 body[data-mode="studio"] .pc-header-tools :is(.pc-mode-link,#connectionState){display:none}
 body[data-mode="studio"] .pc-header .pc-brand{min-width:0;max-width:65%;font-size:14px}
 body[data-mode="studio"] .pc-header #desktopLogoutBtn{font-size:12px;padding:8px 0;min-height:40px}
 .pc-header .pc-brand small,.pc-release-note{display:none}
 body[data-mode="studio"] .pc-view-head{display:none}
 .pc-evidence-drawer>summary{padding:5px 12px}.pc-evidence-drawer[open] #sourcePanel{max-height:70px}
 html body[data-mode="mobile"][data-professor-ready="true"] .pc-chat-form{gap:4px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
