:root{color-scheme:light;--fb-bg: #FFFFFF;--fb-bg-secondary: #F3F1EE;--fb-text: #17130F;--fb-hint: #8A8279;--fb-link: #C2500A;--fb-destructive: #E5384B;--fb-separator: rgba(23, 19, 15, .08);--bg: var(--tg-theme-bg-color, var(--fb-bg));--bg-sunken: var(--tg-theme-secondary-bg-color, var(--fb-bg-secondary));--surface: var(--tg-theme-section-bg-color, var(--fb-bg));--surface-raised: var(--tg-theme-section-bg-color, var(--fb-bg));--text: var(--tg-theme-text-color, var(--fb-text));--text-hint: var(--tg-theme-hint-color, var(--fb-hint));--text-link: var(--tg-theme-link-color, var(--fb-link));--danger: var(--tg-theme-destructive-text-color, var(--fb-destructive));--separator: var(--tg-theme-section-separator-color, var(--fb-separator));--brand-1: #FF6A1F;--brand-2: #FFB02E;--brand-grad: linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 100%);--brand-ink: #1B1005;--brand-soft: rgba(255, 106, 31, .12);--brand-text: #B8470A;--brand-glow: 0 8px 24px -6px rgba(255, 106, 31, .55);--cat-photo: #FF6A1F;--cat-video: #E8445A;--cat-music: #8A5CF5;--cat-chat: #1FA89A;--cat-tools: #4C7BF4;--ok: #1F9D5B;--warn: #D98A00;--skeleton-a: rgba(23, 19, 15, .06);--skeleton-b: rgba(23, 19, 15, .12);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-caption: 12px;--lh-caption: 16px;--fs-footnote: 13px;--lh-footnote: 18px;--fs-body: 15px;--lh-body: 21px;--fs-lead: 17px;--lh-lead: 22px;--fs-title: 22px;--lh-title: 28px;--fs-display: 30px;--lh-display: 34px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--tracking-tight: -.02em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--gutter: 16px;--app-max: 430px;--tap: 44px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(23, 19, 15, .06), 0 1px 1px rgba(23, 19, 15, .04);--shadow-2: 0 6px 20px -8px rgba(23, 19, 15, .22);--shadow-nav: 0 -1px 0 var(--separator);--safe-top: var(--tg-content-safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-bottom: var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--nav-h: 56px;--ease: cubic-bezier(.2, .8, .2, 1);--dur-fast: .12s;--dur: .22s;--dur-slow: .42s}:root[data-theme=dark]{color-scheme:dark;--fb-bg: #14110E;--fb-bg-secondary: #0C0A08;--fb-text: #F6F2EC;--fb-hint: #9A9186;--fb-link: #FFA45C;--fb-destructive: #FF6B7A;--fb-separator: rgba(246, 242, 236, .09);--surface: var(--tg-theme-section-bg-color, #1D1914);--surface-raised: var(--tg-theme-section-bg-color, #26211A);--brand-text: #FFA45C;--brand-soft: rgba(255, 138, 61, .16);--ok: #46C985;--warn: #F2B33D;--skeleton-a: rgba(246, 242, 236, .06);--skeleton-b: rgba(246, 242, 236, .13);--shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset;--shadow-2: 0 10px 28px -10px rgba(0, 0, 0, .7)}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--fb-bg: #14110E;--fb-bg-secondary: #0C0A08;--fb-text: #F6F2EC;--fb-hint: #9A9186;--fb-link: #FFA45C;--fb-separator: rgba(246,242,236,.09);--surface: var(--tg-theme-section-bg-color, #1D1914);--brand-text: #FFA45C}}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg-sunken);color:var(--text);font:var(--fs-body)/var(--lh-body) var(--font)}#root{max-width:var(--app-max);margin:0 auto;min-height:100vh;background:var(--bg);position:relative}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0;text-align:left}button:focus-visible,a:focus-visible{outline:2px solid var(--brand-1);outline-offset:2px}h1,h2,p{margin:0}.screen{padding:calc(var(--sp-4) + var(--safe-top)) var(--gutter) calc(var(--nav-h) + var(--safe-bottom) + var(--sp-6));animation:fade var(--dur) var(--ease)}.title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-4)}.hint{color:var(--text-hint);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.section{display:flex;justify-content:space-between;font-size:var(--fs-lead);line-height:var(--lh-lead);font-weight:var(--fw-semibold);margin:var(--sp-6) 0 var(--sp-3)}.section span{color:var(--text-hint);font-weight:var(--fw-regular);font-size:var(--fs-footnote)}.skeleton{background:linear-gradient(90deg,var(--skeleton-a),var(--skeleton-b),var(--skeleton-a));background-size:200% 100%;animation:shimmer 1.4s linear infinite}.home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.home-head .title{margin-bottom:var(--sp-3)}.pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-text);font-weight:var(--fw-semibold);font-size:var(--fs-footnote);white-space:nowrap}.chips{display:flex;gap:var(--sp-2);overflow-x:auto;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{min-height:36px;padding:0 var(--sp-4);border-radius:var(--r-pill);background:var(--bg-sunken);font-size:var(--fs-footnote);white-space:nowrap;transition:transform var(--dur-fast)}.chip:active{transform:scale(.97)}.chip--on{background:var(--brand-grad);color:var(--brand-ink);font-weight:var(--fw-semibold)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.card{position:relative;display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);min-height:150px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);border:1px solid var(--separator);animation:rise var(--dur-slow) var(--ease) backwards;transition:transform var(--dur-fast)}.card:active{transform:scale(.97)}.card--photo{--c: var(--cat-photo)}.card--video{--c: var(--cat-video)}.card--music{--c: var(--cat-music)}.card--chat{--c: var(--cat-chat)}.tile{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;color:#fff;background:var(--c, var(--cat-tools));margin-bottom:var(--sp-2);flex:none}.tile--lg{width:56px;height:56px;border-radius:var(--r-lg);margin:0}.card-name{font-weight:var(--fw-semibold);line-height:20px}.card-desc{color:var(--text-hint);font-size:var(--fs-caption);line-height:var(--lh-caption);flex:1}.card-price{display:flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--brand-text);font-weight:var(--fw-medium);margin-top:var(--sp-1);min-height:16px}.badge{position:absolute;top:var(--sp-3);right:var(--sp-3);padding:2px 8px;border-radius:var(--r-pill);background:var(--brand-grad);color:var(--brand-ink);font-size:11px;line-height:16px;font-weight:var(--fw-bold);text-transform:uppercase}.badge--inline{position:static;margin-left:var(--sp-2);vertical-align:middle}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max);display:flex;background:var(--bg);box-shadow:var(--shadow-nav);padding-bottom:var(--safe-bottom);z-index:10}.nav-item{flex:1;min-height:var(--nav-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-hint);font-size:11px;text-decoration:none;transition:color var(--dur-fast)}.nav-item.active{color:var(--brand-text);font-weight:var(--fw-semibold)}.back{display:inline-flex;align-items:center;gap:4px;min-height:var(--tap);color:var(--text-link);margin-bottom:var(--sp-2)}.service-head{display:flex;gap:var(--sp-4);align-items:center;margin-bottom:var(--sp-6)}.service-head .title{margin-bottom:var(--sp-1)}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4)}.state--full{min-height:70vh;justify-content:center}.state h2{font-size:var(--fs-lead);line-height:var(--lh-lead);font-weight:var(--fw-semibold)}.state p{color:var(--text-hint);max-width:300px}.state-tile{width:64px;height:64px;border-radius:var(--r-lg);background:var(--brand-soft);color:var(--brand-text);display:grid;place-items:center}.state-tile--danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.btn{min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--r-md);font-weight:var(--fw-semibold)}.btn--soft{background:var(--brand-soft);color:var(--brand-text)}.who{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5)}.avatar{width:64px;height:64px;border-radius:50%;background:var(--brand-grad);color:var(--brand-ink);display:grid;place-items:center;font-size:var(--fs-title);font-weight:var(--fw-bold)}.who-name{font-size:var(--fs-lead);font-weight:var(--fw-semibold)}.wallet{background:var(--brand-grad);color:var(--brand-ink);border-radius:var(--r-xl);padding:var(--sp-6);box-shadow:var(--brand-glow);margin-bottom:var(--sp-5)}.wallet-label{font-size:var(--fs-footnote);opacity:.8}.wallet-amount{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);margin-top:var(--sp-1)}.wallet-unit{font-size:var(--fs-footnote);opacity:.8}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--separator);border-radius:var(--r-lg);overflow:hidden}.list li{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);min-height:var(--tap)}.list li+li{border-top:1px solid var(--separator)}.list svg{color:var(--brand-text);flex:none}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}.result-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn--grad{background:var(--brand-grad);color:var(--brand-ink);box-shadow:var(--brand-glow)}.btn--sm{min-height:32px;padding:0 var(--sp-3);font-size:var(--fs-footnote)}.btn[disabled]{opacity:.55;cursor:default}.pill[disabled]{cursor:default}.panel{background:var(--surface);border:1px solid var(--separator);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--shadow-1);margin-bottom:var(--sp-3)}.panel:focus-within{box-shadow:0 0 0 2px var(--brand-1)}.lbl{display:block;font-size:var(--fs-footnote);font-weight:var(--fw-semibold);color:var(--text-hint);margin-bottom:var(--sp-2);text-transform:uppercase;letter-spacing:.04em}.panel textarea{width:100%;min-height:104px;resize:none;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--text);line-height:var(--lh-body)}.panel textarea::placeholder{color:var(--text-hint)}.count{display:flex;justify-content:space-between;margin-top:var(--sp-2)}.row-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.param{margin-bottom:var(--sp-4)}.param:last-child{margin-bottom:0}.drop{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1.5px dashed var(--text-hint);border-radius:var(--r-md);color:var(--text-hint);width:100%;min-height:var(--tap)}.drop.has{border-color:var(--brand-1)}.drop b{display:block;color:var(--text);font-weight:var(--fw-semibold)}.drop small{font-size:var(--fs-caption)}.thumbs{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3)}.thumb{width:64px;height:64px;border-radius:var(--r-sm);background:var(--bg-sunken);position:relative}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-sm);display:block}.thumb>button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--text);color:var(--bg);font-size:16px;line-height:24px;text-align:center}.thumb-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0006;border-radius:var(--r-sm)}.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block;flex:none}.thumb-busy .spin{color:#fff}.price-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-footnote);color:var(--text-hint);padding:0 4px}.price-line b{color:var(--text);font-weight:var(--fw-semibold);transition:opacity var(--dur)}.price-line b.dim{opacity:.4}.form-err{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);margin-bottom:var(--sp-3);border-radius:var(--r-md);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:var(--fs-footnote)}.form-err span{flex:1}.form-err svg{flex:none}.main-btn{width:100%;min-height:52px;margin-top:var(--sp-4);border-radius:var(--r-md);background:var(--brand-grad);color:var(--brand-ink);font-weight:var(--fw-bold);font-size:var(--fs-lead);box-shadow:var(--brand-glow);text-align:center}.main-btn[disabled]{background:var(--separator);color:var(--text-hint);box-shadow:none}.running-card{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);border-radius:var(--r-lg);background:var(--brand-soft);color:var(--brand-text)}.running-card .grow{flex:1;display:flex;flex-direction:column}.running-card small{color:var(--text-hint);font-size:var(--fs-caption);line-height:var(--lh-caption)}.progress-card{position:relative;width:100%;max-height:60vh;border-radius:var(--r-lg);background:var(--bg-sunken);overflow:hidden;display:grid;place-items:center;margin-bottom:var(--sp-4)}.progress-bar{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,var(--brand-soft) 50%,transparent 70%);background-size:250% 100%;animation:sweep 1.6s linear infinite}.progress-text{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);text-align:center;padding:var(--sp-4);max-width:280px}.progress-text b{font-size:var(--fs-lead)}.result-img{display:block;width:100%;max-height:70vh;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-sunken);margin-bottom:var(--sp-3)}.aimg{width:100%;height:100%;position:relative}.aimg img{width:100%;height:100%;object-fit:cover;display:block}.result-img .aimg img{object-fit:contain}.aimg-sk{width:100%;height:100%;min-height:80px;border-radius:0}.aimg-fail{width:100%;height:100%;min-height:80px;display:grid;place-items:center;color:var(--text-hint)}.prompt-box p{white-space:pre-wrap;word-break:break-word;margin-bottom:var(--sp-2)}.actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-4)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000000f0;display:grid;place-items:center;animation:fade var(--dur) var(--ease)}.viewer .aimg{width:100%;height:100%}.viewer .aimg img{object-fit:contain}.viewer-x{position:absolute;top:calc(var(--safe-top) + 12px);right:12px;width:44px;height:44px;border-radius:50%;background:#ffffff29;color:#fff;font-size:26px;text-align:center}.gal{columns:2;column-gap:var(--sp-3)}.shot{break-inside:avoid;margin-bottom:var(--sp-3);border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1);border:1px solid var(--separator);animation:rise var(--dur-slow) var(--ease) both;animation-delay:calc(var(--n, 0) * 40ms);width:100%;display:block}.shot-img{width:100%;background:var(--bg-sunken);overflow:hidden}.shot-state{height:100%;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--text-hint);font-size:var(--fs-footnote)}.shot-state--run{color:var(--brand-text)}.shot .meta{padding:8px 10px;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-hint)}.shot .meta b{display:block;color:var(--text);font-weight:var(--fw-semibold);font-size:var(--fs-footnote)}.more{text-align:center;min-height:24px;margin-top:var(--sp-3)}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--safe-bottom) + 24px);transform:translate(-50%,20px);max-width:calc(100% - 32px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:var(--r-pill);font-size:var(--fs-footnote);font-weight:var(--fw-medium);opacity:0;pointer-events:none;transition:all var(--dur) var(--ease);z-index:40;text-align:center}.toast.on{opacity:1;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{to{background-position:-250% 0}}@media (prefers-reduced-motion: reduce){.progress-bar,.skeleton,.spin{animation-duration:3s}}
