:root{color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0f1115;color:#f4f4f5}.page{max-width:40rem;margin:0 auto;padding:4rem 1.5rem}h1{margin:0 0 .5rem;font-size:2rem;letter-spacing:.04em}.muted{color:#a1a1aa;font-size:.875rem}.error{color:#fca5a5}.actions{display:flex;gap:.75rem;margin-top:1.5rem}.primary-button,.secondary-button,.auth-form button,.link-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.625rem 1rem;font:inherit;cursor:pointer}.primary-button{background:#f4f4f5;color:#18181b;text-decoration:none;border:none}.secondary-button{background:transparent;color:#f4f4f5;text-decoration:none;border:1px solid #3f3f46}.auth-form{display:grid;gap:.75rem;margin-top:1.5rem;max-width:24rem}.auth-form label{font-size:.875rem}.auth-form input{width:100%;border:1px solid #3f3f46;border-radius:.5rem;background:#18181b;color:#f4f4f5;padding:.625rem .75rem}.auth-form button,.link-button{background:#f4f4f5;color:#18181b;border:none}.link-button{background:transparent;color:#a1a1aa;padding-inline:0}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.panel{border:1px solid #27272a;border-radius:.75rem;padding:1rem 1.25rem;background:#18181b}.error-panel{border-color:#7f1d1d}.dashboard-page{max-width:48rem}.profile-panel{margin-bottom:1.5rem}.projects-section{margin-top:1.5rem}.projects-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.projects-header h2{margin:0;font-size:1.25rem}.empty-panel{text-align:center}.project-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.project-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-meta-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.delete-site-confirm{display:grid;gap:.5rem;min-width:min(100%,16rem)}.delete-site-confirm-text{margin:0;font-size:.875rem}.delete-site-actions{display:flex;flex-wrap:wrap;gap:.5rem}.danger-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.625rem 1rem;font:inherit;cursor:pointer;background:#7f1d1d;color:#fecaca;border:1px solid #991b1b}.danger-button:disabled{opacity:.6;cursor:not-allowed}.danger-button-subtle{background:transparent;color:#fca5a5;border-color:#7f1d1d;padding-inline:.75rem}.project-page{max-width:72rem}.editor-layout{display:grid;gap:1rem;margin-top:1rem}@media(min-width:56rem){.editor-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);align-items:start}}.editor-sidebar{display:grid;gap:1.25rem}.editor-main{display:grid;gap:1rem;min-width:0}.sidebar-files h2{margin:0 0 .25rem;font-size:1.125rem}.sidebar-files .muted{margin:0 0 .5rem}.back-link{display:inline-block;margin-bottom:.5rem;color:#a1a1aa;font-size:.875rem;text-decoration:none}.back-link:hover{color:#f4f4f5}.project-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;color:inherit;text-decoration:none}.create-form-panel{display:grid;gap:.5rem;margin-bottom:1rem}.create-form-panel label,.prompt-form label,.branch-selector-label{font-size:.875rem}.create-form-panel input,.prompt-form textarea,.branch-selector select{width:100%;border:1px solid #3f3f46;border-radius:.5rem;background:#18181b;color:#f4f4f5;padding:.625rem .75rem;font:inherit}.prompt-form{display:grid;gap:.75rem}.prompt-form textarea{resize:vertical;min-height:6rem}.prompt-form .form-error-panel{margin-top:.75rem;padding:.75rem 1rem;border:1px solid #7f1d1d;border-radius:.5rem;background:#7f1d1d26}.prompt-form .form-error-panel .error{margin:0;line-height:1.5}.project-meta h1{margin:0 0 .25rem;font-size:1.5rem}.generation-summary h3,.refine-panel h2,.files-section h2,.preview-header h3{margin:0 0 .5rem;font-size:1.125rem}.publish-panel,.publish-form{margin-bottom:1rem}.publish-form{display:grid;gap:.75rem;margin-top:.75rem}.publish-form label{font-size:.875rem}.publish-form input{width:100%;max-width:24rem;border:1px solid #3f3f46;border-radius:.5rem;background:#18181b;color:#f4f4f5;padding:.625rem .75rem;font:inherit}.publish-url-preview{word-break:break-all}.publish-url-preview a,.publish-success a{color:#93c5fd}.publish-success{margin:.75rem 0 0;font-size:.875rem}.publish-panel h2{margin:0 0 .5rem;font-size:1.125rem}.generation-summary,.refine-panel,.branch-panel,.project-meta,.publish-panel{margin-bottom:1rem}.changed-files{margin:.75rem 0 0;padding-left:1.25rem;color:#a1a1aa;font-size:.875rem}.points-remaining{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid #27272a}.branch-selector{display:grid;gap:.5rem}.branch-selector select{max-width:16rem}.preview-section{margin-bottom:0}.preview-frame-wrap{position:relative;min-height:24rem}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border:1px solid #27272a;border-radius:.75rem;background:#18181beb;z-index:1}.preview-overlay-error{padding:1rem;text-align:center}.preview-header{margin-bottom:.75rem}.preview-url{word-break:break-all;font-size:.75rem}.preview-frame{width:100%;height:24rem;border:1px solid #27272a;border-radius:.75rem;background:#fff;display:block}.file-tree{list-style:none;margin:.75rem 0 0;padding:0;border:1px solid #27272a;border-radius:.75rem;background:#18181b;overflow:hidden}.file-tree-item{padding:.5rem .75rem;border-bottom:1px solid #27272a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.file-tree-item:last-child{border-bottom:none}.file-tree-path{color:#d4d4d8}.inline-hint{margin:0;color:#a1a1aa;font-size:.8125rem;line-height:1.45}.inline-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.subdomain-preview{margin:0;word-break:break-all}.empty-panel-actions{justify-content:center;margin-top:1rem}.landing{max-width:48rem;margin:0 auto;padding:2rem 1.5rem 4rem}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3rem}.landing-logo{font-size:1.125rem;font-weight:600;letter-spacing:.08em}.landing-sign-in{padding:.5rem .875rem;font-size:.875rem}.landing-hero{margin-bottom:3rem}.landing-eyebrow{margin:0 0 .75rem;color:#93c5fd;font-size:.875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.landing-hero h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15;letter-spacing:-.02em}.landing-lead{margin:0 0 1.5rem;max-width:36rem;color:#d4d4d8;font-size:1.0625rem}.landing-actions{margin-top:0}.landing-cta{padding:.75rem 1.25rem;font-size:1rem}.landing-note{margin:1rem 0 0}.landing-features{margin-bottom:2rem}.landing-features h2,.landing-bottom-cta h2{margin:0 0 1rem;font-size:1.25rem}.landing-steps{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;counter-reset:step}.landing-step h3{margin:0 0 .375rem;font-size:1rem}.landing-step h3:before{counter-increment:step;content:counter(step) ". ";color:#71717a}.landing-bottom-cta{text-align:center}.landing-bottom-cta .actions{justify-content:center}@keyframes skeleton-pulse{0%{opacity:.45}50%{opacity:.85}to{opacity:.45}}.skeleton-block{display:grid;gap:.5rem}.skeleton-line{display:block;height:.75rem;border-radius:.375rem;background:linear-gradient(90deg,#27272a,#3f3f46,#27272a);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line-inline{width:100%;max-width:14rem}.skeleton-panel{margin-bottom:1rem;padding:1rem 1.25rem;border:1px solid #27272a;border-radius:.75rem;background:#18181b}.skeleton-list{list-style:none;margin:0;padding:0}.skeleton-card{min-height:4.5rem}.skeleton-file-tree .file-tree-item{padding-block:.625rem}.project-page-skeleton{display:grid;gap:1rem}.mutation-loading-panel{margin-bottom:1rem}.mutation-loading-label{margin:0 0 .75rem}.prompt-form-loading,.publish-form-loading{opacity:.65;pointer-events:none}.empty-panel-title{margin:0 0 .5rem;font-size:1rem}.empty-panel-compact{padding:.75rem 0;text-align:left}.publish-error-panel{margin:0;padding:.75rem;border:1px solid #7f1d1d;border-radius:.5rem;background:#7f1d1d26}.publish-error-panel .error{margin:0 0 .5rem}.publish-error-details{margin:0 0 .5rem;padding-left:1.25rem;color:#fca5a5;font-size:.875rem}.publish-error-details li+li{margin-top:.375rem}.dev-error-panel{border:1px dashed #64748b;background:#64748b1f}.dev-error-details{margin:.75rem 0 0;padding:.75rem;overflow-x:auto;border-radius:.375rem;background:#0f172aa6;color:#fca5a5;font-size:.8125rem;white-space:pre-wrap}.file-tree-item-skeleton{border-bottom:none}
