:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1D1D1F;background:#F6F5F2;font-synthesis:none;--brand-primary:#CBC3E3;--brand-hover:#B8AADD;--brand-soft:#F4F1FB;--brand-strong:#7567A8;--brand-deep:#4D416F;--module-deep:#5A49B8;--module-violet:#8B5CF6;--module-coral:#FF7A66;--module-blue:#3B82F6;--module-green:#22B96B;--module-orange:#FF593D;--canvas:#F6F5F2;--surface:#FFFFFF;--ink:#1D1D1F;--success:#237A57;--warning:#A15C12;--danger:#B42318;--line:#E6E3EA;--muted:#6F6B78;--focus-ring:rgba(77,65,111,.22);--success-soft:#EEF8F2;--warning-soft:#FFF7E8;--danger-soft:#FFF1F0;--card:var(--surface)}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink)}
.bootstrap-experience{min-height:100vh;display:grid;place-items:center;background:var(--canvas)}
.bootstrap-experience-card{display:flex;align-items:center;gap:14px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 14px 38px rgba(29,29,31,.06)}
.bootstrap-experience-card img{width:38px;height:38px}.bootstrap-experience-copy{display:grid;gap:5px;max-width:min(520px,calc(100vw - 120px))}.bootstrap-experience-card strong{font-size:15px}.bootstrap-experience-card span{font-size:11px;color:var(--muted);line-height:1.45}.bootstrap-recovery-actions{display:flex;gap:8px;margin-top:7px}.bootstrap-recovery-actions .btn{padding:8px 12px;font-size:11px}
button,input,textarea{font:inherit}
button,select,input,textarea,[tabindex]{outline:none}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px;box-shadow:0 0 0 5px var(--focus-ring)}
.workspace-skip-link{position:fixed;top:8px;left:12px;z-index:200;padding:12px 16px;border-radius:8px;background:var(--surface);color:var(--ink);transform:translateY(-180%);font-size:14px;font-weight:650}
.workspace-skip-link:focus{transform:translateY(0);outline:2px solid var(--brand-deep);outline-offset:3px}
body:has(#workspaceShell.hidden) .workspace-skip-link{display:none}

.shell{min-height:100vh;display:grid;grid-template-columns:236px 1fr}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px}
.brand-mark{background:var(--surface);width:46px;height:46px;border-radius:12px;display:grid;place-items:center;overflow:hidden}
.brand-symbol{display:block;width:46px;height:46px}
main{grid-column:2;min-width:0}
.topbar{height:78px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:21}
.topbar h1{margin:0;font-size:27px}
.topbar p{margin:4px 0 0;color:var(--muted);font-size:12px}
.page-heading{display:grid;align-content:center;min-width:0}
.page-title-row{display:flex;align-items:center;gap:10px;min-width:0}
.page-title-row h1{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-lens{display:inline-flex;align-items:center;height:22px;min-height:22px;margin:0;border:1px solid var(--brand-primary);border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);padding:0 9px;font-size:9px;font-weight:800;letter-spacing:.03em;white-space:nowrap;flex:0 0 auto}
.top-actions{display:flex;gap:10px;align-items:center}
.agent-status{height:38px;min-height:38px;padding:0 14px;border-radius:19px;background:var(--brand-soft);border:1px solid var(--brand-primary);color:var(--brand-deep);font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--module-violet);box-shadow:0 0 0 4px rgba(203,195,227,.52)}
.agent-status.working .pulse{animation:pulse 1s infinite}
.icon-button,.account-button{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;position:relative;cursor:pointer}
.icon-button{border-radius:10px}.account-button{border-radius:50%;background:#FFF0ED;color:#8E382B;font-weight:800}
.notification-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:9px;display:grid;place-items:center}
.top-menu{position:absolute;right:28px;top:58px;z-index:20;width:min(360px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 50px rgba(29,29,31,.14);padding:10px}
.account-menu{width:210px}.top-menu-head{display:flex;align-items:center;justify-content:space-between;padding:8px}.top-menu-head span{color:var(--muted);font-size:11px}
.top-menu-close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.top-menu-close:hover{background:var(--brand-soft);color:var(--brand-deep)}
.notification-item,.account-menu button{width:100%;border:0;border-radius:9px;background:transparent;color:var(--ink);padding:10px;text-align:left;cursor:pointer}
.notification-item:hover,.account-menu button:hover{background:var(--brand-soft)}
.notification-item strong,.notification-item span{display:block}.notification-item span{margin-top:4px;color:var(--muted);font-size:11px}.notification-empty{margin:8px;padding:14px 8px;color:var(--muted);font-size:12px;line-height:1.45}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(203,195,227,.35)}
}
.workspace{padding:28px 42px 54px;max-width:1440px;margin:0 auto}
.hidden{display:none!important}
.repository-generation[hidden]{display:none}
.repository-generation{display:flex;align-items:center;gap:24px;margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--brand-soft);overflow:hidden}
.repository-generation-map{width:200px;flex:0 0 200px;overflow:visible}
.generation-track{stroke:var(--line);stroke-width:3}
.generation-signal{stroke:var(--module-violet);stroke-width:2;stroke-dasharray:7 13;animation:generation-flow 3s linear infinite}
.generation-node{transform-box:fill-box;transform-origin:center;animation:generation-breathe 3.6s ease-in-out infinite}
.generation-node rect{fill:var(--surface);stroke:var(--brand-primary);stroke-width:2}
.generation-node path{stroke:var(--module-violet);stroke-width:2;stroke-linecap:round}
.generation-node-top{animation-delay:-1.2s}.generation-node-middle{animation-delay:-2.4s}.generation-node-bottom{animation-delay:-.6s}
.generation-node-top path{stroke:var(--module-blue)}.generation-node-middle path{stroke:var(--module-green)}.generation-node-bottom path{stroke:var(--module-coral)}
.generation-orbit{fill:var(--surface);stroke:var(--module-violet);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:generation-beacon 2.4s ease-out infinite}
.repository-generation-copy{min-width:0}.repository-generation-copy strong{font-size:18px;line-height:1.4}.repository-generation-copy p{margin:8px 0 16px;color:var(--muted);font-size:13px;line-height:1.6}
.repository-generation-steps{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;font-size:11px;font-weight:700;color:var(--muted)}
.repository-generation-steps li{display:flex;align-items:center;gap:6px}.repository-generation-steps li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--line)}
.repository-generation-steps .is-current{color:var(--ink)}.repository-generation-steps .is-current::before{background:var(--module-violet);box-shadow:0 0 0 3px var(--surface)}.repository-generation-steps .is-complete::before{background:var(--module-green)}
.repository-project-stage.is-generating .repository-options{display:none}
@keyframes generation-flow{to{stroke-dashoffset:-80}}
@keyframes generation-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes generation-beacon{0%,100%{transform:scale(1);opacity:1}65%{transform:scale(1.5);opacity:.35}}
@media(max-width:600px){.repository-generation{gap:12px;padding:16px}.repository-generation-map{width:110px;flex-basis:110px}.repository-generation-copy strong{font-size:15px}.repository-generation-steps{gap:10px}.repository-generation-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.repository-generation *{animation:none!important}}
[data-motion="reduced"] .repository-generation *{animation:none!important}
.view{display:none}
.view.active{display:block}
.btn{border:0;border-radius:11px;padding:11px 17px;font-weight:720;cursor:pointer}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--brand-primary);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(77,65,111,.12)}
.btn.primary:hover:not(:disabled){background:var(--brand-hover);color:var(--ink)}
.btn.secondary{background:white;border:1px solid #dfe5ed;color:#465569}
#refineGoalStage .btn.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}
.btn.soft{background:var(--brand-soft);color:var(--brand-deep);min-width:82px}
.btn.soft:hover:not(:disabled){background:var(--brand-primary)}
.link-btn{border:0;background:transparent;color:var(--brand-deep);font-size:12px;font-weight:750;cursor:pointer}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 1px 2px rgba(29,29,31,.025)}
.panel h3{margin:0;font-size:16px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.panel-head p{margin:7px 0 0;color:var(--muted);font-size:12px}
.eyebrow{font-size:10px;letter-spacing:.07em;font-weight:830;color:var(--muted)}
.muted{color:var(--muted);font-size:12px}
.status-dot{width:9px;height:9px;border-radius:50%;margin-top:4px;background:#cbd5e1}
.status-dot.todo{background:#B9B5C0}
.status-dot.progress{background:var(--brand-strong)}
.status-dot.blocked{background:var(--warning)}
.status-dot.done{background:var(--success)}
.status-pill{border-radius:14px;padding:6px 10px;font-size:10px;font-weight:750;background:#f8fafc;color:#657386;white-space:nowrap}
.status-pill.IN_PROGRESS{background:var(--brand-soft);color:var(--brand-deep)}
.status-pill.BLOCKED{background:var(--warning-soft);color:var(--warning)}
.status-pill.DONE{background:var(--success-soft);color:var(--success)}
.legend{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.legend span{font-size:11px;display:flex;align-items:center;gap:9px}
.legend .status-dot{display:inline-block;margin:0}
.version-pill{border:1px solid var(--brand-primary);background:var(--brand-soft);color:var(--brand-deep);padding:7px 12px;border-radius:16px;font-size:11px;font-weight:750}
.node-card{cursor:pointer}
/* Notices float under the header so they never sit on bottom-row actions such as Send. */
.toast{position:fixed;inset:calc(var(--workspace-topbar-height,64px) + 12px) auto auto 50%;translate:-50% 0;margin:0;border:0;width:max-content;max-height:min(30dvh,240px);overflow:auto;overflow-wrap:anywhere;background:var(--ink);color:white;padding:12px 16px;border-radius:11px;font-size:12px;box-shadow:0 10px 30px rgba(29,29,31,.2);z-index:200;max-width:min(430px,calc(100vw - 24px))}
.toast.error{background:var(--danger)}
.onboarding-state{padding:38px 42px 64px;max-width:980px;margin:0 auto}
.onboarding-head{max-width:780px;margin:4px 0 26px}
.onboarding-head h2{font-size:31px;margin:9px 0 10px}
.onboarding-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.centered-onboarding-head{text-align:center;margin-inline:auto}
.initial-goal-stage{padding-top:42px}.initial-goal-composer{width:min(720px,100%);margin:0 auto;border:1px solid var(--brand-primary);border-radius:16px;background:var(--surface);padding:18px;box-shadow:0 18px 50px rgba(77,65,111,.1)}
.initial-goal-composer textarea{width:100%;min-height:220px;border:0;outline:0;resize:vertical;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.55}.initial-goal-composer:focus-within{border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--focus-ring)}.initial-goal-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}
.refine-goal-stage{display:block}.onboarding-conversation{margin-top:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:14px}
.chat-message{max-width:84%;margin:0 0 14px;padding:13px 15px;border-radius:14px}
.chat-message small{font-size:9px;letter-spacing:.07em;font-weight:800;color:var(--muted)}
.chat-message p{margin:6px 0 0;font-size:13px;line-height:1.55;white-space:pre-wrap}
.chat-message.user{margin-left:auto;background:var(--brand-soft);border:1px solid var(--brand-primary)}
.chat-message.assistant{margin-right:auto;background:var(--surface);border:1px solid var(--line)}
.goal-choice-message>div{display:flex;align-items:center;gap:10px;margin-top:6px}.goal-choice-message p{margin:0}.goal-choice-message-icon{flex-shrink:0;width:28px;height:28px}
.goal-option-custom{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border:1px dashed var(--line);border-radius:12px;background:var(--surface)}.goal-option-custom input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.goal-option-custom input:focus-visible{outline:0;box-shadow:none}.goal-option-custom:focus-within{border-style:solid;border-color:var(--brand-deep)}
.goal-understanding-toggle{margin-top:6px}
.goal-summary-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.goal-agent-reply{margin:0 0 16px;padding:12px 14px;border-left:3px solid var(--brand-deep);border-radius:0 10px 10px 0;background:var(--brand-soft)}.goal-agent-reply p{margin:4px 0 0;white-space:pre-wrap}
.onboarding-ask{position:relative;isolation:isolate;overflow:visible;width:min(680px,100%);margin:16px auto 0;border:1px solid var(--brand-primary);border-radius:14px;background:var(--brand-soft);padding:13px}
.onboarding-ask::before{content:"";position:absolute;inset:-3px;border-radius:17px;padding:3px;background:conic-gradient(from 0deg,#ff2d55 0%,#ff9f0a 16%,#ffd60a 32%,#30d158 48%,#0a84ff 64%,#bf5af2 82%,#ff2d55 100%);-webkit-mask:conic-gradient(#000 0deg 360deg) content-box,conic-gradient(#000 0deg 360deg);-webkit-mask-composite:xor;mask:conic-gradient(#000 0deg 360deg) content-box,conic-gradient(#000 0deg 360deg);mask-composite:exclude;filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:0}
.onboarding-ask:focus-within{border-color:var(--brand-deep);box-shadow:0 0 0 1px var(--brand-deep)}
.onboarding-ask.rainbow-active{border-color:transparent;box-shadow:0 0 0 1px rgba(255,255,255,.72),0 0 18px rgba(191,82,242,.26)}
.onboarding-ask.rainbow-active::before{opacity:1;animation:ask-rainbow-halo 9s ease-in-out infinite}
.onboarding-ask>*{position:relative;z-index:1}
.onboarding-ask textarea{width:100%;border:0;background:transparent;outline:0;resize:vertical;min-height:72px;color:var(--ink);font-size:13px;line-height:1.55}
/* The composer draws the one focus ring; the textarea inside adds none. */
.onboarding-ask textarea:focus,.onboarding-ask textarea:focus-visible{outline:0;box-shadow:none}
.onboarding-ask-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ece8fb;padding-top:10px}
.onboarding-ask-actions small{color:var(--muted);font-size:10px}
.goal-draft-panel{background:var(--brand-soft);border-color:var(--brand-primary)}
.goal-field{display:flex;flex-direction:column;gap:7px;margin-top:18px;font-size:10px;letter-spacing:.04em;font-weight:800;color:#6d7482}
.goal-field input,.goal-field textarea{border:1px solid var(--brand-primary);background:var(--surface);border-radius:11px;padding:11px 12px;outline:0;color:var(--ink);resize:vertical;font-size:12px;line-height:1.55;font-weight:500;letter-spacing:0}
.goal-field input:focus,.goal-field textarea:focus{border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--focus-ring)}
.goal-missing{margin-top:17px;background:#fffaf0;border:1px solid #f3cf73;border-radius:12px;padding:13px 15px}
.goal-missing ul{margin:8px 0 0;padding-left:18px}
.goal-missing li{font-size:11px;color:#7a6750;margin:5px 0}
.goal-use{width:100%;margin-top:18px}
.architecture-language-field{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;font-weight:650;color:var(--ink)}
.architecture-language-field select{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--ink);font:inherit;font-weight:500}
.architecture-language-field select:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
.goal-back{width:100%;margin-top:9px}
.goal-draft-panel>.muted{line-height:1.5;margin:13px 2px 0}
@media(max-width:1050px){
.goal-draft-panel{position:static}
}
@keyframes ask-rainbow-halo{from{transform:scale(1);opacity:.92}50%{transform:scale(1.015);opacity:1}to{transform:scale(1);opacity:.92}}
@media(prefers-reduced-motion:reduce){
.onboarding-ask.rainbow-active::before{animation:none;opacity:.95}}
@media(max-width:760px){.shell{display:block}
main{display:block}
.topbar{padding:0 18px}
.topbar p,.agent-status{display:none}
.workspace,.onboarding-state{padding:20px 16px}

.onboarding-head h2{font-size:25px}
.chat-message{max-width:94%}
.initial-goal-stage{padding-top:12px}.initial-goal-composer{padding:14px}.initial-goal-composer textarea{min-height:180px}.initial-goal-actions .btn,.onboarding-ask .btn{min-height:44px}.onboarding-ask-actions{align-items:flex-end}
}
.graph-edge text{pointer-events:none}
.node-card{filter:drop-shadow(0 6px 12px rgba(30,41,59,.045))}
.node-card:hover{filter:drop-shadow(0 9px 18px rgba(77,65,111,.12))}
.component-connections{margin-top:14px;padding-top:12px;border-top:1px solid #e7ebf1}
.component-connections ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.component-connections li{display:flex;flex-direction:column;gap:3px;padding:9px 10px;background:#fff;border:1px solid #e8ecf2;border-radius:9px}
.component-connections li strong{font-size:0.8125rem;color:#475569}
.component-connections li span{font-size:0.8125rem;color:#8491a1;line-height:1.4}
.component-task-summary{margin-top:14px;padding:12px;background:#fff;border:1px solid #e8ecf2;border-radius:10px;display:grid;gap:7px}
.component-task-summary>strong{font-size:0.8125rem;color:#475569}
.component-task-summary>span{font-size:0.8125rem;color:#768395;display:flex;gap:7px;align-items:center}
.component-task-summary .status-dot{display:inline-block;margin:0;flex:0 0 auto}
#view-architecture{min-width:0}
.link-btn{min-height:32px;padding-block:6px}
@media(max-width:760px){
#view-architecture{min-width:0;max-width:100%}
}
.node-card[data-clickable="false"]{cursor:default}
.node-card.attention{filter:drop-shadow(0 9px 18px rgba(220,38,38,.12))}
.node-card.health-review.attention{filter:drop-shadow(0 9px 18px rgba(245,158,11,.15))}
.component-children-summary{margin-top:14px;padding:12px;background:#fff;border:1px solid #e8ecf2;border-radius:10px;display:grid;gap:6px}
.component-children-summary>strong{font-size:0.8125rem;color:#475569}
.component-children-summary>span{font-size:0.8125rem;color:var(--muted)}
.component-children-summary>span.health-review{color:#b45309;font-weight:750}
.component-children-summary>span.health-blocked{color:#b91c1c;font-weight:750}
.project-dialog{width:min(560px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 18px 50px rgba(77,65,111,.12);color:var(--ink)}
.project-dialog::backdrop{background:rgba(29,29,31,.38)}
.project-dialog form{padding:22px}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.dialog-head small{font-size:9px;letter-spacing:.08em;font-weight:850;color:var(--muted)}
.dialog-head>div{min-width:0}
.dialog-head h3{font-size:19px;margin:5px 0 0;overflow-wrap:anywhere}
.dialog-head>.dialog-close{flex-shrink:0}
.dialog-close{border:0;background:#f5f6f8;border-radius:9px;width:44px;height:44px;color:#64748b;font-size:20px;cursor:pointer}
.project-dialog label{display:flex;flex-direction:column;gap:7px;margin-top:14px;font-size:10px;letter-spacing:.04em;font-weight:800;color:#6d7482}
.project-dialog input,.project-dialog textarea,.project-dialog select{width:100%;border:1px solid #dfe4eb;background:var(--surface);border-radius:10px;padding:10px 11px;outline:0;color:var(--ink);resize:vertical;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0}
.project-dialog input:focus,.project-dialog textarea:focus,.project-dialog select:focus{border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--focus-ring)}
.project-dialog textarea:disabled{background:#f6f7f9;color:var(--muted)}
.creation-mode-options{border:0;padding:0;margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.creation-mode-options legend{font-size:10px;letter-spacing:.04em;font-weight:800;color:#6d7482;margin-bottom:8px}.creation-mode-options label{margin:0;display:grid;grid-template-columns:auto 1fr;align-items:start;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.creation-mode-options input{width:auto;margin:2px 0 0}.creation-mode-options span{display:grid;gap:4px}.creation-mode-options strong{font-size:12px;color:var(--ink)}.creation-mode-options small{font-size:10px;line-height:1.45;color:var(--muted);font-weight:500;letter-spacing:0}
.repository-project-stage{padding-top:22px}.repository-project-panel{width:min(720px,100%);margin:0 auto;padding:20px}.repository-project-panel>label{display:flex;flex-direction:column;gap:7px;margin-top:12px;font-size:10px;letter-spacing:.04em;font-weight:800;color:#6d7482}.repository-project-panel input,.repository-project-panel select{width:100%;border:1px solid #dfe4eb;background:var(--surface);border-radius:10px;padding:10px 11px;color:var(--ink);font-size:12px}.repository-project-disclosure{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.repository-project-disclosure strong{font-size:11px}.repository-project-disclosure p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.dialog-hint{margin:8px 2px 0;padding:9px 10px;border-radius:9px;background:#fffaf0;border:1px solid #f3cf73;color:#8a641f;font-size:10px;line-height:1.5}
.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid #edf0f4}
.danger-btn{background:var(--danger);color:#fff}
.danger-btn:hover{background:#8F1D15}
.delete-dialog>form>p{font-size:12px;line-height:1.6;color:var(--muted)}
.settings-nav{margin:0;display:flex;flex-direction:row;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px}.settings-nav button{border:0;border-radius:9px;background:transparent;color:var(--muted);padding:8px 10px;font-size:11px;font-weight:750;cursor:pointer}.settings-nav button:hover{background:var(--brand-soft);color:var(--brand-deep)}.settings-nav button.active{background:var(--brand-primary);color:var(--brand-deep)}
.account-settings-dialog #settingsPanel{min-height:180px;padding:18px 0}.account-settings-dialog fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}.account-settings-dialog legend{font-size:10px;letter-spacing:.04em;font-weight:800;color:#6d7482}.account-settings-dialog fieldset label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12px;letter-spacing:0;font-weight:650;color:var(--ink)}.account-settings-dialog fieldset input{width:auto}.account-settings-dialog input:disabled{background:#f6f7f9;color:var(--muted)}
@media(max-width:760px){.project-dialog form{padding:18px}
.creation-mode-options{grid-template-columns:1fr}
.top-menu{right:16px;top:58px}.account-menu{width:min(210px,calc(100vw - 32px))}
}
.workspace{padding-bottom:132px}
@media(max-width:760px){.workspace{padding-bottom:138px}
}
.workspace{padding-bottom:230px}
.agent-rich-text{color:#4b5563;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.agent-rich-text p{margin:7px 0}
.agent-rich-text p:first-child{margin-top:5px}
.agent-rich-text p:last-child{margin-bottom:0}
.agent-rich-text ul,.agent-rich-text ol{margin:7px 0;padding-left:22px}
.agent-rich-text li+li{margin-top:3px}
.agent-rich-text h2,.agent-rich-text h3,.agent-rich-text h4,.agent-rich-text h5{margin:12px 0 6px;color:var(--ink);line-height:1.3}
.agent-rich-text h2{font-size:16px}.agent-rich-text h3{font-size:14px}.agent-rich-text h4,.agent-rich-text h5{font-size:12px}
.agent-rich-text code{padding:1px 4px;border-radius:5px;background:#eeeaf8;color:#4e3e72;font-size:.92em}
.agent-code{max-width:100%;overflow:auto;margin:8px 0;padding:10px;border:1px solid #e2ddeb;border-radius:9px;background:#f8f6fc;white-space:pre-wrap}
.agent-code code{padding:0;background:transparent;color:#40394d}
.agent-table-scroll{max-width:100%;overflow:auto;margin:9px 0}
.agent-rich-text table{width:100%;border-collapse:collapse;background:#fff;font-size:10px}
.agent-rich-text th,.agent-rich-text td{padding:7px 8px;border:1px solid #ded8e9;text-align:left;vertical-align:top}
.agent-rich-text th{background:#f3f0f9;color:#493c68;font-weight:850}
.agent-evidence-reference{padding:7px 9px;border-left:3px solid var(--brand-deep);background:#f8f6fd;color:#5e5276}
@media(max-width:760px){.workspace{padding-bottom:224px}
}
.entry-experience{min-height:100vh;background:var(--canvas);color:var(--ink)}
.entry-topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:var(--surface)}
.entry-auth-actions{display:flex;align-items:center;gap:8px}
.entry-language{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px 0 12px;border:1px solid #ddd3ea;border-radius:11px;background:#fff;color:#55416e;font-size:14px;font-weight:600;cursor:pointer}
.entry-language:hover{background:var(--brand-soft)}
.entry-language svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.entry-language-chevron{width:15px!important;height:15px!important;opacity:.7}
.entry-language-short{display:none}
/* The native select covers the pill: the label shows the choice, the select keeps keyboard and screen-reader behavior. */
.entry-language select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit}
.entry-language:has(select:focus-visible){outline:3px solid rgba(104,67,181,.35);outline-offset:2px}
@media(max-width:520px){.entry-language{padding:0 8px;gap:4px}.entry-language-name{display:none}.entry-language-short{display:inline}}
@media(max-width:420px){.entry-auth-actions .btn{padding:8px 10px;font-size:12px}.entry-brand{gap:6px}}
.entry-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;text-decoration:none}
.entry-brand img{width:34px;height:34px;border-radius:9px}
.entry-view{min-height:calc(100vh - 68px)}
.landing-view{display:grid;place-items:center;padding:32px 20px}
.landing-content{width:min(720px,100%);text-align:center}
.landing-content h1{font-size:clamp(34px,6vw,58px);letter-spacing:-.045em;margin:14px 0}
.landing-content>p{margin:0 auto;color:var(--muted);font-size:15px;line-height:1.6;max-width:600px}
.landing-composer{margin:18px auto 0;text-align:left;background:#fdfbff;border:1px solid #cec0e2;border-radius:22px;padding:22px 22px 16px;box-shadow:0 0 0 5px rgba(232,223,244,.38),0 5px 12px rgba(64,45,91,.035),0 20px 44px -12px rgba(64,45,91,.19);transition:border-color .18s ease,box-shadow .18s ease}
.landing-composer:focus-within{border-color:#a18abd;box-shadow:0 0 0 5px rgba(203,189,231,.48),0 20px 44px -12px rgba(64,45,91,.2)}
.landing-auth-teaser{display:flex;align-items:center;gap:14px;width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;white-space:normal}.landing-auth-teaser:focus-visible{outline:none}
.landing-prompt-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #e1d5ef;border-radius:13px;background:#f0e8f8;color:#79618f;box-shadow:inset 0 1px 0 #fff}
.landing-prompt-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.landing-prompt-copy{display:grid;gap:6px;min-width:0}.landing-prompt-label{color:#78628e;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}.landing-teaser-prompt{color:#62596f;font-size:18px;font-weight:500;line-height:1.5}
.landing-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eae3f1;padding-top:12px;margin-top:18px}
.landing-composer-actions small{color:#62596f;font-size:12px;line-height:1.5}
.composer-send{width:36px;height:36px;border:0;border-radius:50%;background:var(--brand-deep);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.composer-send:hover{background:var(--brand-strong)}
.landing-composer .composer-send{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#715889;border:1px solid #6e5588;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 10px rgba(89,69,115,.2);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.landing-composer .composer-send svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.landing-composer .composer-send:hover{background:#806398;transform:translateY(-2px);box-shadow:0 6px 16px rgba(139,111,181,.32)}
.landing-composer .composer-send:focus-visible{outline:3px solid #d6c8eb;outline-offset:3px;background:#675587}
.landing-composer .composer-send:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.landing-composer,.landing-composer .composer-send{transition:none}.landing-composer .composer-send:hover{transform:none}}
.auth-card{width:min(420px,100%);padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 18px 50px rgba(77,65,111,.1)}
.email-action-active{background:#f3f0f9;color:#4a4760}
.email-action-active .entry-topbar{background:transparent;border-bottom:0}
.email-action-active .entry-brand{visibility:hidden}
.email-action-active #landingLoginBtn,.email-action-active #entryAccountSlot{display:none}
.email-action-view{--ea-ease:cubic-bezier(.23,1,.32,1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-height:calc(100dvh - 68px);padding:24px 20px 72px}
.email-action-card{position:relative;width:min(480px,100%);min-width:0;padding:34px 40px 36px;border:1px solid #e7e1f3;border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(48,39,79,.04),0 24px 60px -16px rgba(48,39,79,.18);color:#4a4760;animation:email-action-in .32s var(--ea-ease) both}
.email-action-brand{display:flex;align-items:center;gap:10px;margin-top:2px;color:#241c40;font-size:21px;font-weight:700;letter-spacing:-.4px}
.email-action-brand img{display:block;width:31px;height:37px;object-fit:contain}
.email-action-status{margin-top:34px;text-align:center}
.email-action-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 22px;border-radius:50%;background:#f4f1fb;color:#5a49b8;box-shadow:0 0 0 8px rgba(90,73,184,.05);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.email-action-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.email-action-icon path{stroke-dasharray:100;stroke-dashoffset:100}
.email-action-ring{stroke-dasharray:26 100;opacity:0;transform-origin:24px 24px}
.email-action-view[data-status=pending] .email-action-ring{opacity:1;animation:email-action-spin .9s linear infinite}
.email-action-view[data-status=success] .email-action-icon{background:#e9f7ef;color:#1d7a4b;box-shadow:0 0 0 8px rgba(34,185,107,.08)}
.email-action-view[data-status=success] .email-action-check,.email-action-view[data-status=error] .email-action-alert{stroke-dashoffset:0;transition:stroke-dashoffset .42s cubic-bezier(.65,0,.35,1) .08s}
.email-action-view[data-status=error] .email-action-icon{background:#fff1f0;color:#b42318;box-shadow:0 0 0 8px rgba(180,35,24,.06)}
.email-action-status h1{margin:0 0 10px;color:#241c40;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.email-action-status h1:focus{outline:none;box-shadow:none}
.email-action-status p{max-width:36ch;margin:0 auto;color:#5f5b72;font-size:16px;line-height:1.65;overflow-wrap:anywhere;text-wrap:pretty}
.email-action-continue.btn.primary{width:100%;min-height:52px;margin-top:30px;border-color:#5a49b8;border-radius:12px;background:#5a49b8;color:#fff;font-size:16px;font-weight:650;box-shadow:0 6px 16px rgba(90,73,184,.26);transition:transform .16s var(--ea-ease),background-color .15s ease,box-shadow .15s ease,opacity .15s ease}
.email-action-continue.btn.primary:active:not(:disabled){transform:scale(.98)}
.email-action-continue.btn.primary:disabled{opacity:.5;box-shadow:none;cursor:wait}
@media(hover:hover) and (pointer:fine){.email-action-continue.btn.primary:hover:not(:disabled){background:#4b3ca3;border-color:#4b3ca3;box-shadow:0 8px 20px rgba(90,73,184,.32)}}
.email-action-footer{margin:0;color:#8a8699;font-size:13px;line-height:1.5;text-align:center}
@keyframes email-action-spin{to{transform:rotate(360deg)}}
@keyframes email-action-in{from{opacity:0;transform:translateY(8px) scale(.985)}}
@media(max-width:540px){.email-action-view{padding:20px 14px 48px}.email-action-card{padding:30px 22px 28px;border-radius:18px}.email-action-status{margin-top:30px}.email-action-status h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.email-action-card{animation:none}.email-action-view[data-status=pending] .email-action-ring{animation:none}.email-action-icon path{transition:none!important}}
.auth-dialog{width:min(460px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));padding:0;border:0;border-radius:20px;background:transparent;color:var(--ink);box-shadow:0 24px 70px rgba(29,29,31,.2);overflow:visible}
.auth-dialog::backdrop{background:rgba(29,29,31,.44)}
.auth-dialog .auth-card{width:100%;max-height:min(760px,calc(100dvh - 32px));overflow:auto;box-shadow:none;border-radius:20px}
.auth-dialog-head{margin-bottom:14px}.auth-dialog-head h1{margin-top:5px}
.auth-card h1{margin:0;font-size:27px;letter-spacing:-.03em}
.auth-card>p{color:var(--muted);font-size:13px;line-height:1.5}
.auth-field{display:grid;gap:7px;margin-top:14px;color:var(--muted);font-size:12px;font-weight:750}
.auth-field>input{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:11px;outline:0}
.auth-field>input:focus{border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--focus-ring)}
.password-field{display:grid;grid-template-columns:1fr auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.password-field:focus-within{border-color:var(--brand-deep);box-shadow:0 0 0 3px var(--focus-ring)}
.password-field input,.password-field button{border:0;background:transparent;color:var(--ink);padding:11px}
.password-field input{min-width:0;outline:0}
.password-field button{color:var(--brand-deep);font-size:11px;font-weight:750;cursor:pointer}
.auth-card>#authSubmitBtn{width:100%;margin-top:18px}
.auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:var(--muted);font-size:11px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-providers{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.auth-providers button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px;font-size:12px;font-weight:750;cursor:pointer}
.auth-providers button svg{width:18px;height:18px;flex:0 0 18px}.auth-providers button span{line-height:1}
.auth-providers button:hover{border-color:var(--brand-hover);background:var(--brand-soft)}
.auth-mode-toggle{display:block;border:0;background:transparent;color:var(--brand-deep);font-size:11px;font-weight:750;cursor:pointer}
.auth-mode-toggle{margin:18px auto 0}
.preference-view{display:grid;place-items:center;align-content:center;padding:32px 20px}
.preference-card{width:min(780px,100%);padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 18px 50px rgba(77,65,111,.1)}
.preference-card h1{margin:10px 0 8px;font-size:clamp(27px,4vw,38px);letter-spacing:-.04em}
.preference-card>p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:600px}
.preference-account{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;margin:16px 0 0;color:var(--muted);font-size:13px}
.preference-account strong{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.preference-logout{padding:4px 6px;border:0;border-radius:6px;background:none;color:var(--brand-deep);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.preference-logout:focus-visible{outline:3px solid rgba(104,67,181,.35);outline-offset:2px}
.account-button[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
/* Terms prompt before the workspace: a restored session from before the documents changed. */
.legal-consent{width:min(600px,100%);margin:clamp(40px,9vh,96px) auto 0}.legal-consent h1{margin:6px 0 0;font-size:28px;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.legal-consent>p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
#legalConsentTitle:focus,#legalConsentTitle:focus-visible{outline:none;box-shadow:none}
.legal-consent-docs{position:relative;display:grid;gap:10px;margin-top:22px;animation:preference-halo 1.8s ease-out .2s 3}
.legal-consent-doc{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .16s,background .16s}
.legal-consent-doc:hover{border-color:var(--brand-hover);background:var(--brand-soft)}
.legal-consent-doc-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep);transition:background .16s,color .16s}
.legal-consent-doc-icon svg{width:20px;height:20px}
.legal-consent-doc-name{font-size:15px;font-weight:650;letter-spacing:-.01em}
/* The right side says what pressing the row does: Open ↗ until it was opened, then ✓ Opened. */
.legal-consent-doc-state{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--brand-deep);border-radius:999px;font-size:13px;font-weight:650;color:var(--brand-deep);white-space:nowrap}
.legal-consent-doc-state::after{content:'\2197';font-size:12px}
.legal-consent-doc.is-opened{border-color:#ddd3ea;background:#fcfbfe}
.legal-consent-doc.is-opened .legal-consent-doc-icon{background:var(--success-soft);color:var(--success)}
.legal-consent-doc.is-opened .legal-consent-doc-state{border-color:transparent;padding-inline:0;color:var(--success)}
.legal-consent-doc.is-opened .legal-consent-doc-state::after{content:none}.legal-consent-doc.is-opened .legal-consent-doc-state::before{content:'\2713';font-size:14px}
.legal-consent-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}.legal-consent-footer .btn{min-width:150px;min-height:44px;margin-left:auto;border-radius:12px}
.legal-consent-hint{margin:0;color:var(--muted);font-size:13px}
.legal-consent .btn.primary:not(:disabled){background:var(--brand-deep);color:#fff;box-shadow:none}.legal-consent .btn.primary:hover:not(:disabled){background:var(--brand-deep);color:#fff;filter:brightness(1.12)}
.legal-consent .btn.primary:disabled{opacity:1;background:#EEEAF4;color:#7A7385;box-shadow:inset 0 0 0 1px var(--line);cursor:not-allowed}
/* What still needs an answer gets a halo outside its edge: the terms box, or the first-run choices.
   On arrival three rings pulse outward, then a faint outline stays; a misplaced press sends one more ring
   and a ripple from where the person pressed. */
.preference-view{position:relative}
.onb-rows{position:relative;animation:preference-halo 1.8s ease-out .2s 3}
.onb[data-onb-step="start"] .onb-options{border-radius:16px}
.onb-rows::before{content:"";position:absolute;inset:-8px;border:1.5px solid rgba(117,103,168,.45);border-radius:22px;pointer-events:none}
@keyframes preference-halo{0%{outline:2px solid rgba(117,103,168,.7);outline-offset:6px}100%{outline:2px solid rgba(117,103,168,0);outline-offset:22px}}
.preference-nudge .onb-row.is-unanswered,.preference-nudge .legal-consent-doc:not(.is-opened),.preference-nudge .legal-consent #legalConsentAgree:not(:disabled){position:relative;border-radius:16px;animation:preference-halo-again 1s ease-out 1}.preference-nudge .onb-row.is-unanswered~.onb-row.is-unanswered,.preference-nudge .legal-consent-doc:not(.is-opened)~.legal-consent-doc:not(.is-opened){animation:none}
@keyframes preference-halo-again{0%{outline:2px solid rgba(117,103,168,.8);outline-offset:6px}100%{outline:2px solid rgba(117,103,168,0);outline-offset:22px}}
.preference-ripple{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid var(--brand-strong);border-radius:50%;pointer-events:none;animation:preference-ripple .7s ease-out forwards}
@keyframes preference-ripple{0%{transform:scale(.4);opacity:.9}100%{transform:scale(5);opacity:0}}
@media(prefers-reduced-motion:reduce){.onb-rows,.onb-row,.legal-consent-docs,.legal-consent-doc,#legalConsentAgree{animation:none!important}.preference-ripple{display:none}}
.field-error{min-height:16px;color:var(--danger);font-size:11px}
.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}
:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}
@media(max-width:760px){.entry-topbar{padding:0 16px}.entry-view{min-height:calc(100dvh - 68px)}.auth-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.auth-dialog .auth-card{max-height:calc(100dvh - 24px);padding:22px}.auth-card{padding:22px}.preference-card{padding:24px 20px}.legal-consent{margin-top:32px}.legal-consent-footer{align-items:stretch;flex-direction:column-reverse}.legal-consent-footer .btn{width:100%}.legal-consent-hint{text-align:center}.legal-consent-doc{grid-template-columns:38px minmax(0,1fr) auto;gap:12px;padding:12px 14px}.legal-consent-doc-icon{width:38px;height:38px}.page-subtitle{display:none}.workspace-lens{margin:0}}
.new-project-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:24px;padding:10px 11px;border:1px solid var(--brand-primary);border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);font-size:11px;font-weight:800;cursor:pointer}
.new-project-button:hover{background:var(--brand-primary)}
.new-project-button kbd{border:1px solid rgba(77,65,111,.24);border-radius:5px;background:rgba(255,255,255,.65);padding:2px 5px;font-size:9px;font-family:inherit;font-weight:750}
@media(max-width:760px){.topbar{gap:12px;justify-content:flex-start;max-width:100vw}.page-heading{min-width:0;flex:1 1 auto}.topbar h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{margin-left:auto;flex:0 0 auto}.new-project-button{margin-top:18px;min-height:44px}
.icon-button,.account-button{width:44px;height:44px;min-width:44px}.top-menu-close{width:44px;height:44px}
.onboarding-ask::before{inset:-3px;border-radius:17px;filter:blur(3px)}}
.settings-lens-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-lens-group [role="radio"]{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:10px;text-align:left;font-size:11px;font-weight:750;cursor:pointer}.settings-lens-group [role="radio"][aria-checked="true"]{border-color:var(--brand-deep);background:var(--brand-soft);color:var(--brand-deep);box-shadow:0 0 0 2px var(--focus-ring)}
@media(max-width:760px){
.landing-view,.preference-view{padding:24px 16px}.landing-content h1{font-size:clamp(32px,11vw,44px)}.landing-composer{margin-top:6px}.auth-providers{grid-template-columns:1fr}.top-menu{right:16px;top:62px;width:calc(100vw - 32px)}.notification-menu{max-height:min(60dvh,420px);overflow:auto}.settings-lens-group{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.workspace-switcher{display:flex;align-items:center;gap:8px;width:100%;margin-top:20px;padding:10px 9px;border:1px solid var(--brand-primary);border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);font-size:10px;font-weight:820;line-height:1.2;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}
.workspace-switcher:hover{border-color:var(--brand-hover);background:#eeeafa;box-shadow:0 6px 14px rgba(77,65,111,.08)}
.workspace-switcher[aria-current="page"]{box-shadow:inset 0 0 0 2px rgba(117,103,168,.15)}
.workspace-switcher-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(77,65,111,.18);border-radius:7px;background:var(--surface);font-size:12px;flex:0 0 auto}
.project-snapshot{position:relative;width:100%;height:100%;overflow:hidden}
.project-snapshot-architecture{background:#f8f6fd}
.project-snapshot-architecture .snapshot-label{position:absolute;top:11px;left:12px;z-index:1;border:1px solid var(--brand-primary);border-radius:999px;background:rgba(255,255,255,.9);color:var(--brand-deep);padding:5px 8px;font-size:9px;font-weight:820;letter-spacing:.04em}
.project-snapshot-architecture svg{display:block;width:100%;height:100%;padding:20px 10px 8px}
.snapshot-edges path{fill:none;stroke:#9e94ba;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.snapshot-node rect{fill:#fff;stroke:#74669d;stroke-width:1.6;vector-effect:non-scaling-stroke}
.snapshot-node text{fill:#4d416f;font-size:10px;font-weight:850;letter-spacing:.01em;pointer-events:none}
.project-snapshot-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px;text-align:center;color:var(--muted);background:#fbfbfc}
.snapshot-icon{display:grid;place-items:center;width:38px;height:38px;border:1px dashed #c8c3cf;border-radius:11px;color:#aaa4af;font-size:20px}
.project-snapshot-pending strong{font-size:11px;color:#666171}
.project-snapshot-pending small{max-width:180px;font-size:10px;line-height:1.45}
@media(max-width:760px){.workspace-switcher{margin-top:16px;min-height:44px;font-size:11px}}
.webmcp-agent-panel{margin-top:24px}.webmcp-agent-panel-title{margin-top:8px}
.webmcp-agent-mode #newProjectBtn{display:none!important}

/* Human-controlled MCP provider picker; dynamic credentials stay backend-only. */
.mcp-picker-dialog{width:min(1040px,calc(100vw - 36px));height:min(760px,calc(100vh - 36px));max-height:calc(100vh - 36px);border:0;border-radius:24px;padding:0;color:#172033;background:#fff;box-shadow:0 32px 90px rgba(15,23,42,.28);overflow:hidden}.mcp-picker-dialog::backdrop{background:rgba(15,23,42,.46);}.mcp-picker-shell{height:100%;display:flex;flex-direction:column;background:#fff}.mcp-picker-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;border-bottom:1px solid #eceff3;background:#fff}.mcp-picker-heading{display:flex;align-items:center;gap:14px;min-width:0}.mcp-hub-mark{width:44px;height:44px;border-radius:14px;background:var(--brand-deep);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:900;box-shadow:0 8px 20px rgba(124,58,237,.22);flex:0 0 auto}.mcp-picker-heading small{display:block;font-size:9px;letter-spacing:.1em;font-weight:850;color:#8b96a5}.mcp-picker-heading h2{margin:3px 0 0;font-size:21px}.mcp-picker-heading p{margin:4px 0 0;color:#7b8797;font-size:11px}.mcp-picker-close{border:0;background:#f5f6f8;color:#657386;width:36px;height:36px;border-radius:11px;font-size:23px;line-height:1;cursor:pointer;flex:0 0 auto}.mcp-picker-close:hover{background:#eceff3;color:#172033}.mcp-picker-content{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(450px,1.1fr);min-height:0;flex:1}.mcp-library{min-width:0;min-height:0;padding:20px;border-right:1px solid #e9edf2;background:#fafbfc;display:flex;flex-direction:column}.mcp-search-wrap{position:relative}.mcp-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8995a5;font-size:19px;pointer-events:none}.mcp-search-wrap input{width:100%;height:42px;border:1px solid #dfe5ec;border-radius:13px;background:#fff;padding:0 14px 0 39px;outline:0;color:#172033;font-size:12px}.mcp-search-wrap input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px var(--brand-soft)}.mcp-tabs{display:flex;gap:5px;margin:15px 0 12px;padding:4px;border-radius:11px;background:#eef1f5;width:max-content}.mcp-tab{border:0;background:transparent;border-radius:8px;padding:7px 11px;color:#718095;font-size:10px;font-weight:800;cursor:pointer}.mcp-tab.active{background:#fff;color:var(--brand-deep);box-shadow:0 1px 4px rgba(15,23,42,.08)}.mcp-tab span{margin-left:4px;padding:1px 5px;border-radius:99px;background:var(--brand-soft);color:var(--brand-deep)}.mcp-library-pane{min-height:0;overflow-y:auto;padding-right:4px}.mcp-library-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 2px 10px}.mcp-library-label strong{font-size:11px}.mcp-library-label span{font-size:9px;color:#919baa}.mcp-provider-grid{display:grid;gap:9px}.mcp-provider-card{width:100%;appearance:none;border:1px solid #e3e7ed;background:#fff;border-radius:15px;padding:12px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left;color:#172033;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s}.mcp-provider-card:hover{border-color:var(--brand-primary);box-shadow:0 7px 18px rgba(76,29,149,.08);transform:translateY(-1px)}.mcp-provider-card.selected{border-color:#a78bfa;background:#f9f7ff;box-shadow:inset 3px 0 0 var(--brand-deep)}.mcp-provider-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;position:relative;flex:0 0 auto}.mcp-provider-icon svg{width:25px;height:25px}.mcp-provider-icon.github-icon{background:#111827;color:#fff}.mcp-provider-icon.slack-icon{background:#fff;border:1px solid #e5e7eb}.mcp-provider-icon.drive-icon{background:#fff;border:1px solid #e5e7eb}.mcp-provider-icon.slack-icon svg{width:27px;height:27px}.mcp-provider-icon.drive-icon svg{width:29px;height:29px}.mcp-provider-icon.custom-icon{background:var(--brand-soft);color:var(--brand-deep);font-size:13px;font-weight:900}.mcp-provider-icon b{position:absolute;right:-6px;bottom:-5px;border:2px solid #fff;background:#f1f5f9;color:#475569;border-radius:7px;padding:2px 4px;font-size:6.5px;line-height:1;font-weight:900}.mcp-provider-copy{min-width:0;display:flex;flex-direction:column}.mcp-provider-copy strong{font-size:12px}.mcp-provider-copy small{margin-top:2px;color:var(--brand-deep);font-size:9px;font-weight:800}.mcp-provider-copy span{margin-top:5px;color:#8390a0;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-provider-chevron{font-size:22px;color:#b0b8c3;font-weight:400}.mcp-provider-card.selected .mcp-provider-chevron{color:var(--brand-deep)}.mcp-empty-state{border:1px dashed #d9dee6;border-radius:13px;background:#fff;padding:26px 18px;text-align:center;color:#8793a1;font-size:10px;display:grid;gap:5px}.mcp-empty-state strong{font-size:11px;color:#5c6878}.mcp-config-panel{min-width:0;min-height:0;padding:26px 28px;overflow-y:auto;background:#fff;display:flex;flex-direction:column}.mcp-config-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:18px;border-bottom:1px solid #edf0f4}.mcp-config-provider{display:flex;align-items:center;gap:13px}.mcp-config-provider small{font-size:8.5px;letter-spacing:.09em;font-weight:850;color:#929baa}.mcp-config-provider h3{margin:3px 0 0;font-size:18px}.mcp-config-provider p{margin:4px 0 0;color:#7f8b9b;font-size:10px}.mcp-memory-pill{border:1px solid var(--brand-primary);background:#f7f5ff;color:var(--brand-deep);border-radius:999px;padding:6px 9px;font-size:8.5px;font-weight:850;white-space:nowrap}.mcp-config-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(160px,.7fr);gap:12px;margin-top:20px}.mcp-config-fields>label,.mcp-fields label{display:flex;flex-direction:column;gap:7px;font-size:9px;letter-spacing:.04em;font-weight:850;color:#697586}.mcp-config-fields input,.mcp-config-fields textarea,.mcp-config-fields select{width:100%;border:1px solid #dfe4eb;background:#fff;border-radius:11px;padding:10px 11px;outline:0;color:#172033;font-size:11px;line-height:1.45;font-weight:500;letter-spacing:0}.mcp-config-fields input:focus,.mcp-config-fields textarea:focus,.mcp-config-fields select:focus{border-color:#a78bfa;box-shadow:0 0 0 3px var(--brand-soft)}.mcp-config-fields textarea{resize:vertical}.mcp-fields{grid-column:1/-1;display:grid;gap:11px;margin-top:2px}.mcp-secret-note{font-weight:500;color:#9aa4b1;letter-spacing:0}.mcp-config-note{margin-top:18px;border:1px solid #e5e9ef;background:#fafbfc;border-radius:12px;padding:11px 12px;display:flex;gap:9px;align-items:flex-start}.mcp-config-note>span{font-size:13px}.mcp-config-note p{margin:0;color:#778496;font-size:9.5px;line-height:1.5}.mcp-config-note strong{color:#526071}.mcp-config-actions{margin-top:auto;padding-top:22px;display:flex;justify-content:flex-end;gap:9px}.mcp-config-actions .btn{min-width:105px}.mcp-connection-list{display:grid;gap:9px}.mcp-connection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e3e7ed;border-radius:14px;padding:12px;background:#fff}.mcp-connected-main{display:grid;grid-template-columns:9px minmax(0,1fr);gap:9px;align-items:start}.mcp-connected-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;background:#cbd5e1}.mcp-connected-dot.ready{background:#22c55e}.mcp-connected-dot.failed{background:#ef4444}.mcp-connection-row strong{font-size:11px}.mcp-connection-row p{margin:4px 0 0;font-size:8.5px;color:#8793a1;overflow-wrap:anywhere}.mcp-connection-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.mcp-connection-meta span{border-radius:999px;background:#f1f5f9;color:#64748b;padding:3px 6px;font-size:7.5px;font-weight:800}.mcp-connection-meta span.ready{background:#ecfdf5;color:#15803d}.mcp-connection-meta span.failed{background:#fef2f2;color:#b91c1c}.mcp-connection-error{color:#b91c1c!important}.mcp-connection-actions{display:flex;gap:5px}.mcp-connection-actions button{border:1px solid #dfe5ed;background:#fff;border-radius:8px;padding:7px 8px;font-size:8.5px;font-weight:750;cursor:pointer}.mcp-connection-actions button:hover{border-color:var(--brand-hover);color:var(--brand-deep)}.mcp-connection-actions button.danger{color:#b91c1c}.mcp-connection-actions button.danger:hover{border-color:#fecaca;background:#fff7f7}.mcp-connection-actions button:disabled{opacity:.55;cursor:wait}.mcp-oauth-panel{padding-top:20px;display:flex;flex-direction:column;gap:16px}.mcp-oauth-hero{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #e4e7ec;border-radius:16px;background:#fafbfc}.mcp-oauth-provider-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid #e5e7eb;flex:0 0 auto}.mcp-oauth-provider-icon svg{width:30px;height:30px}.mcp-oauth-hero small{font-size:8px;font-weight:850;letter-spacing:.09em;color:#929baa}.mcp-oauth-hero h3{margin:5px 0 0;font-size:17px}.mcp-oauth-hero p{margin:6px 0 0;color:#788596;font-size:10.5px;line-height:1.55}.mcp-oauth-state{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;padding:14px 15px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:13px}.mcp-oauth-state.setup{border-color:#fde68a;background:#fffbeb}.mcp-oauth-state-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fef3c7;color:#a16207;font-size:11px;font-weight:900}.mcp-oauth-state-icon.ready{background:#dcfce7;color:#15803d}.mcp-oauth-state strong{font-size:11px}.mcp-oauth-state p{margin:4px 0 0;color:#748091;font-size:9.5px;line-height:1.5}.mcp-oauth-privacy{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;border:1px solid var(--brand-primary);background:#faf8ff;border-radius:12px}.mcp-oauth-privacy p{margin:0;color:#6d6480;font-size:9.5px;line-height:1.5}.mcp-oauth-privacy span{font-size:13px}.mcp-oauth-panel+.mcp-config-actions{margin-top:auto}@media(max-width:860px){.mcp-picker-dialog{width:min(720px,calc(100vw - 24px));height:calc(100vh - 24px);max-height:calc(100vh - 24px);border-radius:18px}.mcp-picker-content{display:block;overflow-y:auto}.mcp-library{border-right:0;border-bottom:1px solid #e9edf2;min-height:430px;max-height:54vh}.mcp-config-panel{min-height:500px;overflow:visible}.mcp-picker-heading p{display:none}}@media(max-width:760px){.mcp-picker-dialog{width:calc(100vw - 14px);height:calc(100vh - 14px);max-height:calc(100vh - 14px);border-radius:15px}.mcp-picker-header{padding:15px}.mcp-hub-mark{width:38px;height:38px;border-radius:11px}.mcp-picker-heading h2{font-size:17px}.mcp-library{padding:14px;min-height:410px}.mcp-config-panel{padding:18px 15px}.mcp-config-fields{grid-template-columns:1fr}.mcp-config-fields>label,.mcp-fields{grid-column:1}.mcp-connection-row{grid-template-columns:1fr}.mcp-provider-card{grid-template-columns:44px minmax(0,1fr) 16px;padding:10px}.mcp-provider-icon{width:42px;height:42px}.mcp-oauth-hero{padding:14px}.top-actions{gap:7px}}
.mcp-provider-icon.teams-icon{background:#f4f4fb;border:1px solid #d7d9f2}.mcp-provider-icon.teams-icon svg{width:29px;height:29px}
/* Provider marks are local vector assets; copied unchanged into setup/OAuth icons. */
.mcp-provider-icon:is(.slack-icon,.teams-icon) img{display:block;width:29px;height:29px;object-fit:contain}
.mcp-provider-icon.slack-icon img{width:27px;height:27px}
.mcp-oauth-provider-icon.mcp-provider-icon:is(.slack-icon,.teams-icon) img{width:30px;height:30px}
[data-architecture-graph-kind][hidden]{display:none!important}
.repository-dialog select,.repository-dialog input{width:100%;min-height:42px;font:inherit}
@media(max-width:760px){.version-pill{height:42px;min-height:42px;display:inline-flex;align-items:center;padding:0 13px;border-radius:21px}}


/* Demo visual QA hardening: keep dense content inside owned layout boundaries. */
.top-actions{gap:10px}

/* Frontend layout convergence: keep all project surfaces in one document flow and align paired columns. */
.workspace{padding-bottom:54px}
@media(max-width:760px){
  .workspace{padding-bottom:28px}
}

/* Header rhythm convergence: title metadata and right-side controls share explicit alignment rules. */
.page-heading{min-width:0;flex:1 1 auto}
.top-actions{flex:0 0 auto;margin-left:18px}
.top-actions>.agent-status,.top-actions>.icon-button,.top-actions>.account-button{height:38px;min-height:38px}
@media(max-width:1050px) and (min-width:761px){
  .topbar{padding-inline:24px}
  .workspace{padding-left:24px;padding-right:24px}
  .page-subtitle{display:none}
  .top-actions{margin-left:12px}
}
@media(max-width:900px){
  .workspace-lens{display:none}
}

/* CSP-safe fixed domain palette; dynamic Canvas markup selects only a tone index. */
[data-domain-tone="0"]{--domain-color:#147d73;--domain-wash:#f0f8f6;--connection-color:#147d73}
[data-domain-tone="1"]{--domain-color:#5265ad;--domain-wash:#f3f5fc;--connection-color:#5265ad}
[data-domain-tone="2"]{--domain-color:#97602e;--domain-wash:#fcf7f0;--connection-color:#97602e}
[data-domain-tone="3"]{--domain-color:#307dac;--domain-wash:#f0f7fc;--connection-color:#307dac}
[data-domain-tone="4"]{--domain-color:#875794;--domain-wash:#f8f3fa;--connection-color:#875794}
[data-domain-tone="5"]{--domain-color:#71834a;--domain-wash:#f6f8f1;--connection-color:#71834a}
#overviewGoalPanel:empty{display:none}
#view-overview .overview-section{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
#view-overview .overview-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
#view-overview .overview-section-head>div{min-width:0}
#view-overview .overview-section-head h2{margin:0;font-size:1rem;line-height:1.35}
#view-overview .overview-section-head p{margin:7px 0 0;color:var(--muted);font-size:0.8125rem;line-height:1.5;overflow-wrap:anywhere}

@media(max-width:760px){
  #view-overview .overview-section{padding:16px}
  #view-overview .overview-section-head{gap:10px}
  #view-overview .overview-section-head p{font-size:0.8125rem}
}

@media(max-width:380px){
  #view-overview .overview-section{padding:14px}
}
.workspace-tabpanel{min-width:0;outline:0}
.workspace-tabpanel:focus-visible{outline:2px solid var(--brand-deep);outline-offset:4px;border-radius:12px}
.status-pill.SUPERSEDED{background:#edf0f4;color:#596577}

.repository-dialog{width:min(620px,calc(100vw - 32px))}.repository-picker-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.repository-picker-actions[hidden]{display:none}.repository-options{display:grid;gap:6px;max-height:220px;overflow:auto;font-size:12px;margin:12px 0}.repository-option{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:10px;text-align:left;cursor:pointer;overflow-wrap:anywhere}.repository-option:hover,.repository-option:focus-visible{border-color:var(--brand-primary);background:var(--brand-soft)}.repository-dialog .field-error{white-space:pre-wrap;overflow-wrap:anywhere}

/* Provider authorization persistence and immediate connection feedback. */
.mcp-provider-card.connected{border-color:#86efac;background:#f7fff9}.mcp-provider-card.connected.selected{box-shadow:inset 3px 0 0 #16a34a}.mcp-provider-chevron.connected{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#15803d;font-size:11px;font-weight:900}.mcp-connection-notice{margin:0 0 10px;padding:10px 11px;border:1px solid #bbf7d0;border-radius:11px;background:#f0fdf4;color:#166534;font-size:9.5px;line-height:1.45}.mcp-memory-pill{transition:background .14s,border-color .14s,color .14s}

/* A full-width title row on small phones; controls keep their touch targets. */
@media(max-width:520px){
  .topbar{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 10px;padding:12px 16px}
  .topbar>.page-heading{grid-column:2;grid-row:1;min-width:0}
  .topbar>.page-heading .page-title-row{min-width:0}
  .topbar #pageTitle{font-size:clamp(20px,5.6vw,24px);white-space:nowrap;line-height:1.3}
  .topbar>.top-actions{grid-column:1/-1;grid-row:2;justify-self:end;margin:0}
  .topbar>.top-actions>.icon-button,.topbar>.top-actions>.account-button{height:44px;min-height:44px;width:44px}
  .topbar .page-subtitle{display:none}
}

/* Shared-project controls stay in the existing workspace and dialog system. */
.sharing-dialog{width:min(560px,calc(100vw - 32px));padding:24px;max-height:calc(100dvh - 32px);overflow:auto}
.sharing-dialog input{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.sharing-dialog button{min-height:44px;margin:4px 8px 4px 0}
.sharing-row{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.project-access-notice{padding:10px 16px;background:var(--brand-soft);border-radius:8px;font-size:13px}

body[data-project-role="VIEWER"] [data-proposal-decision],
body[data-project-role="VIEWER"] [data-task-action],
body[data-project-role="VIEWER"] [data-agent-explore]{display:none!important}

.sharing-dialog .dialog-head{align-items:flex-start;gap:16px}
.sharing-dialog .dialog-head h3{margin:0;overflow-wrap:anywhere}
.sharing-dialog #sharingContent{padding-top:12px}
.sharing-dialog form{padding:0;margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px 12px}
.sharing-dialog form label{margin:0 0 6px}
.sharing-dialog form input{min-height:44px}
.sharing-dialog form>p,.sharing-dialog form>button{grid-column:1/-1}
.sharing-dialog form>button{justify-self:start}
.sharing-dialog-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sharing-dialog-tools button{min-height:44px}
.sharing-dialog .dialog-head{margin-bottom:8px}
.sharing-dialog h4{margin:16px 0 4px}
.sharing-dialog p{margin:6px 0;line-height:1.5}
.sharing-dialog .muted{font-size:13px;color:var(--muted)}
.sharing-history{margin-top:20px;font-size:13px;overflow-wrap:anywhere}
.sharing-history summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.sharing-actions{display:flex;flex-wrap:wrap}
.top-actions .project-access-notice{font-size:12px;margin:0;padding:6px 8px;white-space:normal}
@media(max-width:600px){.top-actions{flex-wrap:wrap}.sharing-dialog{padding:18px}.sharing-dialog .dialog-head h3{font-size:18px}}

.sharing-dialog select{font:inherit;min-height:44px;max-width:100%;border:1px solid #dfe4eb;background:var(--surface);border-radius:10px;padding:10px 11px;color:var(--ink)}
.sharing-dialog form select{width:100%}
.sharing-row select{margin:6px 8px 6px 0}

@media(max-width:440px){.sharing-dialog form{grid-template-columns:minmax(0,1fr)}.sharing-dialog .dialog-head{flex-wrap:wrap}.sharing-dialog-tools{margin-left:auto}}
/* Finalized Auth Redesign: one shell, fixed heading, scrollable body only. */
html{scrollbar-gutter:auto}
html.auth-modal-open{overflow:hidden;overscroll-behavior:none}
.entry-login{display:inline-flex;align-items:center;justify-content:center;min-width:90px;min-height:44px;border:1px solid #d4c8e2;border-radius:11px;background:#fff;color:#55416e;font:inherit;font-size:14px;font-weight:650;padding:10px 20px;box-shadow:0 2px 3px rgba(64,45,91,.025);cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.entry-login:hover{background:#f5f0fb;border-color:#b6a0cd;box-shadow:0 3px 8px rgba(89,69,115,.08)}
.entry-login:focus-visible{outline:3px solid #dccded;outline-offset:3px;border-color:#a68cbe;background:#f8f4fc}
.entry-login:active{background:#ece3f5}
@media(prefers-reduced-motion:reduce){.entry-login{transition:none}}
@media(max-width:760px){.landing-composer{margin-top:16px;padding:18px 16px 14px;border-radius:18px}.landing-auth-teaser{gap:12px}.landing-prompt-icon{width:36px;height:36px;border-radius:11px}.landing-prompt-icon svg{width:21px;height:21px}.landing-teaser-prompt{font-size:16px}.landing-composer-actions{margin-top:16px}}
.account-host{position:relative;display:inline-flex;align-items:center}
.account-host>.account-button{display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border:1px solid #ded5ea;background:#f1ecf8;color:var(--brand-deep);border-radius:50%;transition:background .15s,border-color .15s,box-shadow .15s}
.account-host>.account-button:hover,.account-host>.account-button[aria-expanded=true]{background:#e8e0f2;border-color:#c8b8de;box-shadow:0 2px 8px #4d416f12}
.account-host>.account-button:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px;box-shadow:0 0 0 5px var(--brand-soft)}
#accountInitials{display:grid;place-items:center;width:100%;height:100%;font-size:12px;font-weight:750;letter-spacing:.015em}
.account-host>.account-menu{top:calc(100% + 9px);right:0;width:min(224px,calc(100vw - 32px));padding:7px;border:1px solid #e4deeb;border-radius:14px;box-shadow:0 12px 36px #30213f1c,0 2px 6px #30213f08}
.account-menu-identity{display:grid;gap:4px;padding:9px 11px 12px;margin-bottom:4px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.account-menu-identity strong{font-size:13px;line-height:1.4;font-weight:650}
.account-menu [role=menuitem]{min-height:42px;padding:10px 11px;font-size:13px;line-height:1.4;border-radius:8px}
.account-menu-separator{height:1px;margin:4px 7px;background:var(--line)}
.account-menu-identity small{color:var(--muted);font-size:11px}
#securityReset{border:1px solid var(--line);border-radius:8px;padding:10px;background:white;color:var(--ink);cursor:pointer}
.verification-banner{display:flex;align-items:center;gap:14px;width:min(720px,calc(100% - 32px));margin:18px auto 0;padding:14px 16px;border:1px solid #d5c9eb;border-radius:10px;background:#f5f1fc;font-size:12px;color:#29252f}
.verification-banner>div{flex:1;min-width:0;overflow-wrap:anywhere}.verification-banner p{margin:4px 0 0;color:#6b6178;font-size:11px}
.verification-banner button{border:1px solid #e3ddec;border-radius:8px;background:white;padding:10px 14px;min-height:44px;cursor:pointer;color:#302939;flex:none}
.verification-banner button:disabled{color:#665d72;background:#eee9f5;opacity:1;cursor:default}
.verification-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.verification-actions button{font:inherit;padding:8px 12px}
.verification-actions button:hover:not(:disabled){background:#ece5f7;border-color:#b9a8d5}
.verification-actions button:focus-visible{outline:2px solid #776198;outline-offset:2px}
.settings-email-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;color:#6b6178}
.settings-email-summary>span{margin-right:auto}
.settings-email-summary button{min-height:36px;padding:6px 10px;border:1px solid #e3ddec;background:white;border-radius:8px;color:#514270;cursor:pointer}
.settings-email-summary button:hover{background:#f5f1fc}
#emailChangeFields{gap:12px}
#emailChangeFields [hidden]{display:none}
#emailChangeMessage{font-size:12px;line-height:1.6;overflow-wrap:anywhere;color:#514270;user-select:text}
#emailChangeMessage:empty{display:none}
#emailChangeSend:disabled{background:#eee9f5;color:#514270;opacity:1}
@media(max-width:540px){.verification-actions button{margin-left:0}.settings-email-summary button{min-height:44px}}
/* Top-anchored so sign in, create account and reset password open at the same height instead of re-centering per mode. */
.auth-dialog{--auth-top:min(12vh,96px);margin-block:var(--auth-top) auto;width:min(500px,calc(100vw - 32px));max-width:500px;max-height:calc(100dvh - var(--auth-top) - 16px);padding:0;border:1px solid #e9e5ef;border-radius:16px;background:white;overflow:hidden;box-shadow:0 24px 48px rgba(29,29,31,.16)}
.auth-dialog .auth-card{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - var(--auth-top) - 18px);padding:0;border:0;border-radius:16px;overflow:hidden;background:white}
.auth-dialog .auth-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:30px 31px 20px;flex:none;background:white}
.auth-dialog-head h1{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.045em;font-weight:750}
.auth-dialog-head p{margin:7px 0 0;color:#797381;font-size:12px;line-height:1.5}
.auth-dialog-head .dialog-close{position:absolute;top:22px;right:20px;background:transparent;border:0;color:#777080;font-size:24px;width:44px;height:44px;line-height:1;cursor:pointer}
.auth-dialog-head>div{padding-right:14px}
.auth-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 31px 24px;scrollbar-width:thin;scrollbar-color:#d2c7e6 transparent}
.auth-body::-webkit-scrollbar{width:5px}.auth-body::-webkit-scrollbar-thumb{background:#d2c7e6;border-radius:8px}
.auth-body .auth-field{margin:0 0 14px;gap:7px;color:#706879;font-size:12px;font-weight:500}
.auth-body .auth-field input{min-width:0;font-size:14px;font-weight:400;line-height:20px;padding:11px;border-color:#e4dfeb;background:white;color:#202024}
.auth-body .auth-field>input,.auth-body .password-field{min-height:44px;border-radius:10px;border:1px solid #e4dfeb}
.auth-body .password-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden}
.auth-body .password-field input{border:0;outline:0;width:100%;background:transparent}
.auth-body .password-field button{min-height:44px;background:transparent;border:0;color:#55427c;padding:10px 12px;font-size:12px;cursor:pointer}
.auth-body .password-field:focus-within,.auth-body .auth-field>input:focus{border-color:#9f8bbf;box-shadow:0 0 0 2px #eee8f6}
.auth-body .field-error:empty{display:none}.auth-body .field-error{margin:0;color:#b33341;font-size:12px;line-height:1.5}
.auth-body #authFormMessage:not(:empty){margin:0 0 12px}
.auth-body .auth-providers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-body .auth-providers button{height:44px;font-size:14px;font-weight:500;background:white;border-color:#e4dfeb}
.auth-body .auth-divider{margin:22px 0;color:#797381;font-size:12px;gap:18px}
.auth-body #authSubmitBtn{width:100%;min-height:44px;margin:0;border:1px solid var(--brand-deep);border-radius:10px;background:var(--brand-deep);color:#fff;font-size:14px;font-weight:600;box-shadow:none}
.auth-body #authSubmitBtn.secondary{background:white;border-color:#e4dfeb;color:#25222a}
.auth-body #authSubmitBtn:disabled{opacity:1;color:#63586f;background:#e6dfef;border-color:#e6dfef}
/* Entry actions use the deep brand fill so enabled reads clearly against the card and against the disabled or busy state. */
.auth-body #authSubmitBtn:hover:not(:disabled):not(.secondary),#preferenceContinueBtn:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}
#preferenceContinueBtn{background:var(--brand-deep);color:#fff;box-shadow:none}
#preferenceContinueBtn:disabled{opacity:1;background:#e6dfef;color:#63586f}
#landingView .eyebrow,.landing-prompt-label{font-size:12px}
#preferenceView .eyebrow{font-size:13px;font-weight:600;letter-spacing:0}
.auth-body .auth-mode-toggle{min-height:44px;margin:16px auto 0;font-size:12px;font-weight:400;line-height:1.5;color:#55427c}
.auth-forgot{display:block;min-height:44px;margin:-12px 0 4px auto;padding-inline:0;border:0;background:transparent;color:#55427c;font-size:12px;cursor:pointer}
.auth-step{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px;color:#55427c;font-size:12px;font-weight:750;letter-spacing:.12em}
.auth-step-dots{display:flex;gap:6px}.auth-step-dots i{width:18px;height:4px;border-radius:4px;background:#e8e2ef}.auth-step-dots i:first-child,[data-auth-mode=signup2] .auth-step-dots i{background:#cbbde7}
.auth-selected-email{display:flex;gap:12px;align-items:center;margin-bottom:12px;padding:12px;border-radius:12px;background:#f4f0fb;color:#514076}
.auth-selected-email>div{display:grid;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere}.auth-selected-email small{font-size:12px;font-weight:700;letter-spacing:.07em}.auth-selected-email strong{font-size:14px;color:#27232c;font-weight:500}.auth-selected-email .selected-email-note{font-size:12px;font-weight:400;color:#62596f;letter-spacing:0}
.auth-selected-email button{border:1px solid #e7e0ef;border-radius:9px;background:white;padding:10px 14px;min-height:44px;color:#242127;cursor:pointer}
#authPasswordHint{font-size:12px;color:#7c7188;margin:0 0 5px}
.auth-sent{display:flex;gap:14px;padding:16px;border-radius:12px;background:#f4f0fb;margin:4px 0 24px;color:#514076;font-size:14px}
.auth-sent p{margin:0;font-size:12px;line-height:1.6;color:#36303f}.auth-sent p+p{margin-top:20px;color:#62596f;font-size:12px}
[data-auth-mode=reset] #authConfirmField{margin-bottom:24px}
@media(max-width:540px){.auth-dialog{--auth-top:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.auth-dialog .auth-card{max-height:calc(100dvh - 26px)}.auth-dialog .auth-dialog-head{padding:24px 22px 20px}.auth-body{padding:0 22px 24px}.auth-body .auth-providers{grid-template-columns:1fr}.auth-dialog-head .dialog-close{top:14px;right:12px;width:44px;height:44px}.auth-dialog-head h1{font-size:25px}.verification-banner{align-items:flex-start;flex-wrap:wrap}.verification-banner button{margin-left:auto}.account-host>.account-menu{width:min(250px,calc(100vw - 32px))}}

/* Account visual audit: preserve the full settings and icon-rich Tool Hub. */
html:has(dialog[open]){overflow:hidden}
body:has(#mcpConnectionsDialog[open],#sharingDialog[open]) #accountSettingsDialog[open]{visibility:hidden}
body:has(#mcpConnectionsDialog[open],#sharingDialog[open]) #accountSettingsDialog::backdrop{background:transparent}
.account-settings-dialog{width:min(520px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 32px);overflow:auto;scrollbar-width:thin;scrollbar-color:#cbbde0 transparent;overscroll-behavior:contain}
.account-settings-dialog .dialog-head{position:sticky;top:0;z-index:2;background:var(--surface)}
.account-settings-dialog .dialog-close,.mcp-picker-close{width:44px;height:44px;min-width:44px}
.account-settings-dialog .settings-nav{flex-wrap:wrap;gap:6px}
.account-settings-dialog .settings-nav button{min-height:40px;font-size:12px;white-space:nowrap}
.account-settings-dialog #settingsPanel{min-height:0;padding:16px 0 8px}
.account-settings-dialog #settingsPanel>label{font-size:12px;letter-spacing:0;font-weight:650}
.account-settings-dialog input{min-height:44px;font-size:14px}
.account-settings-dialog input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--brand-deep)}
.account-settings-dialog #settingsPanel p{font-size:14px;line-height:1.6;color:#655d70;overflow-wrap:anywhere}
.account-settings-dialog legend{font-size:12px}
.account-settings-dialog .dialog-actions{margin-top:12px}
#securityReset{min-height:44px;font-size:14px}
#securityReset:focus-visible,.settings-nav button:focus-visible,.mcp-tab:focus-visible,.mcp-mobile-back:focus-visible{outline:3px solid #cbbde0;outline-offset:2px}
.mcp-mobile-back{display:none}
.mcp-feedback:empty{display:none}.mcp-feedback{padding:12px;border:1px solid #cec2e1;border-radius:10px;background:#f7f3fc;color:#514068;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.mcp-feedback.error{background:#fff3f2;border-color:#efc8c4;color:#a12b24}
.mcp-picker-content,.mcp-library-pane,.mcp-config-panel{scrollbar-width:thin;scrollbar-color:#cbbde0 transparent;overscroll-behavior:contain}
.mcp-picker-content{overflow-x:hidden}
.mcp-picker-heading p,.mcp-config-provider p,.mcp-library-label span{font-size:12px;color:#6c6577}
.mcp-provider-copy strong{font-size:14px}.mcp-provider-copy small{font-size:11px}.mcp-provider-copy>span{font-size:12px;line-height:1.45;color:#6c6577}
.mcp-tab{min-height:40px;font-size:12px}
.mcp-config-fields label,.mcp-fields label{font-size:12px;letter-spacing:0}
.mcp-config-fields input,.mcp-config-fields select,.mcp-config-fields textarea{font-size:13px}
.mcp-oauth-hero p,.mcp-oauth-state p,.mcp-oauth-privacy p,.mcp-config-note p,.mcp-empty-state,.mcp-empty-state p{font-size:12px;line-height:1.55;color:#665d72}
.mcp-oauth-state strong,.mcp-library-label strong{font-size:12px}
.mcp-connection-row strong{font-size:13px}.mcp-connection-row p,.mcp-connection-row small{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.mcp-connection-actions{flex-wrap:wrap}.mcp-connection-actions button{font-size:12px;min-height:44px}
.mcp-connection-meta span{font-size:10px;line-height:1.4;padding:3px 6px}
@media(max-width:860px){
  .mcp-picker-dialog{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}
  .mcp-picker-header{flex:none}
  .mcp-library{min-height:0;max-height:none;overflow:visible}
  .mcp-library-pane{overflow:visible;padding-right:0}
  .mcp-config-panel{min-height:0;overflow:visible;scroll-margin-top:0}
  .mcp-mobile-back{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand-deep);font:inherit;font-size:13px;cursor:pointer}
  .mcp-config-actions{position:static;flex-wrap:wrap;gap:8px}
}
@media(max-width:520px){
  .topbar{height:auto;min-height:120px}
  .topbar>.top-actions{width:100%;justify-content:flex-end;min-width:0}
  .account-settings-dialog .settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-settings-dialog input{font-size:16px}
  .mcp-picker-dialog{width:calc(100vw - 24px)}
  .mcp-library-label{align-items:baseline;flex-wrap:wrap;gap:4px}
  .mcp-provider-card{gap:10px;grid-template-columns:42px minmax(0,1fr) 16px}
  .mcp-config-fields input,.mcp-config-fields select,.mcp-config-fields textarea{font-size:16px}
}

/* Notification preferences and invitations retain the existing account/bell flows. */
.account-settings-dialog[data-section=settings]{height:fit-content}
.account-settings-dialog[data-section=settings] .dialog-head{margin-bottom:8px}
.account-settings-dialog[data-section=settings] .settings-nav{display:flex}
.account-settings-dialog[data-section=settings] #settingsPanel{padding:8px 0 0}
.account-settings-dialog[data-section=settings] .dialog-actions{margin-top:16px;padding-top:16px}
.notification-preferences{gap:8px!important}
.notification-preferences legend{font-size:13px!important;margin-bottom:12px;color:var(--muted)}
.account-settings-dialog .notification-preference-row{display:flex;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fcfbfe;cursor:pointer}
.notification-preference-row>span{min-width:0;display:grid;gap:5px}
.notification-preference-row strong{font-size:14px;font-weight:650}
.notification-preference-row small{font-size:12px;line-height:1.45;color:var(--muted);font-weight:400}
.account-settings-dialog .notification-preference-row input{appearance:none;flex:0 0 38px;width:38px;height:24px;min-height:24px;margin:0;border:1px solid #a39aaa;border-radius:99px;background:#d3ced9;position:relative;cursor:pointer;transition:background .15s}
.notification-preference-row input::before{content:'';position:absolute;width:18px;height:18px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}
.account-settings-dialog .notification-preference-row input:checked{background:var(--brand-deep);border-color:var(--brand-deep)}
.notification-preference-row input:checked::before{transform:translateX(14px)}
.notification-preference-row:focus-within{border-color:var(--brand-strong);box-shadow:0 0 0 2px var(--brand-soft)}
.account-settings-dialog #settingsPanel .notification-preference-note{font-size:12px;line-height:1.5;margin:12px 2px 0;color:var(--muted)}
.notification-menu{width:min(400px,calc(100% - 32px));max-height:min(640px,calc(100dvh - 150px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbbde0 transparent}
.notification-menu .top-menu-head{gap:10px;flex-wrap:wrap;position:sticky;top:-10px;z-index:1;background:white}
.notification-menu .top-menu-head>strong{font-size:15px}.notification-menu .top-menu-close{width:36px;height:36px}
.notification-menu .notification-empty{display:block}
.notification-invitation{padding:16px;margin:6px 0 10px;border:1px solid #d7cce6;border-radius:12px;background:#fcfaff}
.invitation-card-heading{display:flex;gap:10px;align-items:flex-start}.invitation-card-heading>div{min-width:0}
.invitation-card-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #e4dbee;border-radius:9px;background:var(--brand-soft);color:var(--brand-deep);font-size:20px}
.invitation-card-heading small{display:block;font-size:9px;letter-spacing:.06em;color:var(--brand-deep);font-weight:700;margin:0 0 5px}
.invitation-card-heading strong{display:block;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.notification-menu .notification-invitation p{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0}
.invitation-role{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--brand-soft);color:var(--brand-deep);font-size:11px;font-weight:600}
.invitation-notification-actions{display:flex;gap:8px;margin-top:14px}.invitation-notification-actions .btn{flex:1;min-height:42px;font-size:13px}
.notification-invitation .invitation-notification-status:empty{display:none}.notification-invitation .invitation-notification-status{margin-bottom:0;font-size:12px}
@media(max-width:520px){.notification-menu{top:112px;right:16px;max-height:calc(100dvh - 144px)}.notification-menu .top-menu-head>span{order:3;flex-basis:100%;margin-top:-8px}.notification-menu .top-menu-close{margin-left:auto}}
@media(max-width:760px){.account-host>.account-button{width:44px;height:44px;min-width:44px}.account-host>.account-menu{width:min(224px,calc(100vw - 32px))}}
@media(max-width:520px){.account-settings-dialog[data-section=settings] .settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Settings Center: stable navigation, a focused content column, and honest save state. */
.account-settings-dialog,.account-settings-dialog[data-section=settings]{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(570px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden;user-select:none;-webkit-user-select:none;border:1px solid #e4dfeb;border-radius:20px;box-shadow:0 24px 80px #2f24432b}
.account-settings-dialog #accountSettingsForm{height:100%;min-height:0;display:grid;grid-template-columns:174px minmax(0,1fr);grid-template-rows:82px minmax(0,1fr) 62px;padding:0}
.account-settings-dialog .dialog-head,.account-settings-dialog[data-section=settings] .dialog-head{grid-column:1/-1;position:static;margin:0;padding:22px 24px;border-bottom:1px solid var(--line);align-items:center;background:#fff}
.account-settings-dialog .dialog-head small{font-size:9px;letter-spacing:.09em}
.account-settings-dialog .dialog-head h3{font-size:20px;margin-top:4px}
.account-settings-dialog .settings-nav,.account-settings-dialog[data-section=settings] .settings-nav{grid-column:1;grid-row:2/4;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;margin:0;padding:20px 12px;border:0;border-right:1px solid var(--line);background:#faf9fc}
.account-settings-dialog .settings-nav button{display:flex;align-items:center;gap:10px;text-align:left;min-height:44px;padding:10px 12px;font-size:13px;font-weight:650;border-radius:10px}
.account-settings-dialog .settings-nav button>span{width:18px;text-align:center;font-size:17px;font-weight:500}
.account-settings-dialog .settings-nav button.active{background:#eae4f5;color:#514373;box-shadow:inset 0 0 0 1px #ded4ef}
.account-settings-dialog #settingsPanel,.account-settings-dialog[data-section=settings] #settingsPanel{grid-column:2;grid-row:2;min-height:0;padding:24px 28px 18px;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbbde0 transparent;display:block}
.settings-section-heading{margin-bottom:22px}
.settings-section-heading h4{font-size:19px;letter-spacing:-.025em;margin:0 0 6px}
.account-settings-dialog #settingsPanel .settings-section-heading p{font-size:13px;margin:0;line-height:1.5;color:var(--muted)}
.account-settings-dialog #settingsPanel h5{font-size:12px;font-weight:750;letter-spacing:0;margin:0 0 12px;color:#51495e}
.settings-fields label{margin:0 0 8px!important;font-size:12px!important;letter-spacing:0!important}
.settings-fields input{margin-top:7px}
.settings-fields small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:22px}
.settings-fields .field-error:empty{display:none}
.settings-fields .field-error{margin:0 0 12px}
.account-settings-dialog .settings-lens-group{display:grid;grid-template-columns:1fr;gap:10px}
.account-settings-dialog .settings-lens-group button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 14px;font-size:13px;border-radius:12px}
.settings-lens-group button strong,.settings-lens-group button small{display:block}
.settings-lens-group button small{font-size:12px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:3px}
.account-settings-dialog #settingsPanel .settings-footnote{font-size:12px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.account-settings-dialog .dialog-actions,.account-settings-dialog[data-section=settings] .dialog-actions{grid-column:2;grid-row:3;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0;padding:9px 28px;border-top:1px solid var(--line);background:white}
#settingsSaveStatus{font-size:11px;color:var(--muted)}
#settingsDirtyActions:not([hidden]){display:flex;gap:8px}
.account-settings-dialog .dialog-actions .btn{min-height:42px;padding:10px 14px;font-size:12px;white-space:nowrap}
.settings-methods{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.settings-method-row{display:flex;gap:10px;align-items:center;min-height:56px;padding:10px 12px}
.settings-method-row+.settings-method-row{border-top:1px solid var(--line)}
.settings-method-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#f2eef8;color:#5c4a7a;border:1px solid #e7e0f0;border-radius:8px;font-size:11px;font-weight:750}
.settings-method-row strong{font-size:12px;font-weight:650;flex:1}
.settings-state-badge{padding:4px 7px;border-radius:6px;background:#eef6f1;color:#37614b;font-size:10px;font-weight:650}
.settings-method-status{color:var(--muted);font-size:11px}
.settings-method-row button,#securityReset,#securityRetry{border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-size:11px;font-weight:600;color:#514373;min-height:36px;padding:8px 10px;cursor:pointer}
.settings-method-row button:hover,#securityReset:hover,#securityRetry:hover{background:var(--brand-soft);border-color:#c6b6de}
.settings-method-row button:focus-visible,#securityRetry:focus-visible{outline:3px solid #cbbde0;outline-offset:-3px}
.settings-method-row button:disabled,#securityReset:disabled{opacity:.65;cursor:wait}
.settings-password{margin-top:20px}
.account-settings-dialog #settingsPanel .settings-password p{font-size:12px;line-height:1.5;margin:0 0 10px}
#securityReset{width:100%;min-height:40px}
#securityMessage:empty{display:none}
.account-settings-dialog #settingsPanel #securityMessage{font-size:12px;margin:12px 0 0}
.account-settings-dialog input,.account-settings-dialog textarea,.account-settings-dialog [contenteditable=true],.account-settings-dialog code,.account-settings-dialog pre,.account-settings-dialog [role=status],.account-settings-dialog [role=alert],.account-settings-dialog .field-error{user-select:text;-webkit-user-select:text}
.account-settings-dialog input[readonly]{background:#f7f6f9;color:#61586c;cursor:text}
#accountBtn,#accountMenu [role=menuitem]{user-select:none;-webkit-user-select:none}
@media(max-width:600px){
 .account-settings-dialog,.account-settings-dialog[data-section=settings]{width:calc(100% - 24px);max-width:calc(100% - 24px);height:min(680px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);border-radius:16px}
 .account-settings-dialog #accountSettingsForm{grid-template-columns:minmax(0,1fr);grid-template-rows:80px 94px minmax(0,1fr) 64px}
 .account-settings-dialog .dialog-head,.account-settings-dialog[data-section=settings] .dialog-head{padding:16px 18px}
 .account-settings-dialog .dialog-head h3{font-size:18px}
 .account-settings-dialog .settings-nav,.account-settings-dialog[data-section=settings] .settings-nav{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px 14px 8px;border:0;border-bottom:1px solid var(--line)}
 .account-settings-dialog .settings-nav button{min-height:38px;padding:6px 10px;font-size:12px}
 .account-settings-dialog #settingsPanel,.account-settings-dialog[data-section=settings] #settingsPanel{grid-column:1;grid-row:3;padding:20px 18px}
 .settings-section-heading{margin-bottom:18px}
 .account-settings-dialog .dialog-actions,.account-settings-dialog[data-section=settings] .dialog-actions{grid-column:1;grid-row:4;padding:9px 18px;gap:8px}
 .account-settings-dialog .dialog-actions .btn{padding:10px 12px;min-height:44px}
 .settings-method-row{gap:8px;padding:9px;min-height:56px}
 .settings-method-icon{flex-basis:24px;height:26px}
 .settings-method-row button{font-size:10px;padding:6px;min-height:40px}
 .settings-method-row strong{font-size:11px}
 .settings-state-badge{font-size:9px;padding:4px 5px}
}

.account-settings-dialog[data-section=security] .settings-section-heading{margin-bottom:16px}
.account-settings-dialog[data-section=security] .settings-method-row{min-height:48px;padding:6px 10px}
.account-settings-dialog[data-section=security] .settings-password{margin-top:16px}
.account-settings-dialog[data-section=security] #settingsPanel h5{margin-bottom:8px}
.settings-nav svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.account-settings-dialog[data-section=security] #settingsPanel{padding-bottom:10px}

.settings-method-row #securitySetPassword{width:auto;min-height:36px;flex-shrink:0}
@media(max-width:600px){.settings-method-row #securitySetPassword{min-height:40px}}

.settings-back{border:0;background:transparent;color:var(--brand-deep);padding:0 0 16px;font:inherit;font-size:12px;cursor:pointer}
.settings-back:focus-visible{outline:3px solid #cbbde0;outline-offset:3px}
.settings-password-fields{margin-top:18px}
.settings-password-fields .password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.settings-password-fields .password-field input{border:0;box-shadow:none;margin:0}
.settings-password-fields .password-field button{min-width:52px}
#securitySavePassword{min-height:44px;margin-top:8px;font-size:12px}

.settings-password-fields{margin-top:12px}
.settings-password-fields small{margin-bottom:12px}

.settings-method-icon svg{width:18px;height:18px;display:block}
.settings-method-icon.google-method{background:white;border-color:#e5e7eb}
.settings-method-icon.github-method{background:#f6f8fa;border-color:#dfe3e8;color:#24292f}
.settings-method-icon.password-method svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.component-work>h3{margin:0 0 12px;font-size:var(--reading-body,.875rem);font-weight:750;color:var(--ink)}
.component-work{margin-top:14px;min-width:0}
.component-work>h3{display:flex;gap:8px;align-items:center}
.component-work h3 span,.component-task-group h4 span{font-size:var(--reading-caption,.8125rem);color:var(--muted);font-weight:500}
.component-task-group h4{margin:12px 0 7px;font-size:var(--reading-caption,.8125rem);color:var(--muted);font-weight:650}
.component-task-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:7px;padding:11px 12px;border:1px solid #e3ddeb;border-radius:10px;background:#fbfaff;color:var(--ink);text-align:left;cursor:pointer}
.component-task-link>span:first-child{display:grid;gap:5px;min-width:0}
.component-task-link strong{font-size:var(--reading-caption,.8125rem);line-height:1.45;overflow-wrap:anywhere}
.component-task-link small{font-size:var(--reading-caption,.8125rem);color:var(--muted);line-height:1.4}
.component-task-link>span:last-child{font-size:1.25rem;color:var(--brand-deep)}
.component-task-link:hover{background:#f3effa;border-color:#b8a8d2}
:is(#view-overview,#view-architecture){font-size:.875rem;line-height:1.55}
.component-agent{border-top:1px solid var(--workspace-border);margin:12px 0 0;padding-top:12px}
.component-agent>summary{font-size:.875rem;font-weight:650;cursor:pointer;color:var(--brand-deep);padding:4px 0}
.component-agent>summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
/* Architecture workspace system: 4/8/12/16/24 spacing, 36px controls,
   one context header, one map toolbar, and one independently scrolling inspector.
   Scope these rules to architecture so Tasks and the rest of the product keep
   their existing layout. Canvas and Project View share the same hierarchy. */
:is(#view-architecture,#view-overview){--reading-caption:.8125rem;--reading-body:.875rem;--reading-heading:1rem;--reading-title:1.5rem;--workspace-gap:16px;--workspace-radius:14px;--workspace-border:#dedee8;--workspace-muted:#526269;--workspace-control:36px;--workspace-inspector:clamp(300px,28vw,384px)}
#view-architecture .component-work{margin-top:12px}
#view-architecture .component-work>h3{font-size:var(--reading-heading,1rem)}
#view-architecture .component-task-link{padding:12px;font-size:var(--reading-caption,.8125rem);background:#faf9fe;border-color:#e4dff1}
#view-architecture .component-task-link strong{font-size:var(--reading-caption,.8125rem);line-height:1.5}
@media(max-width:1100px) and (min-width:701px){
  #view-architecture{--workspace-inspector:300px}
}
.component-next .component-task-link{border-color:#d9d2ec;background:#f7f4fe;padding:13px 12px}
/* Purpose-first reading uses the existing workspace spacing and surfaces. */
.landing-content h1{font-size:clamp(38px,4vw,58px);line-height:1.16;max-width:850px;margin-inline:auto}
/* Each headline sentence balances on its own; the <br> would otherwise stop balancing and leave one word on the last line. */
.landing-content h1>span{display:block;text-wrap:balance}.landing-content h1>br{display:none}
.landing-content>p{max-width:660px;line-height:1.65;text-wrap:pretty}
.component-children{display:flex;flex-direction:column;gap:6px;margin:14px 0}
.component-children button{text-align:left;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#faf9fc;cursor:pointer;color:var(--ink)}
.component-task-action{display:block;margin-top:10px;color:var(--brand-deep);font-size:var(--reading-caption,.8125rem);font-weight:650}
.component-next>.link-btn{margin-top:8px}
.component-engineering h4{font-size:var(--reading-caption,.8125rem);margin:0 0 8px;color:var(--workspace-muted)}
.component-engineering nav{display:flex;flex-wrap:wrap;gap:6px 16px}
/* Goal panel and target map (goal-map.js). */
.overview-goal-items .overview-section-head{margin-bottom:12px}
.overview-goal-items h3{margin:0;font-size:.9375rem}
.overview-goal-items h4{margin:14px 0 6px;font-size:.8125rem;color:var(--muted)}
.goal-overall{display:grid;gap:6px;min-width:180px;text-align:right;font-size:.8125rem}
.goal-items,.goal-editor ol,.goal-check-list,.goal-choice-list,.goal-planned-tasks,.goal-compare-result,.goal-history ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.goal-item{display:grid;grid-template-columns:auto minmax(0,1fr) 160px auto;align-items:center;gap:10px;font-size:.875rem}
.goal-item small,.goal-check-list small,.goal-choice-list small{color:var(--muted);font-size:.75rem}
.goal-check-list small,.goal-choice-list small{display:block;margin-top:2px}
.goal-item-id{display:inline-block;border:1px solid var(--brand-primary);background:var(--brand-soft);color:var(--brand-deep);border-radius:8px;padding:1px 7px;font-size:.6875rem;font-weight:750;margin-right:4px}
.goal-progress-bar{display:block;width:100%;height:8px;border:0;border-radius:4px;background:var(--line);overflow:hidden;appearance:none;accent-color:var(--success)}
.goal-progress-bar::-webkit-progress-bar{background:var(--line);border-radius:4px}
.goal-progress-bar::-webkit-progress-value{background:var(--success);border-radius:4px}
.goal-progress-bar::-moz-progress-bar{background:var(--success);border-radius:4px}
.goal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.goal-editor li{display:flex;align-items:center;gap:8px}
.goal-editor input[type=text]{flex:1;min-width:0}
.goal-editor label{display:grid;gap:4px;margin-top:10px;font-size:.8125rem}
.goal-message:empty{display:none}
.goal-message,.goal-busy{margin:8px 0 0;font-size:.8125rem;color:var(--muted)}
.goal-target{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.goal-target header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.goal-diff-counts{display:flex;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}
.target-count.added,.goal-compare-result .added{color:var(--success)}
.target-count.removed,.goal-compare-result .removed{color:var(--danger)}
.target-count.modified,.goal-compare-result .modified{color:var(--warning)}
.goal-verdict{font-size:.6875rem;font-weight:750;border-radius:8px;padding:1px 7px;margin-right:4px}
.goal-verdict.verdict-new{background:var(--success-soft);color:var(--success)}
.goal-verdict.verdict-already_there{background:var(--brand-soft);color:var(--brand-deep)}
.goal-verdict.verdict-not_on_map{background:var(--warning-soft);color:var(--warning)}
.goal-history{margin-top:14px;font-size:.8125rem}
.goal-history summary{cursor:pointer;font-weight:650}
.goal-history ol{margin:8px 0}
.goal-compare{display:flex;align-items:center;gap:8px;margin:8px 0}
.target-legend{display:flex;gap:14px;flex-wrap:wrap;padding:8px 12px;font-size:.75rem;color:var(--muted)}
.target-legend span{display:inline-flex;align-items:center;gap:6px}
.target-swatch{width:14px;height:10px;border-radius:3px;border:2px solid var(--line);background:var(--surface)}
.target-swatch.added{border-color:var(--success);background:var(--success-soft)}
.target-swatch.removed{border-color:var(--danger);background:var(--danger-soft)}
.target-swatch.modified{border-color:var(--warning);background:var(--warning-soft)}
.target-swatch.pending{border-color:var(--success);background:var(--success-soft);opacity:.45}
.target-swatch.complete{border-color:var(--success);background:var(--success)}
.target-swatch.accepted{border-color:var(--muted);background:var(--surface);border-style:dashed}
@media(max-width:760px){.goal-item{grid-template-columns:auto minmax(0,1fr)}.goal-item .goal-progress-bar,.goal-item small{grid-column:1/-1}.goal-overall{text-align:left}}
.goal-target-stale{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--warning-soft);color:var(--warning);font-size:.8125rem}
.goal-target-done,.goal-target-completed{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--success-soft);color:var(--success);font-size:.8125rem;font-weight:650}
.final-review{margin-top:12px;display:grid;gap:8px}
.final-review h4{margin:0}
.final-review-items{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.final-review-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:.8125rem}
.final-review-item span{min-width:0;overflow-wrap:anywhere}
.final-review-item.add span{color:var(--success)}
.final-review-item.remove span{color:var(--danger)}
.final-review-item select{max-width:100%}
[data-archbro-ui="next"] .next-repository-review-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 16px;border:1px solid var(--ui-next-line);border-left:3px solid var(--ui-next-accent);
  border-radius:12px;background:var(--ui-next-surface-muted);color:var(--ui-next-ink)
}
[data-archbro-ui="next"] .next-repository-review-banner strong{font-size:13px}
[data-archbro-ui="next"] .next-repository-review-banner p{margin:5px 0 0;font-size:12px;line-height:1.45;color:var(--ui-next-muted);max-width:660px}
[data-archbro-ui="next"] .next-repository-review-actions{display:flex;gap:8px;flex-wrap:wrap}
[data-archbro-ui="next"] .next-repository-review-actions button{
  cursor:pointer;min-height:38px;padding:8px 12px;border:1px solid var(--ui-next-line);
  border-radius:9px;background:var(--ui-next-surface);color:var(--ui-next-ink);font-size:12px;font-weight:700
}
[data-archbro-ui="next"] .next-repository-review-actions button:hover{
  border-color:var(--ui-next-accent);color:var(--ui-next-accent)
}
/* One clear next step: confirm. The other views are quiet text actions. */
[data-archbro-ui="next"] .next-repository-review-banner>p{margin:0;font-size:13px}
[data-archbro-ui="next"] .next-repository-review-actions{align-items:center}
[data-archbro-ui="next"] .next-repository-review-actions .ui-next-text-action{border:0;background:transparent;color:var(--ui-next-muted);font-weight:600;padding:8px 6px}
[data-archbro-ui="next"] .next-repository-review-actions .ui-next-text-action:hover{color:var(--ui-next-accent)}
[data-archbro-ui="next"] .next-repository-review-actions .ui-next-primary-action{border-color:var(--ui-next-accent);background:var(--ui-next-accent);color:var(--ui-next-on-accent);font-size:13px;padding:8px 16px}
[data-archbro-ui="next"] .next-repository-review-actions .ui-next-primary-action:hover{color:var(--ui-next-on-accent)}
.ui-next-initial-repository-review{
  width:min(930px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);
  overflow:auto;padding:0;border:1px solid var(--ui-next-line,#cbd5e1);
  border-radius:16px;background:var(--ui-next-surface,#fff);color:var(--ui-next-ink,#202830)
}
.ui-next-initial-repository-review::backdrop{background:rgba(5,12,22,.72)}
.ui-next-repository-review-content{display:grid;gap:12px;padding:clamp(16px,3vw,26px)}
.ui-next-repository-review-content>header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.ui-next-repository-review-content h2{margin:6px 0;font-size:clamp(18px,3vw,24px)}
.ui-next-repository-review-content small{font-size:11px;color:var(--ui-next-muted,#64748b)}
.ui-next-repository-review-content p{font-size:13px;line-height:1.5}
.ui-next-repository-review-content header p{margin:5px 0}
.ui-next-repository-review-content button{
  cursor:pointer;min-height:38px;padding:8px 14px;border:1px solid var(--ui-next-line,#cbd5e1);
  border-radius:9px;background:var(--ui-next-surface,#fff);color:inherit;font-weight:700
}
.ui-next-repository-review-content button:disabled{opacity:.55;cursor:wait}
.ui-next-repository-review-content [data-repository-review-accept]{
  background:var(--ui-next-accent,#8b5cf6);color:#fff;border-color:var(--ui-next-accent,#8b5cf6)
}
.ui-next-repository-review-content footer{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}
.ui-next-repository-review-content [role="alert"]{color:var(--danger,#d33);margin:0}
.ui-next-repository-preview-graph{overflow:auto}
.ui-next-repository-preview-graph .project-snapshot{max-width:100%;width:100%;min-height:220px}
.ui-next-repository-preview-graph svg{width:100%;max-height:450px}
.ui-next-repository-review-content details{max-height:175px;overflow:auto}
@media(max-width:600px){
  .ui-next-repository-review-content footer{flex-direction:column}
  .ui-next-repository-review-content footer button{width:100%}
  [data-archbro-ui="next"] .next-repository-review-actions{width:100%}
}


/* Goal recommendations use the native workspace tokens and progressive disclosure. */
.refine-goal-stage{max-width:760px;margin-inline:auto}
.refine-goal-stage .goal-draft-panel{background:var(--surface);border-color:var(--line)}
.refine-goal-stage .goal-next-question-panel{border:0;padding:0;margin:0}
.goal-question-head h3{font-size:23px;line-height:1.3;margin:8px 0}
/* The heading receives focus only so screen readers announce the new question; it is not a control, so no ring. */
.goal-question-head h3:focus,.goal-question-head h3:focus-visible{outline:none;box-shadow:none}
.goal-optional-note{display:block;margin-top:6px;color:var(--muted)}
.goal-ready-card{display:flex;gap:14px;align-items:center}
.goal-ready-card h3{font-size:23px;margin:0 0 6px}.goal-ready-card p{margin:0}
.goal-secondary .goal-understanding-panel{border:0;padding:0}
.goal-back{color:var(--muted)}
.goal-next-question-panel,.goal-understanding-panel{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);margin:12px 0}
.goal-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.goal-option-card{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);color:var(--ink);cursor:pointer;min-width:0}
.goal-option-card:hover{border-color:var(--brand-deep)}.goal-option-card:focus-visible{outline:3px solid var(--brand-deep);outline-offset:3px}.goal-option-card:disabled{opacity:.55;cursor:wait}
.goal-option-card{flex-wrap:wrap;align-content:start}.goal-option-card .goal-option-copy{flex-basis:100%}.goal-option-card .goal-option-arrow{display:none}
.goal-generation{margin:0 0 16px}.goal-generation .repository-generation-map{width:120px}.goal-generation strong{font-size:15px}.goal-draft-panel>.onboarding-ask{margin-top:16px}.goal-draft-panel>.goal-use{margin-top:16px}
.goal-option-icon,.goal-understanding-icon{width:32px;height:32px;flex-shrink:0}.goal-option-copy,.goal-option-title{display:grid;gap:6px;min-width:0}.goal-option-copy{flex:1}.goal-option-copy>span:last-child,.goal-question-head p,.goal-understanding-head small{color:var(--muted);line-height:1.5;font-size:13px}.goal-option-title strong{font-size:15px;overflow-wrap:anywhere}.goal-option-recommended{color:var(--brand-deep);font-weight:700}.goal-option-arrow{color:var(--brand-deep)}
.goal-optional-note{display:inline-block;margin-inline-start:8px}
.goal-round-progress{display:inline-block;margin-inline-start:8px;padding:2px 8px;border-radius:999px;background:var(--brand-soft);color:var(--ink);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.goal-secondary{margin:14px 0;border-top:1px solid var(--line);padding-top:12px}.goal-secondary>summary{cursor:pointer;color:var(--muted);font-weight:600;padding:8px 0}.goal-secondary .goal-field textarea{min-height:120px}.goal-secondary .onboarding-ask{margin-top:12px}
.goal-understanding-grid{display:grid;gap:8px}.goal-understanding-item{display:flex;gap:12px;padding:8px}.goal-understanding-item>span{display:grid;gap:4px}.goal-understanding-item small{color:var(--muted)}.goal-ready-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.goal-ready-mark{color:var(--brand-deep);font-size:28px}.goal-ready-card p,.goal-refinement-loading p,.goal-guidance-stale{color:var(--muted);line-height:1.5}
@media(max-width:700px){.goal-option-grid{grid-template-columns:minmax(0,1fr)}.goal-next-question-panel{padding:12px}.goal-option-card{padding:12px;flex-wrap:nowrap}.goal-option-card .goal-option-copy{flex-basis:auto}.goal-ready-actions{display:grid}}

/* Terms of Service / Privacy Policy entry points */
.landing-view{grid-template-rows:1fr auto;padding-bottom:0}
.landing-content{align-self:center}
.entry-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;padding:24px 0 20px;color:var(--muted);font-size:12px}
.entry-legal-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.entry-legal-footer a{color:var(--muted);text-decoration:none;text-underline-offset:3px}
.entry-legal-footer a:hover{color:var(--brand-deep);text-decoration:underline}
.auth-check{margin:2px 0 16px}
.auth-check label{display:flex;gap:10px;align-items:flex-start;color:#4b4552;font-size:13px;line-height:1.5;cursor:pointer}
.auth-check input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#6f5ba3;cursor:pointer}
.auth-check .field-error:not(:empty){display:block;margin:6px 0 0 28px}
.auth-check a,.auth-legal-notice a{color:#55427c;font-weight:600;text-underline-offset:3px}
.auth-legal-notice{margin:6px 0 0;color:#797381;font-size:12px;line-height:1.55;text-align:center}

.account-menu a[role=menuitem]{display:flex;align-items:center;color:var(--ink);text-decoration:none}
.account-menu a[role=menuitem]:hover,.account-menu a[role=menuitem]:focus-visible{background:var(--brand-soft)}

.goal-assist{margin:14px 0 0}.goal-assist-title{margin:0 0 6px;font-weight:600;color:var(--ink)}.goal-assist-note{display:block;margin-top:6px;color:var(--muted)}
.goal-assist-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;border:1px solid var(--brand-deep);background:color-mix(in srgb,var(--brand-deep) 8%,transparent);color:var(--brand-deep)}.goal-assist-btn:hover:not(:disabled){background:color-mix(in srgb,var(--brand-deep) 16%,transparent)}.goal-assist-btn:disabled{opacity:.55;cursor:not-allowed}.goal-assist-icon{font-size:14px}
.auth-exists-actions{display:flex;gap:8px;margin:-4px 0 12px}.auth-exists-actions .btn{flex:1;min-height:44px}.auth-exists-actions.hidden{display:none}
