@charset "UTF-8";
:root { color-scheme:dark; --bg:#151215; --card:#211c21; --white:#faf6f9; --muted:#beb3bd; --pink:#e74893; --line:rgba(255,255,255,.12); }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; min-height:100svh; color:var(--white); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; cursor:pointer; }
a { color:inherit; }
button:focus-visible,a:focus-visible { outline:3px solid var(--pink); outline-offset:5px; }
.screen-reader-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:12px; padding:14px 20px; z-index:20; background:var(--white); color:var(--bg); border-radius:12px; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.ambient-photo { position:fixed; inset:-70px; background:url('/assets/amy-pink.webp') center 32% / cover no-repeat; filter:blur(55px) saturate(.65); opacity:.35; z-index:-2; }
.ambient-shade { position:fixed; inset:0; background:linear-gradient(90deg,#151215a6,transparent 45%,#151215a6),linear-gradient(0deg,#151215 0%,#15121522 60%,#15121566); z-index:-1; }
.site-header { position:absolute; top:0; left:0; right:0; padding:32px 46px; display:flex; justify-content:space-between; align-items:center; }
.brand-mark { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #e7489340; border-radius:50%; background:#e748930d; color:var(--pink); text-decoration:none; transition:background .18s,border-color .18s; }
.brand-mark svg { width:27px; height:27px; }
.brand-mark:hover { background:#e7489326; border-color:var(--pink); }
.brand-mark:active { background:#e7489340; }
.header-note { color:#d0c2cb; font-size:11px; letter-spacing:.3px; }
.page { width:min(100% - 40px,460px); margin:0 auto; padding-top:46px; padding-bottom:24px; }
.profile { background:var(--card); border:1px solid var(--line); border-radius:30px; overflow:hidden; box-shadow:0 28px 100px #0005,0 1px 0 #fff1 inset; }
.cover { height:390px; position:relative; overflow:hidden; background:#30212d; }
.cover-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 23%; }
.cover-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0d0b0c24 0%,transparent 32%,#211c211a 46%,#211c21a8 78%,var(--card) 100%); }
.photo-counter { position:absolute; right:22px; top:30px; font-size:10px; letter-spacing:1.3px; color:var(--white); text-shadow:0 1px 5px #000; }
.identity { position:absolute; bottom:3px; left:24px; right:24px; text-align:center; }
.location { display:flex; justify-content:center; align-items:center; gap:4px; color:#f4e9f0; font-size:10px; letter-spacing:.2px; margin:0 0 7px; }
.location svg { width:13px; height:13px; }
h1 { margin:0; font-size:53px; line-height:1.06; font-weight:650; letter-spacing:-2.8px; position:relative; }
.name-heart { color:var(--pink); display:inline-block; font:italic 33px/1 Georgia,serif; transform:rotate(12deg); vertical-align:5px; margin-left:9px; }
.heritage { margin:11px 0 0; color:#e6dce3; font-size:11px; letter-spacing:.1px; }
.heritage span { margin-left:6px; }
.profile-content { padding:0 25px; }
.bio { margin:19px 0 24px; color:#d7cbd5; font-size:13px; line-height:1.75; text-align:center; }
.fanvue-card { width:100%; display:flex; align-items:center; gap:14px; padding:18px 17px; background:var(--pink); color:#2a1725; border:1px solid #ee7cb1; border-radius:19px; text-align:left; text-decoration:none; box-shadow:0 6px 28px #e748931a; transition:background .18s,transform .18s,box-shadow .18s; }
.fanvue-card:hover { background:#ee6ca8; transform:translateY(-2px); box-shadow:0 8px 28px #e7489330; }
.fanvue-card:active { transform:translateY(1px); background:#e74893; box-shadow:none; }
.fanvue-card:focus-visible { outline-color:var(--white); }
.fanvue-icon { color:var(--pink); width:45px; height:45px; flex-shrink:0; border:1px solid #fff0f6; border-radius:13px; display:grid; place-items:center; background:#fff0f6; }
.fanvue-icon svg { width:26px; height:26px; }
.fanvue-copy { display:flex; flex-direction:column; gap:5px; flex:1; }
.fanvue-kicker { font-size:8px; letter-spacing:1.6px; font-weight:700; }
.fanvue-copy strong { color:#fff; font-size:17px; letter-spacing:-.35px; font-weight:650; }
.fanvue-detail { font-size:10px; color:#2a1725; }
.link-arrow { width:30px; height:30px; border:1px solid #3b193222; border-radius:50%; display:grid; place-items:center; flex-shrink:0; }
.link-arrow svg { width:17px; height:17px; }
.cta-note { margin:13px 0 0; color:var(--muted); text-align:center; font-size:9px; letter-spacing:.1px; }
.cta-note span { color:var(--pink); margin-right:4px; }
.link-status { margin:15px 0 0; padding:12px; color:#f5e5ee; background:#ffffff08; border:1px solid var(--line); border-radius:12px; font-size:12px; line-height:1.5; text-align:center; }
.gallery { border-top:1px solid var(--line); margin-top:25px; padding-top:17px; }
.gallery-heading { display:flex; align-items:center; justify-content:space-between; color:#d8cbd5; font-size:10px; margin-bottom:13px; letter-spacing:.1px; }
.gallery-heart { color:var(--pink); font-size:18px; line-height:.8; }
.photo-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.photo-option { position:relative; min-height:85px; aspect-ratio:1.08; padding:0; border:1px solid #ffffff18; background:#171317; border-radius:12px; overflow:hidden; transition:border-color .18s,transform .18s; }
.photo-option::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,#000a); pointer-events:none; }
.photo-option img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 22%; opacity:.8; transition:opacity .18s; }
.photo-option:hover { transform:translateY(-2px); border-color:#e3cedd; }
.photo-option:hover img,.photo-option.is-selected img { opacity:1; }
.photo-option:active { transform:translateY(1px); }
.photo-option.is-selected { border-color:var(--pink); box-shadow:0 0 0 1px var(--pink); }
.photo-option-name { position:absolute; bottom:9px; left:9px; color:white; font-size:8px; font-weight:500; z-index:1; }
.selection-mark { position:absolute; top:6px; right:6px; border:1px solid #ffffff35; background:#20141b55; width:19px; height:19px; border-radius:50%; display:grid; place-items:center; color:var(--white); font-size:10px; z-index:1; }
.is-selected .selection-mark { background:var(--pink); color:#2a1725; border-color:var(--pink); }
.profile-footer { display:flex; align-items:center; justify-content:center; gap:8px; color:#b7a9b3; font-size:9px; padding:22px 0 21px; }
.site-footer { display:flex; align-items:center; justify-content:space-between; font-size:9px; color:#b0a1ad; padding:18px 7px 0; }
.site-footer>span:last-child { font-size:10px; }
.site-footer>span:last-child span { color:var(--pink); padding-left:3px; }
@media(min-width:1500px) { .page { padding-top:65px; } }
@media(max-width:850px) { .site-header { position:relative; padding:20px 25px 0; height:66px; } .header-note { font-size:10px; } .page { padding-top:14px; } }
@media(max-width:480px) { .page { width:calc(100% - 28px); padding-top:10px; padding-bottom:22px; } .site-header { padding:17px 24px 0; height:61px; } .profile { border-radius:25px; } .cover { height:340px; } .photo-counter { top:28px; right:20px; font-size:9px; } .identity { bottom:3px; } h1 { font-size:48px; } .heritage { font-size:10px; margin-top:9px; } .bio { margin:18px 0 22px; font-size:12px; } .profile-content { padding-inline:20px; } .fanvue-card { padding:15px 13px; gap:11px; border-radius:16px; } .fanvue-copy strong { font-size:16px; } .fanvue-icon { width:42px; height:42px; } .fanvue-detail { font-size:9px; } .cta-note { font-size:8px; } .gallery { margin-top:22px; padding-top:16px; } .photo-options { gap:8px; } .photo-option { border-radius:10px; } .profile-footer { padding-block:20px; } }
@media(max-width:350px) { .cover { height:310px; } .profile-content { padding-inline:16px; } .fanvue-card { gap:9px; padding:14px 10px; } .fanvue-copy strong { font-size:15px; } .fanvue-icon { width:34px; height:38px; } .link-arrow { width:25px; height:25px; } .bio { font-size:11px; } .photo-option-name { font-size:7px; left:7px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
