/* A shared, warm workspace. Loaded after feature styles so the palette stays intact. */
:root{--sidebar-width:256px;--radius-card:16px;--radius-control:10px}
body{font-family:var(--font,ui-sans-serif,"Segoe UI",sans-serif);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:inherit}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
svg{flex-shrink:0}
.app-shell{padding:12px 12px 12px 0;background:var(--sidebar)}
.sidebar{padding:14px 12px 10px;gap:2px}
.brand-row{min-height:48px;padding:0 10px;gap:9px}
.brand-name{font-size:22px;font-weight:550;letter-spacing:-.8px}
.brand-row .kairo-cat{width:34px;height:34px}
.new-chat-button{margin:16px 0 10px;min-height:44px;height:44px;background:var(--accent);color:var(--accent-ink);border-radius:12px;font-size:13px;font-weight:550;gap:10px;padding-inline:14px}
.new-chat-button:hover{background:var(--accent-hover)}
.sidebar-search-button,.sidebar-footer-button{min-height:40px;padding:10px 12px;border-radius:10px;font-size:13px;gap:10px}
.sidebar-search-button svg,.sidebar-footer-button svg{width:18px;height:18px}
.sidebar-search-button kbd{font-size:10px;background:var(--raised);border:1px solid var(--border-soft);padding:2px 5px;border-radius:5px}
.sidebar-section-header{margin:12px 12px 6px;font-size:11px;font-weight:600;color:var(--quiet);letter-spacing:.025em}
.sidebar-empty-copy,.project-list .projects-empty{font-size:12px;line-height:1.5;padding:5px 12px;margin:0;color:var(--quiet)}
.sidebar-group{margin-top:8px;border-top:1px solid var(--border-soft);padding-top:4px}
.sidebar-group>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;cursor:pointer;font-size:12px;font-weight:600;color:var(--muted);list-style:none;border-radius:9px}
.sidebar-group>summary::-webkit-details-marker{display:none}
.sidebar-group>summary:hover{background:var(--hover);color:var(--text)}
.sidebar-group>summary>span{font-size:16px;transform:rotate(-90deg);transition:transform .16s}
.sidebar-group[open]>summary>span{transform:none}
.sidebar-group .sidebar-section-header{margin:2px 12px 4px;font-weight:450}
.journey-item,.journey-empty-button,.project-list button{padding:10px 12px;min-height:40px;border-radius:10px}
.journey-item-copy strong{font-size:13px;font-weight:450}
.journey-item.active,.project-list button[aria-current=true]{background:var(--active);color:var(--text)}
.chat-delete-button{opacity:0;transition:opacity .15s}
.chat-list-row:hover .chat-delete-button,.chat-list-row:focus-within .chat-delete-button{opacity:1}
.sidebar-footer{border-top:1px solid var(--border-soft);margin-top:10px;padding-top:8px}
.sites-new-label{display:none}
.workspace{border:1px solid var(--border-soft);border-radius:20px;box-shadow:0 3px 16px #69523505;overflow:hidden}
.workspace-header{min-height:64px;padding:12px 26px;border-bottom:1px solid var(--border-soft)}
.workspace-title-wrap h1{font-size:15px;font-weight:550}
.header-actions button{min-height:36px}
.conversation-column{padding:0 clamp(18px,3vw,42px) 16px}
.chat,.composer,.pending-uploads,.typing-row{width:min(100%,800px)}
.chat{padding:32px 0 24px}
.welcome-state{padding:18px 4px 24px;min-height:100%;justify-content:center}
.welcome-cat{width:48px;height:48px;margin:0 0 18px}
.welcome-state h2{font-size:clamp(30px,3vw,39px);font-weight:500;line-height:1.17;letter-spacing:-1.15px;text-wrap:balance}
.welcome-state>p{margin-top:14px;font-size:14px;color:var(--muted);line-height:1.6}
.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,710px);gap:10px;margin-top:24px}
.suggestions button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:14px 16px;text-align:left;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);color:var(--text);min-height:96px}
.suggestions button:hover{background:var(--raised);border-color:var(--border)}
.suggestion-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--raised);color:var(--accent);font-size:21px;grid-row:1}
.suggestions strong{font-size:13px;font-weight:550;line-height:1.4}
.suggestion-detail{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.5}
.composer{display:grid;grid-template-columns:40px minmax(0,1fr) auto 40px;gap:8px;padding:13px 15px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:0 6px 24px #69523509;align-items:center}
.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.composer textarea{grid-column:1/-1;grid-row:1;width:100%;padding:7px 3px 10px;min-height:45px;font-size:15px;line-height:1.6}
.composer #attach-button{grid-column:1;grid-row:2;width:36px;height:36px;border-radius:10px;background:var(--raised)}
.composer .mode-control{grid-column:3;grid-row:2;height:34px;padding:0 10px;background:var(--raised);border-radius:8px}
.composer .mode-control select{font-size:12px;max-width:95px;cursor:pointer}
.composer .send-button{grid-column:4;grid-row:2;height:36px;width:36px;border-radius:11px}
.composer .agent-toggle{grid-column:2;grid-row:2;justify-self:start}
.composer-note{font-size:11px;line-height:1.5;margin-top:10px}
.message{margin-bottom:32px}
.message-body{font-size:15px;line-height:1.8;max-width:100%}
.message.assistant .message-body{width:100%}
.message.user .message-body{padding:12px 18px;border-radius:18px 18px 5px 18px;max-width:85%}
.message-code{border-radius:12px;padding:16px;font-size:13px;line-height:1.65}
.answer-badge{font-size:10px;letter-spacing:.03em;border:0;color:var(--muted)}
.message-sources a{background:var(--surface);border-radius:8px;font-size:12px}
.response-action{height:32px;min-width:32px;font-size:11px}
.project-banner{border:0;background:var(--raised);margin:12px 26px 0;border-radius:12px;padding:12px 16px}
.study-scroll{width:min(100%,1040px);padding:30px 34px 54px}
.study-hero{padding:0 0 26px;gap:24px}
.study-hero h2{font-size:32px;font-weight:550;letter-spacing:-.8px}
.study-hero p{font-size:14px;line-height:1.7;max-width:610px}
.study-kicker,.study-section-label,.context-label{font-size:11px;letter-spacing:.035em;font-weight:600;color:var(--accent)}
.daily-study-coach{background:var(--surface);border-radius:16px;padding:24px;border-color:var(--border-soft)}
.daily-study-coach h3{font-size:23px;letter-spacing:-.5px;margin:14px 0 10px}
.study-tabs{position:sticky;top:-30px;z-index:2;gap:4px;padding:6px;border:1px solid var(--border-soft);border-radius:12px;background:var(--bg);margin:0 0 24px}
.study-tabs button{flex:1;min-height:40px;border:0;border-radius:8px;font-size:13px;padding:8px 12px}
.study-tabs button.active{border:0;background:var(--accent);color:var(--accent-ink)}
.study-tabs button:hover:not(.active){background:var(--hover);color:var(--text)}
.study-mission,.study-focus,.study-map,.study-coach,.quiz-card,.study-overview-card,.study-key-card,.study-weak-card{background:var(--surface);border:1px solid var(--border-soft);padding:24px;border-radius:16px;margin-bottom:14px}
.study-overview,.lesson-body{font-size:15px;line-height:1.85}
.quiz-option{min-height:48px;padding:13px 16px;border-radius:11px;font-size:14px}
.flashcard{border:1px solid var(--border-soft);border-radius:18px}
.journey-context{padding:26px 20px;border-left:1px solid var(--border-soft);background:var(--surface)}
.context-section{padding-bottom:20px;margin-bottom:20px;border-color:var(--border-soft)}
.context-value{font-size:13px;line-height:1.6;margin-top:10px}
dialog{border-radius:20px!important;border:1px solid var(--border-soft);box-shadow:0 24px 80px #241d1633;background:var(--surface);color:var(--text)}
dialog::backdrop{background:var(--overlay);backdrop-filter:blur(4px)}
dialog h2{font-weight:550;letter-spacing:-.6px}
dialog input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),dialog textarea,dialog select{border-color:var(--border-soft);border-radius:10px;padding:11px 13px;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
.primary-button,.secondary-button{border-radius:10px;min-height:40px;font-size:13px;padding-inline:16px}
.secondary-button{background:var(--surface);border-color:var(--border-soft)}
.primary-button:hover{background:var(--accent-hover)}
.creation-item,.creation-compose,.study-plan-card,.project-detail,.project-card,.sites-item,.search-result,.assistant-item{border-radius:12px;border-color:var(--border-soft)}
.creations-library-heading,.projects-heading,.search-heading,.creation-heading{margin-bottom:20px}
.assistant-item{padding:16px 0;font-size:14px;line-height:1.5}
.assistant-item small{font-size:12px;line-height:1.5}
.settings-popover{padding:12px;border-radius:16px;border-color:var(--border-soft);box-shadow:var(--shadow)}
.settings-popover label,.settings-action{font-size:13px}
.auth-card{width:min(100%,440px);padding:36px;background:var(--surface);border:1px solid var(--border-soft);border-radius:22px;box-shadow:var(--shadow)}
.auth-heading h1{font-size:30px;font-weight:550}
.auth-heading p{font-size:14px;line-height:1.65}
.auth-tabs{padding:4px;border-radius:11px}
.auth-form input{min-height:46px;border-radius:10px}
.auth-footnote{font-size:11px;line-height:1.6}
.auth-home-link{text-align:center;font-size:12px;margin:16px 0 0;color:var(--muted)}
.auth-home-link a{color:inherit;text-decoration:none}.auth-home-link a:hover{color:var(--text)}
.agent-space{grid-template-columns:256px minmax(0,1fr);padding:12px 12px 12px 0;background:var(--sidebar)}
.agent-sidebar{padding:14px 14px 10px;border:0;gap:10px}
.agent-brand{min-height:48px;padding:0 10px;font-size:22px}
.agent-new-button{margin:16px 0 0;padding:13px 14px;min-height:44px;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-size:13px}
.agent-new-button:hover{background:var(--accent-hover)}
.agent-briefing-button{padding:12px;font-size:13px}
.agent-history-heading{font-size:11px;font-weight:600;margin-top:14px;padding:0 12px}
.agent-history button{font-size:13px;padding:12px;line-height:1.5}
.agent-history small{font-size:11px;margin-top:4px}
.agent-sidebar-footer{gap:8px;padding-top:12px}
.agent-quiet,.agent-back,.agent-account{font-size:12px}
.agent-main{border:1px solid var(--border-soft);border-radius:20px;background:var(--bg);overflow:hidden}
.agent-topbar{min-height:64px;padding:12px 26px}
.agent-topbar strong{font-size:15px;font-weight:550;max-width:40vw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.agent-kicker,.agent-connection{font-size:11px}
.agent-stage{padding:28px 30px}
.agent-welcome{margin:3vh auto 24px;max-width:760px}
.agent-orbit{margin-bottom:24px}
.agent-welcome h1{font-size:clamp(34px,3.5vw,45px);line-height:1.15;letter-spacing:-1.3px;font-weight:500}
.agent-welcome>p{font-size:14px;line-height:1.65;margin-bottom:28px;max-width:490px}
.agent-suggestions{gap:10px;max-width:660px}
.agent-suggestions button{padding:20px;border-radius:14px;font-size:14px;line-height:1.5;position:relative}
.agent-suggestions button::after{content:'↗';position:absolute;right:17px;top:18px;color:var(--quiet);font-size:15px}
.agent-suggestions span{font-size:12px;margin-top:6px}
.agent-tool-status{margin-top:22px;gap:8px}
.agent-tool-chip{border:0;background:var(--raised);font-size:11px;padding:6px 10px}
.agent-task-heading h1{font-size:24px;line-height:1.4;margin:14px 0;max-width:850px}
.agent-task-heading>p{font-size:12px;margin-bottom:22px}
.agent-task-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}
.agent-status-pill{padding:5px 10px;border-color:var(--border-soft);font-size:11px}
.agent-page .agent-card{padding:24px;border-radius:16px;margin:0}
.agent-card-header{gap:10px;font-size:12px;flex-wrap:wrap}
.agent-card-header strong{font-size:14px;font-weight:550}
.agent-activity{margin:18px 0;border:1px solid var(--border-soft);border-radius:10px;background:var(--bg);padding:10px 13px}
.agent-activity>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:2px 0;line-height:1.6}
.agent-activity .agent-plan,.agent-activity .agent-steps{font-size:12px;line-height:1.7;margin:14px 0}
.agent-activity .agent-step small{font-size:11px;color:var(--quiet)}
.agent-page .agent-answer{font-size:14px;line-height:1.8}
.agent-page .agent-answer h3{font-size:17px;margin:24px 0 10px;letter-spacing:-.2px}
.agent-evidence{position:sticky;top:0;padding:20px;border-radius:16px}
.agent-evidence h2{font-size:12px;font-weight:600;letter-spacing:0}
.agent-evidence p,.agent-evidence button,.agent-evidence a{font-size:12px;line-height:1.6}
.agent-followups button{padding:10px 12px;border-radius:10px;background:var(--bg)}
.agent-followups button:hover{background:var(--raised)}
.agent-followups small{font-size:11px}
.agent-compose-area{width:min(100%,1020px);padding:12px 26px 16px}
.agent-page .agent-task-form{padding:15px 17px;border-color:var(--border);border-radius:20px;background:var(--surface);box-shadow:0 6px 24px #69523509}
.agent-task-form:focus-within{border-color:var(--accent)}
.agent-task-form textarea{min-height:48px;font-size:15px;line-height:1.6}
.agent-mode select{font-size:12px;padding:6px;background:var(--raised);border-radius:8px;max-width:150px}
.agent-mode{font-size:11px}
.agent-submit{font-size:13px;border-radius:10px;padding:11px 16px}
.agent-compose-note{font-size:11px;line-height:1.6}
.admin-page .admin-main{max-width:1240px;padding:34px 28px 60px}
.admin-page .hero h1{font-size:36px;letter-spacing:-1px;font-weight:550}
.admin-page .metric-card,.admin-page .panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px}
.admin-page .metric-card strong{font-size:32px;font-weight:550;letter-spacing:-.5px}
.admin-page .section-heading h2{font-size:20px;font-weight:550}
@media(min-width:761px){body.sidebar-collapsed .app-shell{padding-left:12px}}
@media(max-width:1100px){.suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-task-grid{grid-template-columns:minmax(0,1fr)}.agent-evidence{position:static;display:block}.agent-evidence h2:not(:first-child){margin-top:24px}}
@media(max-width:760px){
  .app-shell,.agent-space{padding:0;background:var(--bg)}
  .workspace,.agent-main{border:0;border-radius:0}
  .sidebar{padding:14px 12px max(12px,env(safe-area-inset-bottom))}
  .workspace-header{min-height:58px;padding:max(8px,env(safe-area-inset-top)) 14px 8px}
  .workspace-title-wrap h1{max-width:42vw}
  .conversation-column{padding:0 12px max(10px,env(safe-area-inset-bottom))}
  .chat{padding-top:20px}
  .welcome-state{justify-content:flex-start;padding:32px 0 28px;min-height:auto}
  .welcome-cat{width:48px;height:48px;margin-bottom:20px}
  .welcome-state h2{font-size:30px;letter-spacing:-.9px}
  .welcome-state>p{font-size:13px;max-width:280px}
  .suggestions{margin-top:24px;gap:8px;max-width:470px}
  .suggestions button{padding:13px;min-height:112px;gap:8px;grid-template-columns:27px minmax(0,1fr)}
  .suggestion-icon{width:27px;height:27px;font-size:19px}
  .suggestions strong{font-size:12px}
  .suggestion-detail{font-size:11px}
  .composer{padding:10px 12px;border-radius:17px;gap:5px}
  .composer textarea{font-size:16px;min-height:43px;padding-bottom:7px}
  .composer-note{font-size:10px;margin-top:7px}
  .chat-delete-button{opacity:1}
  .message-body{font-size:15px;line-height:1.75}
  .message.user .message-body{max-width:92%}
  .project-banner{margin:8px 12px 0;padding:12px}
  .study-scroll{padding:24px 16px 42px}
  .study-hero h2{font-size:27px}
  .study-hero p{font-size:13px}
  .study-tabs{top:-24px;gap:2px;padding:4px;overflow-x:auto}
  .study-tabs button{flex:1 0 auto;padding:8px 10px;font-size:12px}
  .daily-study-coach,.study-mission,.study-focus,.study-map,.study-coach,.quiz-card,.study-overview-card,.study-key-card,.study-weak-card{padding:19px;border-radius:14px}
  dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:16px!important}
  .auth-card{padding:28px 22px}
  .agent-space{grid-template-columns:1fr}
  .agent-sidebar{padding:8px 14px;gap:5px;border-bottom:1px solid var(--border-soft)}
  .agent-brand{padding:0;min-height:40px;font-size:20px}
  .agent-new-button{margin:0;min-height:38px;padding:8px 12px}
  .agent-sidebar-footer{padding-top:0;gap:12px}
  .agent-topbar{min-height:55px;padding:10px 16px}
  .agent-topbar strong{max-width:53vw;font-size:14px}
  .agent-kicker{display:none}
  .agent-stage{padding:18px 16px}
  .agent-welcome{margin:0 auto 20px}
  .agent-orbit,.agent-orbit .kairo-cat{width:44px;height:44px}
  .agent-orbit{margin-bottom:16px}
  .agent-welcome h1{font-size:28px;letter-spacing:-.8px;margin-bottom:14px}
  .agent-welcome>p{font-size:13px;margin-bottom:18px}
  .agent-suggestions button{padding:13px;font-size:12px;min-height:84px}
  .agent-suggestions button::after{right:10px;top:10px;font-size:12px}
  .agent-suggestions span{font-size:11px;max-width:140px}
  .agent-tool-status{gap:5px}
  .agent-tool-chip{font-size:10px;padding:5px 8px}
  .agent-task-heading h1{font-size:20px}
  .agent-page .agent-card,.agent-evidence{padding:18px}
  .agent-compose-area{padding:10px 12px max(10px,env(safe-area-inset-bottom))}
  .agent-task-form textarea{font-size:16px;min-height:44px}
  .agent-compose-actions{gap:6px;align-items:flex-end}
  .agent-compose-actions>div{gap:6px}
  .agent-mode select{max-width:115px;font-size:11px;padding:5px}
  .agent-submit{padding:10px 12px;font-size:12px}
  .agent-compose-note{font-size:10px}
  .admin-page .admin-main{padding:24px 16px 40px}
}
@media(hover:none){.chat-delete-button{opacity:1}}
@media(prefers-reduced-motion:reduce){.sidebar-group>summary>span,.chat-delete-button{transition:none}}
