:root{--background:#FBF7F0;--foreground:#231C15;--card:#FFFFFF;--card-foreground:#231C15;--popover:#FFFFFF;--popover-foreground:#231C15;--muted:#F1EADF;--muted-foreground:#5B5045;--primary:#7A1E2C;--primary-foreground:#FFFFFF;--secondary:#E6DCCB;--secondary-foreground:#231C15;--border:#E6DCCB;--input:#A59785;--accent:#F1EADF;--accent-foreground:#231C15;--ring:#7A1E2C;--font-sans:ui-sans-serif,system-ui,Inter,sans-serif;--font-serif:"Iowan Old Style","Palatino Linotype",Georgia,serif}.dark{--background:#17130F;--foreground:#F3ECE2;--card:#221C16;--card-foreground:#F3ECE2;--popover:#221C16;--popover-foreground:#F3ECE2;--muted:#3A3128;--muted-foreground:#C9BCAB;--primary:#E9C77B;--primary-foreground:#17130F;--secondary:#3A3128;--secondary-foreground:#F3ECE2;--border:#655746;--input:#A59785;--accent:#3A3128;--accent-foreground:#F3ECE2;--ring:#E9C77B}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600}.portrait-page{max-width:1200px;margin:auto;padding:3rem 1.5rem}.portrait-intro{max-width:900px;margin:1rem auto 3rem;text-align:center}.portrait-intro h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.12;margin:1rem 0}.portrait-intro p,.portrait-section>p{color:var(--muted-foreground);line-height:1.8;max-width:75ch;margin:1rem auto}.portrait-section{padding:2.5rem 0;border-top:1px solid var(--border);scroll-margin-top:6rem}.portrait-section h2{font-size:clamp(1.65rem,3vw,2.2rem);margin-bottom:1rem}.portrait-section #create{max-width:850px;margin:2rem auto;background:var(--card);color:var(--card-foreground);box-shadow:0 15px 45px #231C1510}.portrait-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:2rem;grid-auto-rows:1fr}.portrait-style-card{border:1px solid var(--border);background:var(--card);padding:1.5rem;min-height:155px}.portrait-style-card p{color:var(--muted-foreground);font-size:.875rem}.portrait-style-card h3{font-size:1.4rem;margin:.5rem 0}.portrait-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;margin-top:.5rem}.portrait-chip{min-height:48px;border:1px solid var(--input);border-radius:8px;padding:.5rem;font-size:.875rem}.portrait-link,.portrait-related a{color:#7A1E2C;text-decoration:underline;text-underline-offset:4px;font-weight:600}.dark .portrait-link,.dark .portrait-related a{color:#E9C77B}.portrait-faq details{border-bottom:1px solid var(--border);padding:1.25rem 0}.portrait-faq summary{cursor:pointer;font-weight:600}.portrait-faq p{color:var(--muted-foreground);line-height:1.7;margin-top:1rem}.portrait-related{display:flex;gap:1.5rem;flex-wrap:wrap}.pm-card{background:var(--card);border-color:var(--border);min-height:350px}.pm-card-featured{border-color:#7A1E2C;box-shadow:none}.pm-hint,.pm-muted,.pm-sub{color:#5B5045}.pm-link{color:#7A1E2C}.gen-on,.gen-submit,.pay-btn,.pay-btn-featured{background:#7A1E2C;color:#FFFFFF;border:1px solid #7a1e2c}.gen-submit:hover,.pay-btn-featured:hover,.pay-btn:hover{background:#631724;color:#FFFFFF}.pay-btn-outline{color:#7A1E2C;border:1px solid #7a1e2c;background:transparent}.gen-submit:disabled,.pay-btn-featured:disabled,.pay-btn:disabled{background:#E6DCCB;color:#5B5045;opacity:1;cursor:not-allowed}.dark .pm-hint,.dark .pm-muted,.dark .pm-sub{color:#C9BCAB}.dark .pm-card{border-color:#655746}.dark .pm-card-featured{border-color:#E9C77B}.dark .pm-link{color:#E9C77B}.dark .gen-on,.dark .gen-submit,.dark .pay-btn,.dark .pay-btn-featured{background:#E9C77B;color:#17130F;border-color:#E9C77B}.dark .pay-btn-outline{background:transparent;color:#E9C77B;border-color:#E9C77B}.dark .gen-submit:disabled,.dark .pay-btn:disabled{background:#3A3128;color:#C9BCAB;opacity:1}#create [class*=text-amber-],#create [class*=text-neutral-]{color:var(--muted-foreground)}#create [class*=bg-neutral-]{background:var(--muted)}#create input[type=file]{color:var(--foreground);padding:1rem 0}#create input[type=file]::file-selector-button{background:#E6DCCB;color:#231C15}#create button{cursor:pointer}.pay-btn-primary{background:#7A1E2C;color:#FFFFFF;border-color:#7A1E2C}.dark .pay-btn-primary{background:#E9C77B;color:#17130F;border-color:#E9C77B}.pay-btn-outline:hover{background:#F1EADF;color:#7A1E2C}.dark .pay-btn-outline:hover{background:#3A3128;color:#E9C77B}.portrait-generator-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:2rem;align-items:start}.portrait-generator-layout #create{width:100%;margin:1rem 0}.portrait-photo-tips{border:1px solid var(--border);padding:1.5rem;background:var(--card);margin-top:1rem}.portrait-photo-tips h3{font-size:1.4rem;line-height:1.25}.portrait-photo-tips ul{list-style:disc;padding-left:1.1rem;margin-top:1rem;color:var(--muted-foreground);line-height:1.7}.portrait-photo-tips li{margin:.7rem 0}@media(max-width:800px){.portrait-generator-layout{grid-template-columns:1fr}.portrait-photo-tips{margin-top:0}}