a{color:inherit;text-decoration:none}.theme-icon-dark,[data-theme=dark] .theme-icon-light{display:none}[data-theme=dark] .theme-icon-dark{display:block}.builder-shell{min-height:100vh}.builder-topbar{position:sticky;z-index:30;top:0;height:64px;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px)}.builder-brand,.builder-brand-mark,.builder-topbar,.builder-topbar-actions,.editor-actions,.editor-title,.login-brand,.preview-status,.project-meta,.viewport-switcher{display:flex;align-items:center}.builder-brand{min-width:0;gap:10px;font:500 14px var(--font-display)}.builder-brand-mark{width:34px;height:34px;justify-content:center;border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground)}.builder-topbar-actions{gap:8px}.builder-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 72px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:4px 0 8px;font:500 clamp(30px,4vw,44px)/1.05 var(--font-display);letter-spacing:-.045em}.muted-copy,.page-heading p{margin:0;color:var(--text-secondary);line-height:1.55}.project-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);gap:var(--content-gap)}.create-project-card,.login-card,.projects-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.create-project-card,.login-card{padding:var(--panel-pad)}.create-project-card h2,.login-card h1,.projects-card h2{margin:0;font:500 20px/1.2 var(--font-display);letter-spacing:-.025em}.create-project-card>p,.login-card>p{margin:10px 0 22px;color:var(--text-secondary);line-height:1.55}.builder-form{display:grid;gap:15px}.builder-field{display:grid;gap:7px}.builder-field label{color:var(--text-secondary);font-size:11px;font-weight:500}.builder-input,.builder-textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.builder-input{height:var(--control-h);padding:0 12px}.builder-textarea{min-height:104px;resize:vertical;padding:11px 12px;line-height:1.5}.builder-input:focus,.builder-textarea:focus{border-color:var(--primary);box-shadow:var(--focus)}.projects-card{overflow:hidden}.projects-card-head{display:flex;align-items:center;justify-content:space-between;padding:var(--panel-pad);border-bottom:1px solid var(--border)}.project-list{display:grid}.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:92px;padding:16px var(--panel-pad);border-bottom:1px solid var(--border);transition:background-color .12s ease}.project-row:last-child{border-bottom:0}.project-row:hover{background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.project-row h3{overflow:hidden;margin:0 0 7px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.project-meta{flex-wrap:wrap;gap:8px;color:var(--text-tertiary);font-size:10px}.empty-projects{display:grid;min-height:300px;place-items:center;padding:32px;color:var(--text-secondary);text-align:center}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}.login-visual{position:relative;display:flex;min-height:620px;justify-content:flex-end;flex-direction:column;overflow:hidden;padding:clamp(36px,6vw,80px);background:radial-gradient(circle at 22% 18%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 35%),radial-gradient(circle at 80% 76%,color-mix(in srgb,var(--secondary) 18%,transparent),transparent 34%),var(--surface-subtle)}.login-visual:after,.login-visual:before{position:absolute;border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 78%,transparent);box-shadow:var(--shadow-float);content:"";transform:rotate(-6deg)}.login-visual:before{top:13%;left:16%;width:52%;height:34%}.login-visual:after{top:22%;left:28%;width:58%;height:37%;transform:rotate(4deg)}.login-copy{position:relative;z-index:1;max-width:600px}.login-copy h2{margin:14px 0;font:500 clamp(36px,5.2vw,68px)/.98 var(--font-display);letter-spacing:-.055em}.login-copy p{max-width:520px;margin:0;color:var(--text-secondary);font-size:16px;line-height:1.6}.login-panel{display:grid;place-items:center;padding:40px;background:var(--bg)}.login-card{width:min(100%,430px)}.login-brand{gap:9px;margin-bottom:34px;color:var(--text-secondary);font-weight:500}.form-error{margin:-2px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 24%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:11px}.editor-page{display:flex;height:calc(100vh - 64px);min-height:660px;flex-direction:column}.editor-toolbar{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:16px;padding:9px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.editor-title{min-width:0;gap:10px}.editor-costs,.editor-costs>span{display:flex;align-items:center;gap:6px}.editor-costs>span{min-height:32px;padding:0 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-secondary);white-space:nowrap}.editor-costs svg{color:var(--primary)}.editor-costs small{color:var(--text-tertiary);font-size:9px}.editor-costs strong{color:var(--text);font-size:10px}.editor-title-text{display:grid;min-width:0;gap:2px}.editor-title-text small,.editor-title-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-title-text small{color:var(--text-tertiary);font-size:9px}.editor-actions,.viewport-switcher{gap:6px}.viewport-switcher{padding:3px;border-radius:var(--radius-sm);background:var(--surface-subtle)}.viewport-switcher button{display:grid;width:32px;height:30px;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--text-tertiary);cursor:pointer}.viewport-switcher button.is-active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px rgb(15 20 30/.08)}.version-history-panel{display:grid;max-height:300px;flex:0 0 auto;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.version-history-list article,.version-history-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.version-history-list article>span:first-child,.version-history-panel>header>div{display:grid;min-width:0;gap:2px}.version-history-list time,.version-history-panel small{color:var(--text-tertiary);font-size:11px}.version-history-list{display:grid;max-height:220px;gap:6px;overflow-y:auto}.version-history-list article{min-height:48px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.version-history-list article.is-current{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.version-history-list article>span:first-child{flex:1}.version-history-list article>span:first-child small,.version-history-list article>span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-history-list time{white-space:nowrap}.editor-grid{display:grid;min-height:0;flex:1;grid-template-columns:minmax(360px,38%) minmax(0,1fr)}.agent-panel{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.agent-head{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border)}.agent-head>div{display:grid;gap:3px}.agent-head small{color:var(--text-tertiary);font-size:9px}.agent-error,.agent-head .badge{gap:6px}.agent-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.agent-models .select-wrap{height:32px;background:var(--surface)}.agent-models>small{grid-column:1/-1;color:var(--text-tertiary);font-size:9px}.agent-models .agent-billing-summary{display:flex;align-items:center;gap:5px;color:var(--text-secondary)}.agent-billing-summary svg{color:var(--primary)}.mobile-edit-notice{display:none}.manual-editor{display:flex;min-height:0;flex:1;flex-direction:column;background:var(--surface)}.manual-editor-actions,.manual-editor-head,.manual-history,.manual-properties-title{display:flex;align-items:center}.manual-editor-head{min-height:62px;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.manual-editor-head>div,.manual-properties-title>div{display:grid;gap:3px}.manual-editor-actions small,.manual-editor-head small,.manual-properties-title small{color:var(--text-tertiary);font-size:9px}.manual-editor-head .icon-button,.manual-history .icon-button{width:32px;height:32px}.manual-history{gap:6px;padding:9px 16px;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.manual-history .button{margin-left:auto}.manual-editor-content{min-height:0;flex:1;overflow-y:auto;padding:18px 16px}.manual-editor-error{padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--danger) 24%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.manual-editor-error p{margin:0;color:var(--danger);font-size:10px;line-height:1.45}.manual-editor-error button{margin-top:6px;padding:0;border:0;background:none;color:var(--primary);font-size:9px;font-weight:500;cursor:pointer}.manual-empty-state{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.manual-empty-state>span,.manual-properties-title>span{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.manual-empty-state>span{width:42px;height:42px;margin-bottom:13px;border-radius:var(--radius-md)}.manual-empty-state p{max-width:260px;margin:7px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.55}.manual-properties{display:grid;gap:16px}.manual-properties-title{gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.manual-properties-title>span{width:34px;height:34px;border-radius:var(--radius-sm)}.manual-properties .checkbox{justify-self:start}.manual-upload{display:grid;min-height:94px;place-items:center;gap:4px;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--primary);cursor:pointer;text-align:center}.manual-upload:hover{border-color:var(--primary)}.manual-upload span{color:var(--text);font-size:10px;font-weight:500}.manual-upload small{color:var(--text-tertiary);font-size:9px}.manual-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.manual-upload.is-disabled{opacity:.5;pointer-events:none}.manual-prompt{min-height:92px;resize:vertical;padding:10px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:11px;line-height:1.5}.manual-prompt:focus{border-color:var(--primary);box-shadow:var(--focus)}.manual-editor-actions{min-height:64px;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.manual-editor-actions small{max-width:190px}.editable-image,.editable-image-placeholder,.manual-inline-text,.manual-selectable{transition:box-shadow .12s ease,outline-color .12s ease}.manual-inline-text{border-radius:var(--radius-xs);outline:1px dashed transparent;outline-offset:5px;cursor:text}.manual-inline-text:hover{outline-color:var(--border-strong)}.manual-inline-text:focus{outline:2px solid var(--primary);box-shadow:var(--focus)}.mock-site-links:has(.manual-inline-text){display:flex;gap:18px}.manual-selectable{outline:2px solid transparent;outline-offset:3px}.editable-image-placeholder.is-selected,.editable-image-placeholder:hover,.editable-image.is-selected,.editable-image:hover,.manual-selectable.is-selected,.manual-selectable:hover{outline-color:var(--primary);box-shadow:var(--focus)}.editable-image{display:block;width:100%;padding:0;border:0;border-radius:var(--radius-xl);background:transparent;outline:2px solid transparent;outline-offset:4px;cursor:pointer}.editable-image-placeholder{display:grid;width:100%;min-height:260px;place-items:center;align-content:center;gap:9px;border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--surface);color:var(--primary);outline:2px solid transparent;outline-offset:4px;cursor:pointer}.editable-image-placeholder span{color:var(--text-secondary);font-size:11px;font-weight:500}.agent-spinner{animation:agent-spin .9s linear infinite}@keyframes agent-spin{to{transform:rotate(1turn)}}.agent-messages{display:flex;min-height:0;flex:1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.agent-message{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px}.agent-message.is-user{grid-template-columns:minmax(0,1fr) auto}.agent-message.is-user>div{justify-self:end;background:var(--primary-soft)}.agent-message>div{max-width:88%;padding:11px 13px;border:1px solid var(--border);border-radius:5px var(--radius-md) var(--radius-md);background:var(--surface-subtle);line-height:1.55}.agent-message p{margin:0}.agent-message .agent-message-cost{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:7px;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:8px}.agent-message-cost svg{color:var(--primary)}.agent-message.is-pending>div{width:fit-content;padding-block:14px}.agent-typing-dots{display:flex;align-items:center;gap:4px}.agent-typing-dots i{width:4px;height:4px;border-radius:var(--radius-round);background:var(--text-tertiary);animation:agent-dot 1.2s ease-in-out infinite}.agent-typing-dots i:nth-child(2){animation-delay:.12s}.agent-typing-dots i:nth-child(3){animation-delay:.24s}@keyframes agent-dot{50%{transform:translateY(-3px)}}.agent-composer{padding:12px 16px 16px;border-top:1px solid var(--border)}.agent-composer .composer{position:relative}.agent-composer .composer.is-busy{background:var(--surface-subtle)}.agent-error{display:flex;align-items:flex-start;margin:0 0 10px}.agent-composer textarea{min-height:72px;padding-right:50px}.agent-composer .send-button{position:absolute;right:8px;bottom:8px}.preview-panel{display:flex;min-width:0;flex-direction:column;background:var(--surface-subtle)}.preview-bar{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border)}.preview-status{gap:7px;color:var(--text-secondary);font-size:10px}.preview-status i{width:7px;height:7px;border-radius:50%;background:var(--success)}.preview-stage{display:grid;min-height:0;flex:1;place-items:center;overflow:auto;padding:24px}.preview-canvas{container-name:site-preview;container-type:inline-size;width:100%;min-height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:white;box-shadow:var(--shadow-float);color:#17191d;transition:width .16s ease}.preview-canvas[data-viewport=tablet]{width:min(100%,768px)}.preview-canvas[data-viewport=mobile]{width:min(100%,390px)}.mock-site-nav{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(20px,5cqw,68px);border-bottom:1px solid #e1e4e9}.mock-site-nav strong{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.35}.mock-site-links{flex-shrink:0;color:#5f6570;font-size:11px}.mock-site-menu{display:none;width:36px;height:36px;flex-shrink:0;place-items:center;padding:0;border:1px solid #e1e4e9;border-radius:10px;background:#ffffff;color:#5f6570}.mock-hero{display:grid;min-height:520px;place-items:center;padding:clamp(44px,8cqw,60px) clamp(20px,5cqw,28px);background:radial-gradient(circle at 75% 28%,rgb(40 120 184/.15),transparent 34%),#f7f8fa;text-align:center}.mock-hero>div{width:100%;max-width:720px;min-width:0}.mock-hero.has-image{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:clamp(24px,5cqw,64px);padding-inline:clamp(28px,7cqw,76px);text-align:left}.mock-hero.has-image>div{max-width:620px}.mock-hero.has-image p{margin-left:0}.mock-hero-image{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:clamp(16px,3cqw,28px);box-shadow:var(--shadow-float)}.mock-hero small{color:#2878b8;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.mock-hero h2{margin:16px 0;overflow-wrap:anywhere;font:500 clamp(34px,7cqw,70px)/1 var(--font-display);letter-spacing:-.055em;text-wrap:balance}.mock-hero p{max-width:620px;margin:0 auto 26px;color:#5f6570;font-size:15px;line-height:1.6;overflow-wrap:anywhere;text-wrap:pretty}@container site-preview (max-width: 540px){.mock-site-nav{min-height:68px;align-items:center;padding:12px 18px}.mock-site-nav strong{font-size:13px}.mock-site-links{display:none}.mock-site-menu{display:grid}.mock-hero{min-height:520px;padding:48px 20px}.mock-hero.has-image{grid-template-columns:1fr;text-align:center}.mock-hero.has-image p{margin-inline:auto}.mock-hero-image{max-width:360px}.mock-hero h2{font-size:clamp(32px,10.5cqw,42px);line-height:1.02}.mock-hero p{font-size:14px}}@container site-preview (max-width: 360px){.mock-hero{padding-inline:16px}.mock-hero h2{font-size:32px}.mock-hero .button{width:100%}}@media (max-width:900px){.login-page,.project-grid{grid-template-columns:1fr}.login-visual{min-height:430px}.editor-grid{grid-template-columns:1fr}.editor-page{height:auto}.agent-panel{min-height:590px;border-right:0;border-bottom:1px solid var(--border)}.editor-grid.is-editing .preview-panel,.preview-panel{display:flex;min-height:680px}.editor-grid.is-editing .agent-panel{min-height:430px;border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:640px){.edit-mode-button{display:none}.mobile-edit-notice{display:block}.builder-topbar{padding-inline:14px}.builder-main{width:min(100% - 28px,1180px);padding-top:30px}.page-heading{align-items:flex-start;flex-direction:column}.login-visual{display:none}.login-panel{min-height:100vh;padding:20px}.editor-actions>.button:not(.version-history-button){display:none}.version-history-panel>header{align-items:flex-start}.version-history-list article{align-items:flex-start;flex-wrap:wrap}.version-history-list article>span:first-child{flex-basis:calc(100% - 110px)}.editor-title,.editor-toolbar{align-items:flex-start;flex-wrap:wrap}.editor-title{width:100%}.editor-title-text{flex:1}.editor-costs{width:100%}.editor-costs>span{flex:1}}