:root{--host-background: #f5f5f7;--host-surface: rgba(255, 255, 255, .76);--host-surface-solid: #ffffff;--host-border: rgba(0, 0, 0, .08);--host-text: #1d1d1f;--host-secondary-text: #6e6e73;--host-blue: #0071e3;--host-blue-hover: #0077ed;--host-shadow: 0 18px 48px rgba(0, 0, 0, .07);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,ui-sans-serif,system-ui,sans-serif;color:var(--host-text);background:var(--host-background);font-synthesis:none}html.preview-theme-active,html.preview-theme-active body,html.preview-theme-active #root,html.preview-theme-active .phone-screen,html.preview-theme-active .app-surface{background:var(--preview-theme-color, #eaf4ff)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 50% -20%,rgba(255,255,255,.95),transparent 42rem),var(--host-background)}html:fullscreen{background:#eaf4ff}html:fullscreen body{min-height:100dvh;overflow:auto}button,textarea,input{font:inherit}button{cursor:pointer}.shell{width:min(1280px,calc(100% - 48px));margin:0 auto;padding:42px 0 56px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.topbar h1{margin:8px 0 0;max-width:680px;font-size:clamp(2.25rem,4vw,4.15rem);line-height:1.02;letter-spacing:-.065em;font-weight:700}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.account-summary-trigger{display:inline-flex;align-items:center;gap:7px;max-width:220px;padding:8px 10px;border:1px solid var(--host-border);border-radius:999px;overflow:hidden;color:var(--host-secondary-text);background:#ffffff8a;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.account-summary-trigger:hover:not(:disabled){color:var(--host-text);background:var(--host-surface-solid)}.account-summary-trigger:disabled{cursor:not-allowed;opacity:.55}.account-summary-indicator{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#b7bfcc}.account-summary-indicator.signed-in{background:#53b68e}.topbar-app-switcher{display:grid;gap:3px;min-width:150px}.topbar-app-switcher .eyebrow{font-size:.58rem}.topbar-app-switcher select{width:100%;min-width:0;padding:7px 26px 7px 9px;border:1px solid var(--host-border);border-radius:10px;color:var(--host-text);background:#ffffffb8;font-size:.78rem;font-weight:700}.auth-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#12172147;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bug-report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;place-items:center;padding:20px;background:#12172152;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bug-report-dialog{position:relative;display:grid;gap:18px;width:min(100%,620px);max-height:min(820px,calc(100dvh - 40px));padding:28px;overflow-y:auto;border:1px solid var(--host-border);border-radius:24px;color:var(--host-text);background:var(--host-surface-solid);box-shadow:var(--host-shadow)}.about-dialog{position:relative;display:grid;gap:14px;width:min(100%,460px);padding:28px;border:1px solid var(--host-border);border-radius:24px;color:var(--host-text);background:var(--host-surface-solid);box-shadow:var(--host-shadow)}.about-dialog h2,.about-dialog p,.about-dialog dl,.about-dialog dd{margin:0}.about-dialog dl{display:grid;gap:8px}.about-dialog dl>div{display:grid;gap:5px;padding:12px;border:1px solid var(--host-border);border-radius:12px;background:#ffffff8f}.about-dialog dt{color:var(--host-secondary-text);font-size:.72rem;font-weight:800}.about-dialog dd{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.about-dialog p{color:var(--host-secondary-text);font-size:.8rem;line-height:1.5}.runtime-permissions-dialog{position:relative;display:grid;gap:18px;width:min(100%,680px);max-height:min(880px,calc(100dvh - 40px));padding:28px;overflow-y:auto;border:1px solid var(--host-border);border-radius:24px;color:var(--host-text);background:var(--host-surface-solid);box-shadow:var(--host-shadow)}.runtime-permissions-dialog header,.runtime-permissions-dialog fieldset,.runtime-permissions-dialog h2,.runtime-permissions-dialog h3,.runtime-permissions-dialog p,.runtime-permission-summary{margin:0}.runtime-permissions-dialog header{display:grid;gap:8px;padding-right:36px}.runtime-permissions-dialog header p,.runtime-permissions-dialog fieldset p,.runtime-connect-origins small,.runtime-platform-origin-note,.runtime-permission-empty{color:var(--host-secondary-text);font-size:.8rem;line-height:1.5}.runtime-permission-approved,.runtime-permission-detected,.runtime-permissions-dialog fieldset,.runtime-connect-origins{display:grid;gap:10px;padding:14px;border:1px solid var(--host-border);border-radius:14px;background:#ffffff8f}.runtime-permission-detected{grid-template-columns:1fr auto;align-items:center;font-size:.8rem}.runtime-permissions-dialog fieldset{min-width:0}.runtime-permissions-dialog legend,.runtime-connect-origins>span{padding:0 4px;font-size:.84rem;font-weight:800}.runtime-permission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.runtime-permission-options label{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid var(--host-border);border-radius:10px;font-size:.8rem;font-weight:700;background:#fff}.runtime-connect-origins textarea{width:100%;min-height:112px;padding:10px 12px;resize:vertical;border:1px solid var(--host-border);border-radius:10px;color:var(--host-text);background:#fff;font:.78rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.runtime-permission-summary{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none}.runtime-permission-summary li{padding:5px 8px;border-radius:999px;color:#1f5a42;background:#36b37e24;font-size:.72rem;font-weight:800}.runtime-permission-error,.runtime-permission-notice{padding:10px 12px;border-radius:10px;font-size:.8rem}.runtime-permission-error{color:#8f1f2d;background:#d8374b1a}.runtime-permission-notice{color:#1f5a42;background:#36b37e1f}.runtime-permission-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:640px){.runtime-permissions-dialog{padding:22px 18px}.runtime-permission-options{grid-template-columns:1fr}.runtime-permission-actions>button{flex:1 1 140px}}.bug-report-dialog h2,.bug-report-dialog h3,.bug-report-dialog p{margin:0}.bug-report-dialog header{display:grid;gap:8px;padding-right:36px}.bug-report-dialog header p,.bug-report-history>p{color:var(--host-secondary-text);font-size:.8rem;line-height:1.5}.bug-report-form,.bug-report-form label{display:grid;gap:9px}.bug-report-form label{font-size:.78rem;font-weight:800}.bug-report-form textarea,.bug-report-form select{width:100%;padding:12px;border:1px solid var(--host-border);border-radius:12px;color:var(--host-text);background:#fff;font:inherit;font-weight:500;line-height:1.45}.bug-report-form textarea{resize:vertical}.bug-report-form .primary-button{justify-self:start}.bug-report-evidence,.bug-report-success,.bug-report-error{font-size:.76rem;line-height:1.45}.bug-report-evidence{color:var(--host-secondary-text)}.bug-report-success{color:#28735d}.bug-report-error{color:#bb3b42}.bug-report-history{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--host-border)}.bug-report-history ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.bug-report-history li{display:grid;gap:7px;padding:12px;border:1px solid var(--host-border);border-radius:12px;background:#ffffff8f}.bug-report-history li>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bug-report-history time,.bug-report-history li>span{color:var(--host-secondary-text);font-size:.7rem}.bug-report-history li>p{overflow-wrap:anywhere;font-size:.78rem;line-height:1.45}.auth-panel{position:relative;display:grid;gap:18px;width:min(100%,440px);margin:0;padding:28px;border:1px solid var(--host-border);border-radius:24px;color:#424245;background:var(--host-surface-solid);box-shadow:var(--host-shadow);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}.auth-panel-form>div:first-of-type,.auth-dialog-account>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.auth-dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;color:var(--host-secondary-text);background:#7676801f;font-size:1.25rem;line-height:1}.auth-dialog-close:hover:not(:disabled){color:var(--host-text);background:#76768033}.auth-dialog-close:disabled{cursor:not-allowed;opacity:.45}.auth-dialog-status{padding:24px 0;color:var(--host-secondary-text);text-align:center}.auth-dialog-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px}.auth-access-state,.auth-error,.auth-notice{color:var(--host-secondary-text);font-size:.78rem}.auth-error{color:#bb3b42}.auth-notice{color:#28735d}.app-manager{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:-8px 0 20px;padding:13px 16px;border:1px solid var(--host-border);border-radius:20px;background:var(--host-surface);box-shadow:0 10px 28px #0000000a;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}.app-manager-select{display:grid;gap:5px;min-width:min(280px,100%)}.app-manager select{min-width:220px;padding:8px 10px;border:1px solid var(--host-border);border-radius:11px;color:var(--host-text);background:#ffffffd6;font-size:.84rem}.app-manager-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.app-manager-open{flex:0 0 auto}.app-management-page{display:grid;align-content:start;gap:20px;min-height:660px;padding:28px;border:1px solid var(--host-border);border-radius:26px;background:var(--host-surface);box-shadow:var(--host-shadow);-webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%)}.app-management-heading{display:flex;align-items:center;gap:12px}.app-management-heading h2{margin:0;font-size:1.35rem;letter-spacing:-.035em}.app-management-back{display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid var(--host-border);border-radius:10px;color:var(--host-secondary-text);background:#ffffff8a;font-size:.82rem;font-weight:700}.app-management-back:after{content:"返回 App"}.app-management-back span{font-size:1.25rem;line-height:.8}.app-management-select{display:grid;gap:7px;max-width:360px;color:var(--host-secondary-text);font-size:.8rem;font-weight:700}.app-management-select select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--host-border);border-radius:12px;color:var(--host-text);background:#fff}.app-management-actions{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px}.app-management-actions button{min-height:46px}.danger-button{color:#9d2430}.app-manager-empty,.app-manager-error{color:var(--host-secondary-text);font-size:.77rem}.workspace-navigation{display:inline-flex;gap:.3rem;margin:-6px 0 18px;padding:.3rem;border:1px solid var(--host-border);border-radius:12px;background:#ffffffa6;box-shadow:0 8px 24px #0000000a;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}.workspace-navigation button{padding:.55rem .9rem;border:0;border-radius:.65rem;color:var(--host-secondary-text);background:transparent;font-size:.82rem;font-weight:750}.workspace-navigation button.active{color:var(--host-text);background:#fff;box-shadow:0 1px 4px #0000001f}.file-manager-panel{display:grid;gap:1rem;min-height:660px;padding:28px;border:1px solid var(--host-border);border-radius:26px;background:var(--host-surface);box-shadow:var(--host-shadow);-webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%)}.file-manager-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.file-manager-heading h2{margin:.2rem 0}.file-manager-heading p{margin:0;color:var(--host-secondary-text)}.file-app-filter{display:grid;grid-template-columns:auto minmax(12rem,22rem) minmax(0,1fr);gap:.5rem .75rem;align-items:center;color:#424245;font-size:.82rem;font-weight:700}.file-app-filter select{min-width:0;padding:.55rem .7rem;border:1px solid var(--host-border);border-radius:.65rem;color:var(--host-text);background:#ffffffd6}.file-app-filter small{min-width:0;color:var(--host-secondary-text);font-size:.76rem;font-weight:500}.file-manager-upload{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.file-picker-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.file-selection-summary{display:grid;gap:.25rem;color:var(--host-secondary-text);font-size:.78rem}.file-selection-summary ul{max-width:26rem;margin:0;padding-left:1.1rem}.file-selection-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.file-selection-actions label,.file-thumbnail-select{display:inline-flex;gap:.35rem;align-items:center;color:var(--host-secondary-text);font-size:.78rem}.file-upload-mode{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin:0;padding:.45rem .65rem;border:1px solid var(--host-border);border-radius:.65rem}.file-upload-mode legend{padding:0 .25rem;color:var(--host-secondary-text);font-size:.75rem}.file-upload-mode label{display:inline-flex;gap:.3rem;align-items:center;font-size:.8rem}.file-manager-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.file-manager-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.55rem .7rem;border-radius:.7rem;background:#76768017}.file-manager-list li span,.file-preview-trigger{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-trigger{flex:1;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:zoom-in}.file-preview-trigger:hover{color:var(--host-blue)}.file-manager-empty,.file-manager-message{color:var(--host-secondary-text)}.file-display-mode{display:inline-flex;gap:.25rem;width:fit-content;padding:.2rem;border:1px solid var(--host-border);border-radius:.65rem;background:#7676801a}.file-display-mode button{padding:.35rem .7rem;border:0;border-radius:.45rem;color:var(--host-secondary-text);background:transparent;cursor:pointer}.file-display-mode button.active{color:var(--host-text);background:#fff;box-shadow:0 1px 4px #0000001f}.file-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.file-thumbnail{display:grid;gap:.55rem;min-width:0;padding:.65rem;border:1px solid var(--host-border);border-radius:.75rem;background:#7676800f}.file-thumbnail-select{justify-self:start}.file-thumbnail-media{display:grid;place-items:center;width:100%;min-height:120px;overflow:hidden;padding:0;border:0;border-radius:.5rem;color:var(--host-secondary-text);background:#ffffffbf;cursor:zoom-in}.file-thumbnail-media:disabled{cursor:default}.file-thumbnail-media img{display:block;width:100%;height:140px;object-fit:contain}.file-thumbnail-info{display:grid;gap:.2rem;min-width:0}.file-thumbnail-info>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-thumbnail-info small{color:var(--host-secondary-text);font-size:.72rem}.image-viewer-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0c1424b8}.image-viewer{display:grid;gap:.8rem;width:min(92vw,1100px);max-height:92vh;padding:1rem;overflow:auto;border-radius:1rem;background:#fff;box-shadow:0 24px 80px #0c142459}.image-viewer>header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.image-viewer>header div{display:grid;gap:.2rem;min-width:0}.image-viewer>header strong{overflow-wrap:anywhere}.image-viewer>header small{color:#6b7890}.image-viewer-variants{display:inline-flex;justify-self:start;gap:.25rem;padding:.2rem;border:1px solid #dce5f4;border-radius:.65rem;background:#1f39680a}.image-viewer-variants button{padding:.4rem .75rem;border:0;border-radius:.45rem;color:#6b7890;background:transparent;cursor:pointer}.image-viewer-variants button.active{color:#1f3968;background:#fff;box-shadow:0 1px 4px #1f39681f}.image-viewer-media{display:grid;place-items:center;min-height:min(62vh,500px);overflow:auto;border-radius:.75rem;color:#6b7890;background:#f3f6fb}.image-viewer-media img{display:block;max-width:100%;max-height:68vh;object-fit:contain}.image-viewer-media video{display:block;width:min(100%,960px);max-height:68vh;background:#000}.app-manager-error{color:#bb3b42}.auth-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.auth-form label{display:grid;gap:4px;color:var(--host-secondary-text);font-size:.72rem;font-weight:700}.auth-form input{width:170px;padding:8px 10px;border:1px solid var(--host-border);border-radius:11px;color:var(--host-text);background:#ffffffd6;font-size:.82rem}.auth-form .primary-button{padding:9px 13px}.auth-form .text-button{align-self:center;margin-left:2px}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 18px;padding:12px 16px;border:1px solid rgba(0,113,227,.2);border-radius:16px;color:#1d4f91;background:#ebf5ffe0;box-shadow:0 10px 28px #0071e314;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:.86rem;font-weight:700}.update-banner button{flex:0 0 auto;padding:8px 12px;border:0;border-radius:999px;color:#fff;background:var(--host-blue);font-size:.8rem;font-weight:800}.update-banner button:disabled{cursor:not-allowed;opacity:.55}.mobile-action-menu{display:none}.eyebrow{display:block;color:var(--host-secondary-text);font-size:.68rem;font-weight:700;letter-spacing:.1em}.workspace{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(360px,1.14fr);gap:24px;align-items:stretch}.panel{min-height:660px;padding:28px;border:1px solid var(--host-border);border-radius:26px;background:var(--host-surface);box-shadow:var(--host-shadow);-webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.chat-panel{display:flex;flex-direction:column}.mobile-editor-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.mobile-page-back{display:none}.panel-heading h2{margin:8px 0 0;font-size:1.35rem;letter-spacing:-.035em;font-weight:700}.preview-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px;min-width:0}.device-switcher{display:inline-flex;max-width:100%;padding:3px;border:1px solid var(--host-border);border-radius:10px;background:#7676801f}.device-switcher-option{min-width:58px;padding:6px 9px;border:0;border-radius:8px;color:var(--host-secondary-text);background:transparent;font-size:.73rem;font-weight:800}.device-switcher-option:hover{color:var(--host-blue)}.device-switcher-option[aria-pressed=true]{color:var(--host-text);background:#fff;box-shadow:0 1px 3px #00000024}.device-switcher-option:focus-visible{outline:3px solid rgba(68,111,230,.28);outline-offset:1px}.ghost-button,.text-button{border:0;background:transparent;color:var(--host-secondary-text);font-weight:700}.ghost-button{padding:9px 14px;border:1px solid var(--host-border);border-radius:999px;background:#ffffff8a}.ghost-button:hover,.text-button:hover{color:var(--host-blue)}.ghost-button:disabled{cursor:not-allowed;opacity:.55}.text-button{padding:5px 0;font-size:.82rem}.status-dot{display:inline-flex;align-items:center;gap:7px;color:var(--host-secondary-text);font-size:.75rem;font-weight:700}.status-dot:before{width:7px;height:7px;border-radius:50%;background:#53b68e;content:""}.status-dot.busy:before{background:#f2a444;box-shadow:0 0 0 5px #f2a44424}.conversation{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;min-height:0;height:auto;margin:26px -4px 18px 0;padding:2px 10px 4px 0;overflow:auto}.message{max-width:90%;padding:13px 15px;border-radius:18px;background:#7676801a}.message.user{align-self:flex-end;color:#fff;background:var(--host-blue);border-bottom-right-radius:5px}.message.assistant{align-self:flex-start;border-bottom-left-radius:5px}.message-role{display:block;margin-bottom:5px;opacity:.64;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.message p{margin:0;font-size:.91rem;line-height:1.45;white-space:pre-wrap}.message-quick-actions{display:flex;gap:6px;margin-top:10px}.message-icon-button{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid var(--host-border);border-radius:50%;color:inherit;background:transparent;cursor:pointer;font-size:1rem}.message-icon-button:disabled{cursor:not-allowed;opacity:.45}.conversation-operation{display:inline-flex;max-width:min(90%,440px);align-items:center;align-self:center;justify-content:center;gap:8px;padding:7px 12px;border-radius:999px;color:var(--host-muted);background:#76768017;font-size:.78rem;line-height:1.35;text-align:center}.conversation-operation.success{color:#26765b;background:#53b68e1f}.conversation-operation.error{color:#a13b32;background:#cf52461c}.conversation-operation-icon{display:inline-grid;flex:0 0 auto;place-items:center;font-weight:800}.conversation-operation.running .conversation-operation-icon{animation:conversation-operation-spin .9s linear infinite}@keyframes conversation-operation-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.conversation-operation.running .conversation-operation-icon{animation:none}}.prompt-form{flex:0 0 auto;margin-top:auto;padding:10px;border:1px solid var(--host-border);border-radius:22px;background:var(--host-surface-solid);box-shadow:0 8px 24px #00000014}.prompt-form textarea{display:block;width:100%;min-height:52px;max-height:120px;padding:8px 4px;border:0;border-radius:0;outline:0;color:var(--host-text);resize:none;background:transparent}.prompt-form textarea:focus{box-shadow:none}.image-input-row{display:flex;flex:1 1 auto;align-items:center;flex-wrap:nowrap;min-width:0;gap:8px;margin:0}.prompt-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.image-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.image-button,.remove-image-button{min-height:34px;padding:6px 9px;border:1px solid var(--host-border);border-radius:999px;color:var(--host-secondary-text);background:#ffffffb8;font-size:.76rem;font-weight:700}.image-button:disabled,.remove-image-button:disabled{cursor:not-allowed;opacity:.55}.image-attachment{display:flex;align-items:center;min-width:0;gap:8px;color:#586781;font-size:.75rem}.image-attachment img{width:30px;height:30px;flex:0 0 auto;border:1px solid #d8dfeb;border-radius:7px;object-fit:cover}.image-attachment span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;margin:0;color:#8994a7;font-size:.72rem}.primary-button{padding:10px 17px;border:0;border-radius:999px;color:#fff;background:var(--host-blue);box-shadow:inset 0 -1px #00000024;font-weight:700}.primary-button:hover:not(:disabled){background:var(--host-blue-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.45}.prompt-footer .primary-button{min-height:34px;padding:6px 12px;font-size:.78rem}.generation-active-actions{display:flex;align-items:center;gap:10px}.phone-wrap{display:grid;place-items:center;min-height:610px;margin-top:10px}.phone{position:relative;width:min(300px,80%);height:580px;padding:0;border:var(--phone-edge-width) solid #222a39;border-radius:40px;background:#222a39;box-shadow:0 22px 35px #23304b38}.phone-screen{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:var(--phone-screen-radius);background:#fff}.phone--iphone{border-color:#222a39;background:#222a39}.phone-status-bar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;flex:0 0 30px;min-height:30px;padding:0 14px;color:#151923;background:#fff;font-size:.65rem;line-height:1;z-index:1}.phone-status-time{justify-self:start;font-weight:800;letter-spacing:-.02em}.phone-camera{grid-column:2;grid-row:1;justify-self:center;width:85px;height:17px;border-radius:999px;background:#171b25;box-shadow:inset 0 -1px 1px #ffffff1a}.phone-status-icons{display:flex;grid-column:3;grid-row:1;align-items:center;justify-self:end;gap:5px;color:#151923}.phone-signal{display:flex;align-items:flex-end;gap:1px;width:11px;height:10px}.phone-signal i{display:block;width:2px;border-radius:2px 2px 0 0;background:currentColor}.phone-signal i:nth-child(1){height:4px}.phone-signal i:nth-child(2){height:6px}.phone-signal i:nth-child(3){height:8px}.phone-signal i:nth-child(4){height:10px}.phone-wifi{position:relative;width:13px;height:10px}.phone-wifi:before{position:absolute;top:0;right:0;bottom:1px;left:0;border:1.5px solid currentColor;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent;border-radius:50%;content:""}.phone-wifi:after{position:absolute;bottom:0;left:50%;width:3px;height:3px;border-radius:50%;background:currentColor;content:"";transform:translate(-50%)}.phone-battery{position:relative;display:block;width:16px;height:9px;border:1.5px solid currentColor;border-radius:3px}.phone-battery:after{position:absolute;top:2px;right:-3px;width:2px;height:3px;border-radius:0 1px 1px 0;background:currentColor;content:""}.phone-battery span{display:block;width:72%;height:100%;border-radius:1px;background:currentColor}.phone--pixel{border-color:#dce1e9;border-radius:35px;background:#dce1e9;box-shadow:0 22px 35px #23304b33,inset 0 0 0 1px #ffffff1c}.phone--pixel:before,.phone--pixel:after{position:absolute;right:-7px;width:3px;border-radius:0 3px 3px 0;background:#b7bfcc;content:""}.phone--pixel:before{top:140px;height:54px}.phone--pixel:after{top:207px;height:27px}.phone--pixel .phone-camera{width:13px;height:13px;border:2px solid #636c7c;border-radius:50%;background:#121721;box-shadow:0 0 0 2px #252c38}.phone-status-bar--pixel .phone-status-icons{color:#4a5569}.app-surface{position:relative;min-height:0;flex:1 1 auto;overflow:auto;border-radius:0 0 var(--phone-screen-radius) var(--phone-screen-radius);background:#eaf4ff;contain:layout paint;isolation:isolate;overscroll-behavior:contain}.generated-app-runtime{position:relative;width:100%;height:100%}.empty-preview{display:grid;place-content:center;gap:8px;min-height:100%;padding:28px;color:var(--host-text);background:#fff;text-align:center}.empty-preview strong{color:var(--host-text);font-size:1rem}.empty-preview span{font-size:.75rem;line-height:1.5}.todo-app{min-height:100%;padding:29px 18px;color:#17233a;background:linear-gradient(145deg,#f9fbff,#eef3ff)}.todo-kicker{color:#6d7da1;font-size:.58rem;font-weight:900;letter-spacing:.16em}.todo-app h2{margin:8px 0 3px;font-size:1.65rem;letter-spacing:-.06em}.todo-subtitle{margin:0 0 24px;color:#78869d;font-size:.76rem}.todo-add{display:flex;gap:7px;margin-bottom:23px}.todo-add input{min-width:0;flex:1;padding:11px 12px;border:1px solid #dce4f4;border-radius:12px;outline:0;background:#fff;font-size:.8rem}.todo-add button{width:39px;border:0;border-radius:12px;color:#fff;background:#426ef2;font-size:1.3rem}.todo-list{display:flex;flex-direction:column;gap:9px}.todo-row{display:flex;align-items:center;gap:10px;padding:11px 9px;border:1px solid #e8edf7;border-radius:13px;background:#ffffffc7}.todo-check{display:grid;place-items:center;width:21px;height:21px;padding:0;border:1px solid #c4cee2;border-radius:50%;color:#fff;background:transparent;font-size:.73rem}.todo-check.done{border-color:#426ef2;background:#426ef2}.todo-title{flex:1;font-size:.8rem}.todo-title.done{color:#94a0b2;text-decoration:line-through}.todo-delete{padding:0 2px;border:0;color:#9ba7b9;background:transparent;font-size:1.1rem}.todo-empty{padding:25px 12px;color:#8592aa;font-size:.78rem;line-height:1.5;text-align:center}.runtime-error{display:flex;flex-direction:column;gap:7px;margin:24px;padding:14px;border:1px solid #ffd4d4;border-radius:14px;color:#8e4545;background:#fff4f4;font-size:.75rem;line-height:1.4}.error-banner{margin-top:13px;padding:11px 13px;border:1px solid #ffd9b2;border-radius:13px;color:#85531e;background:#fff8ed;font-size:.77rem;line-height:1.4}.preview-note{margin:13px 3px 0;color:#8a95a5;font-size:.69rem;line-height:1.45}@media(max-width:800px){.shell{width:min(100% - 22px,620px);padding-top:20px}.topbar{align-items:flex-start}.topbar h1{font-size:2.25rem}.workspace{grid-template-columns:1fr}.panel{min-height:auto}.conversation{height:330px}.phone-wrap{min-height:600px}.preview-heading-actions{align-items:flex-end;flex-direction:column;gap:7px}.app-manager{align-items:stretch;flex-direction:column}.app-manager-actions{justify-content:flex-start}.file-manager-panel{min-height:0}}@media(max-width:420px){.panel-heading{flex-wrap:wrap}.preview-heading-actions{width:100%;align-items:stretch}.device-switcher{align-self:flex-end}}@media(max-width:640px){html,body,#root{height:100%;min-height:100vh;overflow:hidden}body{overscroll-behavior:none}.shell{width:100%;height:100vh;min-height:100vh;padding:0}.topbar,.workspace-navigation,.preview-panel>.panel-heading,.preview-note{display:none}.auth-panel-form{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;align-items:stretch;justify-content:center;flex-direction:column;gap:24px;width:100%;height:100vh;height:100dvh;margin:0;padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow-y:auto;border:0;border-radius:0;background:#fff;box-shadow:none}.auth-panel-form>*{width:min(100%,420px);margin-inline:auto}.auth-panel-form>div:first-of-type,.auth-panel-form .auth-form{align-items:stretch;flex-direction:column}.auth-panel-form .auth-form label,.auth-panel-form .auth-form input{width:100%}.auth-panel-form .auth-form input{min-height:44px}.auth-panel-form .auth-form .text-button{align-self:flex-start;margin-left:0}.file-manager-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;align-content:start;width:100%;height:100vh;height:100dvh;min-height:0;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:0;background:#f5f8fd;box-shadow:none;-webkit-overflow-scrolling:touch}.file-manager-heading h2{font-size:1.55rem}.file-manager-heading p{margin-top:.35rem;font-size:.82rem;line-height:1.5}.file-manager-back{flex:0 0 auto}.file-app-filter{grid-template-columns:1fr;gap:.35rem}.file-manager-upload{align-items:stretch}.file-selection-summary,.file-upload-mode{flex-basis:100%}.file-selection-summary ul{max-height:8rem;overflow:auto}.file-selection-actions{justify-content:space-between}.file-manager-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto}.file-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}.file-thumbnail-media{min-height:110px}.file-thumbnail-media img{height:120px}.update-banner{position:fixed;right:max(16px,calc(env(safe-area-inset-right) + 16px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));left:max(16px,calc(env(safe-area-inset-left) + 16px));z-index:6;margin:0;background:#edf3fff5;box-shadow:0 12px 30px #19284933;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-manager{position:fixed;top:max(16px,calc(env(safe-area-inset-top) + 16px));right:max(76px,calc(env(safe-area-inset-right) + 76px));left:max(16px,calc(env(safe-area-inset-left) + 16px));z-index:3;display:block;margin:0;padding:9px 11px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-manager-select{min-width:0}.app-manager select{width:100%;min-width:0}.app-manager-actions{margin-top:7px}.app-manager{display:none}.app-management-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;align-content:start;gap:20px;width:100%;height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto;background:#fff}.app-management-heading{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px}.app-management-heading h2{margin:0;font-size:1.06rem;letter-spacing:-.02em}.app-management-back,.mobile-page-back{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--host-blue);background:transparent;box-shadow:none;font-family:inherit;font-size:2rem;font-weight:300;line-height:1;transition:color .16s ease,background .16s ease}.app-management-back:hover,.mobile-page-back:hover{color:var(--host-blue-hover);background:#0071e314}.app-management-back:active,.mobile-page-back:active{background:#0071e324}.app-management-back:focus-visible,.mobile-page-back:focus-visible{outline:3px solid rgba(0,113,227,.3);outline-offset:3px}.app-management-back:disabled,.mobile-page-back:disabled{cursor:not-allowed;color:var(--host-secondary-text);background:transparent;opacity:.5}.app-management-back:after{content:none}.app-management-select{display:grid;gap:7px;color:var(--host-secondary-text);font-size:.8rem;font-weight:700}.app-management-select select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--host-border);border-radius:12px;color:var(--host-text);background:#fff}.app-management-actions{display:grid;gap:10px}.mobile-app-management-actions button{width:100%;min-height:46px}.mobile-empty-management{display:flex;justify-content:center;margin:12px 0}.workspace{position:relative;display:block;height:100%;min-height:100vh}.preview-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;height:100vh;min-height:100vh;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.preview-panel>.error-banner{position:fixed;right:max(16px,calc(env(safe-area-inset-right) + 16px));bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px));left:max(16px,calc(env(safe-area-inset-left) + 16px));z-index:4;margin:0;box-shadow:0 10px 24px #19284929}.phone-wrap{display:block;height:100%;min-height:100vh;margin:0;border-radius:0;background:transparent}.phone{width:100%;height:100%;min-height:100vh;border:0;border-radius:0;background:transparent;box-shadow:none}.phone-screen{height:100%;min-height:100vh;border-radius:0}.phone-status-bar{display:none}.app-surface{height:100%;min-height:100vh;border-radius:0}.mobile-action-menu{position:fixed;top:calc(50dvh - 30px);right:max(16px,calc(env(safe-area-inset-right) + 16px));z-index:3;display:block;width:60px;height:60px}.mobile-action-menu--positioned{top:clamp(max(8px,calc(env(safe-area-inset-top) + 8px)),var(--mobile-action-y),calc(100dvh - 68px - env(safe-area-inset-bottom)));right:auto;left:clamp(max(8px,calc(env(safe-area-inset-left) + 8px)),var(--mobile-action-x),calc(100vw - 68px - env(safe-area-inset-right)))}.mobile-action-menu[hidden]{display:none}.mobile-action-menu-items{position:absolute;right:0;bottom:auto;top:calc(100% + 10px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100dvh - max(16px,calc(env(safe-area-inset-top) + 16px)) - 86px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.mobile-action-menu[data-vertical-placement=above] .mobile-action-menu-items{top:auto;bottom:calc(100% + 10px)}.mobile-action-menu--positioned[data-vertical-placement=below] .mobile-action-menu-items{max-height:calc(100dvh - max(8px,calc(env(safe-area-inset-top) + 8px),var(--mobile-action-y)) - 78px - env(safe-area-inset-bottom))}.mobile-action-menu--positioned[data-vertical-placement=above] .mobile-action-menu-items{max-height:calc(max(8px,calc(env(safe-area-inset-top) + 8px),var(--mobile-action-y)) - 18px)}.mobile-action-menu[data-horizontal-placement=start] .mobile-action-menu-items{right:auto;left:0}.mobile-action-menu-items[hidden]{display:none}.mobile-action-menu-items button{min-height:42px;padding:9px 14px;border:1px solid rgba(255,255,255,.78);border-radius:999px;color:#243a72;background:#fffffff0;box-shadow:0 10px 24px #19284929;font-size:.78rem;font-weight:800}.mobile-action-menu-items button:disabled{cursor:not-allowed;opacity:.55}.mobile-action-menu-items .mobile-action-menu-reset{color:#9d2430}.mobile-action-menu-trigger{display:grid;place-items:center;width:60px;height:60px;min-width:48px;min-height:48px;padding:7px;border:1px solid rgba(255,255,255,.78);border-radius:50%;color:#243a72;background:#ffffffe0;box-shadow:0 12px 26px #1928492e;font-size:.7rem;font-weight:800;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.mobile-action-menu--dragging .mobile-action-menu-trigger{cursor:grabbing}.mobile-action-menu-items button:focus-visible,.mobile-action-menu-trigger:focus-visible{outline:3px solid rgba(68,111,230,.38);outline-offset:3px}.mobile-action-menu-trigger:hover{background:#fffffffa}.chat-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;width:100%;height:100vh;min-height:0;max-height:none;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden;border:0;border-radius:0;background:#fff;box-shadow:0 0 40px #1928492e;opacity:0;pointer-events:none;transform:translateY(100%);transition:transform .22s ease,opacity .18s ease,visibility .22s ease;visibility:hidden}.mobile-editor-open{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.chat-panel>.panel-heading{display:grid;grid-template-columns:44px minmax(0,1fr) auto;flex:0 0 auto;align-items:center;min-height:44px}.mobile-editor-heading .eyebrow{display:none}.chat-panel>.panel-heading .status-dot{justify-self:end}.conversation{margin:16px 0 12px;padding:0 4px 4px 0}.prompt-form{padding-bottom:max(10px,env(safe-area-inset-bottom))}}@media(max-width:640px){html.ios-pwa .shell,html.ios-pwa .preview-panel,html.ios-pwa .chat-panel{height:100vh;min-height:100vh}html.ios-pwa .app-surface,html.android-fullscreen .app-surface{flex:0 0 calc(100% - env(safe-area-inset-top));height:calc(100% - env(safe-area-inset-top));min-height:0;margin-top:env(safe-area-inset-top)}}
