:root{color:var(--tg-theme-text-color,#111827);background:var(--tg-theme-bg-color,#f5f7fb);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--tg-theme-bg-color,#f5f7fb);min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:48px}button:disabled{cursor:not-allowed;opacity:.45}main{width:min(100%,560px);min-height:var(--tg-viewport-stable-height,100dvh);padding:max(20px, var(--tg-content-safe-area-inset-top,env(safe-area-inset-top,0px))) max(18px, var(--tg-content-safe-area-inset-right,env(safe-area-inset-right,0px))) calc(96px + var(--tg-content-safe-area-inset-bottom,env(safe-area-inset-bottom,0px))) max(18px, var(--tg-content-safe-area-inset-left,env(safe-area-inset-left,0px)));margin:0 auto}header{margin:8px 0 24px}h1{margin:6px 0;font-size:28px;line-height:1.1}h2{margin:0;font-size:17px}.eyebrow{color:var(--tg-theme-hint-color,#64748b);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.stack,section{gap:14px;display:grid}.primary,.secondary,.upload{border-radius:16px;place-items:center;width:100%;min-height:54px;padding:12px 18px;font-weight:700;display:grid}.primary{color:var(--tg-theme-button-text-color,white);background:var(--tg-theme-button-color,#1769e0);border:0;box-shadow:0 8px 20px #1769e038}.secondary{color:var(--tg-theme-text-color,#172033);background:var(--tg-theme-secondary-bg-color,white);border:1px solid var(--tg-theme-section-separator-color,#d9e1ec)}.sticky{z-index:5;left:max(18px, calc((100vw - 524px) / 2), var(--tg-content-safe-area-inset-left,env(safe-area-inset-left,0px)));right:max(18px, calc((100vw - 524px) / 2), var(--tg-content-safe-area-inset-right,env(safe-area-inset-right,0px)));bottom:max(16px, var(--tg-content-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));width:auto;position:fixed}.text-button{min-height:40px;color:var(--tg-theme-link-color,#1769e0);background:0 0;border:0}label{gap:7px;font-weight:650;display:grid}input,select,textarea{width:100%;min-height:50px;color:inherit;background:var(--tg-theme-secondary-bg-color,white);border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:12px 14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#1769e0;box-shadow:0 0 0 3px #1769e01f}.hint{color:var(--tg-theme-hint-color,#64748b);margin:0}.upload{color:#1769e0;background:#1769e00f;border:1px dashed #8baee0;position:relative}.upload input{opacity:0;width:1px;height:1px;position:absolute}.gallery,.result-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}figure{background:#dbe3ee;border-radius:16px;margin:0;position:relative;overflow:hidden}figure img,.image-placeholder{aspect-ratio:1;object-fit:cover;width:100%;display:block}figure button{color:#fff;background:#0f172abf;border:0;border-radius:50%;min-width:38px;min-height:38px;font-size:24px;position:absolute;top:6px;right:6px}figcaption{background:var(--tg-theme-secondary-bg-color,white);padding:10px;font-size:13px}.design-list{gap:12px}.design-card{background:var(--tg-theme-secondary-bg-color,white);border:1px solid #dde5ef;border-radius:18px;gap:14px;padding:16px;display:grid;box-shadow:0 4px 16px #0f172a0d}.card-head,.counter{justify-content:space-between;align-items:center;gap:12px;display:flex}.mode{color:#1769e0;background:#1769e014;border:0;border-radius:12px;min-height:40px;padding:8px 12px}.editor{gap:12px;display:grid}.color-field{gap:9px;display:grid}.ral-preview,.ral-summary{background:var(--tg-theme-secondary-bg-color,white);border:1px solid #cbd5e1;border-radius:13px;align-items:center;gap:10px;padding:10px;display:flex}.ral-swatch{border:2px solid #475569;border-radius:10px;flex:0 0 72px;width:72px;height:54px;box-shadow:inset 0 0 0 1px #ffffff8c}.ral-summary{margin-top:7px;padding:7px;font-size:12px}.ral-summary-swatch{border:2px solid #475569;border-radius:7px;flex:0 0 28px;width:28px;height:28px;box-shadow:inset 0 0 0 1px #ffffff8c}.ral-preview-copy{gap:3px;min-width:0;display:grid}.ral-preview-copy strong{overflow-wrap:anywhere}.ral-preview-copy small,.free-color-summary{color:var(--tg-theme-hint-color,#64748b)}.metallic-badge{color:#334155;background:#f1f5f9;border:1px solid #94a3b8;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:700}.ral-preview .metallic-badge{margin-left:auto}.color-retry{justify-self:start;padding:0}.counter{color:var(--tg-theme-hint-color,#64748b);font-size:13px}.counter .text-button{padding:0}.error,.field-error{color:#b42318}.error{background:color-mix(in srgb, #b42318 12%, var(--tg-theme-secondary-bg-color,white));border-radius:12px;margin-bottom:14px;padding:12px}.sync-indicator{border:1px solid var(--tg-theme-section-separator-color,#d9e1ec);color:var(--tg-theme-hint-color,#64748b);background:var(--tg-theme-secondary-bg-color,white);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin:-12px 0 14px;padding:8px 11px;font-size:13px;display:flex}.sync-indicator .text-button{min-height:32px;padding:0 4px}.conflict{background:color-mix(in srgb, #f59e0b 12%, var(--tg-theme-secondary-bg-color,white));border:1px solid #d97706;border-radius:14px;margin-bottom:14px;padding:14px}.conflict .secondary{min-height:44px}.photo-placeholder{aspect-ratio:1;width:100%;color:var(--tg-theme-hint-color,#64748b);place-items:center;display:grid}.project-row{text-align:left;width:100%;color:inherit;background:var(--tg-theme-secondary-bg-color,white);border:1px solid #d9e1ec;border-radius:16px;gap:5px;padding:14px;display:grid}.project-row small{color:var(--tg-theme-hint-color,#64748b)}.save-saving{color:#1769e0}.save-saved{color:#15803d}.save-error{color:#b42318}.lightbox{z-index:50;padding:max(56px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));color:#fff;background:#000000f0;grid-template-rows:1fr auto auto;place-items:center;gap:10px;display:grid;position:fixed;inset:0;overflow:hidden}.lightbox>img{object-fit:contain;touch-action:none;max-width:92vw;max-height:68dvh;transition:transform .12s}.lightbox-close{top:max(12px, env(safe-area-inset-top));color:#fff;background:#ffffff2e;border:0;border-radius:50%;min-width:44px;font-size:28px;position:absolute;right:14px}.lightbox input{max-width:360px;min-height:30px}.lightbox-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lightbox-actions button{border:0;border-radius:12px;min-height:42px;padding:8px 12px}.access-denied{text-align:center;padding-top:24vh}.home-screen{height:var(--tg-viewport-stable-height,100dvh);min-height:480px;padding-bottom:max(14px, var(--tg-content-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.home-screen header{margin-bottom:0}.home-shell{grid-template-rows:minmax(0,3fr) auto minmax(0,5fr) auto;gap:0;min-height:0;display:grid}.home-actions{grid-row:2;gap:10px;min-width:0;display:grid}.home-actions .primary,.home-actions .secondary{min-height:52px}.support-action{width:100%;min-height:44px;color:var(--tg-theme-link-color,#1769e0);background:0 0;border:0;border-radius:14px;grid-row:4;padding:8px 14px;font-weight:700}.support-action:focus-visible,.support-close:focus-visible{outline:3px solid color-mix(in srgb, var(--tg-theme-link-color,#1769e0) 35%, transparent);outline-offset:2px}.support-backdrop{z-index:60;padding:max(16px, var(--tg-content-safe-area-inset-top,env(safe-area-inset-top,0px))) max(10px, var(--tg-content-safe-area-inset-right,env(safe-area-inset-right,0px))) 0 max(10px, var(--tg-content-safe-area-inset-left,env(safe-area-inset-left,0px)));overscroll-behavior:contain;background:#0206178a;align-items:end;display:grid;position:fixed;inset:0}.support-sheet{width:min(100%,540px);padding:18px 18px max(18px, var(--tg-content-safe-area-inset-bottom,env(safe-area-inset-bottom,0px)));color:var(--tg-theme-text-color,#111827);background:var(--tg-theme-secondary-bg-color,white);border-radius:22px 22px 0 0;margin:0 auto;box-shadow:0 -12px 40px #02061738}.support-sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.support-sheet p{margin:0;line-height:1.45}.support-close{min-width:44px;min-height:44px;color:var(--tg-theme-text-color,#111827);background:color-mix(in srgb, var(--tg-theme-hint-color,#64748b) 12%, transparent);border:0;border-radius:50%;padding:0;font-size:25px;line-height:1}.review-main{height:var(--tg-viewport-stable-height,100dvh);overscroll-behavior:contain;overflow-y:auto}.review-main header{margin-bottom:10px}.review-main h1{font-size:25px}.review-screen{gap:8px;min-width:0}.review-metadata{background:var(--tg-theme-secondary-bg-color,white);border-radius:13px;gap:2px;min-width:0;padding:8px 11px;display:grid}.review-metadata strong{font-size:13px}.review-address{min-width:0;color:var(--tg-theme-hint-color,#64748b);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.review-rows{gap:5px;min-width:0;display:grid}.review-row{border:1px solid var(--tg-theme-section-separator-color,#dde5ef);background:var(--tg-theme-secondary-bg-color,white);border-radius:12px;grid-template-columns:minmax(92px,.8fr) minmax(0,1.4fr) auto;align-items:center;gap:8px;min-width:0;min-height:40px;padding:7px 10px;display:grid}.review-label{min-width:0;font-size:12px;font-weight:750;line-height:1.2}.review-value{min-width:0;color:var(--tg-theme-hint-color,#475569);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.review-swatch{border:2px solid var(--tg-theme-hint-color,#64748b);border-radius:5px;width:22px;height:22px;box-shadow:inset 0 0 0 1px #ffffff8c}.review-wishes{grid-template-columns:minmax(92px,.8fr) minmax(0,1.4fr)}.status{text-align:center;place-items:center;padding-top:12vh}.status-terminal{padding-top:8vh}.generation-summary{background:var(--tg-theme-secondary-bg-color,white);border-radius:14px;gap:5px;width:100%;padding:12px;display:grid}.generation-summary span{color:var(--tg-theme-hint-color,#64748b);font-size:13px}.spinner{border:5px solid #dbeafe;border-top-color:#1769e0;border-radius:50%;width:52px;height:52px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=370px){main{padding-left:max(12px, var(--tg-content-safe-area-inset-left,env(safe-area-inset-left,0px)));padding-right:max(12px, var(--tg-content-safe-area-inset-right,env(safe-area-inset-right,0px)))}.gallery{gap:8px}.review-row{grid-template-columns:minmax(84px,.75fr) minmax(0,1.25fr) auto;gap:6px;padding-inline:8px}.review-wishes{grid-template-columns:minmax(84px,.75fr) minmax(0,1.25fr)}}@media (height<=590px){.review-main{padding-top:max(10px, var(--tg-content-safe-area-inset-top,env(safe-area-inset-top,0px)))}.review-main header{margin-top:0;margin-bottom:6px}.review-main .eyebrow{display:none}.review-main h1{margin-top:0;font-size:23px}.review-row{min-height:37px;padding-block:5px}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}}
