/* Uses the app's existing expedition palette, chapter art and shared controls. */
.onboarding-dialog{width:min(580px,calc(100% - 24px));max-height:calc(var(--app-viewport-height,100dvh) - 28px);overflow:auto;margin:auto;border:1px solid #637778;border-radius:22px;background:var(--surface);color:var(--text);padding:24px;box-shadow:0 24px 90px #0009}
.onboarding-dialog::backdrop{background:#061116df;backdrop-filter:blur(6px)}
.onboarding-dialog h1,#adventurerProfile h1{font:32px/1.15 Georgia,serif;margin:12px 0 16px}.onboarding-dialog h2,#adventurerProfile h2{font-family:Georgia,serif;font-weight:400}
.onboarding-top,.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-top>span{font-size:10px;letter-spacing:2px;color:var(--copper)}.onboarding-top .quiet{font-size:25px;padding:4px 12px;min-height:44px}
.onboarding-copy{color:#c4d0cf;line-height:1.6}.onboarding-dialog .eyebrow{margin-top:20px}
.onboarding-landscape{height:150px;border-radius:14px;background:linear-gradient(0deg,#13232955,transparent),var(--chapter-art) center 43%/cover;margin:22px 0}
.onboarding-dialog button.primary,.onboarding-dialog button.secondary{width:100%;min-height:46px;margin:6px 0;text-align:center;border-radius:10px}.onboarding-dialog .primary{background:var(--copper);color:#12252b;border:1px solid var(--copper);padding:13px}.onboarding-dialog .secondary{background:#1b3036;color:var(--text);border:1px solid #496268;padding:12px}
.onboarding-dialog label{display:grid;gap:7px;font-size:13px;color:#d2dcda;margin:14px 0}.onboarding-dialog input,.onboarding-dialog select{width:100%;min-width:0;background:#0e2026;color:var(--text);border:1px solid #526b70;border-radius:9px;padding:12px;font-size:16px;min-height:46px}
.onboarding-dialog .onboarding-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.onboarding-check input{width:20px;min-height:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:var(--copper)}
.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.onboarding-grid>*{min-width:0}.onboarding-note{font-size:12px;line-height:1.6;color:#b9cacd;margin:16px 0}
.onboarding-avatars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.onboarding-avatars button{background:#0e2026;border:1px solid #425b61;border-radius:13px;padding:12px;color:var(--text)}.onboarding-avatars button[aria-pressed=true]{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper);background:#23363a}.onboarding-avatars img{display:block;width:100%;height:115px}.onboarding-avatars span{display:block;font-size:13px;margin-top:8px}
.onboarding-progress,.profile-xp{height:5px;background:#2d4349;border-radius:8px;overflow:hidden;margin:14px 0}.onboarding-progress span,.profile-xp span{display:block;height:100%;background:var(--copper)}
.onboarding-path{display:block;width:100%;text-align:left;background:#1b3036;border:1px solid #627574;border-radius:14px;padding:20px;color:var(--text);margin:14px 0}.onboarding-path span{font-size:11px;color:var(--copper);letter-spacing:1px}.onboarding-path strong{display:block;font:23px Georgia,serif;margin:10px 0}.onboarding-path p{color:#b9cacd;font-size:13px;line-height:1.5;margin-bottom:0}
.onboarding-actions{display:flex;gap:12px;margin-top:20px}.onboarding-actions>*{flex:1;min-width:0}.onboarding-plan details{padding:13px 0;border-bottom:1px solid var(--line)}.onboarding-plan summary{cursor:pointer;min-height:30px}.onboarding-plan ul{padding-left:19px;line-height:1.6}.onboarding-plan li{margin:8px 0;font-size:13px}.onboarding-plan li span{display:block;color:var(--muted)}
.onboarding-review{text-align:center;background:#0e2026;border-radius:14px;padding:14px}.onboarding-review img{width:100px;height:125px}.onboarding-review h2{margin:0}.onboarding-summary dt{color:var(--copper);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-top:20px}.onboarding-summary dd{margin:6px 0;line-height:1.5;font-size:14px}
#onboardingError{color:#ffc4ad;font-size:14px}#onboardingEstimate,#onboardingAuthStatus{font-size:13px;line-height:1.6;color:#d9c09f}
#adventurerProfile{max-width:800px;padding:22px 20px 32px;margin:0 auto}#adventurerProfile .panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;margin:14px 0}#adventurerProfile p{line-height:1.6;font-size:14px}#adventurerProfile .eyebrow{font-size:10px;letter-spacing:2px;color:var(--copper)}#adventurerProfile .secondary{min-height:44px;border:1px solid #4a6268;border-radius:10px;background:#1b3036;padding:11px 14px;color:var(--text);margin:5px 0;font-size:13px}#adventurerProfile h2{font-size:24px;overflow-wrap:anywhere}.profile-heading h1{margin-top:8px}.profile-heading .secondary{flex-shrink:0}
.profile-character{display:flex;gap:22px;align-items:center;padding:22px;background:linear-gradient(90deg,#10242aea,#10242aab),var(--chapter-art) center/cover;border:1px solid #72827a;border-radius:18px}.profile-character-art{flex:0 0 110px}.profile-character-art img{width:110px;height:155px}.profile-character>div:last-child{flex:1;min-width:0}.profile-character h2{margin:8px 0}.profile-character small{color:#bdcdcf;font-size:12px}.profile-character p{margin:7px 0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-grid .panel{margin-bottom:0!important}.profile-grid .secondary{display:block;width:100%;text-align:left}.profile-mission{display:flex;align-items:flex-start;gap:12px;margin:16px 0}.profile-mission>span{color:var(--copper)}.profile-mission small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.profile-links{display:flex;gap:8px;flex-wrap:wrap}.profile-rewards{display:flex;gap:8px;flex-wrap:wrap}.profile-rewards span{font-size:12px;color:#a4b9bd;border:1px solid var(--line);border-radius:20px;padding:8px 12px}.profile-rewards .earned{color:var(--copper);border-color:#9a7b60}
@media(max-width:600px){.profile-grid{grid-template-columns:1fr;gap:0}.profile-character{gap:12px;padding:16px}.profile-character-art{flex-basis:88px}.profile-character-art img{width:88px;height:135px}.profile-heading{align-items:flex-start}.profile-heading .secondary{padding:10px;font-size:12px}}
@media(max-width:370px){.onboarding-dialog{padding:17px}.onboarding-grid{grid-template-columns:1fr}.onboarding-dialog h1,#adventurerProfile h1{font-size:27px}#adventurerProfile{padding:18px 12px}.profile-character{gap:8px}.profile-character-art{flex-basis:70px}.profile-character-art img{width:70px}.profile-heading{gap:6px}}
#adventurerProfile .profile-heading>.secondary{width:auto;flex:0 0 auto}#adventurerProfile .profile-heading>div{min-width:0}#adventurerProfile .profile-links>.secondary{width:auto;max-width:100%}#adventurerProfile h2{hyphens:auto}#adventurerProfile .profile-grid h2{font-size:22px}

.install-guide{margin-top:20px;padding:14px;border:1px solid #b79d6955;border-radius:12px;background:#10262c;color:#e4d7bf}.install-guide summary{cursor:pointer;min-height:32px;font:15px/1.5 Georgia,serif}.install-guide .install-intro{font:12px/1.6 system-ui;color:#bdcac3}.install-guide label{display:grid;gap:8px;font:12px system-ui;margin:14px 0}.install-guide select{width:100%;min-height:44px;padding:10px;font:16px system-ui;color:#eee1c9;background:#091d23;border:1px solid #6e807466;border-radius:8px}.install-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:14px}.install-steps li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}.install-steps svg{width:58px;height:64px}.install-steps strong{font:13px/1.5 system-ui;color:#ead2a8}.install-steps strong span{color:#aebfb2}.install-guide .install-steps p{margin:5px 0 0;font:12px/1.55 system-ui;color:#c2cec8}.install-guide .install-note,.install-already{font:11px/1.6 system-ui;color:#aabdb3;margin:14px 0 0}

/* Expedition setup: illustrated stations, tangible choices and a personal pass. */
.onboarding-dialog{width:min(680px,calc(100% - 20px));padding:20px;background:#0d2228;border-color:#b7a27670;box-shadow:0 26px 100px #000b,inset 0 0 0 4px #c4aa6c08}
.onboarding-dialog[open]{animation:setup-arrival .24s ease-out}
.onboarding-dialog [hidden]{display:none!important}
.onboarding-top{padding:0 0 12px;border-bottom:1px solid #b7a27630}
.onboarding-top>span{color:#cfb77e;letter-spacing:1.8px}
.setup-route{margin:16px 0 8px}.setup-route ol{display:flex;padding:0;margin:0;list-style:none;gap:0}
.setup-route li{position:relative;flex:1;min-width:0}.setup-route li:not(:last-child):after{content:'';position:absolute;top:17px;left:67%;right:-33%;border-top:1px dashed #75887980}
.setup-route button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:0 2px;background:none;border:0;color:#a7b8b2;min-height:64px;opacity:1!important}
.setup-route button span{display:grid;place-items:center;border:1px solid #77908560;background:#10262c;border-radius:50%;width:34px;height:34px;font:12px Georgia,serif}
.setup-route button small{font:10px/1.3 system-ui}.setup-route .current button{color:#ead5a1}.setup-route .current span{border-color:#d0b777;box-shadow:0 0 0 4px #d0b77714;background:#38483c}.setup-route .passed span{color:#10262c;background:#bcac7b;border-color:#bcac7b}.setup-route .passed:after{border-color:#bcac7b}.setup-route .skipped{opacity:.5}.setup-route button:disabled{cursor:default}
.onboarding-progress{height:2px;margin:8px 0 16px;background:#ffffff0c}.onboarding-progress span{background:#c8ae72}
.setup-scene{position:relative;isolation:isolate;min-height:186px;border:1px solid #b7a27655;border-radius:16px;overflow:hidden;background:linear-gradient(90deg,#082128c9,#08212822),linear-gradient(0deg,#082128,transparent 85%),var(--setup-scene) center 48%/cover;display:flex;align-items:flex-end;padding:22px;margin-top:14px}
.setup-scene-copy{position:relative;z-index:2;width:78%;text-shadow:0 2px 18px #000c}.setup-scene .eyebrow{font:9px/1.5 system-ui;letter-spacing:2px;color:#e8d29a;margin:0 0 10px}.setup-scene h1{font-size:32px;margin:0;line-height:1.12;text-wrap:balance;color:#f4ead2}.setup-traveler{position:absolute;right:8px;bottom:6px;width:90px;height:137px;filter:drop-shadow(0 8px 8px #0008);z-index:1}.setup-map-mark{position:absolute;top:14px;right:18px;color:#e8d29a;text-align:center;font:12px/1.3 Georgia,serif}.setup-scene-grain{position:absolute;inset:9px;border:1px solid #ead3a51a;border-radius:10px;pointer-events:none}
.onboarding-dialog[data-step=welcome] .setup-scene{min-height:275px}.onboarding-dialog[data-step=welcome] .setup-traveler{height:175px;width:110px}.onboarding-dialog[data-step=welcome] .setup-scene-copy{width:80%}.onboarding-copy{font-size:14px!important;margin:18px 2px 22px;max-width:48ch}
.setup-choices{border:0;padding:0;margin:20px 0;min-width:0}.setup-choices legend{font:15px Georgia,serif;color:#e6d8b9;margin-bottom:12px}.setup-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.setup-choice{display:flex;align-items:center;gap:10px;text-align:left;min-height:72px;padding:13px 11px;border:1px solid #71827966;border-radius:12px;background:linear-gradient(145deg,#20363a,#13282e);color:#e7e1d0;box-shadow:0 3px 0 #06161c;touch-action:manipulation;transition:background .18s,border-color .18s,transform .12s,box-shadow .12s}.setup-choice>span:last-child{min-width:0}.setup-choice strong{font:13px/1.4 system-ui;display:block}.setup-choice small{display:block;font:11px/1.5 system-ui;color:#aebfb8;margin-top:5px}.setup-choice-seal{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #85908477;border-radius:8px;color:#a5b2a5;font:11px Georgia,serif}.setup-choice[aria-pressed=true]{background:linear-gradient(130deg,#39463a,#223a37);border-color:#d2b87b;box-shadow:0 3px 0 #07191d,inset 0 0 0 1px #d2b87b24}.setup-choice[aria-pressed=true] .setup-choice-seal{background:#c9ae72;color:#10252b;border-color:#c9ae72}.setup-choice:active,.onboarding-path:active,.onboarding-avatars button:active,.onboarding-dialog .primary:active{transform:translateY(2px);box-shadow:none}
.setup-choices[data-choice-group=trainMode] .setup-choice-grid{grid-template-columns:1fr}.setup-choices[data-choice-group=days] .setup-choice-grid,.setup-choices[data-choice-group=minutes] .setup-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-choices[data-choice-group=days] .setup-choice,.setup-choices[data-choice-group=minutes] .setup-choice{flex-direction:column;text-align:center;padding:12px 5px;gap:7px}
.onboarding-avatars{gap:12px}.onboarding-avatars button{position:relative;overflow:hidden;min-height:180px;background:radial-gradient(ellipse at 50% 90%,#8ca08230,transparent 65%),linear-gradient(145deg,#1a343b,#10272d);box-shadow:0 4px 0 #05171d;transition:transform .15s,border-color .15s}.onboarding-avatars img{height:135px;filter:drop-shadow(0 8px 4px #0005)}.onboarding-avatars button[aria-pressed=true]{border-color:#dcc184;background:radial-gradient(ellipse at 50% 90%,#c9ae724d,transparent 70%),#203835;box-shadow:0 4px 0 #05171d,inset 0 0 0 1px #dcc18455}.onboarding-avatars button[aria-pressed=true]:after{content:'✓';position:absolute;right:10px;top:10px;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:#c9ae72;color:#10252b;font-size:13px}
.onboarding-path{position:relative;overflow:hidden;padding:24px 20px;min-height:165px;background:linear-gradient(90deg,#0b252bed,#0b252b8c),var(--chapter-art) center/cover;border-color:#aeb18866;box-shadow:0 4px 0 #06181e;transition:transform .15s,border-color .15s}.onboarding-path[data-action=guided]{border-color:#c8ae72;background:linear-gradient(90deg,#12302bea,#12302ba8),var(--chapter-art) center/cover}.onboarding-path strong{color:#f0dfb6}.onboarding-path:after{content:'↗';position:absolute;right:18px;top:19px;color:#d9c08b;font-size:25px}.onboarding-path p{max-width:34ch}.onboarding-plan details{border:1px solid #a6ae8650;border-radius:12px;padding:14px;margin:10px 0;background:#152e32}.onboarding-plan summary{font-family:Georgia,serif;color:#e7d6ae}
.onboarding-review{position:relative;margin:22px 0;border:1px solid #c9ae7277;background:radial-gradient(ellipse at 50% 15%,#75845c44,transparent 65%),#142d31;padding:25px 16px;box-shadow:inset 0 0 0 6px #c9ae7209}.onboarding-review:before{content:'EXPEDITIONSPASS';display:block;color:#d4bd87;font:10px system-ui;letter-spacing:3px;margin-bottom:10px}.onboarding-review img{height:150px}.onboarding-review:after{content:'BEREIT ZUM AUFBRUCH';display:block;border:1px solid #aabd8877;border-radius:5px;padding:9px;margin:16px auto 0;width:fit-content;font:9px system-ui;letter-spacing:2px;color:#bfcaa3;transform:rotate(-3deg)}.onboarding-summary{border-left:1px dashed #c9ae7260;padding-left:20px}.onboarding-summary dt{position:relative}.onboarding-summary dt:before{content:'';position:absolute;left:-25px;top:3px;width:8px;height:8px;border-radius:50%;background:#c9ae72}
.onboarding-actions{position:sticky;bottom:-20px;background:linear-gradient(0deg,#0d2228 85%,#0d222800);padding:16px 0 10px;z-index:3}.onboarding-dialog button.primary{background:linear-gradient(135deg,#dfc68d,#b89b62);border-color:#e0c58d;box-shadow:0 3px 0 #7c6944;font-weight:650}.onboarding-dialog button:focus-visible,.setup-route button:focus-visible{outline:2px solid #f2d896;outline-offset:3px}.onboarding-dialog .fitness-goal-options label{box-shadow:0 3px 0 #071a20;transition:background .15s,border-color .15s}.onboarding-dialog .fitness-goal-options label:has(:checked){background:#324237;border-color:#d2b87b}.onboarding-dialog input:focus,.onboarding-dialog select:focus{border-color:#d2b87b;outline:2px solid #d2b87b30}
@keyframes setup-arrival{from{opacity:0;transform:translateY(9px) scale(.99)}to{opacity:1;transform:none}}
@media(hover:hover){.setup-choice:hover,.onboarding-path:hover,.onboarding-avatars button:hover{border-color:#d2b87b;background-color:#29413e}}
@media(max-width:370px){.onboarding-dialog{padding:14px}.setup-scene{padding:16px;min-height:165px}.setup-scene h1{font-size:27px}.setup-route button small{font-size:9px}.setup-choice-grid{grid-template-columns:1fr}.onboarding-grid .setup-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-avatars button{padding:10px}.onboarding-actions{bottom:-14px}.setup-scene-copy{width:77%}.setup-traveler{right:0;width:73px;height:115px}}
@media(prefers-reduced-motion:reduce){.onboarding-dialog[open]{animation:none}.onboarding-dialog *{transition:none!important}.onboarding-dialog button:active{transform:none}}
.onboarding-grid>.setup-choices{grid-column:1/-1}.setup-choice{min-width:0}.setup-choice strong,.setup-choice small{overflow-wrap:anywhere;hyphens:auto}
@media(prefers-reduced-motion:no-preference){.onboarding-dialog[data-transition=station] .setup-scene{animation:setup-arrival .28s ease-out}}
.setup-choices[data-choice-group=foodMode] .setup-choice{flex-direction:column;align-items:flex-start;gap:10px}
