:root{color-scheme:light;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--bg:#fff;--surface:#fff;--border:#dfe3e8;--text:#171a20;--muted:#626b78;--accent:#2166e8;--accent-button:#2166e8;--surface-subtle:#f7f8f9;--border-subtle:#e9edf0;--accent-soft:#eef4ff;--success:#2f7b4c;--success-bg:#f1fbf2;--success-border:#bbdcc2;--danger:#a7392c;--danger-bg:#fff0ed;--danger-border:#f0c5bd;--warning:#9d632d;--warning-bg:#fff1e0;--radius:.5rem;--control-radius:.35rem;--on-strong:#fff;--overlay-surface:rgba(255,255,255,.96);background:var(--bg);color:var(--text)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101419;--surface:#181e26;--border:#394351;--text:#edf1f6;--muted:#adb8c6;--accent:#8bb5ff;--surface-subtle:#222a35;--border-subtle:#2e3743;--accent-soft:#223453;--success:#94d5ac;--success-bg:#1b3025;--success-border:#385e46;--danger:#ffb2a6;--danger-bg:#38231f;--danger-border:#70443c;--warning:#eac18a;--warning-bg:#362b1d;--on-strong:#101419;--overlay-surface:rgba(24,30,38,.96);--accent-button:#326bd5}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-theme="dark"]){color-scheme:dark;--bg:#101419;--surface:#181e26;--border:#394351;--text:#edf1f6;--muted:#adb8c6;--accent:#8bb5ff;--surface-subtle:#222a35;--border-subtle:#2e3743;--accent-soft:#223453;--success:#94d5ac;--success-bg:#1b3025;--success-border:#385e46;--danger:#ffb2a6;--danger-bg:#38231f;--danger-border:#70443c;--warning:#eac18a;--warning-bg:#362b1d;--on-strong:#101419;--overlay-surface:rgba(24,30,38,.96);--accent-button:#326bd5}}
@property --agent-border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
*{box-sizing:border-box}
.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;background:var(--bg)}
body.mobile-chat-open{overflow:hidden}
body.body-preview-fullscreen .topbar{display:none}
body.body-preview-fullscreen{overflow:hidden;background:#fff}
body.body-preview-fullscreen .page-workspace{max-width:none;padding:0}
body.body-preview-fullscreen .workspace,body.body-preview-fullscreen .workspace-grid,body.body-preview-fullscreen .workspace-panel-body,body.body-preview-fullscreen #preview-frame-shell,body.body-preview-fullscreen .preview-frame{width:100vw;height:100dvh;min-height:100dvh}
body.body-preview-fullscreen .workspace{gap:0}
body.body-preview-fullscreen .workspace-bleed{width:100vw;margin-left:0}
body.body-preview-fullscreen .workspace-grid{display:block}
body.body-preview-fullscreen .workspace-sidebar-header,body.body-preview-fullscreen .workspace-panel-header{display:none}
body.body-preview-fullscreen .workspace-panel-body{margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent}
body.body-preview-fullscreen .preview-frame{display:block;border:0;border-radius:0}
body.body-preview-fullscreen .workspace-action-cluster{display:flex;position:fixed;right:calc(1.25rem + env(safe-area-inset-right));bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:25;gap:.55rem;align-items:center}
body.body-preview-fullscreen .workspace-sidebar-body{position:fixed;top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));z-index:30;width:min(28rem,calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)));min-height:0;padding:1rem;border-radius:1.25rem;box-shadow:0 1.25rem 3rem rgba(23,26,32,.22);transform:translateX(calc(100% + 1.5rem + env(safe-area-inset-right)));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}
body.body-preview-fullscreen .workspace-sidebar-body[data-mobile-open="true"]{transform:translateX(0);opacity:1;pointer-events:auto}
body.body-preview-fullscreen .workspace-chat-backdrop{display:block;position:fixed;inset:0;z-index:20;background:rgba(23,26,32,.18);opacity:0;pointer-events:none;transition:opacity .22s ease}
body.body-preview-fullscreen .workspace-sidebar-body[data-mobile-open="true"] + .workspace-chat-backdrop{opacity:1;pointer-events:auto}
body.body-preview-fullscreen .workspace-chat-mobile-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}
body.body-preview-fullscreen .workspace-chat-mobile-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:-.1rem 0 .9rem}
body.body-preview-fullscreen .workspace-chat-shell{gap:.75rem;min-height:0}
body.body-preview-fullscreen .message-list{min-height:0;max-height:none}
a{color:inherit}
h1,h2,h3,p{margin:0}
button,input,textarea,select{font:inherit}
input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1}
.topbar,.topnav,.row,.page-header,.workspace-panel-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.topbar{justify-content:space-between;max-width:78rem;margin:0 auto;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
.brand,.topnav a,.link-button,.chat-history-item,.workspace-panel-tab{text-decoration:none;font-weight:600}
.brand{font-size:1.45rem;font-weight:700;letter-spacing:-.06em}
.topnav a,.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .65rem;border-radius:.45rem;color:var(--muted);font-size:.9rem}
.topnav a:hover,.link-button:hover{background:var(--surface-subtle);color:var(--text)}
.topnav form{margin:0}
.topnav .topnav-admin{min-height:2rem;padding:.35rem .75rem;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);font-size:.8rem}
.topnav .topnav-admin:hover{background:var(--border-subtle)}
.link-button{border:0;background:none;cursor:pointer}
.body-account .topbar-account .topnav{width:auto;overflow:visible}
.body-account{display:flex;flex-direction:column;min-height:100dvh}
.body-account>.topbar{flex-shrink:0;width:100%}
.body-account>.page{flex:1;width:100%}
.site-footer{flex-shrink:0;width:100%;max-width:78rem;margin:0 auto;padding:.5rem 1.25rem;border-top:1px solid var(--border)}
.site-footer nav{display:flex;justify-content:center;gap:1rem}
.site-footer a{display:inline-flex;align-items:center;min-height:2rem;color:var(--muted);font-size:.85rem;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
body.body-preview-fullscreen>.site-footer{display:none}
@media(max-width:600px){.topbar-account{flex-wrap:nowrap;gap:.5rem;padding:.75rem}.body-account .topbar-account .topnav{flex-wrap:nowrap;gap:.25rem}.topbar-account .topnav>a{padding:.4rem .5rem;white-space:nowrap;min-height:2.75rem;font-size:.78rem}.topnav .topnav-admin{min-height:2rem;padding:.3rem .6rem}.site-footer nav{flex-wrap:wrap;gap:.1rem .85rem}.site-footer a{font-size:.75rem}}
.page{max-width:108rem;margin:0 auto;padding:1rem 1.25rem 2rem}
.page-workspace{max-width:none}
.hero-panel,.panel,.fact-card,.workspace-sidebar-body,.workspace-panel-body,.chat-composer-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.hero-panel,.panel,.workspace-sidebar-body,.workspace-panel-body{padding:1rem}
.hero-panel{max-width:72rem;margin:0 auto;min-height:calc(100vh - 9rem);display:grid;align-content:center;gap:1rem}
.home-page{--home-ok:var(--success);max-width:78rem;margin:0 auto;color:var(--text)}
.home-hero{display:grid;justify-items:center;gap:1.25rem;padding:4.5rem 0 3rem;text-align:center}
.home-hero h1{max-width:18ch;margin:0;font-size:clamp(2.7rem,6.2vw,5rem);font-weight:700;line-height:1.04;letter-spacing:-.055em}
.home-sub{max-width:41rem;color:var(--muted);font-size:1.1rem;line-height:1.6}
.home-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem}
.home-cta-row .button{min-height:2.8rem;padding:.7rem 1.15rem;border-radius:.35rem;font-weight:600}
.home-hero h1 span{color:var(--accent)}
.button.home-primary{border-radius:var(--control-radius);background:var(--accent-button);color:#fff}
.home-cta-row .home-outline{border:1px solid var(--border);background:var(--surface);color:var(--text)}
.home-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;color:var(--muted);font-size:.84rem}
.home-meta span{display:inline-flex;align-items:center;gap:.4rem}
.home-meta span::before{content:"";width:.38rem;height:.38rem;border-radius:50%;background:var(--home-ok)}
.home-workspace-strip{display:grid;gap:1.25rem;padding:0 0 3rem}
.home-hire-origin{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;color:var(--muted);font-size:.9rem;line-height:1.5}
.home-hire-origin img{flex:none}
.home-workspace-card{overflow:hidden;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);box-shadow:0 .7rem 1.8rem rgba(22,30,40,.07)}
.home-workspace-top{display:flex;align-items:center;gap:.8rem;min-height:3rem;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--surface-subtle);color:var(--muted);font-size:.82rem}
.home-workspace-top strong{color:var(--text);font-size:.86rem}
.home-preview-label{margin-left:auto;padding:.25rem .5rem;border:1px solid var(--border);border-radius:.25rem;background:var(--surface);color:var(--text);font-size:.73rem}
.home-workspace-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(17rem,.7fr);min-height:27rem}
.home-mini-site{color-scheme:light;--border-subtle:#e9edf0;display:flex;flex-direction:column;min-width:0;background:#fff}
.home-mini-site-nav{display:flex;align-items:center;gap:1.4rem;min-height:3.2rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--border-subtle);color:#343a3b;font-size:.7rem}
.home-mini-site-nav strong{margin-right:auto;color:#151b1b;font-size:.9rem;letter-spacing:.14em}
.home-mini-site-contact{padding:.45rem .65rem;background:#1b302f;color:#fff}
.home-mini-site-hero{position:relative;flex:1;min-height:24rem;overflow:hidden;background:#e6e9e5}
.home-mini-site-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-mini-site-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,248,246,.94),rgba(247,248,246,.74) 35%,transparent 68%)}
.home-mini-site-copy{position:relative;z-index:1;display:grid;align-content:center;justify-items:start;gap:.8rem;width:min(50%,22rem);min-height:24rem;padding:2rem}
.home-mini-site-copy > span:first-child{color:#34514d;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.home-mini-site-copy strong{color:#152422;font-family:Georgia,Times,serif;font-size:clamp(1.8rem,3.2vw,3.2rem);font-weight:400;line-height:1.04}
.home-mini-site-copy p{color:#43504d;font-size:.82rem;line-height:1.45}
.home-mini-site-button{display:inline-flex;padding:.65rem .85rem;background:#1b302f;color:#fff;font-size:.72rem}
.home-mini-chat{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--border);background:var(--surface)}
.home-mini-chat-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem}
.home-mini-chat-head span{color:var(--muted);font-size:.75rem}
.home-chat-thread{display:grid;align-content:start;gap:1.15rem;flex:1;padding:1.2rem 1rem}
.home-chat-turn{display:grid;grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:.7rem}
.home-chat-avatar{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#e8edf4;color:#354052;font-size:.55rem;font-weight:700}
.home-chat-avatar-cora{background:#20252d;color:#fff;font-size:.75rem}
.home-chat-turn p{padding:.6rem .7rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface-subtle);color:var(--text);font-size:.82rem;line-height:1.45}
.home-chat-turn:nth-child(2) p{background:var(--surface)}
.home-chat-status{margin-left:2.3rem;color:var(--success);font-size:.75rem}
.home-chat-status span{margin-right:.25rem}
.home-chat-input{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1rem;padding:.5rem .5rem .5rem .75rem;border:1px solid var(--border);border-radius:.4rem;color:#89929e;font-size:.78rem}
.home-chat-input span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:.3rem;background:var(--text);color:var(--on-strong);font-size:1rem}
.home-section{padding:2.5rem 0 3rem;border-top:1px solid var(--border)}
.home-building{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.home-building h2{margin:0 0 .75rem;font-size:1.3rem;font-weight:600;line-height:1.25;letter-spacing:-.025em}
.home-building p,.home-hire p{color:var(--muted);font-size:1rem;line-height:1.65}
.home-hire{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:3rem;align-items:center;padding:2.5rem;margin-bottom:2rem;background:linear-gradient(120deg,var(--surface),var(--accent-soft));scroll-margin-top:1.5rem}
.home-hire h2{margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:600;line-height:1.15;letter-spacing:-.035em}
.home-hire-copy p+p{margin-top:.75rem}
.home-hire-contact{border-left:1px solid var(--border);padding-left:2.5rem}
.home-hire-contact h3{margin-bottom:.75rem;font-size:1.15rem;font-weight:600;line-height:1.3}
.home-hire-contact .button{margin-top:1.25rem}
.utility-page.enquiry-page{max-width:60rem;margin:1rem auto 2rem;gap:2rem}
.enquiry-back{width:fit-content;color:var(--muted);font-size:.95rem;text-decoration:none}
.enquiry-back:hover{color:var(--accent)}
.enquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:3rem}
.enquiry-intro{padding-top:1.75rem}
.enquiry-intro .page-heading{gap:1.25rem}
.enquiry-intro .page-heading h1{font-size:clamp(2.5rem,3.5vw,3rem);line-height:1.1;letter-spacing:-.045em}
.enquiry-intro h1 span{display:block;color:var(--accent)}
.enquiry-intro .page-heading p{max-width:32ch;font-size:1.05rem;line-height:1.65}
.enquiry-intro .home-hire-origin{margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}
.enquiry-fields{display:grid;gap:1rem;min-width:0}
.enquiry-form.stack{padding:1.75rem;gap:1.5rem;background:var(--surface-subtle);border-color:var(--border-subtle);border-radius:1rem}
.enquiry-form .field{position:relative;min-width:0}
.enquiry-form .input,.enquiry-form .textarea{padding:.95rem .9rem}
.enquiry-form .textarea{min-height:10rem}
.enquiry-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media(max-width:900px){.utility-page.enquiry-page{max-width:40rem;margin:1rem auto;gap:1.75rem}.enquiry-layout{grid-template-columns:1fr;gap:2rem}.enquiry-intro{padding-top:0}.enquiry-intro .page-heading p{max-width:40ch}.enquiry-intro .home-hire-origin{margin:1.25rem 0 0;padding-top:0;border-top:0}}
@media(max-width:500px){.enquiry-form-row{grid-template-columns:1fr}.enquiry-form.stack{padding:1.25rem}.enquiry-form .button{width:100%}}

.auth-page{display:grid;place-items:center;min-height:calc(100vh - 8rem);padding:2rem 0 3rem}
.auth-card{display:grid;gap:1.25rem;width:min(100%,31rem);padding:1.25rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);box-shadow:0 .8rem 1.8rem rgba(23,26,32,.08)}
.auth-card h1{margin:0;font-size:clamp(2rem,5vw,2.6rem);font-weight:700;line-height:1.1;letter-spacing:-.035em}
.auth-card p:not(.notice){color:var(--muted);line-height:1.5}
.auth-form{display:grid;gap:.85rem}
.auth-form .auth-submit{width:100%}
.auth-switch{color:var(--muted);text-align:center;font-size:.9rem}
.auth-switch a{color:var(--text);font-weight:700;text-decoration:none}
.auth-switch a:hover{text-decoration:underline;text-underline-offset:.16em}
.stack,.stack-tight,.field,.workspace,.workspace-chat-shell,.chat-history,.chat-history-list,.message-list{display:grid}
.stack{gap:1rem}
.stack-tight,.field,.chat-history-list{gap:.35rem}
.detail-label{font-size:.85rem;font-weight:600;color:var(--muted)}
.lede,.muted,.message-empty{color:var(--muted);line-height:1.55}
.small{font-size:.85rem}
.input,.textarea,.chat-input{width:100%;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface);color:var(--text);font:inherit}
.input:focus,.textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-1px}
.textarea{resize:vertical}
.chat-input{resize:none}
.button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:2.5rem;padding:.7rem 1rem;border:0;border-radius:var(--control-radius);background:var(--text);color:var(--on-strong);font:600 .9rem/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;text-decoration:none;cursor:pointer}
.button-secondary{background:var(--surface-subtle);color:var(--text);border:1px solid var(--border)}
.button-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
.button:hover{filter:brightness(.94)}
.button-ghost:hover{background:var(--surface-subtle);color:var(--text);filter:none}
.button:disabled{opacity:.5;cursor:default}
.button-small{min-height:2rem;padding:.35rem .7rem;font-size:.85rem}
.notice{padding:.8rem .9rem;border:1px solid transparent;border-radius:var(--radius);line-height:1.5}
.notice-success{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}
.notice-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}
.workspace{gap:1rem;min-height:calc(100vh - 7rem)}
.workspace-bleed{width:calc(100vw - 2.5rem);margin-left:calc(50% - 50vw + 1.25rem)}
.workspace-grid{display:grid;gap:1rem;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);grid-template-areas:"sidebar-header panel-header" "sidebar-body panel-body";align-items:start}
.workspace-sidebar-header{grid-area:sidebar-header}
.workspace-sidebar-body{grid-area:sidebar-body;display:flex;flex-direction:column;min-height:calc(100vh - 11rem);overflow:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.workspace-chat-launcher,.workspace-chat-backdrop,.workspace-chat-mobile-header,.workspace-chat-mobile-tabs{display:none}
.workspace-panel-header{grid-area:panel-header;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.workspace-panel-body{grid-area:panel-body;min-height:calc(100vh - 11rem);overflow:auto}
.workspace-title{font-size:clamp(1.4rem,2vw,1.75rem)}
.workspace-panel-tab{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font:inherit;cursor:pointer}
.workspace-panel-tab-active{background:var(--text);color:var(--on-strong);border-color:var(--text)}
.workspace-project-heading{display:grid;flex:0 1 42%;max-width:42%;margin:0}
.workspace-project-name{font-size:1.18rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.workspace-chat-projects-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.2rem 0;border:0;background:none;color:var(--muted);font-weight:700;text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.workspace-chat-projects-link:hover{color:var(--text)}
.workspace-chat-panel{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}
.workspace-chat-panel[hidden]{display:none}
.workspace-chat-panel[data-cora-panel="notes"]:not([hidden]){display:block;overflow:auto}
.workspace-chat-shell{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:.75rem}
.chat-shell-head{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-height:2rem}
.chat-clear-form-inline{margin:0}
.message-list-shell{display:flex;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}
.chat-history-list{max-height:8rem;overflow:auto}
.chat-history-item{padding:.35rem .5rem;border-radius:.5rem}
.chat-history-item-active{background:var(--surface-subtle)}
.message-list{display:flex;flex:1 1 auto;flex-direction:column;gap:.8rem;min-width:0;min-height:0;overflow:hidden}
.message-history{position:relative;display:flex;flex:1 1 auto;flex-direction:column;gap:.8rem;min-height:0;overflow-y:auto;padding-right:.15rem;padding-bottom:.35rem;scrollbar-gutter:stable;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.message-history{--chat-fade-top:0px;--chat-fade-bottom:0px}
.message-history[data-fade-top="true"]{--chat-fade-top:16px}
.message-history[data-fade-bottom="true"]{--chat-fade-bottom:16px}
.message-history[data-fade-top="true"],.message-history[data-fade-bottom="true"]{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--chat-fade-top),#000 calc(100% - var(--chat-fade-bottom)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--chat-fade-top),#000 calc(100% - var(--chat-fade-bottom)),transparent)}
.chat-composer-hint{margin:0 0 .65rem;padding:0 .55rem;color:var(--muted);font-size:.84rem;line-height:1.5;text-align:left}
.editing-agent{flex:0 0 auto;min-width:0;padding:.75rem .85rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface-subtle);font-size:.84rem;line-height:1.4}
.editing-agent-heading{display:flex;align-items:center;gap:.5rem}
.editing-agent-request{margin:.35rem 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.editing-agent-hint{margin:.4rem 0 0;color:var(--muted);font-size:.76rem}
.editing-agent-tasks{margin-top:.45rem}
.editing-agent-tasks summary{cursor:pointer;color:var(--accent);font-size:.8rem}
.editing-agent-tasks ol{display:grid;gap:.65rem;max-height:8rem;overflow:auto;margin:.65rem 0 0;padding-left:1.25rem}
.editing-agent-tasks li span{color:var(--muted);font-size:.73rem}
.editing-agent-tasks li p{margin:.1rem 0 0;overflow-wrap:anywhere}
.chat-work-status{display:grid;gap:.48rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface-subtle);color:var(--text);font-size:.84rem;line-height:1.35;box-shadow:0 .2rem .6rem rgba(23,26,32,.05)}
.chat-work-status-heading{display:flex;align-items:center;gap:.5rem;font-size:.88rem}
.chat-work-status-heading .message-spinner{flex:0 0 auto}
.chat-work-status-mark{display:grid;place-items:center;width:1.1rem;height:1.1rem;flex:0 0 auto;border-radius:50%;background:var(--accent-button);color:#fff;font-size:.75rem;font-weight:700}
.chat-work-request,.chat-work-hint{margin:0;overflow-wrap:anywhere}
.chat-work-request{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text);font-weight:600}
.chat-work-hint{color:inherit;opacity:.82}
.chat-work-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}
.publish-current{padding:.9rem;border:1px solid var(--success-border);border-radius:.7rem;background:var(--success-bg)}
.publish-current form{margin:.35rem 0 0}
.publish-secondary{padding:.65rem .1rem;border-top:1px solid var(--border-subtle)}
.publish-secondary summary{cursor:pointer;font-weight:700}
.publish-secondary[open]{display:grid;gap:.65rem}
.publish-secondary[open] summary{margin-bottom:.2rem}
.agent-status{display:inline-flex;align-items:center;min-height:1.5rem;padding:.18rem .48rem;border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--muted);font:700 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:nowrap}
.agent-status-running,.agent-status-queued,.agent-status-merging{border-color:var(--border);background:var(--accent-soft);color:var(--accent)}
.agent-status-complete{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}
.agent-status-failed{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}
.message{flex:0 0 auto;display:grid;gap:.25rem;max-width:88%;min-width:0}
.message-bubble{min-width:0;max-width:100%;padding:.78rem .92rem;overflow-wrap:anywhere;border-radius:1.15rem;background:var(--surface);box-shadow:0 .35rem 1rem rgba(23,26,32,.06);border:1px solid var(--border-subtle)}
.message-user{margin-left:auto;justify-items:end}
.message-user .message-bubble{background:var(--text);color:var(--on-strong);border-color:transparent;box-shadow:0 .5rem 1.25rem rgba(23,26,32,.22)}
.message-assistant{justify-items:start}
.message-meta{display:flex;gap:.45rem;align-items:center;padding:0 .1rem;font-size:.76rem;color:var(--muted);letter-spacing:.01em}
[data-computer-thinking][hidden]{display:none}
.message-loading{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted)}
.message-user .message-loading{color:var(--on-strong);opacity:.86}
.message-spinner{display:inline-block;flex:0 0 auto;width:.85rem;height:.85rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:999px;animation:message-spin .9s linear infinite}
.message p{white-space:pre-wrap;line-height:1.48}
.message-markdown{display:grid;gap:.65rem;min-width:0;max-width:100%;font-size:.95rem;line-height:1.6;color:inherit}
.message-markdown>*{min-width:0;margin:0}
.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{font-family:inherit;font-size:1rem;font-weight:700;line-height:1.25;letter-spacing:0}
.message-markdown h1{font-size:1.15rem}
.message-markdown h2{font-size:1.05rem}
.message-markdown h1:not(:first-child),.message-markdown h2:not(:first-child),.message-markdown h3:not(:first-child),.message-markdown h4:not(:first-child){margin-top:.2rem}
.message-markdown p{white-space:normal;line-height:inherit}
.message-markdown ul,.message-markdown ol{display:grid;gap:.24rem;padding-left:1.15rem}
.message-markdown li{padding-left:.08rem}
.message-markdown li>p{margin:.35rem 0}
.message-markdown li>ul,.message-markdown li>ol{margin-top:.35rem}
.message-markdown a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.message-markdown code{padding:.08rem .26rem;border-radius:.32rem;background:var(--surface-subtle);font-size:.88em}
.message-markdown pre{max-width:100%;overflow:auto;padding:.7rem;border-radius:.55rem;background:var(--text);color:var(--on-strong);font-size:.82rem;line-height:1.45}
.message-markdown pre code{padding:0;background:transparent;color:inherit}
.message-markdown blockquote>p{margin:0}
.message-markdown blockquote{padding-left:.75rem;border-left:3px solid var(--border);color:var(--muted)}
.message-markdown-table{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:.55rem}
.message-markdown table{width:100%;border-collapse:collapse;font-size:.88rem}
.message-markdown th,.message-markdown td{overflow-wrap:normal;padding:.45rem .65rem;text-align:left;border-bottom:1px solid var(--border-subtle)}
.message-markdown th{background:var(--surface-subtle);font-weight:700}
.message-markdown tr:last-child td{border-bottom:0}
.message-markdown hr{width:100%;border:0;border-top:1px solid var(--border)}
.chat-composer{padding-top:.1rem}
.chat-composer-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.5rem .55rem;border:1px solid var(--border);border-radius:1.35rem;background:var(--surface);box-shadow:0 .7rem 1.6rem rgba(23,26,32,.08)}
.chat-input{min-height:2.65rem;max-height:10rem;padding:.5rem .55rem;border:0;background:transparent;font-size:.98rem;line-height:1.4;overflow:hidden}
.chat-message-field{display:block;flex:1;min-width:0}
label.chat-message-field>.chat-input{display:block;min-height:48px;padding:13px 12px;font-size:.9rem;line-height:22px;box-sizing:border-box}
.chat-input:focus{outline:none}
.chat-input:focus::placeholder{color:transparent}
.chat-composer-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.chat-send-button{width:2.65rem;min-width:2.65rem;min-height:2.65rem;padding:0;border-radius:.85rem;box-shadow:none}
.chat-send-icon{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.workspace-chat-launcher{touch-action:none;user-select:none;gap:.55rem;padding:.68rem .95rem;border:1px solid rgba(255,255,255,.45);background:linear-gradient(135deg,rgba(23,26,32,.88),rgba(23,26,32,.82));backdrop-filter:blur(12px);letter-spacing:.02em}
.workspace-chat-launcher-label{font-weight:700}
.preview-frame{width:100%;min-height:calc(100vh - 12rem);border:1px solid var(--border);border-radius:1rem;background:#fff}
.preview-frame-loading{background:var(--surface-subtle)}
.projects-studio{max-width:78rem;margin:0 auto;padding:2.5rem 0 3rem;color:var(--text)}
.projects-studio-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2.4rem}
.projects-studio-head h1{margin:0;font-size:clamp(2.25rem,5vw,3rem);font-weight:700;line-height:1.04;letter-spacing:-.055em}
.projects-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}
.projects-credit-pill{display:flex;align-items:center;gap:.6rem;min-height:2.5rem;padding:.3rem .3rem .3rem .9rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-subtle);color:var(--muted);font-size:.85rem;white-space:nowrap}
.projects-credit-balance{text-decoration:none}
.projects-credit-balance strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.projects-credit-add{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--surface);color:var(--accent);text-decoration:none}
.projects-credit-add svg{display:block;width:1rem;height:1rem}
.projects-credit-add:hover{background:var(--accent-soft)}
@media(max-width:450px){.projects-studio-head{flex-wrap:wrap}.projects-header-actions{justify-content:flex-start;width:100%}}
@media(pointer:coarse){.projects-credit-add{min-width:2.5rem;min-height:2.5rem}.projects-credit-balance{display:flex;align-items:center;min-height:2.5rem;gap:.25rem}}
.projects-new-button{gap:.6rem;white-space:nowrap;border-radius:.65rem;padding:.75rem 1.05rem;box-shadow:none}
.projects-new-button>span{font-size:1.4rem;font-weight:400;line-height:1}
.projects-filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.15rem;border-bottom:1px solid var(--border-subtle)}
.projects-filter-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem}
.projects-filter-tab{text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:.55rem .85rem;border-radius:.55rem;color:var(--muted);font-size:.87rem;transition:background .15s ease,color .15s ease}
.projects-filter-tab:hover{background:var(--surface-subtle);color:var(--text)}
.projects-filter-tab span{display:grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:.35rem;background:var(--border-subtle);font-size:.72rem;font-weight:600}
.projects-filter-tab-active,.projects-filter-tab-active:hover{background:var(--surface-subtle);color:var(--text);font-weight:600}
.projects-deleted-link{margin-left:.5rem;border-left:1px solid var(--border);border-radius:0;padding-left:1rem}
.projects-search-form{position:relative;display:flex;align-items:center;max-width:100%;margin:0}
.projects-search-form .input{width:16rem;min-width:0;padding-left:2.5rem;border-radius:.6rem;background:var(--surface-subtle);border-color:transparent;box-shadow:none}
.projects-search-form .input:focus{background:var(--surface);border-color:var(--accent)}
.projects-search-icon{position:absolute;left:.85rem;width:1rem;height:1rem;color:var(--muted);pointer-events:none}
.projects-search-error{margin:-.5rem 0 1.25rem;color:var(--danger);font-size:.85rem}
.projects-empty{display:grid;justify-items:center;gap:.8rem;padding:5rem 1rem;text-align:center;border:1px dashed var(--border);border-radius:1rem;background:var(--surface-subtle)}
.projects-empty h2{font-size:1.35rem;letter-spacing:-.03em}
.projects-empty p{color:var(--muted);line-height:1.5}
.projects-empty .button{margin-top:.65rem}
.project-card-grid{display:grid;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.project-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-subtle);border-radius:.9rem;background:var(--surface);box-shadow:0 2px 5px rgba(23,26,32,.025);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.project-card:hover{transform:translateY(-3px);border-color:var(--border);box-shadow:0 .65rem 1.4rem rgba(23,26,32,.07)}
.project-card-body{display:flex;flex:1 1 auto;flex-direction:column}
.project-card-link{color:inherit;text-decoration:none}
.project-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:.85rem}
.project-thumb{display:grid;place-items:center;aspect-ratio:16/10;border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);position:relative;overflow:hidden}
.project-thumb-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;background:#fff}
.project-thumb-image[hidden]{display:none}
.project-thumb-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;width:68%;aspect-ratio:16/10;padding:.8rem .9rem;border:1px solid var(--border);border-radius:.35rem;background:var(--surface)}
.project-thumb-page-nav{display:flex;align-items:center;justify-content:space-between;height:.2rem}
.project-thumb-page-nav span{width:18%;height:100%;border-radius:1px;background:var(--muted)}
.project-thumb-page-nav span:last-child{width:28%;background:var(--border)}
.project-thumb-page-content{display:flex;flex-direction:column;gap:.35rem;min-height:0}
.project-thumb-page-heading{width:62%;height:.4rem;border-radius:1px;background:var(--muted)}
.project-thumb-page-line{width:82%;height:.18rem;border-radius:1px;background:var(--border)}
.project-thumb-page-line-short{width:52%}
.project-thumb-page-region{flex:1;min-height:1rem;margin-top:.3rem;border-radius:.15rem;background:var(--surface-subtle)}
.project-card-meta{display:grid;gap:.45rem;padding:1.15rem 1.2rem 1.1rem}
.project-card-meta h2{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;line-height:1.35;letter-spacing:-.015em}
.project-card-sub{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.85rem;padding-top:.8rem;border-top:1px solid var(--border-subtle);color:var(--muted);font-size:.78rem;padding-right:3.5rem}
.project-card-status{display:inline-flex;align-items:center;gap:.4rem}
.project-card-status span{width:.4rem;height:.4rem;border-radius:999px;background:#aeb7c4}
.project-card-status-live span{background:var(--success)}
.project-card-status-draft span{background:#aeb7c4}
.project-card-delete{position:absolute;right:.75rem;bottom:.65rem;z-index:1;margin:0}
.project-card-delete .button{color:var(--muted);font-size:.75rem;min-height:2rem;padding:.35rem .5rem;box-shadow:none}
.project-card-delete .button:hover{background:var(--danger-bg);color:var(--danger)}
@media(max-width:1100px){.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.projects-studio-head{gap:1rem}.projects-new-button{padding:.65rem .8rem;font-size:.82rem}.projects-filter-row{gap:.9rem}.projects-filter-tab{padding:.45rem .65rem;font-size:.82rem}.projects-deleted-link{margin-left:.2rem;padding-left:.75rem}.projects-search-form{flex-basis:100%}.projects-search-form .input{width:100%}.project-card-grid{grid-template-columns:1fr;gap:1.25rem}.projects-empty{padding:3rem 1rem}}
.transcripts-page{max-width:78rem;margin:0 auto;padding:2rem 0;gap:1.25rem}
.transcripts-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.transcripts-grid{display:grid;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);gap:1rem;align-items:start}
.transcripts-list,.transcripts-view{padding:1.2rem}
.transcript-links{display:grid;gap:.75rem}
.transcript-link{display:grid;gap:.35rem;padding:.85rem .9rem;border:1px solid var(--border);border-radius:.95rem;background:var(--surface);text-decoration:none}
.transcript-link:hover{border-color:rgba(23,26,32,.2)}
.transcript-link-active{border-color:var(--text);box-shadow:0 .7rem 1.4rem rgba(23,26,32,.08)}
.transcript-link-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.transcript-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem}
.transcript-meta-grid div{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface)}
.transcript-code,.transcript-error{margin:0;padding:1rem;border-radius:1rem;background:var(--text);color:var(--on-strong);overflow:auto;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}
@keyframes message-spin{to{transform:rotate(360deg)}}
@keyframes agent-rainbow-border{to{background-position:0 0,100% 50%}}
@media (max-width:1023px){.page-workspace{padding:0 0 5rem}.topbar{padding:.85rem 1rem}.workspace{gap:.75rem}.workspace-bleed{width:100%;margin-left:0}.workspace-grid{gap:.75rem;grid-template-areas:"sidebar-header" "panel-header" "panel-body" "sidebar-body";grid-template-columns:minmax(0,1fr)}.workspace-panel-header{padding:0 .75rem .5rem;margin:0 .75rem;border-bottom:0}.workspace-panel-body{min-height:calc(100vh - 14rem);margin:0 .75rem}.workspace-preview-active{gap:0}.workspace-preview-active .workspace-grid{gap:0}.workspace-preview-active .workspace-sidebar-header,.workspace-preview-active .workspace-panel-header{display:none}.workspace-preview-active .workspace-panel-body{margin:0;padding:0;border:0;border-radius:0;background:transparent;min-height:calc(100vh - 8.25rem)}.workspace-preview-active #preview-frame-shell,.workspace-preview-active .preview-frame{display:block;width:100%;min-height:calc(100vh - 8.25rem);border:0;border-radius:0;background:#fff}.workspace-sidebar-body{position:fixed;left:0;right:0;bottom:0;z-index:30;min-height:0;max-height:min(86vh,52rem);padding:1rem 1rem calc(.45rem + env(safe-area-inset-bottom));border-radius:1.25rem 1.25rem 0 0;box-shadow:0 1.25rem 3rem rgba(23,26,32,.22);transform:translateY(calc(100% + 1.5rem));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.workspace-sidebar-body[data-mobile-open="true"]{transform:translateY(0);opacity:1;pointer-events:auto}.workspace-action-cluster{display:flex;position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:25;gap:.5rem;align-items:center}.workspace-chat-backdrop{display:block;position:fixed;inset:0;z-index:20;background:rgba(23,26,32,.32);opacity:0;pointer-events:none;transition:opacity .22s ease}.workspace-sidebar-body[data-mobile-open="true"] + .workspace-chat-backdrop{opacity:1;pointer-events:auto}.workspace-chat-mobile-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.workspace-chat-mobile-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:-.1rem 0 .9rem}.workspace-chat-panel{min-height:0}.workspace-chat-shell{max-height:none}.message-list{max-height:none}.chat-composer-shell{grid-template-columns:minmax(0,1fr) auto}.projects-index,.transcripts-page{gap:.9rem}.projects-index-header,.transcripts-header{align-items:start;flex-direction:column;gap:.35rem}.projects-index-header h1,.transcripts-header h1{font-size:clamp(1.95rem,10vw,2.5rem)}.projects-index-count{display:none}.projects-index-grid,.transcripts-grid{grid-template-columns:1fr}.projects-list-panel{order:-1;padding:1rem}.projects-create-panel,.transcripts-list,.transcripts-view{position:static;padding:1rem}.project-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:.7rem;padding:.85rem 0}.project-row-delete{justify-self:start}}
@media (max-width:1023px){.projects-studio{padding:1rem 0 2rem}.projects-studio-head{gap:.55rem;margin-bottom:1.2rem}.projects-studio-head h1{font-size:clamp(1.95rem,10vw,2.7rem)}}
@media (max-width:1023px){.home-hero{padding:3rem 0 2.25rem}.home-workspace-strip{padding:0 0 2.2rem}.home-section{padding:2.2rem 0}.home-workspace-body{grid-template-columns:minmax(0,1.4fr) minmax(15rem,.75fr)}.home-building{gap:1.5rem}.home-hire{padding:2rem;gap:2rem}.home-hire-contact{padding-left:2rem}.auth-page{min-height:auto;padding:1.5rem 0 2.5rem}}
@media (max-width:700px){.home-hero h1{font-size:clamp(2.4rem,11vw,4rem)}.home-sub{font-size:1rem}.home-cta-row{align-items:stretch;flex-direction:column;width:100%}.home-cta-row .button{width:100%}.home-meta{justify-content:center}.home-workspace-body,.home-building,.home-hire{grid-template-columns:1fr}.home-workspace-card{margin:0 -.25rem}.home-mini-site-hero,.home-mini-site-copy{min-height:18rem}.home-mini-site-copy{width:62%;padding:1.2rem}.home-mini-site-copy strong{font-size:2rem}.home-mini-chat{min-height:15rem;border-top:1px solid var(--border);border-left:0}.home-building{gap:1.75rem}.home-hire{padding:1.5rem;gap:1.5rem}.home-hire-contact{border-left:0;border-top:1px solid var(--border);padding:1.5rem 0 0}.home-hire-contact .button{width:100%}}

@media (max-width:1023px){body.body-preview-fullscreen .topbar{display:none}body.body-preview-fullscreen .page-workspace{padding:0}body.body-preview-fullscreen .workspace,body.body-preview-fullscreen .workspace-grid,body.body-preview-fullscreen .workspace-panel-body,body.body-preview-fullscreen #preview-frame-shell,body.body-preview-fullscreen .preview-frame{width:100vw;height:100dvh;min-height:100dvh}body.body-preview-fullscreen .workspace-grid{display:block}body.body-preview-fullscreen .workspace-panel-body{margin:0;overflow:hidden}body.body-preview-fullscreen .preview-frame{display:block;border:0;border-radius:0}body.body-preview-fullscreen .workspace-sidebar-body{top:auto;left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:0;width:auto;max-height:min(86vh,52rem);padding:1rem 1rem calc(.45rem + env(safe-area-inset-bottom));border-radius:1.25rem 1.25rem 0 0;transform:translateY(calc(100% + 1.5rem + env(safe-area-inset-bottom)))}body.body-preview-fullscreen .workspace-sidebar-body[data-mobile-open="true"]{transform:translateY(0)}body.body-preview-fullscreen .workspace-action-cluster{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom))}body.body-preview-fullscreen .workspace-chat-shell{max-height:none}body.body-preview-fullscreen .message-list{max-height:none}}
.workspace-action-cluster{display:none}.workspace-action-cluster .workspace-chat-launcher{display:inline-flex;box-shadow:0 .75rem 2rem rgba(23,26,32,.18)}.workspace-edit-toggle{gap:.45rem;min-width:6.2rem;padding:.68rem .9rem;border:1px solid var(--border);background:var(--overlay-surface);color:var(--text);box-shadow:0 .75rem 2rem rgba(23,26,32,.12);backdrop-filter:blur(12px)}.workspace-edit-toggle-active{background:var(--accent-button);color:#fff;border-color:var(--accent)}.workspace-edit-icon{width:1rem;height:1rem;flex:0 0 auto}.preview-edit-form{display:none}
.workspace-preview-active{gap:0;min-height:calc(100vh - 6.2rem)}
.workspace-preview-active .workspace-grid{display:block;position:relative;min-height:calc(100vh - 6.2rem)}
.workspace-preview-active .workspace-sidebar-header,.workspace-preview-active .workspace-panel-header{display:none}
.workspace-preview-active .workspace-panel-body{min-height:calc(100vh - 6.2rem);margin:0;padding:0;overflow:hidden;border:0;border-radius:.85rem;background:#fff}
.workspace-preview-active .preview-frame{display:block;width:100%;min-height:calc(100vh - 6.2rem);border:0;border-radius:.85rem;background:#fff}
.preview-stage{position:relative;width:100%;min-height:calc(100vh - 6.2rem)}
body.body-preview-fullscreen .preview-stage{height:100dvh;min-height:100dvh}
.preview-version-nav{position:absolute;bottom:calc(1.1rem + env(safe-area-inset-bottom));left:calc(1.1rem + env(safe-area-inset-left));z-index:10;display:grid;gap:.45rem;max-width:min(24rem,calc(100% - 8rem));padding:.65rem .75rem;border:1px solid var(--border);border-radius:.75rem;background:var(--overlay-surface);box-shadow:0 .7rem 2rem rgba(23,26,32,.18);backdrop-filter:blur(12px)}
.preview-version-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;font-size:.8rem}
.preview-version-label span,.preview-version-nav p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.35}
.preview-version-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.preview-version-actions .button{min-height:1.9rem;padding:.3rem .55rem;font-size:.75rem}
.preview-version-update{color:var(--success);font-size:.74rem;font-weight:700}
.preview-version-update[hidden]{display:none}
.workspace-action-cluster{display:flex;position:fixed;right:calc(1.1rem + env(safe-area-inset-right));bottom:calc(1.1rem + env(safe-area-inset-bottom));z-index:25;align-items:center;gap:.55rem;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:0 .9rem 2.4rem rgba(23,26,32,.16)}
.workspace-action-cluster .button{min-height:2.65rem}
.workspace-action-cluster .workspace-chat-launcher{display:inline-flex;gap:.5rem;padding:.62rem .92rem;border:0;border-radius:999px;background:var(--text);color:var(--on-strong);box-shadow:none}
.workspace-action-cluster .workspace-chat-launcher.workspace-chat-launcher-active{background:var(--accent-button);color:#fff}
.workspace-edit-toggle{min-width:0;padding:.62rem .82rem;border:0;background:transparent;box-shadow:none}
.workspace-edit-toggle-active{background:var(--accent-button);color:#fff}
.workspace-console{position:fixed;top:calc(5rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));left:auto;z-index:30;display:flex;width:min(35rem,calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)));min-height:0;max-height:none;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:.85rem;background:var(--surface);box-shadow:0 1.4rem 3.6rem rgba(23,26,32,.24);transform:translateX(calc(100% + 1.5rem + env(safe-area-inset-right)));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
.workspace-console[data-mobile-open="true"]{transform:translateX(0);opacity:1;pointer-events:auto}
.workspace-chat-backdrop{display:block;position:fixed;inset:0;z-index:20;background:rgba(23,26,32,.22);opacity:0;pointer-events:none;transition:opacity .2s ease}
.workspace-console[data-mobile-open="true"] + .workspace-chat-backdrop{opacity:1;pointer-events:auto}
.workspace-console-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.95rem 1rem .85rem;border-bottom:1px solid var(--border);margin:0;background:var(--surface)}
.workspace-project-heading{display:grid;align-items:center;justify-self:stretch;max-width:100%;min-width:0;gap:.2rem;text-align:center}
.workspace-project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;line-height:1}
.workspace-chat-projects-link{display:inline-flex;align-items:center;justify-self:start;gap:.28rem;min-height:2.1rem;padding:0 .55rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--muted);font-size:.84rem;text-decoration:none;white-space:nowrap}
.workspace-console-close{justify-self:end;width:2.1rem;min-width:2.1rem;min-height:2.1rem;padding:0;border-radius:999px;background:var(--surface);color:var(--muted);font-size:1.18rem;line-height:1}
.workspace-console-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;padding:.65rem .75rem;border-bottom:1px solid var(--border);background:var(--surface-subtle)}
.workspace-panel-tab{appearance:none;min-width:0;min-height:2rem;padding:.35rem .45rem;border:1px solid transparent;border-radius:.45rem;background:transparent;color:var(--muted);font:600 .82rem/1 "Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}
.workspace-panel-tab:hover{background:var(--surface)}
.workspace-panel-tab-active,.workspace-panel-tab-active:hover,.workspace-panel-tab-active:focus,.workspace-panel-tab-active:active{background:var(--text);color:var(--on-strong);border-color:var(--text)}
.workspace-console-panels{display:flex;flex:1 1 auto;min-height:0;padding:.95rem;overflow:hidden;overscroll-behavior:contain}
.workspace-console .workspace-chat-panel{flex:1 1 auto;min-width:0;min-height:0;width:100%;overflow:hidden}
.workspace-console .workspace-chat-panel[data-cora-panel="photos"]:not([hidden]),.workspace-console .workspace-chat-panel[data-cora-panel="notes"]:not([hidden]),.workspace-console .workspace-chat-panel[data-cora-panel="publish"]:not([hidden]){display:block;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.workspace-console .workspace-chat-shell{min-width:0;gap:.75rem}
.workspace-console .chat-shell-head{min-height:0}
.workspace-console .message-list{padding-right:.2rem;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.workspace-console .chat-composer-shell{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;border-radius:.8rem;box-shadow:0 .45rem 1.2rem rgba(23,26,32,.07)}
.workspace-console .chat-send-button{align-self:center;border-radius:.62rem}
body.body-preview-fullscreen .workspace-console{top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));width:min(35rem,calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:0;border-radius:.85rem;transform:translateX(calc(100% + 1.5rem + env(safe-area-inset-right)))}
body.body-preview-fullscreen .workspace-console[data-mobile-open="true"]{transform:translateX(0)}
body.body-preview-fullscreen .workspace-console-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin:0}
body.body-preview-fullscreen .workspace-console-tabs{display:grid}
body.body-preview-fullscreen .workspace-action-cluster{right:calc(1.1rem + env(safe-area-inset-right));bottom:calc(1.1rem + env(safe-area-inset-bottom))}
@media (max-width:760px){.page-workspace{padding:0 0 4.7rem}.workspace-bleed{width:100%;margin-left:0}.workspace-preview-active,.workspace-preview-active .workspace-grid,.workspace-preview-active .workspace-panel-body,.workspace-preview-active .preview-frame{min-height:calc(100dvh - 4.7rem)}.workspace-preview-active .workspace-panel-body,.workspace-preview-active .preview-frame{border-radius:0}.workspace-console,body.body-preview-fullscreen .workspace-console{top:auto;right:env(safe-area-inset-right);bottom:0;left:env(safe-area-inset-left);width:auto;max-height:min(86dvh,48rem);border-radius:1rem 1rem 0 0;transform:translateY(calc(100% + 1.5rem + env(safe-area-inset-bottom)))}.workspace-console[data-mobile-open="true"],body.body-preview-fullscreen .workspace-console[data-mobile-open="true"]{transform:translateY(0)}.workspace-console-header{padding:.9rem 1rem .75rem}.workspace-console-tabs{overflow-x:auto;grid-template-columns:repeat(3,max-content);justify-content:start}.workspace-panel-tab{padding:.38rem .62rem}.workspace-console-panels{padding:.85rem}.workspace-action-cluster{right:calc(.85rem + env(safe-area-inset-right));bottom:calc(.85rem + env(safe-area-inset-bottom))}.workspace-chat-launcher-label{display:none}.workspace-edit-toggle{padding:.62rem}.workspace-edit-toggle [data-edit-label]{display:none}.workspace-console .chat-composer-shell{grid-template-columns:minmax(0,1fr) auto}}
@media (max-width:760px){body.mobile-chat-open .workspace-action-cluster{opacity:0;pointer-events:none}.workspace-chat-backdrop{background:rgba(23,26,32,.14)}.workspace-console,body.body-preview-fullscreen .workspace-console{height:min(88dvh,46rem);max-width:100vw;max-height:none;border-radius:1.15rem 1.15rem 0 0;background:var(--surface);box-shadow:0 -1.1rem 2.6rem rgba(23,26,32,.18)}.workspace-console-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:.65rem 1rem .7rem;border-bottom:0;background:var(--surface)}.workspace-project-name{font-size:1rem;line-height:1}.workspace-chat-projects-link{min-height:2rem;padding:0 .55rem;background:var(--surface);color:var(--muted);font-size:.84rem;line-height:1}.workspace-console-close{width:2rem;min-width:2rem;min-height:2rem;border-radius:999px;background:var(--surface)}.workspace-console-tabs{display:flex;align-items:center;max-width:100%;min-width:0;min-height:3.25rem;gap:.3rem;padding:.4rem .75rem .5rem;overflow-x:auto;overflow-y:hidden;background:var(--surface);scrollbar-width:none}.workspace-console-tabs::-webkit-scrollbar{display:none}.workspace-panel-tab{flex:0 0 auto;min-height:2.25rem;padding:.46rem .7rem;background:var(--surface-subtle);color:var(--muted);line-height:1;-webkit-tap-highlight-color:transparent}.workspace-panel-tab-active,.workspace-panel-tab-active:hover,.workspace-panel-tab-active:focus,.workspace-panel-tab-active:active{background:var(--text);color:var(--on-strong)}.workspace-console-panels{min-width:0;padding:0 1rem calc(1rem + env(safe-area-inset-bottom))}.workspace-console .chat-shell-head{display:none}.workspace-console .message-list-shell{padding-top:0}.workspace-console .message-list{padding-top:0;margin-top:0}.workspace-console .chat-composer-shell{gap:.45rem;padding:.45rem;border-radius:.75rem;box-shadow:none}.workspace-console .chat-input{min-height:2.45rem;padding:.53rem .45rem .37rem;line-height:1.35}.workspace-console .chat-send-button{width:2.45rem;min-width:2.45rem;min-height:2.45rem;border-radius:.55rem}.workspace-chat-launcher-label{display:inline}.workspace-chat-launcher{min-width:4.6rem}.workspace-edit-toggle{min-width:2.65rem}}
/* Share management. */
.share-settings{max-width:45rem;margin:2rem auto}
.share-settings details{padding:1rem 0;border-top:1px solid var(--border)}
.share-settings details[open]>p{margin:.75rem 0}
.share-settings summary{cursor:pointer;font-weight:600}
.share-settings code{font-size:1.25rem;letter-spacing:2px;overflow-wrap:anywhere}

/* Account and project utility pages use the same shell and controls. */
.utility-page{max-width:78rem;margin:0 auto;padding:2rem 0}
.page-heading{display:grid;gap:.6rem}
.page-heading h1,.transcripts-header h1,.share-settings h1{font-size:clamp(2.25rem,5vw,3rem);line-height:1.06;letter-spacing:-.045em}
.page-heading p,.share-settings>.stack-tight>p{max-width:45rem;color:var(--muted);line-height:1.55}
.terms-page{display:grid;gap:2rem;max-width:45rem;line-height:1.6}
.terms-page section{display:grid;gap:.75rem}
.terms-page h2{font-size:1.25rem;letter-spacing:-.02em}
.terms-page ul,.terms-page ol{display:grid;gap:.4rem;padding-left:1.25rem}
.terms-page table{border-collapse:collapse;width:100%}
.terms-page th,.terms-page td{padding:.4rem .6rem;border-bottom:1px solid var(--border);text-align:left}
.claim-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);max-width:65rem;min-height:calc(100dvh - 8rem);padding:3rem 0}
.claim-intro{display:grid;gap:2rem;min-width:0}
.claim-back{width:fit-content;color:var(--muted);font-size:.9rem;text-decoration:none}
.claim-back:hover{text-decoration:underline;text-underline-offset:.2em}
.claim-page .page-heading{gap:1rem}
.claim-page .page-heading h1{font-size:clamp(2.6rem,5vw,3.8rem);line-height:1.05;letter-spacing:-.05em}
.claim-page .page-heading p{font-size:1.1rem;line-height:1.65}
.claim-page .page-heading strong{color:var(--text);font-weight:600}
.claim-steps{display:grid;gap:1.4rem;margin:0;padding:0;list-style:none}
.claim-steps li{display:flex;gap:1rem;align-items:flex-start}
.claim-steps li>span{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:.85rem;font-weight:600}
.claim-steps li[aria-current]>span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.claim-steps strong{display:block;margin:.2rem 0 .35rem;font-size:.95rem}
.claim-steps p,.claim-summary p{color:var(--muted);font-size:.95rem;line-height:1.55}
.claim-card{display:grid;gap:1.5rem;min-width:0;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 1rem 3rem rgba(23,26,32,.06)}
.claim-card h2,.claim-summary h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.claim-card p:where(:not(.notice)){color:var(--muted);line-height:1.55;overflow-wrap:anywhere}
.claim-card .auth-form{gap:1.25rem}
.claim-card .field{gap:.6rem;font-size:.9rem;font-weight:600}
.claim-card .claim-code{min-height:3.5rem;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;background:var(--surface-subtle)}
.claim-code::placeholder{font-size:1rem;letter-spacing:normal;text-transform:none;font-weight:400}
.claim-card .button{width:100%;min-height:3rem;background:var(--accent-button);color:#fff}
.claim-card .claim-help{font-size:.85rem}
.claim-card .claim-assurance{padding-top:1.25rem;border-top:1px solid var(--border-subtle);font-size:.85rem}
.claim-card .claim-verified{color:var(--success);font-size:.85rem;font-weight:600}
.claim-signin{text-align:center;font-size:.9rem;text-underline-offset:.2em}
.claim-summary{display:grid;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--border)}
@media(max-width:760px){.claim-page{grid-template-columns:1fr;gap:2rem;min-height:auto;padding:1.5rem 0;max-width:32rem}.claim-intro{display:contents}.claim-page .page-heading{order:1}.claim-card{order:2;padding:1.5rem}.claim-steps,.claim-summary{order:3}.claim-steps{gap:1rem}}
.media-image{width:100%;height:180px;object-fit:contain;border-bottom:1px solid var(--border);background:var(--surface-subtle)}
.media-card .project-card-body{gap:.35rem;padding:1rem;overflow-wrap:anywhere}
.publish-secondary>form{display:grid;justify-items:start;gap:.65rem}
.publish-panel p,.publish-panel dd{line-height:1.5;overflow-wrap:anywhere}
.publish-panel dl{margin:0}
.publish-panel{gap:1.5rem;padding:.5rem .25rem 1.25rem;align-content:start}
.publish-panel>form{display:grid;gap:1rem;justify-items:start}
.publish-panel>form>.field{width:100%;gap:.65rem;font-size:.9rem;font-weight:600}
.publish-panel>form>.button{width:100%}
.publish-address{display:flex;align-items:center;gap:.65rem;width:100%;padding-right:.85rem;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-subtle)}
.publish-address .input{min-width:0;border:0;border-radius:var(--control-radius) 0 0 var(--control-radius)}
.publish-address>span{flex-shrink:0;color:var(--muted);font-size:.85rem;font-weight:400}
.publish-panel .publish-secondary{padding:1.15rem 0 0}
.publish-panel .publish-secondary>div{padding:.85rem 0}
.publish-panel dd{margin:.25rem 0 .75rem}
@media(max-width:600px){.utility-page,.transcripts-page{padding:1rem 0}}
@media(prefers-reduced-motion:reduce){.workspace-console,.workspace-sidebar-body,.workspace-chat-backdrop,.project-card{transition:none}.message-spinner{animation:none}.project-card:hover{transform:none}}

.preview-surface{position:relative;width:100%}
/* Preview editing controls stay on the trusted dashboard surface. */
.workspace-feedback-tools [data-feedback-hint]{margin:.5rem .45rem;color:var(--muted);font-size:.75rem;text-align:center}
.workspace-feedback-tools details{border-top:1px solid var(--border);padding:.5rem .45rem .25rem;max-height:30vh;overflow:auto;max-width:22rem}
.workspace-feedback-tools summary{cursor:pointer;color:var(--muted)}
.workspace-feedback-tools [data-feedback-list]{padding-top:.6rem}
.feedback-activity-item{padding:.65rem 0;border-bottom:1px solid var(--border)}
.feedback-activity-item:last-child{border-bottom:0}
.feedback-activity-item p{margin:.25rem 0;overflow-wrap:anywhere}
.feedback-activity-status{font-size:.7rem;color:var(--muted)}
.feedback-dialog{position:fixed;margin:0;width:min(22rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;z-index:35;border:1px solid var(--border);border-radius:1rem;padding:1rem;color:var(--text);background:var(--surface,#fff);box-shadow:0 12px 48px #17202e26}
.feedback-dialog form{display:grid;gap:.8rem}
.feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.feedback-dialog h2{font-family:inherit;font-size:.95rem;letter-spacing:0;margin:0}
.feedback-heading button{font-size:1.25rem;line-height:1;padding:.2rem .45rem;color:var(--muted)}
.feedback-dialog blockquote{margin:0;padding:.55rem .7rem;border-left:2px solid var(--accent);background:var(--surface-subtle);border-radius:0 .4rem .4rem 0;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere;max-height:4rem;overflow:auto}
.feedback-dialog textarea{min-height:6rem;max-height:40dvh;resize:vertical;font-size:.95rem}
.feedback-dialog .field{gap:.35rem;font-size:.8rem}
.feedback-dialog textarea:focus{border-color:var(--accent);outline:2px solid #2563eb1f;outline-offset:1px}
.feedback-help{font-size:.75rem;color:var(--muted);margin:0}
.feedback-error{font-size:.8rem;margin:0;overflow-wrap:anywhere}
.feedback-error:empty{display:none}
.feedback-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}
.feedback-shortcut{margin-right:auto;font-size:.65rem;color:var(--muted)}
.feedback-dialog [hidden],.workspace-feedback-tools [hidden]{display:none}
.feedback-inline{padding:.65rem .8rem;border-radius:.7rem}
.feedback-inline .feedback-heading,.feedback-inline blockquote,.feedback-inline .feedback-help{display:none}
@media(max-width:600px){.feedback-shortcut{display:none}.feedback-dialog{width:calc(100vw - 1.5rem)}}

/* Photo attachments stay with the message throughout the editing flow. */
.chat-composer{position:relative}
.workspace-console .chat-composer-shell{grid-template-columns:auto minmax(0,1fr) auto;align-items:end}
.chat-photo-menu{position:relative;align-self:end}
.chat-photo-menu>summary{display:grid;place-items:center;width:2.45rem;height:2.45rem;border-radius:.55rem;color:var(--muted);cursor:pointer;list-style:none}
.chat-photo-menu>summary::-webkit-details-marker{display:none}
.chat-photo-menu>summary:hover,.chat-photo-menu[open]>summary{background:var(--surface);color:var(--text)}
.chat-photo-menu svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.chat-photo-options{position:absolute;bottom:calc(100% + .7rem);left:0;z-index:5;width:min(19rem,calc(100vw - 3rem));max-height:21rem;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:.8rem;box-shadow:0 .6rem 2rem rgba(23,26,32,.15);padding:.55rem;display:grid;gap:.35rem}
.chat-photo-options>.button{justify-content:flex-start;width:100%;cursor:pointer}
.chat-attachments{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .6rem}
.chat-attachments[hidden]{display:none}
.chat-photo-chip{position:relative;display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.5rem;width:calc(50% - .25rem);min-width:0;border:1px solid var(--border);background:var(--surface-subtle);border-radius:.65rem;padding:.4rem}
.chat-photo-chip img{width:3rem;height:3rem;object-fit:cover;border-radius:.4rem}
.chat-photo-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;padding-right:.8rem}
.chat-photo-chip button{position:absolute;right:.15rem;top:.1rem;display:grid;place-items:center;width:1.35rem;height:1.35rem;border:0;background:var(--surface);border-radius:50%;color:var(--muted);cursor:pointer;font-size:1rem}
.chat-composer-status{font-size:.76rem;line-height:1.4;color:var(--muted);margin:.4rem .2rem 0;min-height:1.1rem}
.chat-composer-status[data-error="true"]{color:var(--danger)}
.chat-photo-drop-active .chat-composer{outline:2px dashed var(--accent);outline-offset:5px;border-radius:.8rem}
.message-photos{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.6rem}
.message-photos a{display:block}
.message-photos img{display:block;max-width:9rem;width:100%;height:6rem;object-fit:cover;border-radius:.55rem}
.chat-photo-library-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.4rem}
.chat-library-photo{position:relative;min-width:0;border:1px solid var(--border);border-radius:.5rem;padding:.35rem;background:var(--surface);text-align:left;cursor:pointer}
.chat-library-photo-add{position:absolute;top:.6rem;right:.6rem;width:1.6rem;height:1.6rem;padding:.25rem;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0003;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.chat-library-photo img{display:block;width:100%;height:5rem;object-fit:cover;border-radius:.3rem}
.chat-library-photo span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;margin-top:.3rem}
.chat-photo-library-grid>.muted{grid-column:1/-1;font-size:.8rem}

.chat-work-status-failed{border-color:var(--danger-border);background:var(--danger-bg)}

.chat-account-notice{margin:.4rem .2rem 0;font-size:.76rem;line-height:1.4}
/* Fresh project requirements chat */
.body-onboarding-chat{height:100dvh;display:flex;flex-direction:column}
.body-onboarding-chat>.page{flex:1;min-height:0;width:100%;padding:0}
.body-onboarding-chat .project-onboarding{height:100%;min-height:0;margin:0 auto;padding:48px 24px 24px}
.body-onboarding-chat .page-heading,.body-onboarding-chat .onboarding-status{flex-shrink:0}
.body-onboarding-chat .workspace-chat-shell{min-height:0;overflow:hidden}
.body-onboarding-chat .message-list{min-height:0;max-height:none}
[data-computer-progress]:empty{display:none}
.body-onboarding-chat .chat-composer{flex-shrink:0}

.project-onboarding{width:min(100%,720px);margin:48px auto;padding:24px;display:flex;flex-direction:column;gap:24px}
.project-onboarding-start{margin-top:90px;gap:24px}
.project-onboarding-start .page-heading{text-align:center}
.project-start-composer{display:grid;gap:16px;padding:18px;border:1px solid var(--border);border-radius:1.25rem;background:var(--surface);box-shadow:0 .7rem 1.8rem rgba(22,30,40,.07)}
.project-start-composer:focus-within{border-color:var(--accent)}
.project-start-composer .textarea{min-height:92px;padding:.25rem .35rem;resize:none;border:0;background:transparent;line-height:1.6}
.project-start-composer .textarea:focus{outline:0}
.project-start-composer .button{justify-self:end;gap:12px;border-radius:.7rem}
.project-start-examples{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.project-start-examples button{min-height:40px;padding:10px 13px;border:1px solid var(--border);border-radius:99px;background:var(--surface-subtle);color:var(--muted);font-size:.875rem;cursor:pointer}
.project-start-examples button:hover{color:var(--text);border-color:var(--muted)}
.project-onboarding .chat-input{resize:none}
.project-onboarding .chat-shell-head{display:none}
.project-onboarding .chat-composer-shell{grid-template-columns:auto minmax(0,1fr) auto;align-items:end}
.project-onboarding .chat-composer-shell:not(:focus-within){box-shadow:none}
.onboarding-status[data-project-phase="preparing"],.onboarding-status[data-project-phase="discovery"]{display:none}
.onboarding-status{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.onboarding-status p{margin:0}
.onboarding-status .button{white-space:nowrap}
@media(max-width:600px){.project-onboarding{margin:16px auto;padding:16px}.project-onboarding-start{margin-top:32px}.project-onboarding>.page-heading h1{font-size:clamp(1.75rem,7vw,2.25rem)}.onboarding-status{align-items:flex-start;flex-direction:column}}


@media(max-width:600px){.project-onboarding-start{margin-top:56px;padding:16px 0}.project-start-composer .textarea{font-size:1rem}.project-start-examples button{font-size:.8rem;min-height:44px;padding:10px}.body-onboarding-chat .project-onboarding{padding:20px 16px calc(8px + env(safe-area-inset-bottom))}}

.project-delete-dialog{max-width:460px;width:calc(100% - 40px);padding:32px;border:1px solid var(--border);border-radius:20px;color:var(--text);box-shadow:0 24px 80px #0f172a33}
.project-delete-dialog::backdrop{background:#0f172a66;backdrop-filter:blur(4px)}
.project-delete-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.project-delete-dialog h2{margin:0;font-size:24px;line-height:1.25;overflow-wrap:anywhere}
.project-delete-dialog p{line-height:1.6;color:var(--muted)}
.project-delete-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--danger-bg);color:var(--danger);font-size:28px}
.project-delete-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:28px}
.project-delete-cancel{background:var(--accent-button);color:#fff}
.project-delete-error{color:var(--danger)!important;margin-bottom:0}
.deleted-projects-page{display:grid;gap:2rem;padding:2rem 0 3rem}
.deleted-projects-back{justify-self:start;color:var(--muted);font-size:.9rem;text-decoration:none}
.deleted-projects-back:hover{color:var(--text)}
.deleted-projects-page .page-heading{gap:.75rem}
.deleted-projects-page .page-heading p{max-width:42rem}
.deleted-project-list{display:grid;gap:1rem}
.deleted-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.35rem 1.5rem;border-radius:.75rem}
.deleted-project-copy{display:grid;gap:.5rem;min-width:0}
.deleted-project-row h2,.deleted-project-empty h2{font-size:1.15rem;line-height:1.3;overflow-wrap:anywhere}
.deleted-project-row p{font-size:.9rem;line-height:1.5}
.deleted-project-row .button{white-space:nowrap}
.deleted-project-empty{display:grid;justify-items:start;gap:.85rem;padding:2rem;border-radius:.75rem}
.deleted-project-empty p{line-height:1.5}
.deleted-project-empty .button{margin-top:.4rem}
@media(max-width:600px){.deleted-projects-page{gap:1.5rem;padding:1rem 0 2rem}.deleted-project-row{grid-template-columns:1fr;gap:1.1rem;padding:1.25rem}.deleted-project-row form,.deleted-project-row .button{width:100%}.deleted-project-empty{padding:1.5rem}}
.project-onboarding .message-bubble{box-shadow:none;transform-origin:top left;border-color:var(--border)}
.project-onboarding .message-user .message-bubble{border-color:transparent}
.project-start-error{margin:0;color:var(--danger)}
.project-start-composer.htmx-request .button{opacity:.65;cursor:wait}

/* Account billing */
.billing-page{max-width:64rem;display:grid;gap:2rem;padding:2.5rem 0 4rem}
.billing-heading{gap:.75rem}
.billing-notice{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .65rem;padding:.85rem 1rem;border-radius:var(--radius);background:var(--surface-subtle);color:var(--muted);font-size:.875rem;line-height:1.5}
.billing-notice strong{color:var(--text)}
.billing-notice a{color:var(--accent)}
.billing-balance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2rem;padding:2rem;background:linear-gradient(115deg,var(--accent-soft),var(--surface));align-items:center}
.billing-balance h2{font-size:.95rem;font-weight:600;color:var(--muted)}
.billing-credit-total{margin:.6rem 0 .35rem;font-size:clamp(2.75rem,6vw,3.75rem);line-height:1.05;font-weight:700;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.billing-balance-details{display:grid;gap:.8rem;line-height:1.55}
.billing-section{display:grid;gap:1.25rem}
.billing-section-heading{display:grid;gap:.5rem}
.billing-section-heading h2{font-size:1.4rem;letter-spacing:-.025em;line-height:1.25}
.billing-section-heading p{color:var(--muted);line-height:1.55}
.billing-hosting-form{display:grid;gap:1.5rem;padding:1.5rem}
.billing-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.25rem}
.billing-fields .field{gap:.6rem;font-size:.9rem;font-weight:600}
.billing-fields .input{font-weight:400;min-width:0;min-height:3rem}
.billing-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}
.billing-form-footer p,.billing-footnote{color:var(--muted);font-size:.85rem;line-height:1.55}
.billing-credit-group{display:grid;gap:.8rem}
.billing-credit-group+.billing-credit-group{margin-top:.5rem}
.billing-group-label{font-size:.875rem;font-weight:600;color:var(--muted)}
.billing-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.billing-plan-card{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem}
.billing-plan-top{display:grid;gap:.5rem;flex:1}
.billing-plan-top h2,.billing-plan-top h3{font-size:1.15rem;letter-spacing:-.015em}
.billing-plan-top p{color:var(--muted);font-size:.925rem;line-height:1.55}
.billing-plan-price{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;line-height:1.3;margin-top:.25rem}
.billing-plan-price span{font-size:.85rem;font-weight:400;letter-spacing:0;color:var(--muted)}
.billing-plan-allowance{font-size:.9rem;color:var(--muted)}
.billing-plan-card .button{width:100%;margin-top:.4rem;min-height:2.75rem}
.billing-pack-card{background:var(--surface-subtle)}
.billing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.billing-actions form{margin:0}
.billing-empty{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;line-height:1.55}
.billing-orders{padding:0 1.5rem}
.billing-order{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0}
.billing-order+.billing-order{border-top:1px solid var(--border-subtle)}
.billing-order h3{font-size:1rem;margin-bottom:.4rem}
.billing-usage{padding:1.5rem;display:grid;gap:1rem;min-width:0}
.billing-table-scroll{overflow-x:auto}
.billing-usage table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;line-height:1.5}
.billing-usage th{color:var(--muted);font-weight:600}
.billing-usage th,.billing-usage td{padding:.8rem .8rem .8rem 0;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
.billing-usage tbody tr:last-child td{border-bottom:0}
@media(max-width:700px){.billing-page{gap:1.5rem;padding:1.5rem 0 3rem}.billing-balance{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem}.billing-balance-details{padding-top:1.25rem;border-top:1px solid var(--border)}.billing-fields{grid-template-columns:1fr}.billing-form-footer{align-items:flex-start;flex-direction:column}.billing-form-footer .button{width:100%}}
@media(max-width:480px){.billing-plan-grid{grid-template-columns:1fr}.billing-plan-card,.billing-hosting-form,.billing-balance{padding:1.25rem}.billing-actions{width:100%}.billing-actions form{flex:1}.billing-actions .button{width:100%}}

.pricing-page{max-width:64rem;display:grid;gap:2.5rem;padding:2.5rem 0 4rem}
.pricing-page .billing-plan-top{flex:0}
.pricing-page .billing-plan-allowance{margin-top:auto}
.pricing-features{display:grid;gap:.5rem;padding-left:1.2rem;line-height:1.5}
.pricing-next{display:grid;gap:.65rem;color:var(--muted);font-size:.9rem;line-height:1.55}
.pricing-next a{color:var(--accent)}
.pricing-details{display:grid;gap:1rem;padding:1.5rem}
.pricing-details p{color:var(--muted);line-height:1.65}
.pricing-details h2{font-size:1.4rem;letter-spacing:-.025em}
@media(max-width:700px){.pricing-page{gap:2rem;padding:1.5rem 0 3rem}}

.photo-library-select{cursor:pointer;margin:.4rem}
.photo-library-select:has(input:disabled){opacity:.5;pointer-events:none}
.chat-library-photo-card{position:relative;min-width:0}
.chat-library-photo-card>.chat-library-photo{width:100%}
.photo-library-remove{position:absolute;top:.6rem;left:.6rem;width:1.6rem;height:1.6rem;padding:0;border:0;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0003;cursor:pointer;font-size:1.1rem;line-height:1}
.photo-library-uploading{position:relative}
.photo-upload-track{position:absolute;left:.6rem;right:.6rem;top:4rem;height:.35rem;border-radius:1rem;background:#ffffffb3;overflow:hidden}
@keyframes preview-progress{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
.photo-upload-track span{display:block;width:40%;height:100%;border-radius:inherit;background:var(--accent);animation:preview-progress 1.6s ease-in-out infinite}
.photo-upload-track[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.photo-upload-track span{animation:none;width:100%}}

.photo-library-select:focus-within{outline:2px solid var(--accent);outline-offset:3px}

.photo-library-uploading [data-upload-retry][hidden]{display:none}


.preview-frame,.invited-preview-frame{color-scheme:light}

/* Account settings */
.account-settings{max-width:68rem;margin:2.75rem auto 4rem}
.account-settings-heading{display:grid;gap:.65rem;margin-bottom:2.5rem}
.account-settings-heading h1{font-size:2.25rem;line-height:1.15;letter-spacing:-.045em}
.account-settings-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem;align-items:start}
.account-settings-identity{display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem;padding:0 .6rem}
.account-settings-avatar{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border:1px solid var(--border);border-radius:50%;background:var(--surface-subtle);color:var(--muted)}
.account-settings-avatar svg{width:1.25rem;height:1.25rem}
.account-settings-identity>div{display:grid;gap:.3rem;min-width:0}
.account-settings-identity strong{font-size:.82rem;font-weight:600}
.account-settings-identity>div>span{color:var(--muted);font-size:.75rem;overflow-wrap:anywhere;line-height:1.4}
.account-settings-nav{display:grid;gap:.3rem}
.account-settings-nav a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .85rem;border-radius:.5rem;text-decoration:none;color:var(--muted);font-size:.85rem;font-weight:500}
.account-settings-nav-icon{font-size:1rem}
.account-settings-nav a:hover{background:var(--surface-subtle);color:var(--text)}
.account-settings-nav a[aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.account-settings-content{min-width:0}
.toast-region{position:fixed;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));z-index:100;transform:translateX(-50%);pointer-events:none;display:grid;gap:.6rem;width:max-content;max-width:calc(100vw - 2rem)}
.toast{display:flex;align-items:center;gap:1rem;max-width:100%;padding:.7rem 1rem;border:1px solid var(--success-border);border-radius:var(--radius);background:var(--success-bg);color:var(--success);font-size:.9rem;font-weight:600;box-shadow:0 .5rem 1.5rem rgba(23,26,32,.16);pointer-events:auto;overflow-wrap:anywhere}
.toast-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}
.toast button{flex:none;border:0;background:none;color:inherit;cursor:pointer;font:inherit;font-size:1.2rem;padding:.25rem;line-height:1}
.toast button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.account-appearance{border:1px solid var(--border);border-radius:.85rem;overflow:hidden;background:var(--surface)}
.account-appearance-body{padding:2rem}
.account-appearance h2{font-size:1.25rem;letter-spacing:-.025em;font-weight:600;margin-bottom:.5rem}
.account-appearance-body>.muted{font-size:.9rem}
.account-theme-fieldset{min-width:0;margin:2rem 0 0;padding:0;border:0}
.account-theme-fieldset legend{padding:0;margin-bottom:.85rem;font-size:.8rem;font-weight:600}
.account-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.account-theme-choice{display:block;position:relative;min-width:0;padding:.5rem .5rem .9rem;border:1px solid var(--border);border-radius:.65rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.account-theme-choice:hover{border-color:var(--muted)}
.account-theme-choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}
.account-theme-choice:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.account-theme-label{display:flex;align-items:center;gap:.45rem;margin:.8rem .45rem .25rem;font-size:.82rem}
.account-theme-label input{width:.9rem;height:.9rem;margin:0;flex:none}
.account-theme-label strong{font-weight:600}
.account-theme-description{display:block;margin-left:1.8rem;color:var(--muted);font-size:.75rem;line-height:1.4}
.account-theme-help{max-width:34rem;margin:1.3rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.65}
.account-appearance-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 2rem;border-top:1px solid var(--border-subtle);background:var(--surface-subtle)}
.account-appearance-footer p{color:var(--muted);font-size:.76rem;line-height:1.5}
.account-appearance-footer .button{min-height:2.35rem;padding:.65rem .9rem;font-size:.8rem;border-radius:.45rem}
.account-theme-preview{--sample-bg:#f2f4f7;--sample-surface:#fff;--sample-line:#dfe4ec;--sample-ink:#acb7c8;display:block;height:6.6rem;overflow:hidden;border:1px solid var(--sample-line);border-radius:.35rem;background:var(--sample-bg)}
.account-theme-preview-dark{--sample-bg:#151c26;--sample-surface:#222c3a;--sample-line:#354153;--sample-ink:#53647d}
.account-theme-preview-system{position:relative;border-color:#657189}
.account-theme-preview-system>.account-theme-preview{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.account-theme-preview-system>.account-theme-preview-light{clip-path:inset(0 50% 0 0)}
.account-theme-preview-system>.account-theme-preview-dark{clip-path:inset(0 0 0 50%)}
.account-theme-preview-bar{display:flex;align-items:center;gap:.18rem;height:1.1rem;padding:0 .4rem;border-bottom:1px solid var(--sample-line);background:var(--sample-surface)}
.account-theme-preview-bar i{width:.2rem;height:.2rem;border-radius:50%;background:#8997aa}
.account-theme-preview-layout{display:grid;grid-template-columns:22% minmax(0,1fr);height:calc(100% - 1.1rem)}
.account-theme-preview-nav{display:grid;align-content:start;gap:.35rem;padding:.65rem .35rem;border-right:1px solid var(--sample-line);background:var(--sample-surface)}
.account-theme-preview-nav i{height:.2rem;border-radius:.15rem;background:#8da4c4}
.account-theme-preview-content{display:grid;align-content:start;gap:.3rem;padding:.7rem .6rem}
.account-theme-preview-content>i{width:80%;height:.2rem;border-radius:.15rem;background:var(--sample-ink)}
.account-theme-preview-content>i:first-child{width:45%;height:.32rem;margin-bottom:.2rem;background:#7299d2}
.account-theme-preview-content>span{display:flex;gap:.3rem;margin-bottom:.2rem}
.account-theme-preview-content>span i{width:50%;height:1.4rem;border:1px solid var(--sample-line);border-radius:.2rem;background:var(--sample-surface)}
@media(max-width:850px){.account-settings-layout{grid-template-columns:12rem minmax(0,1fr);gap:1.5rem}.account-appearance-body{padding:1.5rem}.account-appearance-footer{padding:1.15rem 1.5rem}.account-theme-options{gap:.6rem}.account-theme-description{margin-left:.45rem;font-size:.75rem}.account-theme-label{gap:.3rem}}
@media(max-width:640px){.account-settings{margin:1.75rem auto 2rem}.account-settings-heading{margin-bottom:1.75rem}.account-settings-heading h1{font-size:1.9rem}.account-settings-layout{grid-template-columns:1fr;gap:1.5rem}.account-settings-identity{padding:0;margin-bottom:1rem}.account-settings-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.account-settings-nav a{justify-content:center;padding:.7rem .45rem;font-size:.78rem}.account-settings-nav-icon{display:none}.account-appearance-body{padding:1.25rem}.account-theme-fieldset{margin-top:1.5rem}.account-theme-options{gap:.55rem}.account-theme-choice{padding:.35rem .35rem .75rem}.account-theme-preview{height:5.25rem}.account-theme-label{margin:.65rem .15rem .3rem;font-size:.75rem}.account-theme-description{margin-left:.15rem;font-size:.75rem}.account-theme-preview-content{padding:.55rem .35rem}.account-theme-preview-nav{padding:.55rem .25rem}.account-appearance-footer{padding:1rem 1.25rem}.account-appearance-footer p{max-width:9rem;font-size:.75rem}}
/* Movable controls stay visible while chat opens beside the site. */
.workspace.workspace-preview-active .workspace-action-cluster{display:flex;gap:.65rem;padding:.55rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--overlay-surface);box-shadow:0 2px 5px #17202e12,0 12px 28px #17202e24,0 28px 64px #17202e14;z-index:35;font-size:.9375rem;opacity:1;pointer-events:auto;max-width:calc(100vw - 16px);--bar-safe-left:env(safe-area-inset-left,0px);--bar-safe-right:env(safe-area-inset-right,0px);--bar-safe-top:env(safe-area-inset-top,0px);--bar-safe-bottom:env(safe-area-inset-bottom,0px);cursor:grab;touch-action:none;user-select:none}
.workspace-bar-home{display:flex;align-items:center;gap:.4rem;padding:.6rem .45rem;color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap}
.workspace-bar-home svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.workspace.workspace-preview-active .workspace-feedback-tools{position:static;transform:none;width:auto;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:inherit}
.workspace-feedback-tools[hidden]{display:none}
.workspace.workspace-preview-active .feedback-modes{display:flex;gap:0;padding:.15rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface-subtle)}
.feedback-modes button{border:0;background:transparent;cursor:pointer;font:inherit;font-size:.9375rem;font-weight:600;line-height:1.2;white-space:nowrap;min-height:2.75rem;padding:.65rem .8rem;border-radius:.4rem;color:var(--muted)}
.feedback-modes button[aria-pressed="true"]{background:var(--accent-button);color:#fff}
.feedback-modes button[data-feedback-done]{color:var(--accent)}
.feedback-modes button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.feedback-modes button:disabled{opacity:.5;cursor:not-allowed}
.workspace-feedback-popover{position:absolute;right:0;bottom:calc(100% + .6rem);max-width:min(22rem,calc(100vw - 16px));width:max-content;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);box-shadow:0 6px 24px #17202e14}
.workspace-action-cluster[data-popover-side="below"] .workspace-feedback-popover{bottom:auto;top:calc(100% + .6rem)}
.workspace-feedback-popover:has([data-feedback-hint][hidden]):has([data-feedback-history][hidden]){display:none}
.workspace.workspace-preview-active .workspace-chat-launcher{flex-shrink:0;min-width:max-content;min-height:2.75rem;padding:.6rem .85rem;border:0;border-radius:.65rem;background:var(--surface-subtle);color:var(--text);font-size:.9375rem;font-weight:600;letter-spacing:0;box-shadow:none;touch-action:auto}
.workspace.workspace-preview-active .workspace-chat-launcher-active{background:var(--accent-soft);color:var(--accent)}
.workspace-bar-status{flex:0 0 auto;width:.6rem;height:.6rem;margin:0 .15rem;border-radius:50%;background:var(--success)}
.workspace-bar-status[data-site-status="loading"]{background:#e6ad17;animation:site-status-pulse 1.2s ease-in-out infinite}
.workspace-bar-status[data-site-status="error"]{background:var(--danger)}
@keyframes site-status-pulse{50%{box-shadow:0 0 0 4px #e6ad1733;opacity:.55}}
.workspace.workspace-preview-active .workspace-console{right:auto;bottom:auto;max-height:none;max-width:calc(100vw - 16px);min-height:0;border-radius:.85rem;transform:none;transition:opacity .18s ease}
.workspace.workspace-preview-active .workspace-console[data-mobile-open="true"]{transform:none}
.workspace.workspace-preview-active .workspace-chat-backdrop{background:transparent}
@media(max-width:760px){
  .workspace.workspace-preview-active .workspace-action-cluster{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto auto;width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));right:calc(8px + env(safe-area-inset-right));gap:.25rem;padding:.25rem;font-size:.875rem}
  .workspace-bar-home{grid-column:1;grid-row:1;min-height:2.75rem;justify-content:center;padding:.55rem .4rem}
  .workspace-bar-home-label{display:none}
  .workspace-bar-status{grid-column:3;grid-row:1;margin:0 .125rem}
  .workspace.workspace-preview-active .workspace-chat-launcher{grid-column:4;grid-row:1;min-width:2.75rem;min-height:2.75rem;padding:.6rem .25rem;font-size:.875rem}
  .workspace.workspace-preview-active .workspace-feedback-tools{grid-column:2;grid-row:1;min-width:0}
  .workspace.workspace-preview-active .feedback-modes button{flex:1;min-width:2.75rem;text-align:center;font-size:.875rem;padding:.8rem .2rem}
}
@media(prefers-reduced-motion:reduce){.workspace-bar-status{animation:none!important}.workspace.workspace-preview-active .workspace-console{transition:none}}


.message-outgoing .message-bubble{background:var(--surface-subtle);color:var(--muted);border-color:var(--border)}
.message-user:has(.message-delivery){flex-direction:column;align-items:flex-end}
.message-delivery{display:flex;gap:.45rem;align-items:center;justify-content:flex-end;font-size:.7rem;color:var(--muted);padding:.2rem .55rem 0}
.message-delivery .link-button{font-size:inherit;padding:0;text-decoration:underline}

.thinking-label{color:var(--muted);font-size:.9rem}
.thinking-wave{display:inline-flex}
.thinking-wave i{font-style:normal;animation:thinking-pulse 1.4s ease-in-out infinite;animation-delay:calc(var(--thinking-index) * .08s)}
[data-computer-thinking] .message-bubble{background:transparent;border:0;box-shadow:none}
@keyframes thinking-pulse{0%,80%,100%{opacity:.25}40%{opacity:1}}
@property --build-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.chat-build-progress{position:relative;padding:18px 20px 18px 52px;border:2px solid transparent;border-radius:14px;background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--build-angle),var(--border) 0deg 240deg,var(--accent) 280deg 330deg,var(--border) 360deg) border-box;color:var(--text);animation:build-progress 3s linear infinite}
.chat-build-progress::before{content:'✦';position:absolute;left:20px;top:17px;color:var(--accent);font-size:23px}
.chat-build-outcome{padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}
.chat-build-progress strong,.chat-build-outcome strong{display:block;font-size:14px;font-weight:600}
.chat-build-progress>span,.chat-build-outcome>span{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}
@keyframes build-progress{to{--build-angle:360deg}}
@media(prefers-reduced-motion:reduce){.thinking-wave i,.chat-build-progress{animation:none}.thinking-wave i{opacity:1}}

/* Keep the chat heading compact so the conversation owns the viewport. */
.body-onboarding-chat .project-onboarding{width:min(100%,840px);gap:12px;padding-top:16px}
.onboarding-heading{display:flex;align-items:center;gap:16px;margin:0}
.onboarding-back{flex-shrink:0;font-size:.85rem;color:var(--muted);text-decoration:none}
.onboarding-back:hover{text-decoration:underline}
.body-onboarding-chat .onboarding-heading h1{font-size:1.125rem;line-height:1.25}
.onboarding-heading>div{flex:1}
.onboarding-heading>div p{margin:.25rem 0 0;font-size:.75rem}
.onboarding-heading #chat-credits{flex-shrink:0;margin:0;text-align:right;font-size:.75rem}
.chat-attachments-in-card{display:none}
.chat-photo-chip .photo-upload-track{position:absolute;top:auto;left:4px;right:4px;bottom:4px;overflow:hidden;height:4px;border-radius:4px;background:var(--border)}
.chat-photo-chip .photo-upload-track span{display:block;height:100%;padding:0;animation:none;background:var(--accent)}
.chat-photo-chip .photo-upload-retry{top:auto;bottom:4px;right:4px;width:auto;height:auto;padding:4px 6px;border-radius:6px;font-size:11px}
@media(max-width:600px){.body-onboarding-chat .project-onboarding{padding-top:12px;gap:10px}.onboarding-heading{gap:10px}.onboarding-heading #chat-credits{max-width:100px}.body-onboarding-chat .onboarding-heading h1{font-size:1rem}.onboarding-back{font-size:.75rem}}

.onboarding-heading>div{min-width:0}

.body-onboarding-chat>.site-footer{display:none}
.chat-composer-status:empty{display:none}

.business-details-form{display:grid;gap:14px;padding:0 16px 16px}.business-field{display:grid;gap:5px;min-width:0;font-size:.85rem}.business-field textarea{resize:vertical}.business-hours-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.business-hours-times input{min-width:0;width:100%}.business-details-error{margin:0;color:var(--danger);font-size:.85rem}.business-details-form>.preference-note{margin:0}.business-details-form .preference-actions{padding:0}.business-details-form .input:disabled{opacity:.7}
@media(max-width:600px){.business-details-form .preference-actions{grid-template-columns:1fr 1fr}}

.workspace-console-panels{padding-bottom:calc(.35rem + env(safe-area-inset-bottom))}

.message-history{scrollbar-width:thin;scrollbar-color:transparent transparent}
.message-history[data-scrolling="true"]{scrollbar-color:var(--muted) transparent}
.message-history::-webkit-scrollbar{width:6px}
.message-history::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}
.message-history[data-scrolling="true"]::-webkit-scrollbar-thumb{background:var(--muted)}

.project-onboarding-thumb{display:grid;place-items:center;width:100%;height:100%;color:var(--accent);background:var(--accent-soft)}
.project-onboarding-thumb svg{width:3rem;height:3rem}
.project-onboarding-thumb .spinner{width:2.5rem;height:2.5rem;border-width:3px}
.project-setup-error{font-size:2.5rem;font-weight:600;color:var(--danger)}
.project-card-body[data-project-phase="building"] .project-card-status{color:var(--accent)}
.project-card-body[data-project-phase="building"] .project-card-status span{background:var(--accent)}

.business-details-form[data-business-details="contact"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}
.business-field:has([name="address"]){grid-column:1/-1}
.business-field textarea[name="address"]{height:48px;resize:none;overflow:hidden}
.business-details-form[data-business-details="contact"]>.preference-actions,.business-details-form[data-business-details="contact"]>.business-details-error{grid-column:1/-1}
.business-details-form[data-business-details="contact"] .preference-actions{display:flex;gap:12px;padding-top:2px}
.business-details-form[data-business-details="contact"] [data-business-skip]{padding-inline:0;border:0;background:none;color:var(--muted);box-shadow:none}
@media(max-width:600px){.business-details-form[data-business-details="contact"]{grid-template-columns:minmax(0,1fr)}}

.business-hours-groups{display:grid;gap:12px}
.business-hours-group{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-subtle)}
.business-hours-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.business-hours-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.business-hours-day{min-width:0;min-height:34px;padding:4px 0;border:1px solid var(--border);border-radius:.4rem;background:var(--surface);color:var(--muted);font-size:.75rem;cursor:pointer}
.business-hours-day[aria-pressed="true"]{background:var(--accent-button);border-color:var(--accent);color:#fff}
.business-hours-options{display:flex;justify-content:space-between;align-items:center;gap:12px}
.business-hours-all-day{display:flex;align-items:center;gap:6px;font-size:.8rem}
.business-hours-all-day input{accent-color:var(--accent)}
.business-details-form [data-add-hours]{justify-self:start}

.business-hours-closed{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-subtle)}
.business-hours-closed[hidden]{display:none}
.business-hours-closed strong{font-size:.85rem}
.business-hours-closed-days{display:flex;flex-wrap:wrap;gap:5px}
.business-hours-closed-day{padding:5px 8px;border-radius:.4rem;background:var(--surface);color:var(--muted);font-size:.75rem}

#chat-credits.chat-credits-empty,[data-computer-progress].chat-credits-empty{color:var(--danger)}
.chat-credits-empty span,.chat-credits-empty a{white-space:nowrap}
.chat-credits-empty a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.chat-build-progress>.chat-build-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:0;color:var(--text)}
.chat-build-heading .link-button{font-size:.8rem;color:var(--muted);flex-shrink:0}

@keyframes toast-in{from{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}
@keyframes toast-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(.25rem)}}
.toast{animation:toast-in 180ms ease-out both}
@media(prefers-reduced-motion:reduce){.toast{animation:none}}

@media(max-width:760px){
  .workspace-feedback-popover,.feedback-shortcut,.feedback-help{display:none}
  .feedback-dialog .field-inline>.textarea,.workspace-console .chat-composer-shell .chat-input{font-size:max(16px,1rem)}
  .feedback-dialog textarea{min-height:4rem}
  .feedback-dialog blockquote{max-height:3rem}
}
