/* Shared profile and gift controls. */
.mf-prof-overlay, .mf-gift-overlay { color:#f6eef4; font-family:var(--font-b,'Nunito Sans',sans-serif); }
.mf-prof-card [hidden], .mf-gift-overlay [hidden], #profileView [hidden] { display:none !important; }
.mf-prof-btn, .mf-gift-primary, .mf-gift-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 17px; border:1px solid transparent; border-radius:10px; font:700 14px/1.4 var(--font-b,sans-serif); cursor:pointer; text-decoration:none; }
.mf-prof-btn, .mf-gift-primary { background:#efb1cc; color:#362531; box-shadow:none; }
.mf-prof-btn:hover, .mf-gift-primary:hover { background:#ffcee1; }
.mf-prof-btn.secondary, .mf-gift-secondary { background:transparent; color:#e4d6e2; border-color:#ffffff24; }
.mf-gift-secondary:hover, .mf-prof-btn.secondary:hover { background:#ffffff07; }
.mf-prof-btn:disabled, .mf-gift-overlay button:disabled { opacity:.5; cursor:default; }
.mf-prof-x, .mf-gift-close { position:absolute; right:16px; top:16px; z-index:3; display:grid; place-items:center; width:36px; height:36px; border:1px solid #ffffff30; border-radius:50%; background:#221e29dc; color:#fff; cursor:pointer; font-size:14px; }
.mf-prof-overlay :focus-visible, .mf-gift-overlay :focus-visible, #profileView :focus-visible { outline:2px solid #efb1cc; outline-offset:4px; }

/* Public profiles: one header and one active page. */
.mf-prof-overlay { z-index:8000; align-items:flex-start; padding:28px 18px; overflow-y:auto; background:#100e16c9; backdrop-filter:blur(8px); }
.mf-prof-card { width:min(920px,100%) !important; max-height:none; overflow:hidden; margin:auto; border:1px solid #ffffff16; border-radius:20px; background:#221e29; box-shadow:0 24px 80px #0006; }
.mf-prof-banner { position:relative; height:160px; opacity:1; background:url('/assets/sakura-studio.webp') center 43%/cover; }
.mf-prof-banner::after { background:linear-gradient(0deg,#221e291a,#221e2910); }
.mf-prof-header { padding:26px 32px 24px; }
.mf-prof-head { position:relative; display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:20px; margin:0; padding:0; }
.mf-prof-avatar { position:relative; inset:auto; transform:none; display:grid; place-items:center; width:88px; height:88px; border:1px solid #ffffff24; border-radius:50%; background:#382f40; font-size:38px; box-shadow:none; }
.mf-prof-avatar img { width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.mf-prof-avatar { border-color:color-mix(in srgb,var(--prof-accent,#efb1cc) 35%,transparent); }
.mf-prof-intro { min-width:0; padding:0; border:0; background:none; box-shadow:none; backdrop-filter:none; }
.mf-prof-name { margin:0; color:#fff3f8; font:750 clamp(25px,3.5vw,32px)/1.2 var(--font-b,sans-serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
.mf-prof-identity { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:7px; color:#bcaec3; font-size:14px; }
.mf-prof-pron { margin:0; padding:0; background:none; border:0; color:#bcaec3; border-radius:0; font-size:14px; }
.mf-prof-pron::before { content:'·'; margin-right:10px; color:#807589; }
.mf-prof-presence { margin-top:7px; color:#a89caf; font-size:12px; }
.mf-prof-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; align-self:center; gap:8px; max-width:240px; margin:0; }
.mf-prof-actions [role=status] { flex-basis:100%; }
.mf-prof-status { display:block; max-width:none; margin:20px 0 0; padding:0; border:0; border-radius:0; background:none; color:#efbfd5; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.mf-prof-bio { max-width:68ch; margin:12px 0 0; color:#e0d5e3; font-size:16px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.mf-prof-badge-strip { margin:14px 0 0; }
.mf-prof-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:20px; color:#a89caf; font-size:13px; }
.mf-prof-meta b { color:#e0d5e3; font-weight:650; }
.mf-prof-birthday { display:block; padding:0; border:0; margin:12px 0 0; background:none; color:#ebcf9f; font-size:14px; }
.mf-prof-tabs, .acctProfileNav { display:flex; flex-wrap:nowrap; gap:24px; margin:0 32px; padding:0; overflow-x:auto; border:0; border-bottom:1px solid #ffffff16; border-radius:0; background:none; scrollbar-width:thin; scrollbar-color:#746278 transparent; }
.mf-prof-tabs button, .acctProfileNav button { position:relative; flex:0 0 auto; min-height:50px; padding:13px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:none; color:#afa1b8; font:650 14px/1.5 var(--font-b,sans-serif); cursor:pointer; white-space:nowrap; }
.mf-prof-tabs button[aria-selected=true], .acctProfileNav button[aria-selected=true] { color:#f1bed4; border-bottom-color:#efb1cc; background:none; box-shadow:none; }
.mf-prof-tabs button:hover, .acctProfileNav button:hover { color:#ffe3ee; }
.mf-prof-body { display:block; min-width:0; padding:28px 32px 34px; }
.mf-prof-body > section { min-width:0; }
.mf-prof-panel { margin:28px 0 0; padding:0; border:0; border-radius:0; background:none; }
.mf-prof-panel h3 { margin:0 0 16px; color:#eee4ef; font:700 16px/1.5 var(--font-b,sans-serif); letter-spacing:0; }
.mf-prof-detail { display:grid; grid-template-columns:140px 1fr; gap:20px; padding:0 0 24px; border-bottom:1px solid #ffffff12; font-size:14px; line-height:1.6; }
.mf-prof-detail > span { color:#b4a5be; }
.mf-prof-detail b { color:#e9dce9; font-weight:600; }
.mf-prof-detail small { display:block; color:#a99aad; font-size:13px; }
.mf-prof-dim, .mf-prof-empty { color:#afa1b8; font-size:14px; line-height:1.6; }
.mf-prof-empty { padding:20px 0; }
.mf-prof-loading { padding:80px 24px; text-align:center; font-size:16px; }
.mf-prof-achievements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mf-prof-ach { padding:16px; border:1px solid #ffffff12; border-radius:12px; background:#ffffff02; }
.mf-prof-ach b, .mf-prof-friend b { font-size:14px; }
.mf-prof-ach small, .mf-prof-friend small { font-size:13px; line-height:1.5; color:#afa1b8; }
.mf-prof-friends-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.mf-prof-friend { padding:14px; border:1px solid #ffffff12; border-radius:12px; background:none; }
.mf-prof-friend:hover { background:#ffffff05; }
.mf-prof-userbadge { padding:6px 10px; border:1px solid #ffffff16; border-radius:7px; background:#ffffff04; font-size:13px; }
.mf-prof-gbform { display:flex; flex-direction:column; gap:12px; margin:0 0 26px; }
.mf-prof-gbform label { color:#e0d5e3; font-size:14px; font-weight:650; }
.mf-prof-gbform .mf-prof-btn { align-self:flex-end; }
.mf-prof-gbform textarea { width:100%; min-height:100px; padding:14px; border:1px solid #ffffff24; border-radius:12px; background:#1d1923; color:#f6eef4; font-size:16px; line-height:1.6; resize:vertical; }
.mf-prof-gblist { gap:0; }
.mf-prof-gbpost { margin:0; padding:20px 0; border:0; border-top:1px solid #ffffff16; border-radius:0; background:none; }
.mf-prof-gbmeta b { color:#e6cfdf; font-size:14px; }
.mf-prof-gbpost p { margin:10px 0; color:#e0d5e3; font-size:16px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.mf-prof-mini { min-height:32px; padding:5px 10px; border:1px solid #ffffff20; border-radius:7px; background:none; color:#bcaec3; }

/* Image art is never flattened, filled, cropped, or stretched. */
.mf-gift-art { display:grid; place-items:center; min-width:0; width:100%; aspect-ratio:1; background:transparent; }
.mf-gift-art img { display:block; width:100%; height:100%; min-height:0; max-width:100%; max-height:100%; object-fit:contain; background:transparent; border:0; border-radius:0; }
.mf-gift-fallback { font-size:clamp(48px,8vw,92px); line-height:1; }
.mf-gift-art [hidden] { display:none !important; }
.mf-gift-eyebrow { display:block; color:#d8adc8; font-size:11px; letter-spacing:.14em; font-weight:800; line-height:1.5; }
.mf-gift-wall { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mf-gift-keepsake { display:flex; align-items:center; flex-direction:column; min-width:0; padding:20px; border:1px solid #ffffff12; border-radius:14px; background:#ffffff03; }
.mf-gift-sender { display:flex; align-items:center; flex-direction:column; gap:4px; text-align:center; width:100%; }
.mf-gift-sender b { color:#ffe0ed; font-size:15px; overflow-wrap:anywhere; }
.mf-gift-sender time { color:#bda8bf; font-size:12px; }
.mf-gift-keepsake .mf-gift-art { width:min(100%,180px); margin:14px auto 8px; }
.mf-gift-caption { color:#debad2; font-size:13px; text-align:center; }
.mf-gift-message { align-self:stretch; margin:17px 0 0; padding-top:16px; border-top:1px solid #ffc0d920; color:#f6e4f0; text-align:center; white-space:pre-wrap; overflow-wrap:anywhere; font-size:16px; line-height:1.65; }
.mf-gift-muted { color:#bda8bf; font-size:14px; font-style:italic; }
.mf-gift-handle { margin-top:auto; padding-top:14px; color:#bda8bf; font-size:12px; overflow-wrap:anywhere; }
.mf-profile-removal { margin-top:14px; }
.mf-profile-removal [hidden] { display:none !important; }
.mf-profile-delete { padding:7px 11px; border:1px solid #c9879a55; border-radius:8px; background:transparent; color:#efb1c5; font:600 13px var(--font-b,sans-serif); cursor:pointer; }
.mf-profile-delete:hover:not(:disabled) { background:#efb1c510; }
.mf-profile-delete:disabled { opacity:.6; cursor:default; }
.mf-profile-delete:focus-visible { outline:2px solid #efb1c5; outline-offset:3px; }
.mf-profile-confirm { display:flex; flex-wrap:wrap; gap:8px; }
.mf-profile-confirm p { flex-basis:100%; margin:0 0 4px; color:var(--text-2); font-size:13px; line-height:1.5; }
.mf-profile-removal-error { color:#ffc0ce; font-size:14px; line-height:1.5; }
.mf-gift-more { display:flex; margin:20px auto 0; }
.mf-gift-empty { padding:40px 20px; border:0; text-align:center; background:none; }
.mf-gift-empty > span { display:block; color:#ffc0d9; font:50px/1 var(--font-d,serif); }
.mf-gift-empty h4 { font:700 18px var(--font-b,sans-serif); color:#ffe1ed; margin:15px 0 8px; }
.mf-gift-empty p { font-size:15px; line-height:1.6; color:#cab7cb; margin:0 auto; max-width:350px; }

/* The gift cupboard: choose, dedicate, then send. */
.mf-gift-overlay { position:fixed; inset:0; z-index:9000; display:flex; align-items:flex-start; padding:32px 18px; overflow-y:auto; background:#100b18cf; backdrop-filter:blur(12px); }
.mf-gift-dialog { position:relative; width:min(1020px,100%); min-width:0; margin:auto; padding:32px; border:1px solid #ffc0d93b; border-radius:30px; background:radial-gradient(ellipse at 15% 0,#73455c28,transparent 50%),#241d2b; box-shadow:0 32px 120px #0008; }
.mf-gift-heading { padding-right:40px; margin-bottom:28px; }
.mf-gift-heading h2 { margin:9px 0; color:#fff0f6; font:500 clamp(27px,4vw,38px)/1.15 var(--font-d,'Fraunces',serif); letter-spacing:-.035em; }
.mf-gift-heading p { color:#cab7cb; margin:0; font-size:16px; overflow-wrap:anywhere; }
.mf-gift-heading strong { color:#ffc0d9; }
.mf-gift-compose { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr); gap:26px; align-items:start; }
.mf-gift-compose h3 { display:flex; align-items:center; gap:10px; font-size:16px; color:#f6e2f0; margin:0 0 17px; }
.mf-gift-compose h3 > span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#ffc0d916; color:#e4b0d0; font-size:11px; }
.mf-gift-categories { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.mf-gift-categories button { padding:8px 12px; border:1px solid #ffc0d921; border-radius:30px; background:transparent; color:#cbb4ca; font:600 14px var(--font-b,sans-serif); cursor:pointer; }
.mf-gift-categories button[aria-pressed=true] { color:#ffdeec; background:#56394c; border-color:#ad748f; }
.mf-gift-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; max-height:510px; overflow:auto; padding:4px; scrollbar-width:thin; scrollbar-color:#826079 transparent; }
.mf-gift-option { position:relative; display:flex; align-items:center; flex-direction:column; justify-content:flex-start; min-width:0; padding:12px 9px; border:1px solid #ffc0d91a; border-radius:18px; background:#ffffff04; color:#e7cedf; cursor:pointer; }
.mf-gift-option > span:last-child { padding-top:7px; font:600 13px/1.4 var(--font-b,sans-serif); }
.mf-gift-option:hover { background:#ffc0d909; border-color:#b882a0; }
.mf-gift-option[aria-pressed=true] { border-color:#ffc0d9; background:#ffc0d913; box-shadow:0 0 0 1px #ffc0d9; }
.mf-gift-option[aria-pressed=true]::after { content:'✓'; position:absolute; right:7px; top:7px; width:20px; height:20px; border-radius:50%; color:#472b40; background:#ffc0d9; font-size:12px; line-height:20px; }
.mf-gift-dedication { min-width:0; padding:22px; border:1px solid #ffc0d929; border-radius:24px; background:#1d172380; }
.mf-gift-selected { display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:205px; margin-bottom:22px; color:#d3b9ce; text-align:center; }
.mf-gift-selected .mf-gift-art { width:180px; max-width:100%; }
.mf-gift-selected b { margin-top:12px; font:500 22px var(--font-d,serif); color:#ffdeec; }
.mf-gift-selected p { font-size:14px; }
.mf-gift-empty-icon { font:80px/1 var(--font-d,serif); color:#d1abc75c; }
.mf-gift-dedication label { display:block; color:#eed6e6; margin-bottom:10px; font-size:14px; overflow-wrap:anywhere; }
.mf-gift-dedication label small { color:#bda8bf; font-size:12px; }
.mf-gift-dedication textarea { display:block; width:100%; min-height:100px; padding:12px; border:1px solid #ffc0d945; border-radius:14px; background:#2e2434; color:#fff0f6; font:16px/1.6 var(--font-b,sans-serif); resize:vertical; }
.mf-gift-dedication textarea::placeholder { color:#a992ad; }
.mf-gift-note-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin-top:8px; color:#bda8bf; font-size:12px; }
.mf-gift-note-preview, .mf-gift-success blockquote { margin:16px 0; padding:14px; border-left:2px solid #bf8ea8; color:#ecd1e2; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; line-height:1.6; }
.mf-gift-feedback { color:#edbfd5; font-size:14px; line-height:1.6; }
.mf-gift-feedback:empty { display:none; }
.mf-gift-dedication .mf-gift-primary, .mf-gift-dedication .mf-gift-secondary { display:flex; width:100%; margin-top:14px; }
.mf-gift-free { display:block; text-align:center; color:#bda8bf; font-size:12px; margin-top:14px; }
.mf-gift-success { max-width:480px; margin:0 auto; padding:10px 0 20px; text-align:center; }
.mf-gift-success .mf-gift-art { max-width:240px; margin:0 auto 25px; }
.mf-gift-success h3 { font:500 30px var(--font-d,serif); color:#ffe5ef; margin:12px 0; }
.mf-gift-success p { color:#cdb8ce; font-size:16px; line-height:1.6; }


/* Account profiles share the same restrained layout. */
.acctWrap.wide { max-width:960px; }
#profileView.acctCard { padding:0; overflow:hidden; background:#221e29; border:1px solid #ffffff16; border-radius:20px; box-shadow:0 20px 70px #0004; }
#profileView .profCols, #profileView .profShowcase { display:block; position:static; }
#profileView .pvBanner { height:160px; opacity:1; background:url('/assets/sakura-studio.webp') center 43%/cover; }
#profileView .pvBanner::after { background:#221e2910; }
#profileView .pvBannerTools { display:none; }
#profileView.is-editing .pvBannerTools { display:flex; }
#profileView .pvBannerBtn { min-height:36px; padding:8px 12px; border-radius:8px; font-size:13px; }
#profileView .pvBody { padding:26px 32px 24px; }
#profileView .pvTop { display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:20px; margin:0; }
#profileView .pvAvatar { width:88px; height:88px; border:1px solid #ffffff24; border-radius:50%; box-shadow:none; font-size:38px; }
#profileView .pvAvatar { border-color:color-mix(in srgb,var(--pvAccent,#efb1cc) 35%,transparent); }
#profileView .previewCard.isBirthday { box-shadow:none; }
#profileView .previewCard.isBirthday .pvBanner::before, .mf-prof-card.isBirthday .mf-prof-banner::before { content:none; }
#profileView .pvTopText { min-width:0; padding:0; background:none; border:0; border-radius:0; backdrop-filter:none; }
#profileView .pvName { color:#fff3f8; font:750 clamp(25px,3.5vw,32px)/1.2 var(--font-b,sans-serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
#profileView .pvNameRow { gap:8px; }
#profileView .pvDot.online { box-shadow:none; }
#profileView .pvHandle { margin-top:7px; color:#bcaec3; font-size:14px; font-weight:500; }
#profileView .pvPron { padding:0; border:0; background:none; color:#bcaec3; font-size:13px; }
#profileView .pvBtns { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:265px; }
#profileView .acctEditToggle { width:auto; min-width:0; min-height:42px; margin:0; padding:10px 17px; border:1px solid transparent; border-radius:10px; background:#efb1cc; color:#362531; font:700 14px/1.4 var(--font-b,sans-serif); box-shadow:none; }
#profileView #viewPublicProfileBtn, #profileView #adminLink { border-color:#ffffff24; background:transparent; color:#d6c8dd; }
#profileView .pvStatus { margin:20px 0 0; padding:0; max-width:none; border:0; border-radius:0; background:none; color:#efbfd5; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
#profileView .pvBio { margin:12px 0 0; max-width:68ch; color:#e0d5e3; font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
#profileView .pvMeta { display:flex; flex-wrap:wrap; gap:10px 24px; margin:20px 0 0; padding:0; max-width:none; border:0; }
#profileView .pvStat { display:flex; flex-direction:row; align-items:baseline; gap:5px; margin:0; padding:0; border:0; border-radius:0; background:none; }
#profileView .pvStat b { color:#e0d5e3; font:650 13px/1.5 var(--font-b,sans-serif); }
#profileView .pvStat span { color:#a89caf; font-size:13px; letter-spacing:0; }
#profileView .pvStat:last-child span { order:-1; }
#profileView .acctBirthdayCard { display:flex; gap:8px; margin:0 32px 16px; padding:0; background:none; border:0; border-radius:0; color:#ebcf9f; font-size:14px; }
#profileView .acctProfilePanels { padding:28px 32px 34px; }
#profileView .acctProfilePanels > section { min-width:0; scroll-margin-top:110px; }
#profileView .acctSectionHeading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
#profileView .acctSectionHeading h3, #profileView .acctProfileSection h3 { margin:0; color:#eee4ef; font:700 16px/1.5 var(--font-b,sans-serif); letter-spacing:0; }
#profileView .acctSectionHeading > span { color:#afa1b8; font-size:13px; }
#profileView .acctProfileDetail { display:grid; grid-template-columns:140px 1fr; align-items:start; gap:20px; padding:0 0 24px; border-bottom:1px solid #ffffff12; font-size:14px; line-height:1.6; }
#profileView .acctProfileDetail > span { color:#b4a5be; }
#profileView .acctRelPreview { padding:0; margin:0; background:none; border:0; border-radius:0; color:#d6c8dd; font-size:14px; }
#profileView .acctRelPreview span { font-size:13px; color:#a99aad; }
#profileView .acctProfileSection { margin:26px 0 0; }
#profileView .acctProfileSection h3 { margin-bottom:16px; }
#profileView .acctCompanions { padding-top:22px; border-top:1px solid #ffffff12; }
#profileView .acctCompanions summary { color:#b4a5be; font-size:14px; cursor:pointer; }
#profileView .acctCompanions .petsStrip { margin-top:20px; }
#profileView .acctFriendsCard { padding:0; border:0; border-radius:0; background:none; }
#profileView .acctFriendsList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#profileView .acctFriendItem { padding:14px; border:1px solid #ffffff12; border-radius:12px; background:none; }
#profileView .acctFriendMain b { font-size:14px; }
#profileView .acctFriendMain span { font-size:13px; }
#profileView .acctGuestList { display:block; max-height:none; }
#profileView .acctGuestItem { grid-template-columns:auto minmax(0,1fr); padding:20px 0; border:0; border-bottom:1px solid #ffffff16; border-radius:0; background:none; }
#profileView .acctGuestActions { grid-column:2; }
#profileView .acctGuestItem p { font-size:16px; line-height:1.65; }
#profileView .mf-profile-confirm p { font-size:13px; line-height:1.5; }
#profileView .acctTinyBtn { min-height:32px; border-radius:7px; background:none; border-color:#ffffff20; color:#bcaec3; }
#profileView .achGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#profileView .achBadge { display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:14px; row-gap:4px; padding:16px; border:1px solid #ffffff12; border-radius:12px; background:#ffffff02; text-align:left; }
#profileView .achBadge .achIcon { grid-row:1/3; align-self:center; text-align:center; font-size:28px; }
#profileView .achBadge .achName { font-size:14px; font-weight:700; line-height:1.5; }
#profileView .achBadge .achDesc { font-size:13px; line-height:1.5; color:#afa1b8; }
#profileView .achBadge.earned { border-color:#c5a3ba30; background:#ffffff04; }
#profileView .achBadge.earned .achName { color:#edcede; }
#profileView .profEditor { display:none; margin:0; padding:28px 32px 34px; border:0; border-top:1px solid #ffffff16; border-radius:0; background:none; scroll-margin-top:110px; }
#profileView .profEditor.open { display:block; }
#profileView .profEditor::before { font:700 18px var(--font-b,sans-serif); }
#profileView .profEditor .secLabel { margin:24px 0 12px; color:#d6c8dd; font-size:14px; letter-spacing:0; text-transform:none; }
#profileView.is-editing .acctProfilePanels, #profileView.is-editing .acctProfileNav { display:none; }

@media (max-width:760px) {
  .mf-prof-head, #profileView .pvTop { grid-template-columns:76px minmax(0,1fr); gap:16px; }
  .mf-prof-avatar, #profileView .pvAvatar { width:76px; height:76px; font-size:32px; }
  .mf-prof-actions, #profileView .pvBtns { grid-column:1/-1; max-width:none; justify-content:flex-start; margin-top:2px; }
  .mf-prof-friends-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mf-gift-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mf-gift-compose { grid-template-columns:1fr; }
  .mf-gift-options { max-height:350px; }
}
@media (max-width:540px) {
  .mf-prof-overlay, .mf-gift-overlay { padding:12px; }
  .mf-prof-card, #profileView.acctCard { border-radius:16px; }
  .mf-prof-banner, #profileView .pvBanner { height:128px; }
  .mf-prof-header, #profileView .pvBody { padding:22px 20px; }
  .mf-prof-head, #profileView .pvTop { grid-template-columns:64px minmax(0,1fr); gap:14px; }
  .mf-prof-avatar, #profileView .pvAvatar { width:64px; height:64px; font-size:28px; }
  .mf-prof-tabs, .acctProfileNav { gap:22px; margin:0 20px; }
  .mf-prof-body, #profileView .acctProfilePanels, #profileView .profEditor { padding:24px 20px; }
  .mf-prof-meta { gap:7px 16px; }
  .mf-prof-detail, #profileView .acctProfileDetail { grid-template-columns:110px 1fr; gap:14px; }
  .mf-prof-achievements, .mf-prof-friends-grid, #profileView .achGrid, #profileView .acctFriendsList { grid-template-columns:1fr; }
  .mf-gift-dialog { padding:24px 18px; border-radius:20px; }
  .mf-gift-heading { padding-right:28px; }
  .mf-gift-dedication { padding:18px; }
  .mf-gift-keepsake { padding:14px; }
  #profileView .acctBirthdayCard { margin-left:20px; margin-right:20px; }
}
@media (max-width:420px) {
  .mf-gift-wall { grid-template-columns:1fr; }
  .mf-gift-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .mf-prof-card, .mf-prof-overlay.open, .mf-gift-dialog, #profileView .profEditor.open { animation:none; transition:none; }
}
