:root{--navy:#071b2d;--navy2:#0d2940;--teal:#26d2b0;--teal-dark:#087e70;--ink:#10273a;--muted:#758697;--line:#e4ebee;--paper:#fff;--wash:#f5f8f8;--red:#cf5252}*{box-sizing:border-box}body{margin:0;background:#edf2f3;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}.hidden{display:none!important}.app{min-height:100vh}.topbar{height:72px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #ffffff17}.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none}.brand>span:last-child{display:grid;gap:2px}.brand strong{font:700 16px Manrope,sans-serif;letter-spacing:-.3px}.brand small{color:#9bb0c0;font-size:11px}.brand-mark{width:48px;height:48px;display:grid;place-content:center;text-align:center;background:#0d3546;border:1px solid #1d706e;border-radius:15px;color:#d3fff5;font:bold 12px Manrope;letter-spacing:1px}.brand-mark span{color:var(--teal)}.brand-mark.small{width:39px;height:39px;border-radius:12px;font-size:10px}.top-actions{display:flex;align-items:center;gap:22px}.connection{font-size:12px;color:#b4c5ce;display:flex;align-items:center;gap:8px}.connection i,.secure-dot{width:7px;height:7px;border-radius:100%;display:inline-block;background:#e3a849}.connection.online i{background:var(--teal);box-shadow:0 0 0 3px #26d2b025}.text-button,.inline-button{border:0;background:none;color:#c9d5db;font:500 12px inherit;cursor:pointer}.text-button:hover,.inline-button:hover{color:var(--teal)}main{max-width:1600px;margin:auto;padding:28px 34px 42px}.workspace{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:26px;align-items:start}.builder-pane,.preview-pane{background:var(--paper);border:1px solid #e3e9eb;border-radius:17px;box-shadow:0 5px 22px #152d3c08;overflow:hidden}.project-bar{padding:24px 25px 20px;display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}h1,h2,p{margin-top:0}.project-bar h1,.preview-header h2{font:700 21px Manrope,sans-serif;letter-spacing:-.6px;margin:5px 0 0}.eyebrow{color:#778b96;font-size:9px;font-weight:700;letter-spacing:1.3px;margin:0}.project-select{display:flex;gap:8px}select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 30px 9px 10px;color:#385063;max-width:170px;font:500 12px inherit}.button{border:1px solid transparent;border-radius:8px;padding:10px 14px;cursor:pointer;font:700 12px 'DM Sans',sans-serif;transition:.15s ease;white-space:nowrap}.button:disabled{opacity:.43;cursor:not-allowed}.button.outline{background:white;border-color:#dce6e9;color:#425b6a}.button.outline:not(:disabled):hover{border-color:#9ccfc6;color:#087e70}.button.primary{background:var(--teal);color:#06283a;box-shadow:0 4px 12px #26d2b027}.button.primary:not(:disabled):hover{background:#55e2c3;transform:translateY(-1px)}.button.compact{padding:8px 11px;font-size:11px}.build-content{padding:0 25px 24px}.instructions{padding:22px 0 20px;border-bottom:1px solid var(--line)}.instructions h2,.section-heading h2{font:700 14px Manrope,sans-serif;margin:0 0 7px}.instructions>p{font-size:12px;line-height:1.55;color:var(--muted);max-width:600px;margin-bottom:15px}.example{display:flex;gap:12px;background:#f0faf8;border:1px solid #d8f0eb;border-radius:10px;padding:13px}.spark{color:#0d9b83;font-size:19px}.example b{font-size:11px;color:#175d56}.example p{font-size:11px;line-height:1.5;color:#577870;margin:5px 0 8px}.inline-button{color:#078b7b;padding:0;font-size:11px;font-weight:700}.inline-button span{font-size:16px;margin-left:3px}.voice-note{display:flex;align-items:flex-start;gap:10px;color:#70a8a0;margin-top:13px}.voice-note>span{font-size:15px}.voice-note p{font-size:10px;line-height:1.5;color:#859599;margin:0}.conversation{padding-top:19px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-heading h2{margin:0 0 3px}.small-text{font-size:10px}.history{height:200px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fcfdfd}.empty-chat{height:100%;display:grid;align-content:center;justify-items:center;text-align:center;color:#8999a2}.empty-icon{font-size:23px;color:#53bda8}.empty-chat b{font-size:11px;color:#4a6170;margin:5px}.empty-chat p{font-size:10px;margin:0;max-width:230px;line-height:1.45}.message{max-width:90%;padding:9px 11px;border-radius:10px;margin:0 0 8px;font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto;background:#e6f7f3;color:#175c53;border-bottom-right-radius:3px}.message.assistant{background:#eef2f5;color:#455967;border-bottom-left-radius:3px}.job-status{font-size:10px;color:#526b78;margin:8px 1px}.job-status::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#f0b74d;margin-right:7px}.job-status.running::before{background:var(--teal);animation:pulse 1.1s infinite}.job-status.error{color:var(--red)}.job-status.error::before{background:var(--red)}@keyframes pulse{50%{box-shadow:0 0 0 5px #26d2b033}}.composer{border:1px solid #dce7e9;border-radius:11px;margin-top:12px;padding:11px 12px 10px;background:#fff;box-shadow:0 3px 12px #23465608}.compose-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;font-weight:700;color:#84939c}.recording-state{letter-spacing:0;color:#d94c51}.recording-state:empty{display:none}.composer textarea{width:100%;resize:vertical;border:0;outline:0;min-height:62px;padding:10px 0;color:#233d4e;font:12px/1.5 'DM Sans',sans-serif}.composer textarea::placeholder{color:#a4b0b8}.compose-actions{display:flex;align-items:center;justify-content:space-between}.mic-button{display:flex;align-items:center;gap:7px;border:1px solid #dce6e8;background:#fff;border-radius:8px;padding:7px 10px;color:#426172;cursor:pointer}.mic-button>span{font-size:8px;color:#14a88f}.mic-button i{font-style:normal;font-size:10px}.mic-button.recording{border-color:#efaeb0;background:#fff7f7;color:#b44148}.mic-button.recording>span{color:#d84d53;animation:pulse 1s infinite}.send-side{display:flex;align-items:center;gap:11px}.keyboard-hint{font-size:9px;color:#a0abb2}.send-side .button{padding:9px 12px}.send-side .button span{margin-left:9px;font-size:14px}.render-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.render-row b{font-size:11px}.render-row p{font-size:10px;color:var(--muted);margin:4px 0 0}.render-button{background:var(--navy2);color:white;padding:11px 15px}.render-button:not(:disabled):hover{background:#16435a}.preview-pane{padding:23px 23px 18px}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.preview-header h2{font-size:17px}.preview-tools{display:flex;align-items:center;gap:9px}.device-switch{background:#f1f5f6;border-radius:8px;padding:3px;display:flex}.device-switch button{border:0;background:transparent;color:#84949d;border-radius:6px;width:31px;height:29px;font-size:16px;cursor:pointer}.device-switch button.active{color:#14685f;background:white;box-shadow:0 1px 5px #243d4817}.browser-frame{border:1px solid #dfe7e9;border-radius:10px;overflow:hidden;background:#f2f6f7}.browser-bar{height:37px;background:#fbfcfc;border-bottom:1px solid #e4eaec;display:flex;align-items:center;gap:12px;padding:0 11px}.traffic{display:flex;gap:4px}.traffic i{width:7px;height:7px;border-radius:50%;background:#d8dee0}.traffic i:first-child{background:#e9a19c}.traffic i:nth-child(2){background:#efce83}.traffic i:nth-child(3){background:#8dc8a3}.address{height:22px;border:1px solid #e5eaec;border-radius:5px;background:#fff;flex:1;text-align:center;padding:4px;font-size:9px;color:#8a9aa2;overflow:hidden}.refresh{border:0;background:none;color:#718791;font-size:17px;cursor:pointer}.preview-canvas{height:min(63vh,640px);min-height:390px;display:flex;align-items:stretch;justify-content:center;padding:0;overflow:auto;background:linear-gradient(45deg,#f2f5f6 25%,transparent 25%),linear-gradient(-45deg,#f2f5f6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f2f5f6 75%),linear-gradient(-45deg,transparent 75%,#f2f5f6 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}#preview{width:100%;height:100%;border:0;background:white;transition:width .2s}.preview-canvas.mobile #preview{width:390px;min-width:390px;box-shadow:0 0 18px #18374a25}.blank-preview{width:min(340px,84%);margin:auto;text-align:center;color:#87969e}.blank-art{height:100px;position:relative;margin:0 auto 7px;width:170px;color:#3ea993}.blank-art span{position:absolute;font-size:46px;opacity:.55}.blank-art span:first-child{left:19px;top:5px;color:#a1d8cd}.blank-art span:nth-child(2){right:16px;top:27px;color:#4fbcaa;font-size:39px}.blank-art span:nth-child(3){left:68px;top:16px;color:#7fcbbe;font-size:64px}.blank-preview>b{display:block;color:#4c6471;font:700 13px Manrope,sans-serif}.blank-preview p{font-size:10px;line-height:1.5;max-width:250px;margin:7px auto}.preview-footer{display:flex;justify-content:space-between;padding:12px 2px 6px;color:#81919a;font-size:10px}.secure-dot{background:#20ac91;margin-right:6px}.versions{display:flex;gap:7px;flex-wrap:wrap}.version-chip{border:1px solid #e2e9eb;background:white;border-radius:99px;padding:5px 9px;color:#667985;font-size:9px;cursor:pointer}.version-chip.active{border-color:#9bd6ca;background:#f0faf8;color:#147668}footer{color:#8c9ba2;text-align:center;font-size:10px;padding:0 20px 22px}.mobile-tabs{display:none}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#092238;color:white;padding:10px 16px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 8px 28px #0b1c2d2e;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 16%,#0d3949 0%,transparent 37%),var(--navy);padding:22px}.login-card{width:min(390px,100%);background:white;border-radius:17px;padding:32px;box-shadow:0 20px 70px #0004}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font:800 26px Manrope,sans-serif;margin:7px 0}.login-card .muted{color:#758697;font-size:13px;line-height:1.5;margin-bottom:23px}.login-card label{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.login-card input{width:100%;padding:12px;border:1px solid #dbe4e8;border-radius:8px;margin-bottom:13px;font:14px inherit}.login-card .full{width:100%;padding:12px}.error{min-height:14px;color:#c6424a;font-size:11px}.login-card .eyebrow{font-size:9px}.login-card h1{color:#10273a}
@media(max-width:1050px){main{padding:20px}.workspace{grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);gap:16px}.project-bar{align-items:flex-start;flex-direction:column}.project-select{width:100%}.project-select select{flex:1;max-width:none}.build-content{padding:0 18px 20px}.preview-pane{padding:20px}.preview-canvas{min-height:340px;height:58vh}}
@media(max-width:760px){.topbar{height:62px;padding:0 16px}.top-actions{gap:12px}.connection{font-size:10px}.text-button{font-size:10px}main{padding:12px}.workspace{display:block}.preview-pane{display:none;margin-top:12px}.workspace.show-preview .builder-pane{display:none}.workspace.show-preview .preview-pane{display:block}.project-bar{padding:17px}.project-bar h1{font-size:18px}.mobile-tabs{display:flex;padding:8px 17px 0;gap:6px;border-bottom:1px solid var(--line)}.mobile-tabs button{border:0;background:none;padding:9px 11px;color:#7c8c94;font-size:11px;font-weight:700;border-bottom:2px solid transparent}.mobile-tabs button.active{color:#0c766b;border-color:var(--teal)}.build-content{padding:0 17px 17px}.instructions{padding:17px 0}.instructions>p{font-size:11px}.preview-pane{padding:17px}.preview-canvas{height:68vh;min-height:440px}.preview-header h2{font-size:15px}.preview-tools{gap:5px}.preview-tools .button{padding:7px 8px}.history{height:185px}.render-row b{font-size:10px}.render-row p{max-width:180px;line-height:1.4}.render-button{padding:10px;font-size:10px}.keyboard-hint{display:none}.browser-frame{margin:0 -2px}.preview-footer{font-size:9px}.login-card{padding:26px}}
