:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111827;background:#f9fafb;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.topbar-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.topbar-user{text-align:right;font-size:.875rem;color:#374151}.topbar-user .name{font-weight:600}.topbar-user .email{color:#6b7280;font-size:.8125rem}.signout-btn{margin-top:.25rem;background:none;border:none;color:#2563eb;font-size:.8125rem;cursor:pointer;padding:0}.signout-btn:hover{text-decoration:underline}.page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1.5rem;min-height:calc(100vh - 65px)}.page-center{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:28rem;text-align:center}.signin-prompt{font-size:1.125rem;color:#374151;margin:0 0 .5rem}.primary-btn{background:#1a56db;color:#fff;border:none;padding:1rem 2rem;font-size:1.125rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:background .15s}.primary-btn:hover:not(:disabled){background:#1e429f}.primary-btn:disabled{background:#9ca3af;cursor:not-allowed}.error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;padding:.75rem 1rem;border-radius:.375rem;font-size:.875rem;max-width:32rem;word-break:break-word}.project-list{width:100%;max-width:40rem;display:flex;flex-direction:column;gap:1.25rem}.project-list-header h2{font-size:1.5rem;font-weight:600;margin:0;color:#111827}.project-list-meta{margin:.25rem 0 0;color:#6b7280;font-size:.875rem}.project-card-stack{display:flex;flex-direction:column;gap:.75rem}.project-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.25rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:#c7d2fe;box-shadow:0 1px 2px #0000000a}.project-card:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.project-card-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.project-card-name{font-size:1.0625rem;font-weight:600;color:#111827}.project-card-sub{font-size:.875rem;color:#6b7280}.project-card-cta{flex-shrink:0;padding:.5rem 1rem;font-size:.875rem;border-radius:.375rem}.project-empty{background:#fff;border:1px dashed #d1d5db;border-radius:.5rem;padding:1.5rem;text-align:center}.project-empty p{margin:0 0 .5rem}.project-empty p:last-child{margin-bottom:0}.project-card-skeleton{cursor:default;pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#eef0f3,#f8f9fb,#eef0f3);background-size:200% 100%;border-radius:.25rem;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line-name{width:60%;height:1.0625rem}.skeleton-line-sub{width:40%;height:.875rem}.skeleton-line-cta{width:6rem;height:2rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-list .debug-section{margin-top:2rem}.debug-section{margin-top:2rem;padding:.75rem 1rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem}.debug-section summary{cursor:pointer;color:#6b7280}.debug-section-body{margin-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.editor-shell{width:100%;max-width:72rem;display:flex;flex-direction:column;gap:1.5rem}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.editor-header-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.editor-title{font-size:1.5rem;font-weight:600;margin:0;color:#111827}.editor-sub{margin:0;color:#6b7280;font-size:.9375rem}.download-control{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.download-btn{padding:.625rem 1.25rem;font-size:.9375rem}.download-error{font-size:.8125rem;max-width:20rem}.editor-body{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.editor-sections{flex:1 1 24rem;min-width:0;display:flex;flex-direction:column;gap:1rem}.section-panel{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:opacity .2s,border-color .2s}.section-panel.is-disabled{opacity:.55;border-color:#d1d5db;background:#f9fafb}.section-panel-skeleton{display:flex;flex-direction:column;gap:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-title{font-size:1.0625rem;font-weight:600;color:#111827;margin:0}.section-toggle{display:inline-flex;align-items:center;gap:.5rem;border:none;background:none;cursor:pointer;padding:.25rem;color:#374151;font-size:.8125rem;border-radius:.375rem}.section-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.section-toggle-track{position:relative;display:inline-block;width:2rem;height:1.125rem;background:#1a56db;border-radius:999px;transition:background .15s}.section-toggle.is-off .section-toggle-track{background:#9ca3af}.section-toggle-thumb{position:absolute;top:2px;left:2px;width:.875rem;height:.875rem;background:#fff;border-radius:50%;transition:transform .15s}.section-toggle:not(.is-off) .section-toggle-thumb{transform:translate(.875rem)}.section-toggle-label{font-weight:500}.section-toggle.is-off .section-toggle-label{color:#b91c1c}.section-body{font-size:.9375rem;color:#374151;line-height:1.6}.section-body p{margin:0 0 .75rem}.section-body p:last-child{margin-bottom:0}.section-body-empty{font-style:italic;color:#9ca3af}.chat-surface{flex:1 1 18rem;max-width:24rem;position:sticky;top:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;min-height:18rem}.chat-header{display:flex;align-items:center;justify-content:space-between}.chat-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.chat-transcript{flex:1 1 auto;min-height:8rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;display:flex;align-items:center;justify-content:center}.chat-empty{margin:0;color:#6b7280;font-size:.875rem;text-align:center}.chat-input{display:flex;flex-direction:column;gap:.5rem}.chat-textarea{width:100%;resize:vertical;font:inherit;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background:#f3f4f6;color:#6b7280}.chat-send{align-self:flex-end;padding:.5rem 1rem;font-size:.875rem}.editor-skeleton{display:flex;flex-direction:column;gap:.5rem}
