.family-portrait-page{max-width:1160px;padding:24px 0 60px}.family-portrait-intro{max-width:790px;margin:10px auto 24px;text-align:center}.family-portrait-intro h1{max-width:18ch;margin:0 auto 12px;font-size:clamp(40px,6vw,64px);line-height:.98}.family-portrait-lead{max-width:62ch;margin:0 auto;color:var(--muted);font-size:15px}.family-portrait-privacy{display:flex;max-width:690px;align-items:center;gap:10px;margin:14px auto 0;padding:10px 14px;border:1px solid #d4c4a6;border-radius:17px;background:#f5eddc;color:#665842;font-size:11px;line-height:1.5;text-align:left}.family-portrait-privacy span{color:#967a50;font-size:20px}.family-portrait-privacy p{margin:0}.family-portrait-workspace{display:grid;grid-template-columns:minmax(350px,.95fr) minmax(0,1.05fr);align-items:start;gap:18px}.family-portrait-controls{padding:21px;border-radius:27px;background:#fffaf0}.family-portrait-controls .section-top{align-items:start;gap:10px}.family-portrait-controls h2,.family-portrait-preview h2,.family-portrait-notes h2{margin:0;font-family:Gaegu,"Apple SD Gothic Neo","Malgun Gothic",cursive,sans-serif;font-size:25px}.family-portrait-upload{width:100%;min-height:50px;justify-content:center;margin:12px 0 4px;border-radius:18px}.family-portrait-controls .micro-copy{margin:6px 0;color:#786950;font-size:11px;line-height:1.5}.family-portrait-count{display:inline-block;margin:5px 0 8px;padding:6px 12px;border-radius:99px;background:#ede1ca;color:#68543a;font-size:11px;font-variant-numeric:tabular-nums}.family-portrait-gallery{display:flex;flex-wrap:wrap;gap:8px}.family-portrait-gallery:empty{display:none}.family-portrait-thumb{position:relative;width:64px;height:76px;overflow:hidden;border:1px solid #d6c6a7;border-radius:15px;background:#f3e8d4}.family-portrait-thumb img{width:100%;height:100%;object-fit:cover}.family-portrait-thumb button{position:absolute;top:3px;right:3px;display:grid;width:24px;height:24px;place-items:center;border:1px solid #fff8;background:#fff8;border-radius:50%;color:#43362a;font-size:15px;cursor:pointer}.family-portrait-divider{height:1px;margin:17px 0;border-top:1px dashed #c9b795}.family-portrait-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.family-portrait-field{display:grid;gap:6px;margin:10px 0;color:#554735;font-size:12px}.family-portrait-field input,.family-portrait-field select,.family-portrait-field textarea{width:100%;min-height:44px;padding:9px 12px;border:1px solid #d2bea0;border-radius:15px;background:#fffdf8;color:#473a2b;font:inherit}.family-portrait-field textarea{min-height:84px;resize:vertical;font:12px/1.55 system-ui,sans-serif}.family-portrait-style-group{min-width:0;margin:15px 0;padding:0;border:0}.family-portrait-style-group legend{margin-bottom:7px;color:#554735;font-size:12px}.family-portrait-styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.family-portrait-style{display:grid;min-height:72px;align-content:center;justify-items:center;gap:4px;padding:8px 5px;border:1px solid #d9c8a9;border-radius:17px;background:#f6eddd;color:#5b4935;font-size:10px;line-height:1.25;text-align:center;cursor:pointer;transition:transform .24s cubic-bezier(.2,1.2,.4,1),background .18s,border-color .18s}.family-portrait-style:hover{transform:translateY(-2px)}.family-portrait-style[aria-pressed=true]{border-color:#826746;background:#e9dbc1;box-shadow:inset 0 0 0 1px #826746}.family-portrait-style>span:first-child{font-size:19px;color:#98794e}.family-portrait-prompt-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 6px;color:#554735;font-size:12px}.family-portrait-prompt-top .text-button{min-height:40px;padding:7px 9px;font-size:10px}.family-portrait-controls textarea[id=family-portrait-prompt]{width:100%;min-height:220px;resize:vertical;padding:12px;border:1px solid #d2bea0;border-radius:17px;background:#fffdf8;color:#473a2b;font:12px/1.6 system-ui,sans-serif}.family-portrait-prompt-guide{margin:7px 1px 0;padding:10px 12px;border:1px solid #e2d3b9;border-radius:14px;background:#f5eddf;color:#69583f;font-size:11px;line-height:1.55}.family-portrait-prompt-meta{display:flex;justify-content:space-between;gap:8px;margin:6px 1px 0;color:#786950;font-size:10px;line-height:1.4}.family-portrait-prompt-meta output{flex:none;font-variant-numeric:tabular-nums}.family-portrait-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.family-portrait-actions .button{min-height:48px;justify-content:center;border-radius:16px;white-space:normal;text-align:center}.family-portrait-actions #family-portrait-open[aria-disabled=true]{pointer-events:none;opacity:.55;filter:grayscale(.3)}.family-portrait-actions .primary{grid-column:1/-1}.family-portrait-transfer-note{margin:10px 1px 0;padding:10px 12px;border:1px solid #d8c8ac;border-radius:16px;background:#f3ead9;color:#62513e;font-size:10px;line-height:1.5}.family-portrait-status{min-height:1.5em;margin:10px 1px 0;color:#725b3d;font-size:11px;line-height:1.5}.family-portrait-results{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);align-items:start;gap:14px}.family-portrait-preview,.family-portrait-notes{min-width:0;padding:15px;border:1px solid #d6c6a7;border-radius:26px;background:#f5eddc}.family-portrait-preview-heading{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.family-portrait-preview-heading .eyebrow{margin:0 0 3px;font-size:9px}.family-portrait-preview h2,.family-portrait-notes h2{font-size:22px}.family-portrait-preview-frame{display:grid;min-height:420px;grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));align-items:start;gap:10px;place-items:center;overflow:hidden;padding:12px;border:1px solid #dfd1b5;border-radius:22px;background:#e8dcc4}.family-portrait-preview-frame:empty{display:grid}.family-portrait-preview-frame img{display:block;width:100%;max-height:360px;aspect-ratio:4/5;object-fit:cover;border:3px solid #fff9ec;border-radius:19px;box-shadow:0 6px 16px #47382120}.family-portrait-empty{grid-column:1/-1;max-width:28ch;padding:20px;color:#75664e;font-size:12px;text-align:center}.family-portrait-notes ul{display:grid;gap:10px;margin:12px 0;padding-left:20px;color:#5e503e;font-size:11px;line-height:1.55}.family-portrait-notes li{padding-left:3px}.family-portrait-notes .micro-copy{margin:13px 0 0;color:#786950;font-size:10px;line-height:1.55}.family-portrait-next-links{display:grid;gap:7px;margin-top:14px}.family-portrait-next-links .button{min-height:42px;justify-content:center;border-radius:15px;font-size:11px}.family-portrait-page :focus-visible{outline:3px solid #a8583e88;outline-offset:3px}
@media(max-width:900px){.family-portrait-workspace{grid-template-columns:1fr}.family-portrait-controls{max-width:740px;width:100%;margin-inline:auto}.family-portrait-results{max-width:900px;width:100%;margin-inline:auto}}
@media(max-width:620px){.family-portrait-page{padding-top:12px}.family-portrait-intro{margin:8px auto 20px}.family-portrait-intro h1{font-size:42px}.family-portrait-lead{font-size:13px}.family-portrait-controls{padding:17px;border-radius:22px}.family-portrait-controls .section-top{flex-wrap:wrap}.family-portrait-results{grid-template-columns:1fr}.family-portrait-preview,.family-portrait-notes{padding:12px;border-radius:22px}.family-portrait-preview-frame{min-height:290px}.family-portrait-preview-frame img{max-width:200px;max-height:340px}.family-portrait-style{font-size:9px}.family-portrait-form-grid{gap:6px}.family-portrait-actions{grid-template-columns:1fr}.family-portrait-actions .primary{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.family-portrait-page *{scroll-behavior:auto;transition:none!important}}
