:root{--font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-background: #070a0a;--color-surface: #111817;--color-surface-elevated: #1a2422;--color-grouped: #151f1d;--color-grouped-pressed: #282e2d;--color-border: rgb(199 244 255 / 12%);--color-text-primary: #f1f7f3;--color-text-secondary: #aebcb6;--color-text-tertiary: #788982;--color-accent-primary: #c7f4ff;--color-accent-secondary: #a9eaf7;--color-accent-soft: #27444a;--color-accent-faint: rgb(199 244 255 / 10%);--color-gradient-start: #c7f4ff;--color-gradient-middle: #afeaf8;--color-gradient-end: #8fdff1;--color-success: #a7eef5;--color-warning: #edc27e;--color-danger: #ed929c;--color-overlay: rgb(7 12 11 / 84%);--gradient-emotional: linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-middle) 48%, var(--color-gradient-end));--gradient-atmosphere: radial-gradient(circle at 12% -5%, rgb(199 244 255 / 9%), transparent 28rem), radial-gradient(circle at 100% 42%, rgb(199 244 255 / 7%), transparent 30rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 1rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .8rem;--radius-md: 1.2rem;--radius-lg: 1.75rem;--radius-xl: 2.25rem;--radius-pill: 999px;--text-display: clamp(2.45rem, 12vw, 4.3rem);--text-large-title: clamp(2rem, 9vw, 3rem);--text-title: clamp(1.65rem, 7vw, 2.25rem);--text-headline: 1.2rem;--text-body: 1rem;--text-callout: .95rem;--text-secondary: .875rem;--text-caption: .75rem;--text-button: 1rem;--shadow-soft: 0 18px 55px rgb(0 0 0 / 26%), 0 1px 0 rgb(255 255 255 / 3%) inset;--shadow-image: 0 22px 70px rgb(0 0 0 / 44%);--motion-fast: .12s;--motion-standard: .22s;--motion-emotional: .42s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--tg-safe-top: 0px;--tg-safe-right: 0px;--tg-safe-bottom: 0px;--tg-safe-left: 0px;--tg-content-safe-top: 0px;--tg-content-safe-right: 0px;--tg-content-safe-bottom: 0px;--tg-content-safe-left: 0px;--tg-viewport-height: 100dvh}@font-face{font-family:Instrument Sans;src:url(/assets/InstrumentSans-Variable-tWV223Ma.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{color:var(--color-text-primary);background:var(--color-background);font-family:var(--font-sans);font-synthesis:none;letter-spacing:normal;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;min-width:0;min-height:100%;margin:0}html{background:var(--color-background)}body{min-height:100dvh;overflow-x:hidden;background:var(--color-background)}button,input,textarea,select{font:inherit}input,textarea,select{font-size:16px}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgb(199 244 255 / 42%);outline-offset:3px}.app-shell{position:relative;min-height:100dvh;padding:calc(var(--space-4) + var(--tg-safe-top)) calc(var(--space-4) + var(--tg-safe-right)) calc(5.5rem + var(--tg-safe-bottom)) calc(var(--space-4) + var(--tg-safe-left))}.screen{position:relative;z-index:1;width:min(100%,42rem);margin:0 auto}.ambient-layer{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--gradient-atmosphere);contain:paint;pointer-events:none}.glitter-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;pointer-events:none}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:3.5rem;margin-bottom:var(--space-8)}.header-leading{display:flex;align-items:center;min-width:0;gap:.7rem}.brand-button{display:inline-flex;align-items:center;min-width:6rem;min-height:2.75rem;padding:.25rem 0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.brand-mark{margin:0;font-size:1.15rem;font-weight:700}.icon-button{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:1rem;color:var(--color-text-secondary);background:#1a2422eb;box-shadow:0 8px 24px #0000002e,0 1px #ffffff0d inset;line-height:0;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.icon-button:hover{color:var(--color-accent-secondary);background:var(--color-grouped-pressed)}.icon-button:active{transform:scale(.96)}.header-leading>.icon-button,.topbar>.icon-button{background:#1a2422c7}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.balance-pill{display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;min-height:2.75rem;gap:4px;padding:.25rem .65rem;border:0;border-radius:var(--radius-pill);color:#0b1010;background:var(--color-accent-primary);font-size:var(--text-caption);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.balance-icon-box{display:inline-flex;width:1.5rem;height:1.5rem;flex:0 0 1.5rem;align-items:center;justify-content:center;line-height:1}.balance-icon-box .credit-icon-small{width:1.5rem;height:1.5rem;font-size:1.5rem;line-height:1}.balance-pill strong{color:#0b1010;font-size:calc(var(--text-caption) + .35rem);font-weight:600}.balance-pill:hover{background:#c7f4ff29}.balance-pill:active{transform:scale(.96)}.credit-icon{display:inline-flex;width:3rem;height:3rem;flex:0 0 auto;align-items:center;justify-content:center;font-size:2rem;line-height:1}.credit-icon-small{width:2rem;height:2rem;font-size:1.25rem}.action-icon{display:block;width:1.5rem;height:1.5rem;flex:0 0 auto}.microcopy{margin:var(--space-4) 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption);line-height:1.5;text-align:center}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;color:var(--color-text-primary);font-size:var(--text-large-title);line-height:1.06}h2{margin:0;color:var(--color-text-primary);font-size:var(--text-headline);line-height:1.3}.status-badge{display:inline-flex;align-items:center;min-height:1.8rem;padding:.25rem .7rem;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:600;white-space:nowrap}.status-quiet{color:var(--color-text-secondary);background:var(--color-surface-elevated)}.status-success{color:var(--color-success);background:#a7eef521}.status-pending{color:var(--color-accent-secondary);background:var(--color-accent-faint)}.status-warning{color:var(--color-warning);background:#f2bd6c21}.status-danger{color:var(--color-danger);background:#f08a9121}.hero-panel,.grouped-card{border:0;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.hero-panel{position:relative;isolation:isolate;overflow:hidden;contain:paint;padding:clamp(var(--space-6),8vw,var(--space-10))}.hero-panel>*:not(.hero-glow){position:relative;z-index:1}.hero-glow{position:absolute;top:-10rem;right:-8rem;width:22rem;height:22rem;border-radius:50%;background:var(--gradient-emotional);filter:blur(42px);opacity:.13}.hero-copy{max-width:34rem;margin:var(--space-5) 0 0;color:var(--color-text-secondary);font-size:var(--text-body);line-height:1.55}.consent-panel h1{max-width:18rem}.consent-panel .button{width:100%;margin-top:var(--space-8)}.reassurance-list{display:grid;gap:var(--space-3);margin-top:var(--space-8)}.reassurance-list div{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.reassurance-list span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.7rem;color:var(--color-accent-primary);background:var(--color-accent-faint);font-size:var(--text-caption);font-weight:700}.reassurance-list p{margin:0;font-size:var(--text-callout)}.flow,.profile-flow{display:grid;gap:var(--space-5)}.page-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-heading{align-items:center;margin-bottom:var(--space-2)}.page-heading h1{max-width:25rem;font-size:var(--text-title);white-space:nowrap}.progress-stepper-card{padding:var(--space-4) var(--space-5)}.progress-stepper{display:flex;justify-content:space-between;gap:var(--space-3);margin:0;padding:0;list-style:none}.progress-stepper li{display:flex;flex:1 1 0;min-width:0;align-items:center;color:var(--color-text-tertiary);font-size:var(--text-caption)}.progress-stepper li:nth-child(1){justify-content:flex-start}.progress-stepper li:nth-child(2){justify-content:center}.progress-stepper li:nth-child(3){justify-content:flex-end}.progress-stepper button{display:flex;width:auto;max-width:100%;min-width:0;align-items:center;gap:.25rem;min-height:2.4rem;padding:0;border:0;color:inherit;background:transparent;text-align:left}.progress-stepper button:disabled{cursor:not-allowed;opacity:.55}.progress-stepper button:not(:disabled){cursor:pointer}.progress-stepper li span{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:0;border-radius:50%;background:var(--color-grouped);font-size:.65rem}.progress-stepper li strong{overflow:hidden;font-size:var(--text-caption);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.progress-stepper .step-current{color:var(--color-text-primary)}.progress-stepper .step-current span{color:#0b1010;background:var(--color-accent-primary);box-shadow:0 0 0 .25rem #c7f4ff1f}.progress-stepper .step-completed{color:var(--color-success)}.progress-stepper .step-completed span{color:#0b1010;background:var(--color-success)}.step-panel{min-height:22rem}.grouped-card{padding:var(--space-5)}.section-heading{margin-bottom:var(--space-5)}.section-heading p{max-width:26rem;margin:.35rem 0 0;color:var(--color-text-tertiary);font-size:var(--text-secondary);line-height:1.45}.section-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.8rem;color:var(--color-accent-secondary);background:var(--color-accent-faint)}.privacy-icon{display:block;width:1.15rem;height:1.15rem;flex:0 0 auto}.upload-card{position:relative;display:grid;min-height:14rem;place-items:center;overflow:hidden;border:0;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-grouped),var(--color-surface-elevated));box-shadow:0 1px #ffffff0a inset;cursor:pointer;transition:filter var(--motion-standard) var(--ease-standard),transform var(--motion-standard) var(--ease-standard)}.upload-card:active{transform:scale(.99)}.upload-card:hover{filter:brightness(1.08)}.upload-card img{width:100%;height:100%;min-height:14rem;object-fit:cover}.upload-placeholder{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center}.upload-placeholder strong{font-size:var(--text-callout)}.upload-placeholder small{color:var(--color-text-tertiary);font-size:var(--text-caption)}.upload-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:var(--space-2);border-radius:1.1rem;color:var(--color-accent-primary);background:var(--color-accent-faint);font-size:2rem;font-weight:300}.upload-overlay{position:absolute;right:var(--space-3);bottom:var(--space-3);padding:.45rem .75rem;border-radius:var(--radius-pill);color:var(--color-text-primary);background:var(--color-overlay);font-size:var(--text-caption)}.upload-error{margin:var(--space-3) 0 0;color:var(--color-danger);font-size:var(--text-secondary);line-height:1.4}.privacy-note{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption)}.privacy-note .privacy-icon{color:var(--color-success)}.inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.details-section,.editor-fields{display:grid;gap:calc(var(--space-5) * 2)}.field{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-secondary)}.field>span small{margin-left:.45rem;color:var(--color-text-tertiary);font-size:var(--text-caption);font-weight:400}.field em{margin-left:.35rem;color:var(--color-text-tertiary);font-size:var(--text-caption);font-style:normal}.field input,.field textarea,.field select{width:100%;border:0;border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface-elevated);box-shadow:0 1px #ffffff0a inset,0 8px 24px #0000001a;transition:background var(--motion-standard) var(--ease-standard),box-shadow var(--motion-standard) var(--ease-standard)}.field input{min-height:3.35rem;padding:0 var(--space-4)}.field textarea{min-height:7.5rem;padding:var(--space-4);resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-tertiary)}.field input:focus,.field textarea:focus,.field select:focus{background:var(--color-grouped-pressed);box-shadow:0 0 0 .2rem #c7f4ff21,0 1px #ffffff0d inset;outline:none}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.25rem;border-radius:var(--radius-md);background:var(--color-grouped);box-shadow:0 1px #ffffff0a inset}.segmented-control button,.chip{min-height:2.8rem;border:0;border-radius:calc(var(--radius-md) - .25rem);color:var(--color-text-secondary);background:transparent;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.segmented-control button.selected,.chip.selected{color:#0b1010;background:var(--color-accent-primary);box-shadow:0 5px 16px #c7f4ff26}.segmented-control button:active,.chip:active{transform:scale(.97)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{min-height:2.7rem;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-grouped)}.chip.selected{border-color:transparent}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;color:var(--color-text-secondary)}.switch-row span{display:grid;gap:.25rem}.switch-row strong{color:var(--color-text-primary);font-size:var(--text-callout)}.switch-row small{color:var(--color-text-tertiary);font-size:var(--text-caption);line-height:1.4}.toggle-switch{position:relative;width:3.2rem;height:1.85rem;flex:0 0 auto;padding:.2rem;border:0;border-radius:var(--radius-pill);background:var(--color-grouped-pressed);box-shadow:0 1px #ffffff0f inset;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.toggle-switch-thumb{display:block;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--color-text-tertiary);box-shadow:0 2px 6px #00000047;transform:translate(0);transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.toggle-switch.is-on{background:var(--color-accent-primary)}.toggle-switch.is-on .toggle-switch-thumb{background:#0b1010;transform:translate(1.35rem)}.save-hint{display:flex;align-items:center;gap:var(--space-2);margin:-.5rem 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption)}.save-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--color-success)}.details-section>.button{box-shadow:0 10px 28px #03040961}.sticky-actions{position:fixed;z-index:3;right:50%;bottom:0;display:grid;width:min(100%,42rem);padding:var(--space-3) calc(var(--space-4) + var(--tg-safe-right)) calc(var(--space-3) + var(--tg-safe-bottom)) calc(var(--space-4) + var(--tg-safe-left));transform:translate(50%);background:linear-gradient(180deg,transparent,rgb(16 17 24 / 94%) 30%);pointer-events:none}.sticky-actions .button{width:100%;pointer-events:auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);color:var(--color-text-primary);font-size:var(--text-button);font-weight:600;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),filter var(--motion-standard) var(--ease-standard),background var(--motion-standard) var(--ease-standard)}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{cursor:wait;opacity:.55}.button-primary{color:#0b1010;background:var(--color-accent-primary);box-shadow:0 12px 30px #c7f4ff00}.button-primary:hover:not(:disabled){filter:brightness(1.1)}.button-secondary{background:var(--color-surface-elevated);box-shadow:0 1px #ffffff0a inset}.button-secondary:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:var(--color-grouped-pressed)}.button-ghost{min-height:2.7rem;padding:0 var(--space-3);color:var(--color-text-secondary);background:transparent;font-size:var(--text-secondary)}.action-stack{display:grid;gap:var(--space-3)}.action-note{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption);line-height:1.45;text-align:center}.generation-card{display:grid;gap:var(--space-4);overflow:hidden}.generation-art{display:grid;place-items:center;width:100%;min-height:13rem;border-radius:var(--radius-md);background:radial-gradient(circle at 50% 20%,rgb(199 244 255 / 15%),transparent 30%),linear-gradient(145deg,var(--color-grouped),var(--color-surface-elevated) 72%)}.generation-art span{color:#f1f7f3d6;font-size:3rem;text-shadow:0 0 30px rgb(199 244 255 / 38%)}.generation-card .button{width:100%;margin-top:var(--space-2)}.stage-list{display:grid;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-secondary)}.stage-list span{display:flex;align-items:center;gap:var(--space-2)}.stage-list span:before{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-border);content:""}.stage-list .stage-done:before{background:var(--color-success)}.stage-list .stage-current{color:var(--color-text-primary)}.stage-list .stage-current:before{background:var(--color-accent-primary);box-shadow:0 0 0 .25rem #c7f4ff24}.cover-frame{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-image)}.cover-frame img{display:block;width:100%;aspect-ratio:1 / 1.12;object-fit:cover}.cover-frame .image-loading{aspect-ratio:1 / 1.12}.character-hero{position:relative;min-height:min(76vh,35rem);overflow:hidden;border-radius:var(--radius-xl);background:var(--color-surface-elevated);box-shadow:var(--shadow-image)}.character-hero img{display:block;width:100%;height:100%;min-height:min(76vh,35rem);object-fit:cover}.character-hero .image-loading{min-height:min(76vh,35rem)}.cover-fallback{display:grid;min-height:min(76vh,35rem);place-items:center;background:var(--gradient-emotional)}.cover-fallback span{font-size:4rem;opacity:.8}.cover-fallback-error{gap:var(--space-3);padding:var(--space-5);text-align:center}.cover-fallback-error span{font-size:var(--text-callout);opacity:1}.private-image{position:relative;min-height:inherit}.private-image img{transition:opacity .16s var(--ease-standard)}.private-image-loading img{opacity:.72}.image-loading{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--color-accent-primary);background:#1011182e;pointer-events:none}.spinner{display:block;flex:0 0 auto;animation:spinner-rotate .8s linear infinite}.spinner-18{width:18px;height:18px}.spinner-24{width:24px;height:24px}.spinner-32{width:32px;height:32px}.hero-shade{position:absolute;top:35%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#0b0c12e5)}.character-caption{position:absolute;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);display:grid;justify-items:start;gap:1.1rem}.character-caption h1{font-size:clamp(2.2rem,10vw,3.5rem)}.profile-actions{display:grid;gap:var(--space-3)}.profile-actions .button:first-child{box-shadow:0 10px 28px #c7f4ff00}.character-list{display:grid;gap:var(--space-3)}.character-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-width:0;min-height:4.5rem;padding:var(--space-3);border:0;border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-surface);box-shadow:var(--shadow-soft)}.character-row.selected{background:linear-gradient(100deg,rgb(199 244 255 / 13%),var(--color-surface));box-shadow:0 0 0 1px #c7f4ff61 inset,var(--shadow-soft)}.character-row-main{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:var(--space-3);min-width:0;min-height:3rem;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.character-thumb{display:grid;width:4rem;height:4rem;min-width:0;place-items:center;overflow:hidden;border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-elevated)}.character-thumb img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover}.character-row-copy{display:grid;min-width:0;gap:.3rem}.character-row-copy strong{overflow:hidden;font-size:var(--text-callout);text-overflow:ellipsis;white-space:nowrap}.character-row-copy small{color:var(--color-success);font-size:var(--text-caption)}.character-row-actions{display:flex;align-items:center;gap:.5rem}.character-row-actions .button{width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0;border-radius:.8rem;color:var(--color-text-secondary);background:var(--color-grouped-pressed)}.character-row-actions .action-icon{width:1.25rem;height:1.25rem}.character-row-actions .button:last-child{color:#f08a91d6;background:#3a2632}.draft-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-width:0;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.draft-card-copy{flex:0 1 auto;min-width:0}.draft-card h2{margin:0;font-size:var(--text-callout);white-space:nowrap}.draft-card .button{flex:0 0 auto;white-space:nowrap}.draft-card .button-primary{min-height:2.5rem;padding-inline:var(--space-3);font-size:var(--text-secondary)}.draft-card-actions{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.draft-card-actions .button-ghost{width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0}.draft-card-actions .action-icon{width:1.25rem;height:1.25rem}.editor-screen{display:grid;width:100%;max-width:100%;min-width:0;gap:var(--space-5)}.editor-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-3);min-width:0}.editor-heading h1{font-size:var(--text-title)}.editor-heading p{margin:.4rem 0 0;color:var(--color-text-tertiary);font-size:var(--text-secondary);line-height:1.45}.editor-portrait-card{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.editor-portrait-copy{display:flex;align-items:center;gap:var(--space-3);min-width:0}.editor-portrait-copy strong{display:block}.editor-portrait-copy p{margin:.25rem 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption)}.editor-portrait-card img,.editor-portrait-placeholder{display:block;width:100%;max-width:100%;height:min(18rem,60vw);min-height:10rem;object-fit:cover;border-radius:var(--radius-md)}.editor-portrait-placeholder{display:grid;place-items:center;color:var(--color-text-tertiary);background:var(--color-grouped-pressed)}.editor-portrait-placeholder .privacy-icon{width:2rem;height:2rem}.editor-fields{min-width:0}.details-form{display:flex;flex-direction:column;gap:22px}.settings-screen{display:grid;gap:var(--space-6)}.settings-heading{display:flex;align-items:center;gap:var(--space-3)}.settings-heading h1{font-size:var(--text-title)}.settings-list{display:grid;overflow:hidden;border:0;border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.settings-row{display:grid;gap:.3rem;min-height:4.25rem;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.settings-row:last-child{border-bottom:0}.settings-row strong{font-size:var(--text-callout);font-weight:600}.settings-row span{color:var(--color-text-tertiary);font-size:var(--text-secondary);line-height:1.4}.referral-screen{display:grid;gap:var(--space-4)}.referral-heading h1{font-size:var(--text-title)}.referral-card,.referral-stats{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.referral-card>h2{margin:0 0 var(--space-4)}.referral-link-field{overflow:hidden;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-grouped)}.referral-link-field code{display:block;overflow:hidden;color:var(--color-accent-primary);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap}.referral-card .action-row{margin-top:var(--space-3)}.referral-benefits{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.referral-benefits p{margin:0;color:var(--color-text-secondary);font-size:var(--text-secondary)}.referral-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);text-align:center}.referral-stats div{display:grid;gap:var(--space-1)}.referral-stats strong{font-size:var(--text-headline)}.referral-stats span{color:var(--color-text-tertiary);font-size:var(--text-secondary)}.referral-promo-banner{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:var(--radius-lg);background:transparent;box-shadow:var(--shadow-soft);cursor:pointer}.referral-promo-banner img{display:block;width:100%;height:auto;aspect-ratio:1224 / 320;object-fit:contain}.language-row{cursor:pointer}.language-picker{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-grouped)}.language-picker button{min-height:2.8rem;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;text-align:left;cursor:pointer}.language-picker button.selected{color:#0b1010;background:var(--color-accent-primary)}.rules-section{display:block;border-bottom:1px solid var(--color-border)}.rules-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.rules-row-copy{display:grid;gap:.3rem;min-width:0}.rules-row-copy strong{color:var(--color-text-primary);font-size:var(--text-callout);font-weight:600}.rules-row-copy span{color:var(--color-text-tertiary);font-size:var(--text-secondary);line-height:1.4}.rules-chevron{color:var(--color-text-tertiary);font-size:1.35rem;line-height:1;transform:rotate(0);transition:transform var(--motion-fast) var(--ease-standard)}.rules-chevron.is-open{transform:rotate(180deg)}.rules-panel{max-height:min(45vh,22.5rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-4);color:var(--color-text-secondary);background:var(--color-grouped)}.rules-panel h2{margin:0 0 var(--space-3);color:var(--color-text-primary);font-size:var(--text-callout);font-weight:600}.rules-panel>p,.rules-block p{margin:0 0 var(--space-3);font-size:var(--text-secondary);line-height:1.5}.rules-block+.rules-block{margin-top:var(--space-4)}.rules-block h3{margin:0 0 var(--space-2);color:var(--color-text-primary);font-size:var(--text-secondary);font-weight:600;line-height:1.4}.rules-block ul{display:grid;gap:var(--space-2);margin:0 0 var(--space-3);padding-left:1.2rem;font-size:var(--text-secondary);line-height:1.45}.rules-label{color:var(--color-accent-secondary);font-weight:600}.balance-screen{display:grid;gap:var(--space-4)}.balance-heading h1{font-size:var(--text-title)}.balance-summary-card,.auto-photo-card,.plus-teaser{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.balance-summary-card strong,.auto-photo-card h2,.plus-teaser h2{display:block;color:var(--color-text-primary);font-size:var(--text-headline);font-weight:600}.balance-summary-card>div>span,.auto-photo-card p,.plus-teaser p{margin:.2rem 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption)}.balance-section{display:grid;gap:var(--space-2)}.balance-section h2{padding:0 var(--space-1);font-size:var(--text-callout)}.balance-packages-card{overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.balance-package-row{display:flex;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:.45rem var(--space-4)}.balance-package-row+.balance-package-row{border-top:1px solid var(--color-border)}.balance-package-row strong{flex:1;font-size:var(--text-callout);font-weight:500}.balance-package-row .button{min-height:2.25rem;padding:0 .8rem;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:600}.auto-photo-card{justify-content:space-between}.auto-photo-card h2{font-size:var(--text-callout)}.auto-photo-card p{line-height:1.35}.plus-teaser{justify-content:space-between}.plus-teaser h2{font-size:var(--text-callout)}.modal-backdrop{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;padding:var(--space-4);background:#03040985}.confirm-modal{width:min(100%,24rem);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-elevated);box-shadow:var(--shadow-soft)}.confirm-modal h2{margin-bottom:var(--space-2)}.confirm-modal p{margin:0 0 var(--space-5);color:var(--color-text-secondary);font-size:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.launch-loader-shell{position:fixed;z-index:4;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:calc(var(--space-6) + var(--tg-safe-top)) calc(var(--space-6) + var(--tg-safe-right)) calc(var(--space-6) + var(--tg-safe-bottom)) calc(var(--space-6) + var(--tg-safe-left));background:#101118f5;opacity:1;transition:opacity .24s var(--ease-standard);pointer-events:auto}.launch-loader-shell-exiting{opacity:0;pointer-events:none}.launch-loader{display:grid;justify-items:center;gap:var(--space-5);min-height:12rem;color:var(--color-text-secondary);text-align:center}.launch-loader p{margin:0;font-size:var(--text-callout)}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:12rem;color:var(--color-text-secondary)}.toast{position:fixed;z-index:7;top:calc(var(--space-4) + var(--tg-safe-top));left:50%;display:flex;align-items:center;gap:var(--space-3);width:min(calc(100% - 2rem),28rem);min-height:2.9rem;padding:.7rem var(--space-4);border:1px solid rgb(240 138 145 / 28%);border-radius:var(--radius-pill);color:var(--color-text-primary);background:#1f1b27f0;box-shadow:var(--shadow-soft);font-size:var(--text-secondary);line-height:1.3;transform:translate(-50%);animation:toast-in .22s var(--ease-standard) both}.toast-icon{display:grid;width:1.35rem;height:1.35rem;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--color-background);background:var(--color-danger);font-size:var(--text-caption);font-weight:700}.review-toast{position:static;width:auto;transform:none;animation:none}.dev-banner{margin:-var(--space-5) 0 var(--space-5);color:var(--color-warning);font-size:var(--text-caption);text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.review-shell{position:relative;z-index:1;width:min(100%,58rem);margin:0 auto}.review-heading{margin-bottom:var(--space-6)}.review-heading h1{max-width:32rem}.review-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.review-card{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid rgb(255 255 255 / 7%);border-radius:var(--radius-lg);background:#171923e8;box-shadow:var(--shadow-soft)}.review-card h2{margin-bottom:0}.review-row,.review-statuses{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.review-row .button{flex:1 1 7rem}.review-input{min-height:3.25rem;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface-elevated)}.review-loading{min-height:4rem;justify-content:flex-start}.review-upload{min-height:10rem}.review-cover{display:grid;min-height:10rem;place-items:center;border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--gradient-emotional);font-size:2.5rem}.review-error{margin:0}.review-sheet{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.review-sheet p:last-child{margin:0;color:var(--color-text-secondary);font-size:var(--text-secondary)}.generation-loader{display:grid;justify-items:center;gap:var(--space-4);padding:var(--space-2) 0;text-align:center}.generation-loader-label{margin:0;color:var(--color-text-secondary);font-size:var(--text-callout);font-weight:600}.generation-loader-copy{max-width:28rem;margin:0;color:var(--color-text-secondary);font-size:var(--text-body);line-height:1.5}.generation-loader-visual{display:grid;width:100%;min-height:13rem;place-items:center;overflow:hidden;border-radius:var(--radius-md);color:var(--color-accent-primary);background:radial-gradient(circle at 50% 48%,rgb(199 244 255 / 13%),transparent 38%),linear-gradient(145deg,var(--color-grouped),var(--color-surface-elevated) 72%)}.review-launch-loader{min-height:10rem;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-elevated)}.review-generation-loader{width:100%;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-elevated)}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-.5rem)}to{opacity:1;transform:translate(-50%)}}@media(min-width:540px){.app-shell{padding-right:calc(var(--space-6) + var(--tg-safe-right));padding-left:calc(var(--space-6) + var(--tg-safe-left))}.grouped-card{padding:var(--space-6)}}@media(max-width:380px){.page-heading h1{font-size:var(--text-title)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.toast{animation:none}.spinner{animation:none;opacity:.72}}.visual-style-picker{display:grid;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-secondary)}.visual-style-control{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
