/* Mobile reference: welcome scene + form; boarding pass + luggage scene. */
:root{--boarding-paper:#fff;--boarding-ink:#1d3550;--boarding-muted:#4f6680;--boarding-cta:#c2410c;--boarding-nav:#1d3550;--boarding-line:#e2ecf4;--boarding-radius:20px;--boarding-sheet:28px;--boarding-inset:16px;--boarding-hero:280px;--boarding-shadow:0 12px 24px #1d355015}
.home-brand{display:none}.home-mode .app{padding:var(--sp-5) var(--boarding-inset) 112px}.home-mode .app>header{position:relative;inset:auto;align-items:flex-start;margin:0 0 var(--sp-3);padding:0 var(--sp-1);min-height:50px}.home-mode .home-brand{display:block;min-width:0;flex:1}.home-brand>strong,.welcome-brand>strong{font-size:24px;font-weight:750;letter-spacing:-.5px;color:var(--pk-ink)}.home-mode .app>header #tripEdit{display:none}.home-mode .sky-status-row{padding:0;min-height:24px;margin:0;display:block}.home-mode .sky-status{font-size:12px;min-height:24px;padding:0;line-height:1.5;color:var(--pk-ink-sub)}.home-mode .header-actions{flex-shrink:0}.home-mode #settingsOpen{border-radius:50%;width:44px;min-height:44px;background:var(--pk-btn-on-sky)}.home-mode .header-actions:empty{display:none}.home-mode #homeSection{position:relative}.boarding-card{background:var(--boarding-paper);border-radius:var(--boarding-radius);overflow:hidden;box-shadow:var(--boarding-shadow);color:var(--boarding-ink)}.home-mode .flight-home{padding:0;min-height:0;color:var(--boarding-ink)}.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 18px;min-height:38px;background:var(--boarding-ink);color:var(--boarding-paper);font-size:11px;font-weight:650;letter-spacing:1px}.ticket-top>span{white-space:nowrap}.ticket-top button{background:none;color:inherit;border-radius:0;font-family:var(--font-mono);font-size:11px;padding:8px 0;min-height:38px;white-space:nowrap;letter-spacing:1px}.ticket-body{padding:var(--sp-4) 18px var(--sp-3)}.ticket-route{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.ticket-city{padding:0;min-width:0;max-width:41%;background:none;text-align:left;border-radius:0}.ticket-city:last-child{text-align:right}.ticket-city>strong{display:block;font-size:34px;line-height:1.2;font-weight:750;letter-spacing:-1px;overflow-wrap:anywhere}.ticket-city>strong.city-name{font-size:23px;letter-spacing:-.5px}.ticket-city>span{display:block;font-size:12px;color:var(--boarding-muted);margin-top:var(--sp-1);line-height:1.5;max-width:140px;overflow-wrap:anywhere}.ticket-flight-path{display:flex;align-items:center;position:relative;justify-content:center;width:64px;flex-shrink:0}.ticket-flight-path>span{width:100%;border-top:1px dashed var(--boarding-ink)}.ticket-flight-path img{position:absolute;width:26px;height:26px;background:var(--boarding-paper);padding:2px;filter:invert(33%) sepia(97%) saturate(2301%) hue-rotate(9deg)}.home-mode .countdown-numbers{display:flex;align-items:baseline;gap:var(--sp-2);margin-top:var(--sp-4);color:var(--boarding-ink);letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.home-mode .countdown-numbers .remaining-label{font-size:12px;color:var(--boarding-muted)}.ticket-days{font-size:30px}.ticket-days small{font-size:16px;font-weight:650;margin-left:2px}.ticket-clock{font-size:18px;letter-spacing:1px;color:var(--boarding-muted);font-family:var(--font-mono)}.ticket-empty{display:block;background:var(--pk-soft);color:var(--boarding-ink);padding:8px 12px;margin-top:var(--sp-4);font-size:14px;width:100%;text-align:left;border-radius:10px;min-height:40px}.ticket-seam{position:relative;border-top:2px dashed var(--boarding-line);margin:var(--sp-1) 0}.ticket-seam:before,.ticket-seam:after{content:'';position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--pk-sky)}.ticket-seam:before{left:-10px}.ticket-seam:after{right:-10px}.home-mode .home-bags{margin:0;padding:var(--sp-4);border-radius:0;background:var(--boarding-paper);color:var(--boarding-ink)}.home-bags-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);position:relative;z-index:2}.home-bags-heading h2{font-size:15px;font-weight:700}.packed-summary{font-size:12px;line-height:1.2;min-height:28px;padding:6px 9px;white-space:nowrap;background:var(--pk-soft);color:var(--boarding-ink);border-radius:10px;font-weight:650}.home-mode .home-bags .bag-scene{margin:var(--sp-2) 0 0;padding:0;height:var(--composition-height);overflow:hidden}.home-mode .home-bag-actions{display:flex;justify-content:center;gap:var(--sp-4);margin:var(--sp-2) 0 var(--sp-2)}.home-mode .home-bag-actions .home-link{font-size:14px;min-height:36px;padding:5px 0;font-weight:650;color:var(--boarding-ink)}.continue-packing{display:block;width:100%;background:var(--boarding-cta);color:var(--boarding-paper);border-radius:14px;min-height:48px;font-size:16px;font-weight:700}.continue-packing:hover{filter:brightness(1.05)}.continue-packing:active{transform:translateY(1px)}.home-mode #missingItemsLink,.home-mode .document-bags-home,.home-mode #saved,.home-mode #skyAttribution{display:none!important}.home-mode #studyDestinationEntry{display:flex;justify-content:center;gap:var(--sp-4);margin:0;padding:0 var(--sp-2);flex-wrap:wrap}.home-mode #studyDestinationEntry .home-link{font-size:11px;min-height:32px}.home-mode #studyDestinationEntry #studyDestinationOpen{display:none}.home-flight-utilities{display:flex;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-2);flex-wrap:wrap;color:var(--pk-ink-sub)}.home-flight-utilities .home-link{font-size:11px;min-height:30px;padding:4px 0}.home-mode .bottom{bottom:var(--sp-3);width:calc(100% - 32px);max-width:548px;padding-bottom:env(safe-area-inset-bottom)}.home-mode .bottom-nav{border-radius:22px;padding:6px;background:var(--boarding-nav);color:var(--boarding-paper)}.home-mode .bottom-nav button{min-height:56px;border-radius:16px;color:var(--boarding-line);gap:4px}.home-mode .bottom-nav button.active{background:var(--boarding-paper);color:var(--boarding-ink)}.home-mode .bottom-nav img{filter:brightness(0) invert(1)}.home-mode .bottom-nav button.active img{filter:none}.home-mode .bottom-nav span{font-size:10px}.home-language-settings{margin-bottom:var(--sp-5)}.home-mode .sky-layer{height:100dvh;min-height:844px}.home-mode .sky-art svg{height:100%;width:100%;object-fit:cover}.home-mode .flight-home .departure-reminder{margin-top:var(--sp-3);font-size:12px;color:var(--boarding-ink)}
/* The entry is a page, not a floating settings dialog. */
#profileModal.welcome-page{width:min(580px,100vw);max-width:100vw;max-height:100dvh;height:100dvh;margin:auto;padding:0;border:0;border-radius:0;background:var(--pk-sky);color:var(--boarding-ink);overflow:auto;box-shadow:none}#profileModal::backdrop{background:var(--pk-sky)}.welcome-hero{position:relative;height:var(--boarding-hero);overflow:hidden}.welcome-sky{position:absolute;inset:0;pointer-events:none}.welcome-sky svg{display:block;width:100%;height:auto}.welcome-brand{position:absolute;top:var(--sp-5);left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1);max-width:calc(100% - 48px)}.welcome-brand>span{font-size:12px;color:var(--pk-ink-sub)}.welcome-bags{position:absolute;inset:auto 24px -8px;height:244px;isolation:isolate}.welcome-bag{position:absolute;left:calc(var(--cluster-x) * 1%);bottom:0;width:calc(var(--cluster-w) * 1px);height:calc(var(--cluster-h) * 1px);transform:translateX(-50%)}.welcome-bag .pixel-bag-art{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:url(#opaqueHomeBeads) var(--closed-bag-tint,brightness(1))!important}.welcome-bag-toiletry .pixel-bag-art{object-fit:cover;object-position:center 35%}.welcome-sheet{position:relative;background:var(--boarding-paper);border-radius:var(--boarding-sheet) var(--boarding-sheet) 0 0;padding:var(--sp-5);min-height:calc(100dvh - var(--boarding-hero));margin-top:-6px}.welcome-sheet>h2{font-size:25px;line-height:1.25;letter-spacing:-.5px;color:var(--boarding-ink);font-weight:750}.welcome-intro{font-size:13px;line-height:1.6;color:var(--boarding-muted);margin-top:var(--sp-2)}#profileModal .welcome-sheet>label,#profileModal .welcome-date-row label{font-size:13px;font-weight:650;margin-top:var(--sp-4)}#profileModal .welcome-sheet input:not([type=radio]):not([type=checkbox]),#profileModal .welcome-sheet select{background:var(--boarding-paper);border:1px solid var(--boarding-line);border-radius:14px;min-height:48px;padding:10px 12px;font-size:14px;color:var(--boarding-ink)}.welcome-date-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.welcome-date-row label{min-width:0}.welcome-date-row input{min-width:0;width:100%;max-width:100%}.welcome-sheet .gender-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2);border:0;padding:0;margin:var(--sp-4) 0 0}.welcome-sheet .gender-options legend{font-size:12px;font-weight:650;margin-bottom:var(--sp-2)}.welcome-sheet .gender-options legend .muted{font-size:11px;font-weight:400}.welcome-sheet .gender-options label{position:relative;display:flex;align-items:center;justify-content:center;min-height:42px;padding:7px 4px;margin:0!important;border:1px solid var(--boarding-line);border-radius:12px;background:var(--boarding-paper);font-size:12px!important;color:var(--boarding-ink)}.welcome-sheet .gender-options label:has(input:checked){border-color:var(--boarding-ink);background:var(--pk-soft)}.welcome-sheet .gender-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.welcome-sheet .gender-options label:focus-within{outline:3px solid var(--border-focus);outline-offset:2px}#profileModal .welcome-study{display:flex;align-items:center;gap:var(--sp-2);padding:12px;background:var(--pk-soft);border-radius:14px;font-size:12px;font-weight:500;line-height:1.5;margin-top:var(--sp-4)}.welcome-study input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--boarding-ink)}.welcome-extra{margin-top:var(--sp-2)}.welcome-extra>summary{cursor:pointer;color:var(--boarding-muted);font-size:11px;min-height:32px;padding:8px 0}.welcome-extra>label{font-size:12px}.welcome-extra .muted{font-size:11px;margin-top:var(--sp-2)}.welcome-submit{width:100%;min-height:50px;margin-top:var(--sp-3);font-weight:700;background:var(--boarding-ink);color:var(--boarding-paper);border-radius:14px}#welcomeSkip{display:block;margin:var(--sp-2) auto 0;font-size:11px;min-height:32px;color:var(--boarding-muted)}.welcome-city-results{display:grid;gap:var(--sp-1);font-weight:400}.welcome-city-results:empty{display:none}.welcome-city-results button{font-size:12px;text-align:left;margin-top:var(--sp-1);background:var(--pk-soft);min-height:36px}.home-mode .sky-attribution{color:var(--pk-ink-sub)}
@media(max-width:350px){:root{--boarding-hero:260px}.home-mode .app{padding-left:12px;padding-right:12px}.ticket-top{padding-left:14px;padding-right:14px;font-size:10px;letter-spacing:.5px}.ticket-top button{font-size:10px;letter-spacing:0}.ticket-body{padding:14px}.ticket-city>strong{font-size:30px}.ticket-city>strong.city-name{font-size:20px}.ticket-days{font-size:27px}.ticket-clock{font-size:16px;letter-spacing:0}.home-mode .countdown-numbers{gap:6px}.home-mode .home-bags{padding:14px}.home-bags-heading h2{font-size:14px}.packed-summary{font-size:11px}.welcome-sheet{padding:20px}.welcome-sheet>h2{font-size:22px}.welcome-sheet .gender-options{gap:5px}.welcome-bags{left:12px;right:12px}.welcome-brand{left:20px}.home-mode .bottom{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.continue-packing:active{transform:none}}
.home-mode .sky-art svg{width:100%;height:auto}.sky-cloud{animation:sky-cloud-drift var(--cloud-speed,38s) ease-in-out var(--cloud-delay,0s) infinite alternate;transform-box:fill-box}.sky-plane{position:absolute;pointer-events:none;object-fit:contain;z-index:0;width:34px;height:20px;animation:sky-plane-float 12s ease-in-out infinite alternate}.sky-plane-gold{top:24px;right:112px;width:34px;height:20px}.sky-plane-white{top:138px;right:24px;width:34px;height:20px;animation-delay:-7s}.welcome-hero .sky-plane-gold{right:104px;top:22px}.welcome-hero .sky-plane-white{right:34px;top:126px}.sky-art~.sky-plane-white{top:auto;bottom:108px}.sky-art~.sky-plane-gold{right:108px}.home-mode #homeWeatherSlot .sky-source{display:none}.home-mode #homeWeatherSlot .sky-status{max-width:100%;font-size:11px}.sky-layer{height:100dvh;min-height:844px}.home-mode #homeBrand{position:relative;z-index:1}.welcome-brand{z-index:1}.welcome-bags{z-index:2}.welcome-sheet{z-index:3}.home-mode .home-bags-heading h2{font-size:15px}.welcome-page .category-error:empty{display:none}
@keyframes sky-cloud-drift{from{translate:-10px 0}to{translate:18px 0}}@keyframes sky-plane-float{from{transform:translate3d(-3px,2px,0) rotate(-3deg)}to{transform:translate3d(7px,-4px,0) rotate(3deg)}}
body[data-sky-motion="off"] .sky-cloud,body[data-sky-motion="off"] .sky-plane,body[data-sky-motion="off"] .sky-precipitation i{animation:none}
@media(prefers-reduced-motion:reduce){.sky-cloud,.sky-plane{animation:none!important}}
:root{--boarding-hero:300px}.home-mode .bottom .bottom-nav img{filter:brightness(0) invert(1)!important}.home-mode .bottom .bottom-nav button.active img{filter:none!important}.home-mode .bottom-nav{height:64px;min-height:0;padding:6px}.home-mode .bottom-nav button{height:52px;min-height:52px}.ticket-flight-path img{background:transparent}.home-mode .app>header{margin-bottom:8px}.home-mode .home-brand>strong{display:block;line-height:1.15}.home-mode #homeWeatherSlot .sky-status-row{line-height:1;min-height:24px}.home-mode #homeWeatherSlot .sky-status{display:block;min-height:24px;line-height:1.4;padding:3px 0}.home-mode .home-bags #bagScene{margin-top:4px}
@media(max-width:350px){:root{--boarding-hero:280px}}
.welcome-hero{overflow:visible}.welcome-sky{overflow:hidden}.welcome-bags{z-index:4}.welcome-settings{position:absolute;top:24px;right:24px;border-radius:50%;width:44px;min-height:44px;background:var(--pk-btn-on-sky);z-index:5}.welcome-settings img{width:22px;height:22px}html[data-sky-phase="night"] .welcome-settings img{filter:brightness(0) invert(1)}.sky-full-preview{margin:0 var(--sp-3) var(--sp-2) 0}
:root{--boarding-hero:292px}.home-mode .app{padding-top:18px}.home-mode .app>header{min-height:44px;margin-bottom:4px}.home-mode #homeWeatherSlot .sky-status-row{min-height:20px}.home-mode #homeWeatherSlot .sky-status{min-height:20px;padding:1px 0}.ticket-body{padding-top:10px}.home-mode .countdown-numbers{margin-top:12px}.home-mode .home-bags{padding-top:12px}.home-mode .home-bags #bagScene{margin-top:0}.welcome-brand{top:16px}.welcome-bags{bottom:-2px}#profileModal .welcome-sheet>label,#profileModal .welcome-date-row label{margin-top:12px}.welcome-sheet .gender-options{margin-top:12px}#profileModal .welcome-study{margin-top:12px}.welcome-extra{margin-top:8px}.welcome-extra>summary{min-height:28px;font-size:10px}.welcome-submit{margin-top:12px}.welcome-hero .welcome-settings{top:16px}
@media(max-width:350px){:root{--boarding-hero:272px}}
.sky-plane-left{top:auto;bottom:142px;left:28px;right:auto;rotate:-18deg;animation-delay:-3s}.welcome-sheet .gender-options label{font-size:13px!important}
