.hero{align-items:start;padding-top:28px}.hero-copy>.eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(35px,3.3vw,49px);margin-bottom:20px}.hero-copy>p{font-size:14px;line-height:1.65;margin-bottom:22px}.hero-image{align-self:stretch;min-height:600px}.hero-image>img{height:100%;position:absolute;inset:0}.hero-actions{margin-top:22px}.quick-designer{scroll-margin-top:28px}.quick-upload{border:1px dashed #a5b5a8;border-radius:14px;background:var(--soft);display:flex;align-items:center;gap:13px;padding:17px 15px;position:relative;cursor:pointer;transition:border-color .2s,background .2s}.quick-upload:hover,.quick-upload.dragging{border-color:var(--accent);background:#eaf1e9}.quick-upload strong{display:block;font-size:13px;font-weight:600}.quick-upload small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px}.upload-plus{margin-left:auto;font-size:24px;color:var(--accent)}.quick-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.quick-upload:focus-within{outline:3px solid #79aa82;outline-offset:3px}.quick-status{font-size:11px;margin:6px 0 0}.quick-status:empty{display:none}.ready-heading{font-size:12px;color:var(--muted);margin:19px 0 10px}.ready-heading strong{color:var(--text);font-weight:500}.source-tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:12px}.source-tabs button{padding:0 0 9px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:12px}.source-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.quick-templates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.template-mini{padding:0;border:0;background:none;color:var(--text);text-align:left;min-width:0}.template-mini img{width:100%;aspect-ratio:1.35;border-radius:8px;border:2px solid transparent;transition:border-color .2s}.template-mini:hover img{border-color:var(--accent)}.template-mini span{display:block;font-size:10px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px}.quick-bottom>span{font-size:10px;color:var(--muted);max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plain-link{border:0;padding:0;background:none;color:var(--accent);font-size:12px;cursor:pointer;text-decoration:none}.plain-link:hover{text-decoration:underline}.quick-bottom .plain-link{white-space:nowrap}body.modal-open{overflow:hidden}#designer-dialog{width:min(1040px,calc(100% - 40px));max-height:calc(100dvh - 56px);padding:0;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:22px;box-shadow:0 30px 100px #12291c40;overflow:hidden}#designer-dialog::backdrop{background:#14251bd0;backdrop-filter:blur(5px)}.designer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 30px;border-bottom:1px solid var(--border)}.dialog-step{display:block;font-size:10px;letter-spacing:1.6px;color:var(--accent);margin-bottom:8px}.designer-header h2{font-size:29px;letter-spacing:-.035em}.dialog-close{flex-shrink:0;border:1px solid var(--border);width:38px;height:38px;background:var(--soft);color:var(--text);border-radius:50%;font-size:26px;line-height:1}.designer-body{padding:25px 30px;max-height:calc(100dvh - 174px);overflow-y:auto;overscroll-behavior:contain}.designer-body [hidden]{display:none!important}.designer-body p{font-size:13px}.catalog-search{font-size:12px;display:block;max-width:350px}.catalog-search input{display:block;width:100%;padding:12px 14px;border:1px solid var(--border);background:var(--soft);color:var(--text);border-radius:9px;margin-top:7px}.catalog-filters{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 22px}.catalog-filters button{border:1px solid var(--border);border-radius:30px;padding:8px 13px;background:var(--bg);color:var(--muted);font-size:11px}.catalog-filters button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 17px}.catalog-card{border:0;background:none;text-align:left;color:var(--text);padding:0;min-width:0}.catalog-card img{width:100%;aspect-ratio:1.5;border-radius:12px;border:2px solid transparent}.catalog-card:hover img{border-color:var(--accent)}.catalog-card strong{display:block;font-size:13px;font-weight:500;margin:9px 0 5px}.catalog-card small{display:block;font-size:11px;color:var(--muted)}#template-large{width:100%;max-height:54dvh;object-fit:contain;background:var(--soft);border-radius:14px;margin-top:20px}.template-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}.template-preview-caption h3{font-size:23px}.template-preview-caption p{margin:7px 0 0}.settings-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px}.source-preview{position:sticky;top:0;align-self:start;min-width:0}.source-preview>img{width:100%;max-height:360px;object-fit:contain;background:var(--soft);border-radius:14px}.source-badge{display:inline-block;background:var(--soft);border-radius:30px;font-size:10px;padding:7px 11px;margin:14px 0}.source-preview h3{font-size:23px;margin:0 0 15px;overflow-wrap:anywhere}.source-preview>p{font-size:12px;margin-top:25px;max-width:270px}.settings-layout fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}.settings-layout legend{font-size:16px;font-weight:500;margin-bottom:13px}.settings-layout legend small{font-size:11px;color:var(--muted);font-weight:400;margin-left:7px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option{display:flex;align-items:center;gap:8px;padding:11px 10px;border:1px solid var(--border);border-radius:9px;font-size:12px;cursor:pointer;line-height:1.35}.option:has(input:checked){border-color:var(--accent);background:var(--soft);color:var(--accent)}.option input{width:15px;height:15px;margin:0;flex-shrink:0;accent-color:var(--accent)}.field-hint{font-size:10px!important;margin:10px 0 0}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-pair label{font-size:12px}.settings-pair select{margin-top:8px;font-size:11px}.range-label{display:flex;justify-content:space-between;font-size:12px;margin-top:24px}.range-label output{color:var(--accent);font-size:11px}#design-change{width:100%;accent-color:var(--accent);margin:17px 0 5px}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.keep-geometry{display:flex;gap:9px;align-items:start;font-size:12px;margin-top:20px}.keep-geometry input{accent-color:var(--accent);margin:1px 0 0}.wishes-label{font-size:12px;display:block;margin:23px 0 9px}.settings-submit{margin-top:19px}.settings-submit .button{width:100%;font-size:13px}.settings-submit p{font-size:10px;margin:12px 0 0;line-height:1.5}#settings-status{font-size:12px;color:var(--accent);margin:14px 0 0}.settings-layout textarea{font-size:12px}.settings-layout textarea::placeholder{color:var(--muted)}
@media(max-width:1050px){.hero{gap:30px}.hero h1{font-size:37px}.hero-image{min-height:680px}.hero-actions{gap:16px}.hero-actions .button{padding:15px 20px}.hero-actions .text-link{font-size:12px}}
@media(max-width:760px){.hero h1{font-size:37px}.hero-image{min-height:350px}.hero-image>img{position:static;height:350px}.hero-copy>p{font-size:13px}.quick-upload{padding:15px 11px;gap:10px}.quick-upload strong{font-size:12px}.quick-upload small{font-size:9px}.quick-templates{gap:7px}.template-mini span{font-size:9px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:11px}#designer-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:17px}.designer-header{padding:19px 17px;gap:10px}.designer-header h2{font-size:23px}.dialog-step{font-size:8px}.designer-body{padding:19px 17px;max-height:calc(100dvh - 124px)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 11px}.catalog-card strong{font-size:12px}.catalog-filters{gap:6px}.catalog-filters button{padding:7px 10px;font-size:10px}.settings-layout{grid-template-columns:1fr;gap:24px}.source-preview{position:static}.source-preview>img{max-height:210px}.source-preview>p{display:none}.source-preview h3{font-size:20px;margin-bottom:9px}.source-badge{margin:10px 0}.template-preview-caption{align-items:start;flex-direction:column;gap:17px}.template-preview-caption .button{width:100%}.settings-pair{gap:8px}.option{font-size:11px}.quick-bottom>span{max-width:52%}}
@media(prefers-color-scheme:dark){.quick-upload:hover,.quick-upload.dragging{background:#26382c}.quick-upload>img{filter:invert(1)}.catalog-filters button[aria-pressed=true]{color:#142a1d}}
/* Style carousel: six cards per page; checkbox state persists across pages. */
#design-styles.style-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}.style-card{position:relative;display:block;min-width:0;padding:0 0 9px;border:1px solid var(--border);border-radius:11px;overflow:hidden;cursor:pointer;background:var(--bg);transition:border-color .18s,box-shadow .18s}.style-card:hover{border-color:var(--accent)}.style-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--soft)}.style-card:focus-within{outline:3px solid #79aa82;outline-offset:3px}.style-card img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:9px 9px 0 0}.style-card-name{display:block;font-size:11px;line-height:1.4;padding:8px 7px 0;font-weight:500;overflow-wrap:anywhere}.settings-layout input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px;height:18px;flex-shrink:0;border:1.5px solid #87988c;border-radius:5px;background:var(--bg);margin:0;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}.settings-layout input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.settings-layout input[type=checkbox]::after{content:'';width:8px;height:4px;border:solid white;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .16s}.settings-layout input[type=checkbox]:checked::after{transform:translateY(-1px) rotate(-45deg) scale(1)}.settings-layout input[type=checkbox]:focus-visible{outline:3px solid #79aa82;outline-offset:3px}.style-card input[type=checkbox]{position:absolute;right:8px;top:8px;width:21px;height:21px;background:#fff;border-color:#ffffffb3;box-shadow:0 1px 6px #14251b26}.style-card input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.style-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:15px}.style-pagination>span{font-size:11px;color:var(--muted)}.style-pagination>div{display:flex;gap:7px}.style-pagination button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--accent);font-size:18px;line-height:1}.style-pagination button:hover:not(:disabled){background:var(--soft);border-color:var(--accent)}.style-pagination button:disabled{opacity:.35;cursor:default}.selected-styles{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.selected-styles:empty{display:none}.selected-style{font-size:10px;padding:6px 9px;border:1px solid var(--border);border-radius:30px;color:var(--accent);background:var(--soft)}.keep-geometry{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--bg);gap:12px;align-items:center;cursor:pointer;transition:background .18s,border-color .18s}.keep-geometry:has(input:checked){background:var(--soft);border-color:#9db7a5}.keep-geometry:hover{border-color:var(--accent)}.keep-geometry strong{font-size:12px;font-weight:500;line-height:1.5;display:block}.keep-geometry small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:3px}.keep-geometry input[type=checkbox]{width:22px;height:22px;border-radius:6px}.task-grid .option{min-height:45px;gap:9px}
@media(max-width:760px){#design-styles.style-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.style-card-name{font-size:12px}.style-card img{aspect-ratio:1.6}.keep-geometry{padding:13px}.keep-geometry strong{font-size:11px}}
@media(prefers-color-scheme:dark){.settings-layout input[type=checkbox]:checked::after{border-color:#142a1d}.keep-geometry:has(input:checked){border-color:#648c70}}
@media(forced-colors:active){.settings-layout input[type=checkbox]{appearance:auto}.settings-layout input[type=checkbox]::after{display:none}.style-card:has(input:checked){outline:2px solid Highlight}}

#settings-form > .keep-geometry{display:flex;align-items:center;gap:13px}
.generation-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:400px}.generation-layout>img{width:100%;max-height:450px;object-fit:contain;border-radius:16px}.generation-copy h3{font-size:29px;margin:22px 0 15px}.generation-copy p{line-height:1.7}.generation-spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:generation-spin 1.1s linear infinite;margin-top:25px}#generation-stage{min-height:24px;color:var(--accent);margin:24px 0}#generation-return{margin-top:16px}@keyframes generation-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.generation-layout{grid-template-columns:1fr;gap:22px}.generation-layout>img{max-height:230px}.generation-copy h3{font-size:25px}}@media(prefers-reduced-motion:reduce){.generation-spinner{animation:none}}
.generation-art{position:relative;overflow:hidden;border-radius:18px;line-height:0;background:#183a2c;max-width:100%;justify-self:center}.generation-art>img{display:block;max-width:100%;width:auto;max-height:480px;height:auto;object-fit:contain}.generation-art canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.generation-art-label{position:absolute;bottom:14px;left:14px;right:14px;width:fit-content;max-width:calc(100% - 28px);padding:10px 13px;line-height:1.3;border:1px solid #ffffff35;border-radius:30px;background:#163b2cbd;backdrop-filter:blur(12px);color:#edfff5;font-size:10px;letter-spacing:.05em;display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .3s}.is-working .generation-art-label{opacity:1}.generation-art-label span{height:6px;width:6px;flex-shrink:0;border-radius:50%;background:#b5f5ce;box-shadow:0 0 12px #a3ffcc}.generation-layout{grid-template-columns:1.15fr .85fr}.generation-copy h3{font-size:27px}@media(max-width:760px){.generation-layout{grid-template-columns:1fr}.generation-art>img{max-height:300px}.generation-copy h3{font-size:24px}}
