.sg-page{isolation:isolate;color:#080b2f;min-height:calc(100svh - 72px);padding:18px 12px 120px;position:relative}.sg-page:before{content:"";z-index:-1;background:linear-gradient(#2e1065 0%,#1e0b4b 100%);position:fixed;inset:0}.sg-wrap{max-width:560px;margin:0 auto}.sg-banner{color:#166534;background:#dcfce7;border-radius:16px;margin-bottom:14px;padding:12px 16px;font-size:15px;font-weight:800}.sg-card{background:#fff8ea;border-radius:28px;padding:22px 18px 24px;box-shadow:inset 0 2px #fff,0 5px #3b0f85,0 16px 28px #0a032866}.sg-h1{text-align:center;font-size:26px;font-weight:800;line-height:1.1}.sg-h2{font-size:22px;font-weight:800;line-height:1.15}.sg-lead{color:#5b4a86;text-align:center;font-size:16px;font-weight:600;line-height:1.4}.sg-center{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.sg-steps{grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0 22px;display:grid}.sg-steps__item{color:#9b8cc4;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:800;display:flex}.sg-steps__dot{background:#e9defa;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.sg-steps__item[data-state=current]{color:#6d28d9}.sg-steps__item[data-state=current] .sg-steps__dot{color:#3b1d00;background:linear-gradient(#ffe27a,#ffbe1a);box-shadow:inset 0 1px #ffffffb3}.sg-steps__item[data-state=done]{color:#15803d}.sg-steps__item[data-state=done] .sg-steps__dot{color:#fff;background:#22c55e}.sg-picker{flex-direction:column;gap:14px;display:flex}.sg-action{color:#fff;text-align:left;border:2px solid #fffc;border-radius:24px;align-items:center;gap:14px;min-height:78px;padding:10px 18px 10px 12px;font-size:19px;font-weight:800;line-height:1.15;transition:transform .12s;display:flex}.sg-action img{flex:none;width:56px;height:56px}.sg-action:active{transform:scale(.985)}.sg-action--camera{background:linear-gradient(160deg,#24c8ff,#0078f2);box-shadow:0 6px #0057b8}.sg-action--gallery{background:linear-gradient(160deg,#ff5ec4,#cf1286);box-shadow:0 6px #8c0f60}.sg-hint{color:#6b5a96;text-align:center;font-size:14px;font-weight:700}.sg-hint__drop{display:none}@media (hover:hover){.sg-hint__drop{display:inline}}.sg-status{color:#6d28d9;text-align:center;font-size:15px;font-weight:800}.sg-error{color:#b91c1c;background:#fee2e2;border-radius:14px;padding:10px 14px;font-size:15px;font-weight:700}.sg-preview{background:#0b0820;border:2px solid #e3d6ff;border-radius:20px;width:100%;overflow:hidden}.sg-preview__img{object-fit:contain;width:100%;max-height:260px;display:block}.sg-form{flex-direction:column;gap:16px;display:flex}.sg-ai{color:#166534;background:#dcfce7;border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;font-size:15px;font-weight:800;display:flex}.sg-ai span{font-size:14px;font-weight:600}.sg-field{flex-direction:column;gap:6px;display:flex}.sg-field__label{font-size:15px;font-weight:800}.sg-field__hint{color:#6b5a96;font-size:14px}.sg-input{color:#080b2f;resize:none;background:#fff;border:2px solid #e3d6ff;border-radius:16px;width:100%;padding:12px 14px;font-size:16px;font-weight:600}.sg-input:focus{border-color:#8b5cf6;outline:none}.sg-suggest{color:#6d28d9;align-self:flex-start;font-size:14px;font-weight:800}.sg-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sg-row--end{flex-wrap:nowrap;margin-top:4px}.sg-btn{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:16px;font-weight:800;transition:transform .1s;display:inline-flex}.sg-btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.sg-btn:disabled{opacity:.5}.sg-btn--primary{color:#3b1d00;background:linear-gradient(#ffe27a,#ffbe1a);box-shadow:inset 0 1px #ffffffb3,0 4px #c77700}.sg-btn--ghost{color:#6d28d9;background:#fff;border:2px solid #e3d6ff}.sg-btn--grow{flex:1}.sg-pulse{animation:1.4s ease-in-out infinite sg-pulse}@keyframes sg-pulse{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.sg-pulse{animation:none}}@media (min-width:640px){.sg-page{padding:28px 20px 120px}.sg-card{padding:28px 28px 30px}}
