/* Two small moments: a digital identity, then an optional real-life companion. */
body[data-onboarding=true] .arrival-progress{max-width:1040px;margin:20px auto 0}
body[data-onboarding=true] .arrival-progress ol{gap:52px}
body[data-onboarding=true] .arrival-progress li{font-size:13px}
body[data-onboarding=true] .member-pack{max-width:1120px}
#pack[data-empty=true]{padding:28px 28px 65px;min-height:0}
#pack[data-empty=true] .pack-intro{display:none}
#pack[data-empty=true] .pack-status:empty{display:none}
#pack[data-empty=true] .pack-status:not(:empty){max-width:970px;margin:0 auto 16px}
#pack .pack-empty{grid-template-columns:minmax(0,.93fr) minmax(0,1fr);gap:72px;max-width:970px;margin:14px auto 0}
#pack .standard-portrait{width:100%;max-width:430px;aspect-ratio:4/4.7;display:flex;align-items:center;background:#bad5e4;border-radius:160px 160px 12px 12px;border:0;overflow:hidden;box-shadow:none}
#pack .standard-portrait img{width:100%;height:88%;object-fit:contain;mix-blend-mode:normal;align-self:flex-end;margin-bottom:26px;transform:translateY(15px)}
#pack .mascot-edition{position:absolute;inset:40px 30px auto;background:none;border:0;transform:none;box-shadow:none;padding:0;text-align:center;font-size:10px;letter-spacing:1.3px;color:#314e58;line-height:1.5}
.mascot-nameplate{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#f5d778;padding:17px 14px 19px}
.mascot-nameplate span{display:block;font-size:9px;letter-spacing:1.7px;font-weight:700;margin-bottom:5px}
.mascot-nameplate strong{display:block;font:29px/1.15 Caprasimo,Georgia,serif;overflow-wrap:anywhere}
#pack .mascot-claim .member-kicker{font-size:10px;letter-spacing:1.8px;margin:0 0 18px}
#pack .mascot-claim h1{font-size:clamp(38px,3.9vw,48px);line-height:1.04;margin:0 0 21px;letter-spacing:-1.7px}
#pack .mascot-claim .mascot-intro{font-size:17px;line-height:1.55;margin:0 0 26px;max-width:400px}
.mascot-claim label{display:block;font-size:14px;font-weight:700}
.mascot-claim label span{font-size:12px;font-weight:400;opacity:.65;margin-left:5px}
.mascot-claim input{display:block;width:100%;border:1px solid #a6b4a2;border-radius:8px;background:#fffdf6;color:var(--ink);height:54px;font-size:18px;padding:12px 15px;margin:9px 0 0}
#pack .mascot-claim .mascot-help{font-size:12px;line-height:1.45;color:#687263;margin:9px 0 20px}
#pack .mascot-claim .member-primary{width:100%;font-size:17px;border-radius:8px}
#pack .mascot-claim .standard-fine{font-size:12px;line-height:1.5;opacity:1;color:#687263;margin:12px 0 14px}
.mascot-future{border-top:1px solid var(--line);margin-top:12px}
.mascot-future summary{font-size:13px;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none}
.mascot-future summary::-webkit-details-marker{display:none}
.mascot-future summary:after{content:'＋';font-size:17px}
.mascot-future[open] summary:after{content:'−'}
#pack .mascot-future p{font-size:13px;line-height:1.6;margin:2px 0 10px;color:#56644f}
#pack .mascot-claim #switch-wallet{font-size:12px;color:#687263;margin-top:4px}
.arrival-personal{max-width:1020px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 64px;margin:30px auto 0;padding:0 28px 124px}
.pet-welcome-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:35px}
.pet-welcome-heading>div:first-child{max-width:650px}
.pet-welcome-heading .member-kicker{font-size:10px;letter-spacing:1.7px;margin:0 0 13px}
.pet-welcome-heading h1{font-size:clamp(35px,4.2vw,49px);line-height:1.08;margin:0 0 16px;max-width:650px}
.pet-welcome-heading .arrival-lede{font-size:16px;line-height:1.55;max-width:540px;margin:0}
.welcome-identity{flex:none;display:flex;align-items:center;gap:12px;max-width:230px}
.welcome-identity img{width:58px;height:58px;border-radius:50%;object-fit:contain;background:#f5d778}
.welcome-identity p{margin:0}
.welcome-identity span{display:block;font-size:9px;font-weight:700;letter-spacing:1px}
.welcome-identity strong{display:block;font-size:17px;overflow-wrap:anywhere;max-width:145px}
.welcome-identity small{display:block;font-size:11px;color:#687263}
.pet-room-preview{min-width:0;margin:0}
.pet-room-scene{height:290px;position:relative;overflow:hidden;border-radius:10px;background:#634329 url('/assets/den-1x.webp') left bottom/auto 180% no-repeat;isolation:isolate}
.pet-preview-frame{position:absolute;width:29%;height:51%;left:2%;bottom:45%;padding:11px;background:#a86a2a;border:3px solid #c18b40;box-shadow:inset 0 0 0 2px #69421e,5px 8px 10px #2318076b;transform:rotate(-5deg)}
.pet-preview-frame:after{content:'';position:absolute;inset:7px;pointer-events:none;border:2px solid #e4b870}
.pet-preview-frame>img,.pet-preview-frame>div{width:100%;height:100%;background:#fff4d5;object-fit:cover}
#welcome-frame-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#6d7c59}
#welcome-frame-empty svg{width:44px;height:44px;fill:#99a874}
#welcome-frame-empty span{font-size:11px;line-height:1.35;font-weight:700}
.pet-room-preview>p{text-align:center;margin:14px 0 0;font-size:14px;font-weight:700;line-height:1.5}
.pet-room-preview>p small{display:block;font-size:10px;letter-spacing:.2px;color:#687263;font-weight:400;margin-top:4px}
.arrival-form-wrap{padding-top:6px;min-width:0}
.pet-form-note{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;letter-spacing:1.2px;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:15px}
.pet-form-note>span{font-size:9px;letter-spacing:1.1px;color:#687263;font-weight:400}
.arrival-form-wrap label{font-size:14px}
.arrival-form-wrap input:not([type=file]){height:54px;font-size:18px;margin-top:9px;border-color:#a6b4a2;border-radius:8px}
.arrival-form-wrap .welcome-photo{height:108px;margin-top:21px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px dashed #9cae97;background:#e9eddc;color:var(--ink);border-radius:8px}
.arrival-form-wrap .welcome-photo svg{position:absolute;left:20px;top:34px;width:33px;height:33px}
.arrival-form-wrap .welcome-photo>span:not(.sr-only){font-size:15px;font-weight:700;line-height:1.45;padding-left:30px}
.arrival-form-wrap .welcome-photo small{font-size:10px;font-weight:400;color:#687263;padding-left:30px}
.arrival-form-wrap .welcome-private{font-size:12px;line-height:1.6;margin:20px 0 10px;max-width:370px;color:#687263;opacity:1}
.arrival-form-wrap #welcome-remove-photo{min-height:44px;font-size:12px}
.welcome-back{font-size:12px;margin-top:12px}
body[data-view=personal] .welcome-actions{position:fixed;bottom:0;left:0;right:0;z-index:12;justify-content:flex-end;padding:16px max(28px,calc((100vw - 964px)/2)) max(16px,env(safe-area-inset-bottom));background:#fff7e7f7;border-top:1px solid #d8d0bd;backdrop-filter:blur(10px);gap:28px}
body[data-view=personal] .welcome-actions .member-primary{order:2;min-width:225px;border-radius:8px}
body[data-view=personal] .welcome-actions .text-button{order:1;font-size:13px}
.room-tour .tour-dots,.room-tour .tour-count,.room-tour #tour-world,.room-tour #tour-skip{display:none!important}
.room-tour h2{margin-top:30px}
.room-tour .tour-try{margin-bottom:24px}
.home-tools #room-trophies{background:#ead19a;color:#443820;border-color:#b89453}
@media(prefers-reduced-motion:no-preference){.pack-empty:not([hidden]),.arrival-personal:not([hidden]){animation:welcome-in .35s ease-out both}@keyframes welcome-in{from{opacity:0}to{opacity:1}}}
@media(max-width:950px){#pack .pack-empty{gap:40px}.welcome-identity{display:none}.arrival-personal{gap:26px 35px}.pet-preview-frame{width:33%;left:2%}}
@media(max-width:700px){
 body[data-onboarding=true] .arrival-progress{padding-inline:22px;margin-top:16px}
 body[data-onboarding=true] .arrival-progress ol{gap:30px;justify-content:center}
 body[data-onboarding=true] .arrival-progress li{font-size:12px}
 #pack[data-empty=true]{padding:22px 24px 40px;margin:0;min-height:0}
 #pack .pack-empty{display:flex;flex-direction:column;gap:24px;max-width:440px;margin:0 auto}
 #pack .standard-portrait{width:100%;height:230px;max-width:none;aspect-ratio:auto;border-radius:100px 100px 8px 8px}
 #pack .standard-portrait img{height:98%;width:240px;align-self:flex-end;margin-bottom:0;transform:translate(45px,17px)}
 #pack .mascot-edition{display:none;top:26px;right:auto;left:23px;max-width:102px;font-size:8px;line-height:1.6;text-align:left}
 .mascot-nameplate{right:auto;bottom:21px;left:16px;max-width:145px;padding:12px 13px;border-radius:4px;transform:rotate(-5deg)}
 .mascot-nameplate span{font-size:7px;letter-spacing:1px}
 .mascot-nameplate strong{font-size:22px}
 #pack .mascot-claim{width:100%}
 #pack .mascot-claim .member-kicker{display:none}
 #pack .mascot-claim h1{font-size:36px;letter-spacing:-1px;line-height:1.05;margin-bottom:14px}
 #pack .mascot-claim h1 br{display:none}
 #pack .mascot-claim .mascot-intro{font-size:15px;line-height:1.5;margin-bottom:22px}
 #pack .mascot-claim .standard-fine{font-size:11px;margin-top:10px}
 .arrival-personal{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;max-width:520px;margin-top:25px;padding:0 24px 120px}
 .pet-welcome-heading{display:block}
 .pet-welcome-heading .member-kicker{font-size:9px;margin-bottom:12px}
 .pet-welcome-heading h1{font-size:36px;line-height:1.08;margin-bottom:13px}
 .pet-welcome-heading .arrival-lede{font-size:15px;line-height:1.5}
 .pet-room-scene{height:195px;background-size:auto 200%;background-position:left bottom}
 .pet-preview-frame{height:49%;width:28%;left:3%;bottom:46%}
 #welcome-frame-empty svg{width:33px;height:33px}
 #welcome-frame-empty span{font-size:11px}
 .pet-room-preview>p{font-size:12px;margin-top:10px}
 .pet-room-preview>p small{font-size:9px;margin-top:2px}
 .arrival-form-wrap{padding-top:0}
 .pet-form-note{display:none}
 .arrival-form-wrap input:not([type=file]){height:50px;font-size:16px}
 .arrival-form-wrap .welcome-photo{margin-top:17px;height:93px}
 .arrival-form-wrap .welcome-photo svg{top:29px;left:18px;width:29px;height:29px}
 .arrival-form-wrap .welcome-private{font-size:11px;margin-top:15px}
 body[data-view=personal] .welcome-actions{padding:12px 22px max(12px,env(safe-area-inset-bottom));gap:20px}
 body[data-view=personal] .welcome-actions .member-primary{flex:1;min-width:0;font-size:15px;min-height:53px;padding:12px 17px;gap:15px}
 body[data-view=personal] .welcome-actions .text-button{flex:none;font-size:12px}
}
@media(max-width:360px){#pack[data-empty=true]{padding-inline:20px}.arrival-personal{padding-inline:20px}.pet-welcome-heading h1{font-size:32px}.arrival-form-wrap .welcome-photo>span:not(.sr-only){font-size:13px}.arrival-form-wrap .welcome-photo small{font-size:9px}}

@media(min-width:701px) and (max-height:820px){#pack .pack-empty{gap:60px;margin-top:0}#pack .standard-portrait{max-width:370px;aspect-ratio:4/4.5}#pack .mascot-claim .member-kicker{display:none}#pack .mascot-claim h1{font-size:45px;margin-bottom:16px}#pack .mascot-claim .mascot-intro{font-size:16px;margin-bottom:19px}#pack .mascot-claim #switch-wallet{margin-top:0}.arrival-personal{margin-top:25px;gap:24px 60px}.pet-welcome-heading h1{font-size:42px;max-width:600px}.pet-welcome-heading .arrival-lede{max-width:650px}.pet-room-scene{height:255px}}

/* Keep long identity names inside the header on narrow phones. */
.member-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.member-header .member-heading{position:static;transform:none;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;text-align:center}
.member-header .member-brand,.member-header .member-nav{min-width:0}
body[data-view=home] .member-toast{bottom:calc(86px + env(safe-area-inset-bottom));pointer-events:none}
@media(max-width:900px){.member-header .member-heading{text-align:left}}

#pack[data-failed=true] .pack-intro:after{display:none}

/* The signed-in room uses the same quiet overlay as the public home. */
body[data-view=home] .member-header{position:absolute;inset:0 0 auto;z-index:30;display:flex;justify-content:space-between;align-items:flex-start;min-height:0;border:0;background:none;padding:calc(20px + env(safe-area-inset-top)) max(clamp(20px,3vw,40px),env(safe-area-inset-right)) 0 max(clamp(20px,3vw,40px),env(safe-area-inset-left));pointer-events:none}
body[data-view=home] .member-header>*{pointer-events:auto}
body[data-view=home] .member-header .member-heading{display:none}
body[data-view=home] .member-brand img{width:80px;height:52px;filter:brightness(0) invert(1) drop-shadow(0 2px 5px #271b1366)}
body[data-view=home] .member-nav{gap:10px;align-items:center}
body[data-view=home] #your-pack{min-height:44px;padding:10px 18px;border:1px solid #fff5df70;border-radius:999px;background:#fff5dff2;color:var(--ink);box-shadow:0 3px 14px #211a1320}
body[data-view=home] #your-pack:hover{background:#e7efcc;text-decoration:none}
body[data-view=home] #your-profile{box-shadow:0 3px 14px #211a1338}
body[data-view=home] .member-home{height:100svh}
body[data-view=home] .room-preview-label{top:calc(84px + env(safe-area-inset-top))}
@media(max-width:600px){body[data-view=home] .member-header{padding-top:calc(14px + env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}body[data-view=home] .member-brand img{width:62px;height:42px}body[data-view=home] #your-pack{padding-inline:14px}body[data-view=home] .room-preview-label{top:calc(72px + env(safe-area-inset-top))}}
@media(max-height:500px) and (orientation:landscape){body[data-view=home] .member-header{padding-top:calc(10px + env(safe-area-inset-top))}body[data-view=home] .member-brand img{width:57px;height:38px}body[data-view=home] .room-preview-label{top:calc(62px + env(safe-area-inset-top))}}
/* Prized possessions sit alongside the pack, rather than in account settings. */
.pack-keepsakes{margin:32px 0 20px}
.keepsake-link{display:flex;align-items:center;gap:20px;width:100%;padding:18px 24px;text-align:left;background:#efe3c5;border:1px solid #c5ad7755;border-radius:12px;color:var(--ink)}
.keepsake-link>img{flex:none;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 3px #6c4c2728)}
.keepsake-link>span{flex:1;min-width:0}
.keepsake-link strong{display:block;font:28px/1.2 Caprasimo,Georgia,serif;letter-spacing:-.6px}
.keepsake-link small{display:block;font-size:15px;line-height:1.5;margin-top:7px;color:#58624e}
.keepsake-link>b{font-size:15px;line-height:1.5;white-space:nowrap}
.keepsake-link>b span{display:inline-block;margin-left:12px}
.keepsake-link:hover{background:#e8d8b2;border-color:#b69b64}
.pack-keepsakes>.text-button{display:block;margin:8px 0 0 auto;text-decoration:none;font-weight:700}
.profile-keepsake{padding:10px 15px;gap:12px;margin:24px 0 28px}
.profile-keepsake>img{width:60px;height:60px}
.profile-keepsake strong{font-size:20px;letter-spacing:-.35px}
.profile-keepsake small{font-size:13px;margin-top:4px}
.profile-keepsake>b{font-size:24px}
.room-loading[data-state=failed] .spinner{display:none}
@media(max-width:700px){
 .pack-keepsakes{margin-top:26px}
 .pack-keepsakes>.keepsake-link{display:grid;grid-template-columns:64px minmax(0,1fr);padding:17px;gap:4px 14px}
 .pack-keepsakes .keepsake-link>img{width:64px;height:80px;grid-row:1/3}
 .pack-keepsakes .keepsake-link strong{font-size:23px}
 .pack-keepsakes .keepsake-link small{font-size:14px;margin-top:7px}
 .pack-keepsakes .keepsake-link>b{grid-column:2;font-size:14px;margin-top:9px}
 .profile-keepsake{padding:10px 12px;gap:9px}
 .profile-keepsake>img{width:48px;height:58px}
 .profile-keepsake strong{font-size:19px}
 .profile-keepsake small{font-size:12px}
}
