*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #000000;--primary-light: #1a1a1a;--secondary: #666666;--background: #ffffff;--surface: #fafafa;--surface-elevated: #f5f5f5;--border: #e5e5e5;--border-hover: #d4d4d4;--text-primary: #000000;--text-secondary: #666666;--text-muted: #999999;--accent: #000000;--success: #000000;--error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5;color:var(--text-primary);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1;-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable=true],.md-content,.chat-bubble,.comment-text,.profile-bio{-webkit-touch-callout:default;-webkit-user-select:text;-ms-user-select:text;user-select:text}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--background)}.header{background:var(--background);border-bottom:1px solid var(--border);padding:1rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fffc}.header h1{font-size:1.25rem;font-weight:600;text-align:center;color:var(--text-primary);letter-spacing:-.025em}.main{flex:1;padding:2rem 1rem;max-width:800px;margin:0 auto;width:100%}.upload-area{background:var(--surface);border:2px dashed var(--border);border-radius:8px;padding:3rem 2rem;text-align:center;margin-bottom:2rem;transition:all .2s ease;cursor:pointer}.upload-area:hover{border-color:var(--border-hover);background:var(--surface-elevated)}.upload-area.drag-over{border-color:var(--primary);background:var(--surface-elevated);border-style:solid}.upload-icon{font-size:2.5rem;color:var(--text-muted);margin-bottom:1rem;display:block}.upload-area h3{font-size:1.125rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.upload-area p{font-size:.875rem;color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none;min-height:44px;white-space:nowrap;background:none;font-family:inherit}.btn:focus{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--border-hover)}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0 1.5rem}@media (min-width: 600px){.style-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}}@media (min-width: 900px){.style-grid{grid-template-columns:repeat(5,1fr)}}.style-card{display:flex;flex-direction:column;background:var(--surface);border:0;padding:0;border-radius:12px;overflow:hidden;cursor:pointer;text-align:center;transition:box-shadow .2s ease,transform .2s ease;outline:0;outline-offset:-2px}.style-card:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-1px)}.style-card.selected{outline:2px solid var(--primary)}.style-card.locked,.style-card:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.style-card-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:linear-gradient(135deg,#d6d6d6,#f4f4f4);color:#00000073;position:relative;overflow:hidden}.style-card-image .material-icons{font-size:28px;color:#0000008c}.style-card-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.style-card-label{padding:.5rem .5rem .625rem;font-size:.8125rem;font-weight:500;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;line-height:1.3;min-height:calc(.8125rem * 1.3 * 2 + 1.125rem);letter-spacing:-.01em}.style-card-modern .style-card-image{background:linear-gradient(135deg,#c8c8c8,#f2f2f2)}.style-card-scandinavian .style-card-image{background:linear-gradient(135deg,#ead7c0,#fbf5ec)}.style-card-ikea .style-card-image{background:linear-gradient(135deg,#f5d100,#0058a3)}.style-card-japandi .style-card-image{background:linear-gradient(135deg,#d8cdb8,#ede4d3)}.style-card-industrial .style-card-image{background:linear-gradient(135deg,#4d423b,#8b7a6e)}.style-card-coastal .style-card-image{background:linear-gradient(135deg,#cfe7ed,#f9fbfb)}.style-card-classic .style-card-image{background:linear-gradient(135deg,#c9a961,#f0e6d2)}.style-card-artdeco .style-card-image{background:linear-gradient(135deg,#1c1c1c,#c9a961)}.style-card-midcentury .style-card-image{background:linear-gradient(135deg,#b56b3b,#e0a86d)}.style-card-maximalist .style-card-image{background:linear-gradient(135deg,#d4358e,#ffba00 50%,#2cb5e8)}.style-card-vintage .style-card-image{background:linear-gradient(135deg,#b89668,#ddc7a2)}.style-card-bohemian .style-card-image{background:linear-gradient(135deg,#c97f4e,#d8aa6e)}.style-card-cottagecore .style-card-image{background:linear-gradient(135deg,#f4c5c5,#fff5e8)}.style-card-rustic .style-card-image{background:linear-gradient(135deg,#7a5a3b,#c2a578)}.style-card-wabisabi .style-card-image{background:linear-gradient(135deg,#c9bca8,#ebe4d4)}.style-card-gothic .style-card-image{background:linear-gradient(135deg,#1a1117,#5a2342)}.style-card-cyberpunk .style-card-image{background:linear-gradient(135deg,#0d0628,#ff2bd6 60%,#00f5ff)}.style-card-gaming .style-card-image{background:linear-gradient(135deg,#0a0a16,#ff2bd6 50%,#00d4ff)}.style-card-custom .style-card-image,.style-card-reference .style-card-image,.style-card-cleanup .style-card-image{background:var(--surface);border:1px dashed var(--border-hover);border-radius:12px 12px 0 0}.style-card-modern_facade .style-card-image{background:linear-gradient(135deg,#c9d2d9,#f0f3f5)}.style-card-modern_farmhouse .style-card-image{background:linear-gradient(135deg,#f5f5f5,#2c2c2c)}.style-card-mediterranean .style-card-image{background:linear-gradient(135deg,#e8d5b7,#c4624c)}.style-card-craftsman .style-card-image{background:linear-gradient(135deg,#6e4d31,#c19668)}.style-card-contemporary .style-card-image{background:linear-gradient(135deg,#2c3338,#6b7480)}.style-card-minimalist_exterior .style-card-image{background:linear-gradient(135deg,#e8e6e1,#c8c5be)}.style-card-zen .style-card-image{background:linear-gradient(135deg,#c8c5b6,#efeae0)}.style-card-cottage .style-card-image{background:linear-gradient(135deg,#f4c5c5,#c9e2bd)}.style-card-desert .style-card-image{background:linear-gradient(135deg,#d8a578,#f0d6a8)}.style-card-tropical .style-card-image{background:linear-gradient(135deg,#2d8659,#b8e0c2)}.style-card-english .style-card-image{background:linear-gradient(135deg,#6b8c45,#c9d8a8)}.preview-container{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin:2rem 0}.preview-container h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.preview-container h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.preview-container p{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.preview-image{max-width:100%;height:auto;border-radius:6px;margin-bottom:1rem;border:1px solid var(--border)}.loading{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;color:var(--text-secondary)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.hidden{display:none}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem}.controls{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.step-progress{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1.25rem}.step-progress-label{font-size:.8125rem;font-weight:500;color:var(--text-muted);text-align:center}.step-progress-bars{display:flex;gap:.375rem}.step-progress-bar{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background .3s ease}.step-progress-bar.active{background:var(--primary)}@media (max-width: 768px){.controls.controls-sticky{position:fixed;left:0;right:0;bottom:0;margin:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:var(--background);border-top:1px solid var(--border);z-index:50}.controls.controls-sticky .btn{flex:1;min-width:0}.home-with-sticky-cta{padding-bottom:5.5rem}}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.color-palette{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.color-swatch-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px}.color-swatch{width:48px;height:48px;border-radius:6px;border:1px solid var(--border);flex-shrink:0;box-shadow:var(--shadow-sm);position:relative;display:flex;align-items:center;justify-content:center}.color-swatch-code{font-size:9px;color:var(--text-secondary);font-family:monospace;text-align:center;line-height:1}.upload-accepts-hint{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--text-muted);line-height:1.4;margin:-.5rem 0 1rem;padding:.625rem .5rem .625rem .875rem;background:var(--surface-elevated);border-left:3px solid var(--primary);border-radius:6px}.upload-accepts-hint>span{flex:1;min-width:0}.upload-accepts-hint-close{flex-shrink:0;background:none;border:none;padding:0;margin:-.125rem -.125rem 0 0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border-radius:4px}.upload-accepts-hint-close:hover{color:var(--text-primary);background:var(--surface)}.upload-accepts-hint-close .material-icons{font-size:18px}.floorplan-detected-banner{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--text-primary);background:var(--surface-elevated);border-left:3px solid var(--primary);border-radius:6px;padding:.75rem .9rem;margin:0 0 1rem;line-height:1.45}.floorplan-detected-banner .material-icons{font-size:18px;color:var(--primary);margin-top:1px;flex-shrink:0}.space-category-toggle{display:flex;gap:.4rem;margin:0 0 1.25rem;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;width:fit-content}.space-category-btn{padding:.4rem .875rem;border:none;background:none;border-radius:999px;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.space-category-btn:hover{color:var(--text-primary)}.space-category-btn.active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.outdoor-options-row{display:flex;flex-wrap:wrap;gap:.875rem;margin:1rem 0 .5rem}.outdoor-option{display:flex;flex-direction:column;gap:.3rem;flex:1 1 160px}.outdoor-option-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.outdoor-option-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-family:inherit;cursor:pointer}.outdoor-option-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft, rgba(80, 100, 200, .15))}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem}.collection-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;padding:0;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.collection-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.collection-card-mosaic{display:grid;grid-template-columns:2fr 1fr;gap:2px;aspect-ratio:4 / 3;background:var(--surface-elevated)}.collection-card-cover{overflow:hidden}.collection-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.collection-card-side{display:grid;grid-template-rows:1fr 1fr 1fr;gap:2px}.collection-card-side-cell{overflow:hidden;background:var(--surface)}.collection-card-side-cell img{width:100%;height:100%;object-fit:cover;display:block}.collection-card-empty,.collection-card-empty-cell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-elevated) 100%);color:var(--text-muted)}.collection-card-empty .material-icons{font-size:36px}.collection-card-meta{padding:.625rem .875rem;display:flex;flex-direction:column;gap:.15rem}.collection-card-name{margin:0;font-size:.9375rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-card-count{margin:0;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.collection-card-pub .material-icons{font-size:14px}.collection-pub-tag .material-icons{font-size:14px;vertical-align:middle}.collection-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;padding:1rem 0 1.25rem;border-bottom:1px solid var(--border)}.collection-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.collection-subtitle{margin:.3rem 0 0;font-size:.875rem;color:var(--text-muted)}.collection-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;font:inherit}.link-button:hover{text-decoration:underline}.moodboard-grid{column-count:2;column-gap:.75rem;margin-top:1rem}@media (min-width: 600px){.moodboard-grid{column-count:3}}@media (min-width: 900px){.moodboard-grid{column-count:4}}@media (min-width: 1200px){.moodboard-grid{column-count:4;column-gap:1rem}}@media (min-width: 1500px){.moodboard-grid{column-count:5}}.moodboard-item{position:relative;break-inside:avoid;margin-bottom:.875rem;border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:0 1px 2px #0000000a;transition:box-shadow .25s ease,transform .25s ease}.moodboard-item:hover{box-shadow:0 10px 28px #0000001f;transform:translateY(-2px)}.moodboard-item-btn{display:block;width:100%;padding:0;background:none;border:none;cursor:pointer}.moodboard-item-btn img{width:100%;height:auto;display:block;border-bottom-left-radius:0;border-bottom-right-radius:0}.moodboard-remove-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease}.moodboard-item:hover .moodboard-remove-btn{opacity:1}.moodboard-remove-btn:hover{background:#000000d9}.moodboard-remove-btn .material-icons{font-size:18px}.moodboard-item-meta{padding:.625rem .75rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.add-collection-modal{max-width:440px;width:100%}.add-collection-create{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0 .75rem}.add-collection-name-input{width:100%}.add-collection-create-btn{align-self:flex-end;font-size:.875rem;padding:.5rem 1rem}.add-collection-hint{font-size:.8125rem;color:var(--text-muted);margin:.5rem 0}.add-collection-list{list-style:none;margin:.75rem 0 0;padding:0;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.add-collection-row{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;text-align:left;cursor:pointer;font-size:.9375rem;color:var(--text-primary);transition:background .15s ease,border-color .15s ease}.add-collection-row:hover{background:var(--surface-elevated);border-color:var(--border-hover)}.add-collection-row.is-member{border-color:var(--primary)}.add-collection-row.is-member .material-icons{color:var(--primary)}.add-collection-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-collection-count{font-size:.75rem;color:var(--text-muted)}.profile-header{display:flex;gap:1.5rem;align-items:flex-start;padding:1rem 0 1.25rem;border-bottom:1px solid var(--border)}.profile-avatar{width:96px;height:96px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--surface)}.profile-avatar-placeholder{display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.profile-avatar-placeholder .material-icons{font-size:48px;color:var(--text-muted)}.profile-meta{flex:1;min-width:0}.profile-name{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.profile-handle{margin:.15rem 0 0;font-size:.875rem;color:var(--text-muted)}.profile-bio{margin:.75rem 0 0;font-size:.9375rem;color:var(--text-secondary);line-height:1.45;white-space:pre-wrap}.profile-instagram{display:inline-flex;align-items:center;gap:.35rem;margin:.625rem 0 0;padding:.25rem .625rem;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 8%,transparent);color:var(--text-secondary);font-size:.8125rem;text-decoration:none}.profile-instagram:hover{background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-primary)}.profile-instagram .material-icons{font-size:.95rem}.profile-stats{margin:.75rem 0 0;display:flex;gap:1.25rem;font-size:.875rem;color:var(--text-muted)}.profile-stats strong{color:var(--text-primary);font-weight:600}.profile-actions{margin-top:1rem}.account-handle-prefix{font-size:.9375rem;color:var(--text-muted);flex-shrink:0}.account-input-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.account-input-row-handle{gap:.375rem}.account-input-row .edit-field-input{flex:1;min-width:0;height:40px;box-sizing:border-box}.account-save-btn{flex-shrink:0;height:40px;padding:0 1rem;border:0;border-radius:8px;background:var(--text-primary);color:var(--background);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;white-space:nowrap}.account-save-btn:hover:not(:disabled){opacity:.85}.account-save-btn:disabled{opacity:.5;cursor:not-allowed}.account-link-btn{display:inline-flex;align-items:center;gap:.25rem;padding:0;background:none;border:0;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.account-link-btn:hover{opacity:.7}.account-link-btn .material-icons{font-size:16px}.edit-field-textarea{resize:vertical}.account-bio-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;justify-content:space-between}.account-form-error{font-size:.8125rem;color:var(--error);margin:.4rem 0 0}.account-form-success{font-size:.8125rem;color:var(--text-secondary);margin:.4rem 0 0}.btn-sm{font-size:.8125rem;padding:.4rem .75rem}@media (max-width: 600px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-stats{justify-content:center}}.follow-btn{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:999px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.follow-btn:hover:not(:disabled){filter:brightness(.95)}.follow-btn:disabled{opacity:.6;cursor:not-allowed}.follow-btn.is-following{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.follow-btn.is-following:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--border-hover)}.follow-btn-sm{font-size:.75rem;padding:2px .625rem}.follow-btn-md{font-size:.875rem;padding:.4rem .875rem}.feed-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.feed-tab{background:none;border:none;padding:.5rem .875rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.feed-tab:hover{color:var(--text-primary)}.feed-tab.active{color:var(--text-primary);border-bottom-color:var(--primary)}.comments-empty{font-size:.875rem;color:var(--text-muted);margin:.75rem 0}.comment-list{list-style:none;padding:0;margin:.75rem 0;display:flex;flex-direction:column;gap:.875rem}.comment-item{display:flex;gap:.625rem;align-items:flex-start}.comment-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--surface)}.comment-avatar-placeholder{display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.comment-avatar-placeholder .material-icons{font-size:18px;color:var(--text-muted)}.comment-body{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.comment-name{font-weight:500;color:var(--text-primary)}.comment-time{color:var(--text-muted)}.comment-delete-btn{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;transition:background .15s ease,color .15s ease}.comment-delete-btn:hover{background:var(--surface);color:var(--text-primary)}.comment-delete-btn .material-icons{font-size:16px}.comment-text{margin:.25rem 0 0;font-size:.9375rem;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;line-height:1.45}.comment-composer{margin-top:.875rem;display:flex;flex-direction:column;gap:.5rem}.comment-input{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-family:inherit;resize:vertical;min-height:60px}.comment-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft, rgba(80, 100, 200, .15))}.comment-composer-row{display:flex;align-items:center;gap:.75rem}.comment-char-counter{font-size:.75rem;color:var(--text-muted);margin-right:auto}.comment-char-counter.at-limit{color:var(--error)}.comment-post-btn{font-size:.875rem;padding:.5rem 1rem}.comment-error{font-size:.875rem;color:var(--error);margin:0}.comment-signin-prompt{margin-top:.875rem;padding:.75rem 1rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.comment-signin-prompt p{margin:0;flex:1}.bookmark-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;color:var(--text-muted);transition:background .15s ease,color .15s ease}.bookmark-btn:hover{background:var(--surface);color:var(--text-primary)}.bookmark-btn.is-bookmarked{color:var(--primary)}.bookmark-btn .material-icons{font-size:20px}.bookmark-pill.is-bookmarked{background:var(--surface-elevated);color:var(--primary);border-color:var(--primary)}.feed-card-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.feed-card-comment-count{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-muted);margin-right:.25rem}.feed-card-comment-count .material-icons{font-size:16px}.ba-slider{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;border-radius:8px;background:var(--surface);-webkit-user-select:none;user-select:none;touch-action:none;cursor:ew-resize}.ba-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.ba-img-after{transition:clip-path 60ms linear}.ba-img-after.ba-no-transition{transition:none}.ba-slider .ba-handle{transition:left 60ms linear}.ba-slider .ba-handle.ba-no-transition{transition:none}.ba-label{position:absolute;top:.5rem;padding:.25rem .6rem;border-radius:999px;background:#0000008c;color:#fff;font-size:.75rem;font-weight:500;pointer-events:none;letter-spacing:.02em}.ba-label-after{left:.5rem}.ba-label-before{right:.5rem}.ba-handle{position:absolute;top:0;bottom:0;width:0;transform:translate(-50%);pointer-events:none;z-index:2}.ba-handle:focus-visible .ba-handle-knob{outline:3px solid var(--primary);outline-offset:2px}.ba-handle-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fffffff2;transform:translate(-50%);box-shadow:0 0 0 1px #00000026}.ba-handle-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040;pointer-events:auto;cursor:ew-resize}.ba-handle-knob .material-icons{font-size:18px;color:var(--text-primary)}.chat-section{display:flex;flex-direction:column}.chat-hint{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 1rem;line-height:1.5}.chat-messages{display:flex;flex-direction:column;gap:.5rem;max-height:360px;overflow-y:auto;padding:.5rem .25rem .75rem}.chat-bubble{max-width:85%;padding:.625rem .875rem;border-radius:12px;font-size:.9375rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.chat-bubble-user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble-assistant{align-self:flex-start;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-typing{display:flex;gap:4px;padding:.75rem 1rem}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);opacity:.5;animation:chatBounce 1s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chatBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-3px);opacity:1}}.chat-suggestions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;padding:.5rem 0}.chat-suggestion-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.4rem .875rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer;text-align:left;transition:all .15s ease}.chat-suggestion-chip:hover:not(:disabled){border-color:var(--primary);color:var(--text-primary);background:var(--surface-elevated)}.chat-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.chat-input-row{display:flex;gap:.5rem;margin-top:.5rem}.chat-input{flex:1;min-width:0;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-family:inherit}.chat-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft, rgba(80, 100, 200, .15))}.chat-send-btn{flex-shrink:0}@media (max-width: 480px){.chat-input-row{flex-direction:column;gap:.5rem}.chat-send-btn{width:100%}}.chat-turn-counter{font-size:.75rem;color:var(--text-muted);text-align:right;margin:.5rem 0 0}.chat-error{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#dc262614;color:var(--error);border-radius:6px;font-size:.875rem}.chat-retry{margin-left:auto;background:none;border:none;color:var(--error);font-weight:500;cursor:pointer;font-size:.875rem}.chat-upgrade-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding:.875rem 1rem;background:var(--surface-elevated);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:8px;font-size:.875rem;color:var(--text-secondary)}.chat-upgrade-banner .material-icons{color:var(--primary)}.chat-upgrade-btn{margin-left:auto;font-size:.875rem;padding:.5rem .875rem}.edited-from-banner{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.625rem .875rem;background:var(--surface-elevated);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:6px;font-size:.875rem;color:var(--text-secondary)}.edited-from-banner .material-icons{font-size:18px;color:var(--primary)}.edited-from-link{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .15s ease}.edited-from-link:hover{background:var(--surface)}.edited-from-link .material-icons{font-size:16px;color:inherit}.edits-section-desc{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 1rem}.edits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.edit-thumb-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;text-align:left;padding:0;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.edit-thumb-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.edit-thumb-img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.edit-thumb-meta{padding:.5rem .625rem;display:flex;flex-direction:column;gap:.15rem}.edit-thumb-title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-thumb-desc{font-size:.75rem;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-meta{display:flex;align-items:flex-start;gap:.4rem;margin:.5rem 0 1rem;padding:.5rem .75rem;background:var(--surface-elevated);border-radius:6px;font-size:.8125rem;color:var(--text-secondary);line-height:1.45}.modal-meta .material-icons{font-size:16px;color:var(--primary);margin-top:1px;flex-shrink:0}.edit-region-btn{margin-top:.75rem;font-size:.875rem;padding:.5rem .875rem}.edit-region-modal{max-width:640px;width:100%;max-height:92vh;overflow-y:auto}.edit-region-canvas-wrap{position:relative;width:100%;margin:.75rem 0;background:var(--surface-elevated);border-radius:8px;overflow:hidden;user-select:none;-webkit-user-select:none}.edit-region-image{display:block;width:100%;height:auto;pointer-events:none}.edit-region-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.edit-region-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.edit-tool-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:6px;font-size:.8125rem;cursor:pointer}.edit-tool-btn .material-icons{font-size:1rem}.edit-tool-btn.active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.edit-tool-btn:disabled{opacity:.45;cursor:not-allowed}.edit-tool-clear{margin-left:auto}.edit-tool-size{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--text-muted)}.edit-tool-size input[type=range]{width:96px}.edit-region-modal h3{margin:0 0 .25rem}.edit-region-modal .modal-desc{font-size:.875rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.edit-field-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin:.875rem 0 .375rem}.edit-field-input{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-family:inherit}.edit-field-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft, rgba(80, 100, 200, .15))}.edit-field-input:disabled{opacity:.6;cursor:not-allowed}.edit-region-error{font-size:.875rem;color:var(--error);margin-top:.75rem;margin-bottom:0}.material-icons.spin{animation:spin 1s linear infinite;margin-right:.4rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paint-match-pill{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:2px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-elevated);font-size:9px;line-height:1.2;cursor:pointer;max-width:96px;transition:background .15s ease,border-color .15s ease}.paint-match-pill:hover{background:var(--surface);border-color:var(--border-hover)}.paint-match-brand{color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px}.paint-match-code{color:var(--text-primary);font-family:monospace;letter-spacing:.02em}.color-error{background:transparent!important;position:relative}.color-error:before,.color-error:after{content:"";position:absolute;top:50%;left:50%;width:80%;height:2px;background:#ef4444;transform-origin:center}.color-error:before{transform:translate(-50%,-50%) rotate(45deg)}.color-error:after{transform:translate(-50%,-50%) rotate(-45deg)}.recommendations-list{margin-top:.75rem}.recommendations-list ul{list-style:none;padding:0;margin:0}.recommendations-list li{padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.875rem;line-height:1.5}.recommendations-list li:last-child{border-bottom:none}.recommendations-list strong{color:var(--text-primary);font-weight:600}@media (max-width: 768px){.main{padding:1rem .75rem}.upload-area{padding:2rem 1rem}.controls{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.color-palette{justify-content:flex-start}.header h1{font-size:1.125rem}.image-comparison{flex-direction:column}.image-container{width:100%;margin-bottom:1rem}}.image-comparison{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem;background:var(--surface);border-radius:.75rem;border:1px solid var(--border)}.image-container{flex:1;text-align:center}.image-container h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.image-container .preview-image{width:100%;max-width:400px;height:auto;border-radius:.5rem;border:1px solid var(--border);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.image-container .preview-image:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.image-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;text-align:center;color:#991b1b}.image-error p{margin:.25rem 0}.image-generating{background:var(--surface-elevated);border:2px dashed var(--border);border-radius:.5rem;padding:2rem;text-align:center;color:var(--text-secondary);min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.image-generating .spinner{width:40px;height:40px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.style-expander{grid-column:1 / -1;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;animation:styleExpanderIn .18s ease-out}.style-expander-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.style-expander-title-optional{font-weight:400;color:var(--text-muted)}@keyframes styleExpanderIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.expander-add-btn{display:inline-block;background:none;border:none;padding:.25rem 0;color:var(--primary);font-size:.9375rem;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s ease}.expander-add-btn:hover{opacity:.7}.expander-textarea-enter{animation:expanderTextareaIn .18s ease-out}@keyframes expanderTextareaIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.char-counter{margin-top:.375rem;font-size:.75rem;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.char-counter.at-limit{color:var(--primary);font-weight:500}.custom-style-textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;line-height:1.5;color:var(--text-primary);background:var(--background);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.custom-style-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0000001a}.custom-style-textarea::placeholder{color:var(--text-muted);font-style:italic}.md-content{font-size:.875rem;color:var(--text-secondary);line-height:1.7}.md-content p{margin:.5rem 0}.md-content p:first-child{margin-top:0}.md-content p:last-child{margin-bottom:0}.md-content strong{font-weight:600;color:var(--text-primary)}.md-content em{font-style:italic}.md-content ul,.md-content ol{padding-left:1.25rem;margin:.5rem 0}.md-content li{margin:.3rem 0;line-height:1.6}.md-content li>p{margin:0}.md-content h1,.md-content h2,.md-content h3,.md-content h4{font-weight:600;color:var(--text-primary);margin:.75rem 0 .25rem;line-height:1.4}.md-content h1{font-size:1rem}.md-content h2{font-size:.9375rem}.md-content h3,.md-content h4{font-size:.875rem}.md-content code{font-family:monospace;font-size:.8125rem;background:var(--surface-elevated);padding:.1em .3em;border-radius:3px}.photo-slots{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem;padding:1rem;border-radius:8px;border:2px dashed transparent;transition:border-color .2s ease,background .2s ease}.photo-slots.droppable{border-color:var(--border)}.photo-slots.drag-over{border-color:var(--primary);background:var(--surface)}.photo-slot{position:relative;border-radius:8px;overflow:hidden;flex:0 0 auto;width:160px;height:160px}.photo-slot.filled{border:1px solid var(--border);box-shadow:var(--shadow-sm)}.photo-slot.empty{border:2px dashed var(--border);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;color:var(--text-muted);font-size:.8125rem;transition:all .15s ease}.photo-slot.empty:hover{border-color:var(--border-hover);background:var(--surface-elevated);color:var(--text-secondary)}.photo-slot.empty .material-icons{font-size:2rem}.slot-thumb{width:100%;height:100%;object-fit:cover;display:block}.slot-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease}.slot-remove:hover{background:#000000d9}.slot-remove .material-icons{font-size:.9rem}.slot-label{position:absolute;bottom:0;left:0;right:0;background:#00000080;color:#fff;font-size:.75rem;text-align:center;padding:3px 0}.preview-strip{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.strip-thumb-wrapper{position:relative;text-align:center}.strip-thumb{width:100px;height:80px;object-fit:cover;border-radius:6px;border:1px solid var(--border);box-shadow:var(--shadow-sm);display:block}.strip-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px}.history-select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-secondary);background:var(--background);cursor:pointer;font-family:inherit;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.history-select:focus{outline:none;border-color:var(--primary)}.result-photo-pair{margin-bottom:2rem}.result-photo-label{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}@media (max-width: 768px){.photo-slots{gap:.75rem}.photo-slot{width:130px;height:130px}.strip-thumb{width:80px;height:64px}}.header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}body.is-native .header{padding-top:calc(.75rem + max(env(safe-area-inset-top,0px),50px));padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px))}body.is-native{padding-bottom:env(safe-area-inset-bottom,0px)}.pending-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:calc(100vw - 2rem);max-width:460px;z-index:1500;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #0000002e;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem;animation:pendingBannerIn .25s ease-out}.pending-banner-row{display:flex;align-items:center;gap:.625rem}.pending-banner-error{flex-direction:row;align-items:center}@media (max-width: 768px){.pending-banner{bottom:calc(56px + .75rem + env(safe-area-inset-bottom,0px))}}@keyframes pendingBannerIn{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.pending-banner-body{flex:1;min-width:0}.pending-banner-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.pending-banner-hint{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.35}.pending-banner-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin:.25rem 0}.pending-banner-bar-fill{height:100%;background:var(--primary);transition:width .4s ease-out}.pending-banner-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:pendingSpin .9s linear infinite;flex-shrink:0}@keyframes pendingSpin{to{transform:rotate(360deg)}}.pending-banner-done .material-icons,.pending-banner-error .material-icons{font-size:28px;flex-shrink:0}.pending-banner-done .material-icons{color:#16a34a}.pending-banner-error{border-color:#fecaca}.pending-banner-error .material-icons{color:#dc2626}.pending-banner-btn{flex-shrink:0;padding:.5rem 1rem;font-size:.875rem}.pending-banner-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);flex-shrink:0;display:flex;align-items:center}.pending-banner-close .material-icons{font-size:20px}.pending-banner-close:hover{color:var(--text-primary)}.pending-banner-done .pending-banner-btn{width:100%;padding:.625rem 1rem;margin:0}.header-logo{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.025em;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.header-nav{display:flex;align-items:center;gap:.5rem}.header-nav-btn{padding:.375rem .75rem;font-size:.8125rem;min-height:32px;height:32px}.header-nav-btn .material-icons{font-size:1.125rem}.lang-picker{position:relative}.lang-picker-btn{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.75rem;font-family:inherit;font-weight:500;padding:.375rem .5rem;cursor:pointer;transition:border-color .15s,color .15s;min-height:32px;white-space:nowrap}.lang-picker-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.lang-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000002e;min-width:120px;z-index:200;overflow:hidden;animation:dropdown-in .12s ease}.lang-dropdown-item{display:block;width:100%;padding:.625rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;font-family:inherit;color:var(--text-primary);cursor:pointer;transition:background .1s}.lang-dropdown-item:hover{background:var(--surface-hover)}.lang-dropdown-item.active{color:var(--accent);font-weight:600}.header-nav-btn.active{background:var(--surface-elevated);border-color:var(--border-hover)}.header-user{display:flex;align-items:center;gap:.5rem}.avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);object-fit:cover}.my-designs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.my-designs-title{font-size:1.25rem;font-weight:600}.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.design-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.design-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.design-card-thumb{position:relative;aspect-ratio:4/3;background:var(--surface-elevated);overflow:hidden}.design-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.design-card-no-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.design-card-no-thumb .material-icons{font-size:2.5rem}.design-card-fav{position:absolute;top:8px;right:8px;color:#ef4444;line-height:1}.design-card-fav .material-icons{font-size:1.25rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.design-card-info{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}.design-card-style{font-size:.875rem;font-weight:600;color:var(--text-primary)}.design-card-name{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.design-card-date{font-size:.75rem;color:var(--text-muted)}.design-card-photos{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.2rem}.detail-topbar{margin-bottom:1.5rem}.detail-topbar-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.detail-back-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem .375rem .375rem;border:none;background:none;border-radius:20px;cursor:pointer;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.detail-back-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.detail-back-btn .material-icons{font-size:1.125rem}.detail-title{text-align:center;padding:.25rem 0 .5rem}.detail-title h2{font-size:1.125rem;font-weight:600;margin:0 0 .25rem;line-height:1.3}.detail-title p{font-size:.8125rem;color:var(--text-muted);margin:0}.detail-actions{display:flex;gap:.125rem}.detail-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:background .15s,color .15s}.detail-icon-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.detail-icon-btn .material-icons{font-size:1.125rem}.fav-active .material-icons{color:#ef4444}.danger-btn:hover{color:var(--error)!important}.style-tag{display:inline-block;background:var(--surface-elevated);border:1px solid var(--border);border-radius:100px;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-primary)}.style-tag-link{cursor:pointer;font-family:inherit}.style-tag-link:hover{background:var(--surface);border-color:var(--border-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-box{background:var(--background);border-radius:12px;padding:1.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.modal-box h3{font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.rename-input{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;color:var(--text-primary);background:var(--background)}.rename-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0000001a}.detail-icon-btn.is-on .material-icons{color:var(--primary)}.share-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.share-panel-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.share-section-card{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.75rem}.share-section-header{display:flex;gap:.625rem;align-items:flex-start}.share-section-icon{font-size:22px;color:var(--primary);margin-top:1px}.share-section-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.share-section-desc{font-size:.8125rem;color:var(--text-muted);margin:0;line-height:1.4}.share-panel-label{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .2rem}.share-panel-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.toggle-btn{position:relative;width:44px;height:26px;background:var(--border);border:none;border-radius:13px;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.toggle-btn:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000040}.toggle-btn.on{background:var(--primary)}.toggle-btn.on:after{transform:translate(18px)}.toggle-btn:disabled{opacity:.6;cursor:not-allowed}.share-panel-link-row{display:flex;gap:.5rem;align-items:center}.share-link-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.8125rem;color:var(--text-secondary);background:var(--background);font-family:inherit;min-width:0;cursor:default}.share-panel-download-row{display:flex;flex-direction:column;gap:.5rem}.share-panel-download-btns{display:flex;gap:.5rem;flex-wrap:wrap}.download-watermark-hint{display:flex;align-items:flex-start;gap:.375rem;margin-top:.25rem}.download-watermark-hint .material-icons{font-size:14px;margin-top:2px;flex-shrink:0}.shop-link{display:inline-flex;align-items:center;gap:.2rem;margin-left:.4rem;padding:.1rem .45rem;border-radius:4px;font-size:.75rem;font-weight:500;color:var(--primary);background:var(--surface-elevated);text-decoration:none;vertical-align:middle;transition:background .15s ease}.shop-link:hover{background:var(--surface);text-decoration:none}.shop-link .material-icons{font-size:14px}.budget-chip-row{margin:1.25rem 0 1.5rem}.budget-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem .5rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease}.budget-chip:hover{border-color:var(--text-primary);color:var(--text-primary)}.budget-chip[aria-expanded=true]{border-color:var(--text-primary);color:var(--text-primary);box-shadow:0 2px 6px #0000000f}.budget-chip strong{font-weight:600;color:var(--text-primary)}.budget-chip .material-icons{font-size:16px;color:var(--text-muted);transition:transform .18s ease}.budget-chip[aria-expanded=true] .material-icons{transform:rotate(180deg);color:var(--text-primary)}.budget-chip-options{display:flex;flex-wrap:wrap;gap:.4375rem;margin-top:.625rem;animation:budget-chip-options-in .2s ease-out}@keyframes budget-chip-options-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.budget-chip-option{padding:.5rem 1.125rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .18s ease}.budget-chip-option:hover{border-color:var(--text-primary);color:var(--text-primary)}.budget-chip-option.selected{border-color:var(--text-primary);background:var(--text-primary);color:var(--background);font-weight:600;box-shadow:0 2px 6px #0000001f}.share-page{min-height:100vh;background:var(--background)}.share-header{display:flex;align-items:center;justify-content:flex-end;padding:.875rem 1.5rem;padding-top:calc(.875rem + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--background);z-index:100}.share-try-btn{font-size:.875rem;padding:.5rem 1.5rem}.share-private{text-align:center;padding:4rem 1rem;color:var(--text-secondary)}.share-private .material-icons{font-size:3rem;color:var(--text-muted);display:block;margin-bottom:1rem}.share-private h2{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.share-private p{margin-bottom:1.5rem;font-size:.875rem}.share-cta{text-align:center;padding:2rem 1rem 3rem;border-top:1px solid var(--border);margin-top:2rem}.share-cta p{font-size:.9375rem;color:var(--text-secondary);margin-bottom:1rem}.source-banner{display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--text-muted) 8%,transparent);border:none;border-radius:8px;padding:.5rem .75rem;margin-bottom:1rem;font-size:.8125rem;color:var(--text-secondary, var(--text-muted))}.source-banner .material-icons{font-size:.95rem;flex-shrink:0;color:var(--text-muted)}.source-banner span{flex:1;font-weight:400}.source-banner-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0;display:flex;opacity:.7}.source-banner-close .material-icons{font-size:1rem}.lang-notice{display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--text-muted) 8%,transparent);border:1px solid color-mix(in srgb,var(--text-muted) 20%,transparent);border-radius:8px;padding:.625rem .75rem;margin-bottom:1rem;font-size:.8125rem;color:var(--text-secondary)}.lang-notice .material-icons{font-size:1rem;flex-shrink:0;opacity:.6}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.modal-card{background:var(--background);border-radius:16px;padding:2rem;width:100%;max-width:360px;position:relative;box-shadow:var(--shadow-lg)}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;display:flex}.signin-modal-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.signin-modal-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:1.5rem}.signin-modal-error{font-size:.8125rem;color:var(--error);margin-bottom:1rem;line-height:1.4}.signin-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer}.signin-google-btn:hover{background:var(--surface)}.signin-apple-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;border:1px solid #000;background:#000;color:#fff;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;margin-top:.5rem}.signin-apple-btn:hover{background:#1a1a1a}.signin-apple-btn:disabled{opacity:.6;cursor:default}.signin-legal-text{margin-top:1rem;font-size:.75rem;color:var(--text-muted);text-align:center}.signin-legal-text a{color:var(--text-muted);text-decoration:underline}.signin-legal-text a:hover{color:var(--text-secondary)}.legal-page{min-height:100vh;background:var(--background)}.legal-content{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem}.legal-content h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.legal-updated{font-size:.875rem;color:var(--text-muted);margin-bottom:2rem}.legal-content h2{font-size:1rem;font-weight:600;margin:1.75rem 0 .5rem}.legal-content p,.legal-content ul{font-size:.9375rem;color:var(--text-secondary);line-height:1.65}.legal-content ul{padding-left:1.25rem}.legal-content li{margin-bottom:.25rem}.share-cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.like-btn{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.875rem;padding:.375rem;border-radius:6px;transition:color .15s,background .15s;line-height:1}.like-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.like-btn.liked{color:#e53935}.like-btn.liked:hover{background:#e539351a}.like-btn .material-icons{font-size:1.25rem}.like-count{font-size:.8125rem;font-weight:500}.community-feed{margin-top:0;padding-top:0}.home-community-feed{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}@media (max-width: 768px){.home-community-feed{display:none}}.feed-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.feed-title{font-size:1.125rem;font-weight:700;color:var(--text-primary)}@media (max-width: 768px){.feed-title{display:none}}.feed-tabs-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.feed-sort-btns{display:flex;gap:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3px}.feed-sort-btn{background:none;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-muted);padding:.3125rem .875rem;border-radius:6px;transition:color .15s,background .15s}.feed-sort-btn.active{background:var(--background);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.feed-style-filter,.feed-category-filter{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.feed-style-filter{margin-bottom:1.25rem}.feed-category-filter{margin-bottom:.5rem}.feed-style-filter::-webkit-scrollbar,.feed-category-filter::-webkit-scrollbar{display:none}.feed-filter-btn{flex-shrink:0;background:none;border:1px solid var(--border);cursor:pointer;font-size:.8rem;color:var(--text-secondary);padding:.3rem .75rem;border-radius:20px;transition:color .15s,background .15s,border-color .15s;white-space:nowrap}.feed-filter-btn:hover{border-color:var(--accent);color:var(--accent)}.feed-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.feed-empty{text-align:center;color:var(--text-muted);font-size:.9375rem;padding:3rem 0}.feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 640px){.feed-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.feed-grid{grid-template-columns:repeat(4,1fr)}}.feed-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}.feed-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.feed-card-image-wrap{position:relative;aspect-ratio:1;overflow:hidden;background:var(--background)}.feed-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}.feed-card-image-placeholder{width:100%;height:100%;background:var(--border)}.feed-card-badge{position:absolute;top:.5rem;left:.5rem;font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.02em;pointer-events:none}.badge-after{background:var(--accent);color:#fff}.badge-before{background:#0000008c;color:#fff}.feed-card-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem .5rem .75rem}.feed-style-tag{font-size:.75rem;padding:.2rem .6rem}.feed-card-author{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;padding:0;cursor:pointer;color:var(--text-primary);font-size:.8125rem;min-width:0}.feed-card-author:hover{color:var(--primary)}.feed-card-author-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--surface-elevated)}.feed-card-author-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.feed-card-author-avatar-placeholder .material-icons{font-size:16px}.feed-card-author-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16ch}.save-prompt{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem;text-align:center;margin-top:1.5rem}.save-prompt .material-icons{font-size:2rem;color:var(--text-muted);display:block;margin-bottom:.5rem}.save-prompt p{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.header-profile{position:relative}.header-auth-placeholder{width:32px;height:32px}.header-avatar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:50%;cursor:pointer;padding:0;color:var(--text-secondary);transition:opacity .15s}.header-avatar-btn:hover{opacity:.8}.header-avatar-btn .avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.header-avatar-btn .material-icons{font-size:1.75rem}.header-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--background);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);min-width:180px;z-index:300;overflow:hidden;animation:dropdown-in .12s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-dropdown-user{padding:.75rem 1rem .625rem}.header-dropdown-name{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;display:block}.header-dropdown-divider{height:1px;background:var(--border);margin:0}.header-dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;font-size:.875rem;color:var(--text-primary);text-align:left;transition:background .12s;font-family:inherit}.header-dropdown-item:hover{background:var(--surface)}.header-dropdown-item .material-icons{font-size:1.125rem;color:var(--text-secondary)}.header-dropdown-item.danger,.header-dropdown-item.danger .material-icons{color:var(--error)}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem}.onboarding-box{background:var(--background);border-radius:20px;padding:2rem 1.75rem 1.75rem;width:100%;max-width:360px;text-align:center;position:relative;box-shadow:var(--shadow-lg)}.onboarding-skip{position:absolute;top:1rem;right:1rem;border:none;background:none;cursor:pointer;font-size:.8125rem;color:var(--text-muted);padding:.25rem .5rem;font-family:inherit;transition:color .15s}.onboarding-skip:hover{color:var(--text-secondary)}.onboarding-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:var(--surface);border-radius:50%;margin-bottom:1.25rem}.onboarding-icon-wrap .material-icons{font-size:2rem;color:var(--text-primary)}.onboarding-title{font-size:1.125rem;font-weight:700;margin:0 0 .625rem}.onboarding-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.5rem}.onboarding-dots{display:flex;justify-content:center;gap:.375rem;margin-bottom:1.25rem}.onboarding-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s,width .2s}.onboarding-dot.active{background:var(--primary);width:18px;border-radius:3px}.onboarding-cta{width:100%}.generate-error{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.generate-error .material-icons{font-size:2.5rem;color:var(--text-muted);display:block;margin-bottom:.75rem}.generate-error h3{font-size:1.0625rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.generate-error p{font-size:.875rem;margin-bottom:1.5rem;max-width:320px;margin-left:auto;margin-right:auto}.generate-error .controls{justify-content:center}@media (max-width: 768px){.header{padding:.75rem 1rem}.header-nav-btn span{display:none}.design-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.my-designs-header{margin-bottom:1rem}.detail-title h2{font-size:1rem}.photo-slots{gap:.5rem}.share-panel-link-row{flex-wrap:wrap}.share-link-input{flex-basis:100%}}.credit-badge{display:inline-flex;align-items:center;gap:.2rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:.8rem;font-weight:600;padding:.375rem .5rem .375rem .4rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;min-height:32px;white-space:nowrap}.credit-badge:hover{border-color:var(--border-hover);color:var(--text-primary)}.credit-badge .material-icons{font-size:16px;color:#f5a623}.credit-badge-empty{border-color:#d9534f;color:#d9534f}.credit-badge-empty .material-icons{color:#d9534f}.credit-badge-num{font-variant-numeric:tabular-nums}.credit-modal{max-width:420px;width:calc(100% - 2rem);padding:1.5rem}.credit-modal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.credit-modal-desc{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-secondary)}.credit-options{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.credit-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.credit-option-icon{color:var(--text-secondary);margin-top:2px}.credit-option-body{flex:1}.credit-option-title{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.credit-option-title-text{white-space:nowrap}.credit-option-tag{font-size:.65rem;font-weight:500;color:var(--text-secondary);background:var(--border);padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.credit-option-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.credit-daily-hint{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;padding:.6rem .75rem;background:var(--surface);border-radius:8px;font-size:.8rem;color:var(--text-secondary)}.credit-daily-hint .material-icons{font-size:16px;color:#f5a623}.credit-option-wrap{list-style:none}.credit-option-clickable{width:100%;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s}.credit-option-clickable:hover{border-color:var(--border-hover);background:var(--surface-elevated)}.credit-option-chevron{color:var(--text-secondary);align-self:center}.header-text-link{background:none;border:none;padding:.4rem .6rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-radius:8px;transition:color .15s,background .15s}.header-text-link:hover{color:var(--text-primary);background:var(--surface-elevated)}@media (max-width: 480px){.header-text-link{display:none}}.pricing-page{max-width:1100px}.pricing-hero{text-align:center;padding:2rem 0 2.5rem}.pricing-title{font-size:2.25rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}@media (max-width: 768px){.pricing-title{display:none}}.pricing-subtitle{font-size:1rem;color:var(--text-secondary);margin:0 0 1.5rem}.pricing-cycle-toggle{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px}.pricing-cycle-btn{position:relative;border:none;background:transparent;padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.pricing-cycle-btn.active{background:var(--primary);color:#fff}.pricing-cycle-save{display:inline-block;margin-left:.4rem;font-size:.7rem;padding:.1rem .4rem;background:#f5a62333;color:#b87a12;border-radius:999px;font-weight:600}.pricing-cycle-btn.active .pricing-cycle-save{background:#ffffff40;color:#fff}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:3rem}@media (max-width: 900px){.plan-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}.plan-card{position:relative;display:flex;flex-direction:column;padding:1.75rem 1.5rem;border:1px solid var(--border);border-radius:14px;background:#fff}.plan-card-highlight{border-color:var(--primary);box-shadow:0 4px 20px #0000000f}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.plan-name{font-size:1.25rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary)}.plan-tagline{font-size:.85rem;color:var(--text-secondary);margin:0 0 1.25rem;min-height:2.5em}.plan-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.1rem}.plan-price-amount{font-size:2rem;font-weight:700;color:var(--text-primary)}.plan-price-unit{font-size:.85rem;color:var(--text-secondary)}.plan-price-sub{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.plan-credits{font-size:.9rem;font-weight:600;color:var(--text-primary);padding:.5rem 0;margin:.75rem 0 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.plan-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.plan-features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:var(--text-primary);line-height:1.4}.plan-features .material-icons{font-size:1rem;color:#16a34a;margin-top:2px}.plan-cta{width:100%}.plan-trial-note{text-align:center;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.credit-packs-section{padding-top:1rem;border-top:1px solid var(--border)}.section-subtitle{text-align:center;color:var(--text-secondary);margin:0 0 1.5rem}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 700px){.pack-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}.pack-card{padding:1.25rem;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:center}.pack-card-highlight{border-color:var(--primary)}.pack-name{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.pack-credits{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.pack-price{font-size:.95rem;color:var(--text-secondary);margin-bottom:1rem}.pack-cta{width:100%}.pricing-footnote{text-align:center;font-size:.75rem;color:var(--text-secondary);margin-top:2rem}.account-page{max-width:720px}.page-title{font-size:1.75rem;font-weight:700;margin:1rem 0 1.5rem;color:var(--text-primary)}@media (max-width: 768px){.page-title{display:none}}.account-card{padding:1.5rem;border:1px solid var(--border);border-radius:12px;background:#fff;margin-bottom:1rem}.account-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.account-card-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.account-plan-badge{font-size:.8rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:var(--surface-elevated);color:var(--text-primary)}.account-plan-badge.plan-pro,.account-plan-badge.plan-studio{background:var(--primary);color:#fff}.account-credits-num{display:inline-flex;align-items:center;gap:.25rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.account-credits-num .material-icons{color:#f5a623}.account-card-desc{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.account-status-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.account-status-row .material-icons{font-size:18px}.account-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.account-error{font-size:.8rem;color:#c0392b;margin:.75rem 0 0}.empty-state{text-align:center;padding:3rem 1.5rem}.empty-state h2{margin:0 0 .5rem}.empty-state p{margin:0 0 1.75rem;color:var(--text-secondary)}.empty-icon{font-size:48px!important;color:var(--text-secondary);margin-bottom:1rem}.invite-page{max-width:720px}.invite-subtitle{color:var(--text-secondary);font-size:.95rem;margin:-.5rem 0 1.5rem;line-height:1.5}.invite-card{padding:1.5rem;border:1px solid var(--border);border-radius:12px;background:#fff;margin-bottom:1rem}.invite-card-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.invite-card-desc{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.invite-code-row{margin:.75rem 0}.invite-code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.08em;padding:.5rem 1rem;background:var(--surface-elevated);border-radius:8px;color:var(--text-primary)}.invite-link-row{display:flex;gap:.5rem;align-items:stretch;margin:.75rem 0;flex-wrap:wrap}.invite-link-input{flex:1 1 260px;min-width:0;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fafafa;color:var(--text-primary)}.invite-share-btn{width:100%;justify-content:center;margin-top:.25rem}.invite-hint{font-size:.8rem;color:var(--text-secondary);margin:.75rem 0 0}.promo-form{display:flex;gap:.5rem;margin:.75rem 0 .5rem;flex-wrap:wrap}.promo-input{flex:1 1 200px;min-width:0;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);background:#fff}.promo-input:focus{outline:none;border-color:var(--primary)}.promo-success,.promo-error{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin:.75rem 0 0}.promo-success{color:#2f7a4d}.promo-success .material-icons{font-size:18px;color:#2f7a4d}.promo-error{color:#c0392b}.promo-error .material-icons{font-size:18px;color:#c0392b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{position:relative;background:var(--bg);border-radius:12px;padding:1.75rem;width:100%;max-width:440px;box-shadow:0 20px 48px #00000040;max-height:calc(100vh - 2rem);overflow-y:auto}.modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1;border-radius:6px}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal h3{margin:0 0 .5rem;font-size:1.125rem}.report-modal .report-desc{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-secondary)}.report-reasons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.report-reason{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.875rem;transition:border-color .15s,background .15s}.report-reason:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.report-reason input[type=radio]{margin:0;accent-color:var(--accent)}.report-reason input:disabled+span{color:var(--text-muted)}.report-note{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.875rem;resize:vertical;box-sizing:border-box;margin-bottom:1rem;background:var(--bg);color:var(--text)}.report-note:focus{outline:none;border-color:var(--accent)}.report-error{color:#c0392b;font-size:.8125rem;margin:.5rem 0 1rem}.report-actions{display:flex;justify-content:flex-end;gap:.5rem}.report-done{text-align:center;padding:.75rem 0}.report-done-icon{font-size:48px!important;color:var(--accent);margin-bottom:.75rem}.report-done h3{margin-bottom:.5rem}.report-done p{color:var(--text-secondary);font-size:.875rem;margin-bottom:1.5rem}.moderation-notice{display:flex;gap:.625rem;align-items:flex-start;padding:.75rem .875rem;background:#e67e2214;border:1px solid rgba(230,126,34,.3);border-radius:8px;font-size:.875rem;color:#b45f09;margin-bottom:1rem}.moderation-notice .material-icons{font-size:18px;flex-shrink:0}.js-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#f5ede0;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease-out;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.js-splash-exit{opacity:0;pointer-events:none}.js-splash-mark{display:flex;flex-direction:column;align-items:center;gap:.75rem}.js-splash-wordmark{margin:0;font:300 clamp(48px,14vw,80px)/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",system-ui,sans-serif;letter-spacing:-.03em;color:#1f1b16;display:flex}.js-splash-letter{display:inline-block;opacity:0;transform:translateY(8px);animation:js-splash-letter-in .4s cubic-bezier(.2,.8,.2,1) forwards}@keyframes js-splash-letter-in{to{opacity:1;transform:translateY(0)}}.js-splash-line{stroke-dasharray:170;stroke-dashoffset:170;animation:js-splash-line-draw .7s cubic-bezier(.2,.8,.2,1) 1s forwards}@keyframes js-splash-line-draw{to{stroke-dashoffset:0}}@media (prefers-color-scheme: dark){.js-splash{background:#1f1b16}.js-splash-wordmark{color:#f5ede0}}.account-menu-list{display:flex;flex-direction:column;margin:1.5rem 0 .5rem;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.account-menu-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:none;border:0;border-bottom:1px solid var(--border);font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;width:100%;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.account-menu-item:last-child{border-bottom:0}.account-menu-item:hover{background:var(--surface-elevated)}.account-menu-item .material-icons{font-size:20px;color:var(--text-muted);flex-shrink:0}.account-menu-item-label{flex:1;min-width:0}.account-menu-item-chevron{font-size:18px!important;color:var(--text-muted)}.account-menu-item-danger,.account-menu-item-danger .material-icons{color:var(--error, #c0392b)}.account-lang-row{display:flex;flex-wrap:wrap;gap:.5rem}.account-lang-pill{padding:.5rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.account-lang-pill:hover{border-color:var(--border-hover)}.account-lang-pill.selected{border-color:var(--primary);background:var(--surface-elevated);font-weight:600}.mobile-tabbar{display:none}@media (max-width: 768px){.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--background);border-top:1px solid var(--border);z-index:40}.mobile-tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:0;border:0;background:none;font-size:.6875rem;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-tabbar-item.active{color:var(--primary);font-weight:600}.mobile-tabbar-item .material-icons{font-size:22px}.main,.legal-content{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.controls.controls-sticky{bottom:calc(56px + env(safe-area-inset-bottom,0px) + .75rem);left:1rem;right:1rem;padding:0;background:transparent;border-top:0;pointer-events:none}.controls.controls-sticky .btn{pointer-events:auto;box-shadow:0 6px 20px #0000002e}.step-back-desktop-only{display:none}.home-with-sticky-cta{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}}.my-tabs{display:flex;gap:.25rem;margin:0 0 1.25rem;border-bottom:1px solid var(--border)}.my-tab{padding:.625rem 1rem;border:0;background:none;font-size:.9375rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.my-tab:hover{color:var(--text-primary)}.my-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.mobile-header{display:none}@media (max-width: 768px){.mobile-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:48px;padding:0 .5rem;padding-top:env(safe-area-inset-top,0px);background:var(--background);border-bottom:0;position:sticky;top:0;z-index:30}body.is-native .mobile-header{padding-top:calc(max(env(safe-area-inset-top,0px),50px) + 12px);padding-bottom:12px}.mobile-header-back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-header-back .material-icons{font-size:20px}.mobile-header-title{margin:0;font-size:1rem;font-weight:600;text-align:center;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-header-side{width:44px}.header{display:none}}.profile-edit-form{display:flex;flex-direction:column;gap:.25rem;width:100%}.profile-edit-form .edit-field-input{margin-bottom:.25rem}.profile-edit-actions{display:flex;gap:.5rem;margin-top:.75rem;justify-content:flex-end}.account-profile-summary{display:flex;align-items:center;gap:.875rem;width:100%;margin:1rem 0 1.25rem;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;cursor:pointer;text-align:left;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.account-profile-summary:hover{background:var(--surface-elevated)}.account-profile-summary-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0}.account-profile-summary-avatar-placeholder{background:var(--surface-elevated);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.account-profile-summary-avatar-placeholder .material-icons{font-size:24px}.account-profile-summary-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.account-profile-summary-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-profile-summary-handle{font-size:.8125rem;color:var(--text-muted)}.account-card-language{padding:1rem 1.125rem}.account-card-language-title{margin:0 0 .625rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.account-plan-upsell{margin:0 0 1rem;padding:1rem 1.125rem 1.125rem;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.account-plan-upsell-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.account-plan-upsell-features{list-style:none;padding:0;margin:0 0 .875rem;display:flex;flex-direction:column;gap:.375rem}.account-plan-upsell-features li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.account-plan-upsell-features .material-icons{font-size:16px;color:var(--text-primary);flex-shrink:0}.account-plan-upsell-cta{width:100%;padding:.625rem 1rem;border:0;border-radius:10px;background:var(--text-primary);color:var(--background);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease;-webkit-tap-highlight-color:transparent}.account-plan-upsell-cta:hover{opacity:.85}.plan-current-label{margin-top:1rem;padding:.625rem 0;font-size:.875rem;font-weight:500;color:var(--text-muted);text-align:center;border-top:1px solid var(--border)}.reference-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;margin-top:.75rem;border:2px dashed var(--border-hover);border-radius:12px;background:var(--surface);cursor:pointer;color:var(--text-muted);transition:border-color .15s ease,background .15s ease}.reference-upload-area:hover{border-color:var(--text-primary);background:var(--surface-elevated)}.reference-upload-area .material-icons{font-size:32px;color:var(--text-muted)}.reference-upload-area span{font-size:.875rem;font-weight:500}.reference-preview{position:relative;margin-top:.75rem;display:inline-block;border-radius:12px;overflow:hidden;background:var(--surface)}.reference-preview-img{display:block;width:100%;max-width:280px;height:auto;border-radius:12px}.reference-preview-remove{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;border:0;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.reference-preview-remove .material-icons{font-size:18px}.style-expander-hint{margin:0 0 .5rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.cleanup-option-group{display:flex;flex-direction:column;gap:.625rem;margin-top:.75rem}.cleanup-option{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.cleanup-option:hover{border-color:var(--text-primary)}.cleanup-option.selected{border-color:var(--text-primary);background:var(--surface-elevated)}.cleanup-option input{margin:.125rem 0 0;flex-shrink:0;cursor:pointer;accent-color:var(--text-primary)}.cleanup-option-body{display:flex;flex-direction:column;gap:.25rem}.cleanup-option-label{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.cleanup-option-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.generate-progress{max-width:460px;margin:4rem auto;padding:1.5rem 1.5rem 1.25rem;text-align:center}.generate-progress-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.generate-progress-bar{height:8px;background:var(--surface-elevated);border-radius:999px;overflow:hidden;margin-bottom:.625rem}.generate-progress-bar-fill{height:100%;background:var(--text-primary);border-radius:999px;transition:width .4s ease-out}.generate-progress-meta{margin:0;font-size:.875rem;color:var(--text-muted)}.account-card-hint{margin:.625rem 0 0;font-size:.8125rem;color:var(--text-muted);line-height:1.5}
