/* The entry and journey are complete destinations, never translucent arena overlays. */
.journey-home,.journey-teaser,.journey-result,.lobby-dialog.lobby-welcome{color:#eee9d7;background:#08140f;border:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;inset:0;overflow:auto;box-sizing:border-box;border-radius:0}
.journey-home::backdrop,.journey-teaser::backdrop,.journey-result::backdrop,.lobby-dialog.lobby-welcome::backdrop{background:#08140f;backdrop-filter:none}
.journey-home[open],.journey-teaser[open],.journey-result[open]{display:block}
.journey-home:before,.journey-teaser:before,.journey-result:before,.lobby-welcome:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#08140ff2 5%,#08140fb0 65%,#08140f90),linear-gradient(0deg,#08140f 5%,transparent 90%),url('./assets/clareira.png') center/cover;opacity:.85}
.journey-home :focus-visible,.journey-teaser :focus-visible,.journey-result :focus-visible,.journey-coach :focus-visible{outline:2px solid #f3cf7d;outline-offset:5px}
.journey-home-inner{position:relative;max-width:1140px;margin:auto;padding:40px 52px 25px;z-index:1}
/* Welcome owns the large promise and octagon. The path stage leads with the actual sequence of challenges
   (its layout is further below); on roomy screens its texts tighten a little. */
@media(min-width:1050px) and (min-height:760px){
 .journey-home{overflow:hidden}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path progress{margin:13px 0}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li strong{font-size:17px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li em{font-size:9px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-discoveries h2{font-size:20px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-discoveries>div{margin-top:9px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-discoveries button{padding:11px 14px}
}
.lobby-modes:has([data-lobby-mode="journey"]){grid-template-columns:repeat(2,minmax(0,1fr))}
.lobby-welcome>.journey-welcome-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:.5}
.lobby-welcome:has(.journey-welcome-video:not([hidden])):before{z-index:1;background:linear-gradient(90deg,#08140fd9,#08140f77),linear-gradient(0deg,#08140f 0%,transparent 70%);opacity:1}
.lobby-welcome:has(.journey-welcome-video:not([hidden]))>:not(video){z-index:2}
.journey-home-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d4bb7530;padding-bottom:22px}
.journey-player-name{font-size:12px;color:#c4cdb8}.journey-home .eyebrow,.journey-teaser .eyebrow,.journey-result .eyebrow{font-size:9px;letter-spacing:.22em;color:#ceb576}
.journey-welcome-hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:30px;min-height:calc(100dvh - 176px);padding:38px 0}.journey-welcome-stage .journey-hero-emblem{min-height:310px}.journey-welcome-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;margin:0;padding:0}.journey-welcome-promises li{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;padding:15px 16px;border-top:1px solid #d4bb7530;color:#d9dfce}.journey-welcome-promises span{grid-row:span 2;color:#d6bc75;font:400 20px var(--serif)}.journey-welcome-promises strong{font:400 18px var(--serif)}.journey-welcome-promises small{font:10px/1.5 var(--sans);color:#96a991}
.journey-chapter-label{font:10px var(--sans);letter-spacing:.21em;color:#97ad8d}.journey-home h1{font:400 clamp(42px,5.2vw,70px)/1.08 var(--serif);letter-spacing:-.025em;margin:16px 0 20px;color:#f1ecdc}
.journey-home-primary{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}.journey-home-primary .gold-button{padding:16px 25px;font-size:13px}.journey-home-primary small{font:10px var(--sans);color:#91a78d}
.journey-hero-emblem{position:relative;display:grid;place-items:center;min-height:270px;color:#d8bb78;isolation:isolate}.journey-hero-octagon{display:grid;place-items:center;width:min(270px,100%);aspect-ratio:1;filter:drop-shadow(0 0 25px #e3bc5448);animation:journey-breathe 6s ease-in-out infinite}.journey-hero-octagon svg{width:100%;height:100%;overflow:visible}.journey-hero-octagon polygon,.journey-hero-octagon path{fill:none;stroke:currentColor;stroke-linejoin:round}.journey-hero-octagon .octagon-halo{stroke:#d3bc7640;stroke-width:1}.journey-hero-octagon .octagon-ring{stroke:#d8bb78;stroke-width:5}.journey-hero-octagon .octagon-core{fill:#d8bb78;stroke:#f5dda0;stroke-width:2;filter:drop-shadow(0 0 9px #e9c86c)}.journey-hero-octagon .octagon-rays{stroke:#e4ca815c;stroke-width:2}.journey-hero-emblem small{letter-spacing:.18em;font-size:8px;color:#b7b78f;margin-top:18px;z-index:1}
.journey-path{border:1px solid #c6b37925;background:#091a12b3;padding:24px;border-radius:12px}.journey-path-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.journey-path h2,.journey-discoveries h2{font:400 25px var(--serif);margin:0}.journey-path-heading>span{font-size:10px;color:#abb99e}.journey-path progress{width:100%;height:3px;display:block;margin:17px 0 20px;accent-color:#d8bd78;border:0;background:#2b3827;border-radius:5px}.journey-path progress::-webkit-progress-bar{background:#293526;border-radius:5px}.journey-path progress::-webkit-progress-value{background:linear-gradient(90deg,#73966b,#e3c781);border-radius:5px}
.journey-path ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.journey-path li button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:14px;border:1px solid #a8b38323;border-radius:7px;background:#10221999;color:#dedfcc;min-height:93px}.journey-path li.current button{border-color:#d9bd777a;background:linear-gradient(100deg,#a48c3923,#142a1c)}.journey-path li.complete button{border-color:#8ab07a3b}.journey-path li.locked{opacity:.53}.journey-path li button:enabled:hover{background:#263823;border-color:#d9bd7790}.journey-node{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border:1px solid #cbbb6b66;border-radius:50%;font-size:22px;color:#d8be77}.complete .journey-node{border-color:#9abf83;color:#a8cb93}.journey-path li button>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.journey-path li strong{font:400 19px var(--serif)}.journey-path li small{font:8px var(--sans);letter-spacing:.12em;color:#bca96c}.journey-path li em{font:10px var(--sans);color:#9eaf99}.journey-duration{margin-left:auto;font-size:9px;color:#c8b778;white-space:nowrap}.journey-unavailable{font-size:11px;color:#e8bda1;margin:10px;line-height:1.5}
.journey-discoveries{margin-top:28px}.journey-discoveries h2{font-size:22px}.journey-discoveries>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.journey-discoveries button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:19px 18px;text-align:left;color:#e0dcc6;border:1px solid #a8b38335;border-radius:8px;background:#102219aa}.journey-discoveries button:disabled{opacity:.45}.journey-discoveries button>span{position:absolute;right:17px;color:#c8b477}.journey-discoveries strong{font:400 19px var(--serif)}.journey-discoveries small{font-size:10px;color:#aabb9e}.journey-home-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:24px;color:#8fa288}.journey-home-footer p{max-width:510px;font-size:10px;line-height:1.7}.journey-home-footer button,.journey-coach button{border:0;background:transparent;color:#d7c18a;font-size:10px;padding:8px 0;cursor:pointer}.journey-home-footer button{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.journey-home-notice{font-size:12px;color:#ecc9a1}
.journey-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden}.journey-atmosphere i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e6d29b;box-shadow:0 0 12px #e6d29b;left:74%;top:30%;animation:journey-firefly 9s ease-in-out infinite}.journey-atmosphere i:nth-child(2){left:40%;top:16%;animation-delay:-3s}.journey-atmosphere i:nth-child(3){left:80%;top:56%;animation-delay:-6s}.journey-atmosphere i:nth-child(4){left:15%;top:80%;animation-delay:-2s}.journey-atmosphere i:nth-child(5){left:55%;top:75%;animation-delay:-5s}.journey-atmosphere i:nth-child(6){left:92%;top:20%;animation-delay:-7s}
.journey-teaser[open],.journey-result[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;gap:14px}.journey-teaser::before,.journey-result::before{z-index:0}.journey-teaser[open]>* ,.journey-result[open]>*{position:relative;z-index:1}.journey-teaser h1,.journey-result h1{font:400 clamp(35px,4.3vw,60px)/1.15 var(--serif);margin:0;max-width:780px}.journey-teaser>p,.journey-result>p{font:13px/1.7 var(--sans);color:#b4c2aa;max-width:580px;margin:0}.journey-versus{display:flex;align-items:center;justify-content:center;gap:24px;margin:12px 0;width:min(660px,100%)}.journey-duelist{position:relative;isolation:isolate;width:230px;height:235px;border:1px solid #d1b77966;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#466045,#142c21);animation:journey-arrive .65s both}.journey-duelist.rival{animation-delay:.12s;border-color:#ae806b80;background:linear-gradient(145deg,#453d35,#192c21)}.journey-duelist img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.journey-duelist>span{font:140px var(--serif);color:#d3b76c}.journey-duelist>div{position:absolute;bottom:0;left:0;right:0;padding:45px 12px 19px;background:linear-gradient(transparent,#06130df5);display:flex;flex-direction:column;gap:7px}.journey-duelist small{font-size:8px;letter-spacing:.16em;color:#cdb576}.journey-duelist strong{font:400 21px var(--serif)}.journey-vs{font:italic 35px var(--serif);color:#d7bd7b;flex-shrink:0;text-shadow:0 0 30px #d7bd7b60}.journey-duel-objective{border-top:1px solid #c7ae6640;padding:18px 20px 0;display:flex;flex-direction:column;gap:7px}.journey-duel-objective>span{font-size:8px;letter-spacing:.2em;color:#9caa91}.journey-duel-objective>strong{font-size:12px;font-weight:500;color:#d8c793}.journey-duel-objective>p{font-size:11px;color:#9db094;margin:0}.journey-teaser>.gold-button{padding:15px 33px;margin-top:7px}.journey-teaser>.text-button,.journey-result>.text-button{font-size:11px;color:#aebca0}
.journey-coach{position:fixed;right:20px;top:88px;z-index:70;width:min(350px,calc(100vw - 24px));border:1px solid #cbb27695;border-radius:10px;background:linear-gradient(135deg,#213c29f7,#0d2118fa);color:#efead7;box-shadow:0 10px 55px #0007;backdrop-filter:blur(15px)}.journey-coach[hidden]{display:none!important}.journey-coach-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;cursor:grab;touch-action:none}.journey-coach-heading:active,.journey-coach-dragging .journey-coach-heading{cursor:grabbing}.journey-coach-heading .eyebrow{font-size:8px;letter-spacing:.14em;color:#d2b975;flex:1}.journey-coach-tools{display:flex;align-items:center}.journey-coach-heading .journey-coach-tools button{width:24px;height:24px;padding:0;display:grid;place-items:center;font-size:15px;line-height:1;color:#d5bf80;cursor:pointer}.journey-coach-progress{height:2px;background:#61784855}.journey-coach-progress i{display:block;height:100%;background:#e1c47e;transition:width .4s}.journey-coach-body{padding:14px 17px 8px}.journey-coach h2{font:400 23px/1.15 var(--serif);margin:7px 0 10px}.journey-coach #journey-step-number{font-size:8px;letter-spacing:.14em;color:#b4cba5}.journey-coach p{font-size:12px;line-height:1.65;margin:0}.journey-coach #journey-correction{color:#f0cf86;margin-top:9px;font-size:11px}.journey-coach #journey-correction:empty{display:none}.journey-coach footer{display:flex;justify-content:space-between;align-items:center;padding:3px 17px 11px;color:#adbea3;font-size:9px}.journey-nudge{animation:journey-nudge .4s}
.journey-focus{outline:3px solid #efca76!important;outline-offset:5px!important;box-shadow:0 0 20px #eac76a70!important;animation:journey-focus 2s ease-in-out infinite!important;z-index:4}.journey-target{outline:3px solid #b0dfba!important;outline-offset:4px!important;box-shadow:0 0 20px #a2d9ac70!important;z-index:4}.journey-connectors{position:fixed;inset:0;z-index:68;width:100%;height:100%;pointer-events:none;color:#edc74f;filter:drop-shadow(0 0 5px #e5c66a80)}.journey-guide-line{fill:none;stroke:currentColor;stroke-width:2.1;stroke-dasharray:8 8;stroke-linecap:round;animation:journey-guide-flow 1.6s linear infinite}.journey-active .attack-guides{display:none}.journey-unrevealed{display:none!important}.journey-active #surrender{visibility:hidden}.journey-active .arena-match-status{opacity:.6}.journey-finishing #arena-view{pointer-events:none;animation:none}.journey-victory-mark{font:100px/1 var(--serif);color:#e8cd86;text-shadow:0 0 90px #e8cd8680;animation:journey-victory 1s cubic-bezier(.2,.8,.2,1) both}.journey-result[open]{animation:journey-result-arrive .65s cubic-bezier(.2,.8,.2,1) both}.journey-result[open]>*{animation:journey-result-content .5s ease-out both}.journey-result[open]>*:nth-child(2){animation-delay:.06s}.journey-result[open]>*:nth-child(3){animation-delay:.12s}.journey-result[open]>*:nth-child(4){animation-delay:.18s}.journey-result[open]>*:nth-child(5){animation-delay:.24s}.journey-result h2{font:400 25px var(--serif);margin:0;color:#d1c093}.journey-result-progress{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px;max-width:350px;margin:16px 0}.journey-result-progress i{width:22px;height:5px;background:#344b31;border-radius:4px}.journey-result-progress i.complete{background:#d6bc77;box-shadow:0 0 15px #d6bc7740}.journey-result-progress>span{width:100%;margin-top:7px;font-size:10px;color:#a7b59c}
.lobby-dialog.lobby-welcome{padding:clamp(30px,6vh,70px) max(24px,calc((100vw - 1060px)/2));display:block;isolation:isolate}.lobby-welcome>*{position:relative;z-index:2}.lobby-welcome:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 45% 34% at 50% 57%,#b6924220,transparent 72%),radial-gradient(ellipse 22% 19% at 13% 24%,#72a36412,transparent 78%);animation:lobby-ambient 9s ease-in-out infinite alternate}.lobby-fireflies{position:fixed!important;inset:0;z-index:1!important;pointer-events:none;overflow:hidden}.lobby-fireflies i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f5d779;box-shadow:0 0 7px 2px #e9c35a99,0 0 22px 6px #d6b04e22;animation:lobby-firefly 10s ease-in-out infinite}.lobby-fireflies i:nth-child(1){left:10%;top:70%;animation-delay:-2s}.lobby-fireflies i:nth-child(2){left:20%;top:24%;animation-delay:-6s;animation-duration:13s}.lobby-fireflies i:nth-child(3){left:34%;top:82%;animation-delay:-9s;animation-duration:11s}.lobby-fireflies i:nth-child(4){left:66%;top:18%;animation-delay:-4s;animation-duration:12s}.lobby-fireflies i:nth-child(5){left:79%;top:61%;animation-delay:-8s}.lobby-fireflies i:nth-child(6){left:91%;top:30%;animation-delay:-1s;animation-duration:14s}.lobby-fireflies i:nth-child(7){left:55%;top:90%;animation-delay:-5s;animation-duration:13s}.lobby-fireflies i:nth-child(8){left:45%;top:10%;animation-delay:-11s}.lobby-welcome>[data-lobby-close]{display:none!important}.lobby-welcome>.eyebrow{display:block;text-align:center}.lobby-welcome>#lobby-title{text-align:center;font:400 clamp(38px,5vw,65px)/1.08 var(--serif);margin:14px 0 18px;text-shadow:0 4px 30px #0009}.lobby-welcome .lobby-welcome-copy{text-align:center;color:#bdc9b0;font:13px/1.7 var(--sans);max-width:520px;margin:0 auto 30px}.lobby-welcome #lobby-main,.lobby-welcome #lobby-error{max-width:610px;margin-left:auto;margin-right:auto}.lobby-welcome #lobby-account{position:relative;overflow:hidden;padding:27px;background:linear-gradient(135deg,#173324ed,#0b1d15e8);border:1px solid #c5aa5b4d;border-radius:12px;box-shadow:0 15px 80px #0008,0 0 45px #b9974a12}.lobby-welcome #lobby-account:before{content:"";position:absolute;inset:-70% -30%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#f3d48513 50%,transparent 58%);transform:translateX(-25%) rotate(8deg);animation:lobby-panel-sheen 8s ease-in-out infinite}.lobby-welcome #lobby-account>*{position:relative}.lobby-welcome .lobby-account-tabs{justify-content:center}.lobby-welcome .lobby-account>p{font-size:12px}.lobby-welcome .lobby-form-actions .gold-button{width:100%;padding:15px}.lobby-welcome .lobby-account form{gap:17px}.lobby-welcome .lobby-account input:not([type=checkbox]){padding:14px}.lobby-welcome .lobby-consent{font-size:11px}.lobby-welcome-copy[hidden]{display:none!important}
@keyframes journey-firefly{0%,100%{opacity:0;transform:translate(0,25px)}35%,65%{opacity:.7}50%{transform:translate(-25px,-35px)}}@keyframes lobby-firefly{0%,100%{opacity:0;transform:translate3d(0,22px,0) scale(.6)}26%{opacity:.8}52%{opacity:.22;transform:translate3d(-24px,-42px,0) scale(1.12)}75%{opacity:.92}to{opacity:0;transform:translate3d(18px,-76px,0) scale(.65)}}@keyframes lobby-ambient{from{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.07)}}@keyframes lobby-panel-sheen{0%,55%,100%{transform:translateX(-30%) rotate(8deg);opacity:0}66%{opacity:1}78%{transform:translateX(30%) rotate(8deg);opacity:.4}}
@keyframes journey-breathe{50%{opacity:.9;transform:scale(.985)}}@keyframes journey-focus{50%{outline-color:#fff0bc;box-shadow:0 0 32px #eac76a99}}@keyframes journey-arrive{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes journey-victory{from{opacity:0}to{opacity:1}}@keyframes journey-guide-flow{to{stroke-dashoffset:-32}}@keyframes journey-final-breath{from{opacity:1}to{opacity:.9}}@keyframes journey-result-arrive{from{opacity:0}to{opacity:1}}@keyframes journey-result-content{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@keyframes journey-nudge{50%{border-color:#f3d48a}}
@media(max-width:1000px){.journey-coach{top:auto;bottom:15px;right:15px;width:320px}.journey-active #arena-view{padding-bottom:190px}.journey-home-inner{padding:30px}.journey-hero-emblem i{inset:20px}}
@media(max-width:650px){.journey-home-inner{padding:22px 18px}.journey-home-heading{gap:15px}.journey-home-heading>.eyebrow{font-size:7px;max-width:180px;line-height:1.7}.journey-player-name{font-size:10px}.journey-welcome-hero{grid-template-columns:1fr;padding:34px 0 27px;gap:0;min-height:0}.journey-home h1{font-size:45px}.journey-welcome-hero p{font-size:12px;max-width:310px}.journey-hero-emblem{display:none}.journey-welcome-promises{grid-template-columns:1fr;margin-top:8px}.journey-welcome-promises li{padding:11px 0}.journey-home-primary .gold-button{width:100%}.journey-home-primary{margin-top:20px}.journey-path{padding:17px 13px}.journey-path h2{font-size:21px}.journey-path-heading>span{font-size:9px}.journey-path ol{grid-template-columns:1fr}.journey-path li button{min-height:80px;padding:12px 10px;gap:10px}.journey-path li strong{font-size:18px}.journey-node{width:32px;height:32px;font-size:18px}.journey-duration{font-size:8px}.journey-path li em{font-size:9px}.journey-discoveries>div{gap:7px}.journey-discoveries button{padding:13px 10px}.journey-discoveries strong{font-size:16px;max-width:90px}.journey-discoveries small{font-size:8px}.journey-discoveries button>span{display:none}.journey-home-footer{align-items:flex-start;flex-direction:column;gap:2px;padding-top:14px}.journey-home-footer p{font-size:9px}.journey-home-footer button{font-size:10px}.journey-versus{gap:12px}.journey-duelist{height:205px;width:42%}.journey-duelist strong{font-size:18px}.journey-vs{font-size:26px}.journey-teaser[open]{justify-content:flex-start;padding-top:35px}.journey-teaser h1{font-size:35px}.journey-teaser>p{font-size:12px}.journey-teaser .eyebrow{font-size:7px}.journey-coach{left:8px;right:8px;bottom:8px;width:auto;max-height:32dvh;overflow:auto;border-radius:9px}.journey-coach-heading{padding:6px 12px}.journey-coach-body{padding:9px 12px 0}.journey-coach h2{font-size:18px;margin:3px 0 5px}.journey-coach p{font-size:11px;line-height:1.45}.journey-coach footer{padding:3px 12px 5px}.journey-coach #journey-step-number{font-size:7px}.journey-active #arena-view{padding-bottom:195px}.lobby-dialog.lobby-welcome{padding:35px 16px}.lobby-welcome #lobby-account{padding:19px 16px}.lobby-welcome .lobby-account-tabs button{font-size:10px;padding:10px}.lobby-welcome>#lobby-title{font-size:43px}.lobby-welcome .lobby-welcome-copy,.lobby-welcome #lobby-account-hint{display:none!important}}
@media(max-height:660px) and (min-width:651px){.journey-teaser[open]{gap:8px;padding:18px}.journey-teaser h1{font-size:35px}.journey-duelist{height:155px;width:180px}.journey-versus{margin:4px}.journey-duel-objective{padding-top:12px}.journey-teaser>.gold-button{padding:12px 28px}.journey-coach{max-height:50dvh;overflow:auto}}
/* Phones in landscape have very little height: keep the whole first entry actionable. */
@media(max-height:500px) and (orientation:landscape){
 .lobby-dialog.lobby-welcome{padding:14px clamp(22px,8vw,58px);overflow:auto}
 .lobby-welcome>.eyebrow{font-size:8px;letter-spacing:.18em}
 .lobby-welcome>#lobby-title{font-size:clamp(31px,5.6vw,42px);line-height:1.02;margin:5px 0 7px}
 .lobby-welcome .lobby-welcome-copy{font-size:11px;line-height:1.4;margin:0 auto 10px;max-width:450px}
 .lobby-welcome #lobby-account{max-width:610px;margin:auto;padding:12px 16px;border-radius:9px}
 .lobby-welcome .lobby-account-tabs{margin-bottom:8px;gap:6px}
 .lobby-welcome .lobby-account-tabs button{padding:8px 12px;font-size:10px}
 .lobby-welcome .lobby-account>p{margin:0 0 9px;font-size:11px;line-height:1.35;white-space:nowrap}
 .lobby-welcome .lobby-account form{gap:8px}
 .lobby-welcome .lobby-account form>label{gap:3px;font-size:11px}
 .lobby-welcome .lobby-account input:not([type=checkbox]){padding:8px 10px;font-size:12px}
 .lobby-welcome .lobby-consent{margin-top:0;font-size:10px;line-height:1.35}
 .lobby-welcome .lobby-consent details{padding:6px 9px;margin-bottom:6px}
 .lobby-welcome .lobby-consent details p{font-size:10px;line-height:1.35}
 .lobby-welcome .lobby-consent input{width:13px;height:13px;margin-top:1px}
 .lobby-welcome .lobby-form-actions{margin-top:0}
 .lobby-welcome .lobby-form-actions .gold-button{padding:10px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.journey-atmosphere i,.journey-hero-emblem>span,.journey-focus,.journey-duelist,.journey-victory-mark,.journey-guide-line,.journey-nudge{animation:none!important}.journey-coach-progress i{transition:none}}
.lobby-welcome #lobby-account-hint{text-align:center}
.journey-account{display:flex;align-items:center;gap:13px}.journey-account button{border:1px solid #bca8627a;border-radius:4px;background:#0b1d14a8;color:#ddc982;font:10px var(--sans);padding:6px 11px;cursor:pointer}.journey-account button:hover{background:#293b22;border-color:#e1c67f}.journey-hero-octagon svg{transform:rotate(22.5deg)}
/* The progressive journey exposes only navigation that helps the current
   learning task. The complete header remains available in the classic flow. */
body.journey-active .game-nav>button:not([data-journey-home]):not([data-view="arena"]),
body.journey-active .game-nav-divider{display:none}
body.journey-active .header-links>*:not(#sound-toggle){display:none}
body.journey-active .game-header{justify-content:flex-start;gap:30px}
body.journey-active .header-links{margin-left:auto}
/* Guidance occupies the reading side, leaving rival portraits and hand actions free. */
.journey-coach{left:20px;right:auto;top:88px;bottom:auto}
.journey-path li.locked{opacity:.72}.journey-path li button:disabled{opacity:1}
@media(max-width:1180px) and (orientation:landscape){.journey-coach{left:12px;top:calc(var(--compact-header,48px) + 12px);width:min(340px,calc(100vw - min(calc(100dvh - var(--compact-header,48px) - 16px),57vw) - 44px));max-height:calc(100dvh - 190px);overflow:auto}.journey-active #arena-view.arena-view{padding-bottom:8px}}
/* Phones on their side: the lesson panel takes the reading column above the hand, in place of the card inspector,
   so it covers neither the inspector nor the card the lesson asks for. */
@media(max-height:500px) and (orientation:landscape){
 .journey-coach{max-height:calc(100dvh - var(--compact-header,48px) - var(--compact-hand-height,145px) - 30px)}
 .journey-active #arena-view .left-panel{visibility:hidden;pointer-events:none}.journey-active #mobile-inspector-toggle{display:none}
}
@media(max-width:1180px) and (orientation:portrait){
 .journey-active.compact-battle #game-content{height:calc(100dvh - var(--compact-header,48px) - 175px);margin-top:175px}
 .journey-active #arena-view.arena-view{--arena-board-size:min(calc(100vw - 20px),calc(100dvh - var(--compact-header,48px) - 330px));padding-bottom:8px}
 .journey-coach{top:calc(var(--compact-header,48px) + 6px);bottom:auto;left:8px;right:8px;width:auto;max-height:164px;overflow:auto}
 .journey-coach-heading{padding:4px 12px}.journey-coach-body{padding:6px 12px 0}.journey-coach h2{font-size:18px;margin:3px 0 5px}.journey-coach p{font-size:11px;line-height:1.45}.journey-coach footer{padding:2px 12px 4px}
.lobby-dialog.lobby-welcome{max-width:none;max-height:none;padding:35px 16px}.lobby-modes:has([data-lobby-mode="journey"]){grid-template-columns:1fr}
}

/* One short fade per content layer. Backgrounds and nested children stay stable. */
.journey-home[open] .journey-home-inner,.journey-teaser[open]>:not(#game-floating-tooltip),.journey-result[open]>:not(#game-floating-tooltip),
.lobby-welcome[open]>.eyebrow,.lobby-welcome[open]>#lobby-title,.lobby-welcome[open]>.lobby-welcome-copy,.lobby-welcome[open]>#lobby-main{animation:scene-content-enter .28s ease-out both}
.lobby-welcome[open] #lobby-account,.lobby-welcome #lobby-account:before,.journey-duelist,.journey-duelist.rival,.journey-result[open]{animation:none}
.lobby-account form.account-switching{animation:scene-content-enter .18s ease-out both}
.journey-home.screen-leaving .journey-home-inner,.journey-teaser.screen-leaving>:not(#game-floating-tooltip),.journey-result.screen-leaving>:not(#game-floating-tooltip),
.lobby-dialog.screen-leaving>.eyebrow,.lobby-dialog.screen-leaving>#lobby-title,.lobby-dialog.screen-leaving>.lobby-welcome-copy,.lobby-dialog.screen-leaving>#lobby-main{animation:scene-content-leave .2s ease-in-out both}
.journey-chapter-label{display:block}
@keyframes scene-content-enter{from{opacity:0}to{opacity:1}}
@keyframes scene-content-leave{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){
 .journey-home[open] .journey-home-inner,.journey-teaser[open]>*,.journey-result[open]>*,.lobby-welcome[open]>*,.lobby-account form.account-switching{animation:none!important}
 .lobby-fireflies i,.lobby-welcome:after,.lobby-welcome #lobby-account,.lobby-welcome #lobby-account:before{animation:none!important}
}

/* Keep the welcome scene inside the visible game viewport. */
.journey-home:has(.journey-welcome-stage){overflow:hidden}
.journey-welcome-stage{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-block:clamp(18px,3.5vh,40px)}
.journey-welcome-stage .journey-welcome-hero{min-height:0;height:100%;padding-block:clamp(10px,2vh,26px)}
.journey-welcome-stage .journey-hero-emblem{min-height:0}
@media(max-height:720px){
 .journey-welcome-stage{padding-block:16px}
 .journey-welcome-stage .journey-home-heading{padding-bottom:12px}
 .journey-welcome-stage .journey-welcome-hero{padding-block:10px}
 .journey-welcome-stage h1{font-size:clamp(36px,7vh,60px);margin:8px 0 10px}
 .journey-welcome-stage .journey-home-primary{margin-top:14px}
 .journey-welcome-stage .journey-hero-octagon{width:min(210px,100%)}
 .journey-welcome-stage .journey-welcome-promises li{padding-block:8px}
}
@media(max-width:650px){
 .journey-welcome-stage{padding:16px 18px}
 .journey-welcome-stage h1{font-size:clamp(32px,6vh,45px)}
 .journey-welcome-stage .journey-welcome-hero{padding-block:12px}
 .journey-welcome-stage .journey-welcome-promises{margin:0}
 .journey-welcome-stage .journey-welcome-promises li{padding-block:5px}
 .journey-welcome-stage .journey-welcome-promises small{display:none}
}
@media(max-height:500px){
 .journey-welcome-stage{padding-block:10px}
 .journey-welcome-stage .journey-home-heading{padding-bottom:6px}
 .journey-welcome-stage .journey-welcome-hero{padding-block:4px}
 .journey-welcome-stage h1{font-size:clamp(30px,8vh,38px);margin:4px 0 7px}
 .journey-welcome-stage .journey-home-primary{gap:5px;margin-top:9px}
 .journey-welcome-stage .journey-home-primary .gold-button{padding:9px 16px}
 .journey-welcome-stage .journey-hero-emblem,.journey-welcome-stage .journey-welcome-promises{display:none}
}
/* Session controls stay together beside Sair on both journey screens. */
.journey-account{gap:8px}
.journey-player-name{max-width:130px;margin-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-account .journey-header-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:7px;border:1px solid #bca8625c;border-radius:6px;background:#0b1d14a8;color:#ddc982}
.journey-account .journey-header-icon:hover,.journey-account .journey-header-icon:focus-visible{background:#293b22;border-color:#e1c67f;color:#f3daa0}
.journey-account .journey-header-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.journey-account .journey-header-icon[data-journey="play"] svg{fill:currentColor;stroke:none}
.journey-account [data-journey="sound"] .sound-muted,.journey-account [data-journey="fullscreen"] .fullscreen-exit{display:none}
.journey-account [data-journey="sound"][data-enabled="false"] .sound-waves,.journey-account [data-journey="fullscreen"][aria-pressed="true"] .fullscreen-enter{display:none}
.journey-account [data-journey="sound"][data-enabled="false"] .sound-muted,.journey-account [data-journey="fullscreen"][aria-pressed="true"] .fullscreen-exit{display:block}
@media(max-width:650px){
 .journey-home-heading{gap:8px}
 .journey-home-heading>.eyebrow{max-width:115px}
 .journey-account{gap:5px}
 .journey-player-name{max-width:60px;margin-right:0}
 .journey-account button[data-journey="signout"]{padding:6px 8px}
}
@media(max-width:360px){
 .journey-home-heading>.eyebrow{max-width:95px}
 .journey-player-name{display:none}
 .journey-home-heading:has([data-journey="play"])>.eyebrow{display:none}
}

/* Game scenes: closed dialogs must never remain in the document layout. */
dialog:not([open]){display:none!important}
body:has(.journey-home[open],.journey-teaser[open],.journey-result[open],.lobby-welcome[open]){overflow:hidden;height:100dvh;min-height:0}
.lobby-entry-controls{position:absolute!important;top:18px;right:24px;display:flex;gap:8px}
.lobby-entry-controls .journey-header-icon{display:grid;place-items:center;width:36px;height:36px;padding:7px;border:1px solid #bca8625c;border-radius:6px;background:#0b1d14d9;color:#ddc982}
.lobby-entry-controls svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lobby-entry-controls .sound-muted,.lobby-entry-controls [data-enabled="false"] .sound-waves{display:none}
.lobby-entry-controls [data-enabled="false"] .sound-muted{display:block}
.lobby-dialog.lobby-welcome[open]{display:flex;flex-direction:column;justify-content:center;padding:60px 24px 24px;overflow:hidden;min-height:0}
.lobby-welcome>#lobby-main{width:min(760px,100%);margin:0 auto;min-height:0;overflow:auto;scrollbar-width:thin}
.lobby-welcome>#lobby-title{font-size:clamp(30px,5dvh,56px);margin:10px 0 14px;flex-shrink:0}
.lobby-welcome>.lobby-welcome-copy{margin:0 auto 18px}
.lobby-welcome #lobby-account{padding:clamp(16px,2.5dvh,28px)}
.lobby-welcome #lobby-account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lobby-welcome #lobby-account-form>label{grid-column:auto;min-width:0}
.lobby-welcome #lobby-account-form[data-mode="guest"]>#lobby-name-field{grid-column:1/-1}
.lobby-welcome .lobby-form-actions>.gold-button{width:100%}
.lobby-welcome .lobby-consent details[open]{max-height:150px;overflow:auto}
.journey-welcome-stage h1{text-wrap:balance;font-size:clamp(34px,4.3vw,58px);max-width:730px}
.journey-hero-emblem{grid-template-rows:auto auto;align-content:center}
.journey-home-inner:not(.journey-welcome-stage){height:100dvh;display:flex;flex-direction:column;padding:24px 30px 18px;gap:18px}
.journey-home-inner:not(.journey-welcome-stage) .journey-home-heading{flex-shrink:0}
/* Below the heading, the path, the discoveries and the footer sit centred in the remaining height; when they do
   not fit, the path scrolls inside and the rest stays in view. */
.journey-home-body{flex:0 1 auto;min-height:0;margin-block:auto;display:flex;flex-direction:column;gap:clamp(12px,2.2dvh,18px)}
.journey-home-inner:not(.journey-welcome-stage) .journey-path{flex:0 1 auto;margin-top:0;min-height:0;overflow:auto;padding:18px;scrollbar-width:thin}
/* Seven equal cards: every card spans two tracks, four on the first row and three centred on the second. */
.journey-home-inner:not(.journey-welcome-stage) .journey-path ol{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:1fr;gap:10px}
.journey-home-inner:not(.journey-welcome-stage) .journey-path li{position:relative;grid-column:span 2}
.journey-home-inner:not(.journey-welcome-stage) .journey-path li:nth-child(5){grid-column:2/span 2}
.journey-path li.ongoing button[data-journey="resume"]{border-color:#e2c47dcc;background:linear-gradient(100deg,#b0913a33,#142a1c)}
.journey-path li.ongoing small{color:#ecd08a}
/* Starting the paused challenge over is a small separate link on its card, beside "Continuar" when the card is wide
   enough and on its own line below it when not; the text never runs under the link. */
.journey-home-inner:not(.journey-welcome-stage) .journey-path li.ongoing{container-type:inline-size}
.journey-home-inner:not(.journey-welcome-stage) .journey-path .journey-restart{position:absolute;right:10px;bottom:8px;display:block;width:auto;height:auto;min-height:24px;padding:4px 3px;border:0;background:none;color:#c9b277;font:9px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.journey-path li.ongoing .journey-duration{padding-right:62px}
@container (max-width:199px){.journey-path li.ongoing .journey-duration{padding-right:0}.journey-home-inner:not(.journey-welcome-stage) .journey-path li.ongoing button[data-journey="resume"]{padding-bottom:38px}}
.journey-home-inner:not(.journey-welcome-stage) .journey-path .journey-restart:is(:hover,:focus-visible){background:none;color:#f3daa0}
.journey-home-inner:not(.journey-welcome-stage) .journey-path li button{height:100%;min-height:148px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:12px;align-items:start}
.journey-path li button>span:nth-child(2){min-width:0}
.journey-path li strong{font-size:18px;line-height:1.2;min-height:2.4em;text-wrap:balance}
.journey-path li em{font-size:10px;line-height:1.3;min-height:2.6em;text-wrap:balance}
.journey-path li small{font-size:8px;line-height:1.3;min-height:1.3em;letter-spacing:.04em}
.journey-path .journey-node{width:30px;height:30px;font-size:18px}
.journey-path .journey-duration{grid-column:2;margin:0;align-self:end}
.journey-home-inner:not(.journey-welcome-stage) .journey-discoveries{margin-top:0;flex-shrink:0}
.journey-home-inner:not(.journey-welcome-stage) .journey-home-footer{flex-shrink:0;padding-top:0}
.journey-home-notice:empty{display:none}.journey-home-body>.journey-home-notice{margin:0}
.journey-teaser[open],.journey-result[open]{overflow:hidden;padding:clamp(12px,2dvh,24px) 20px;gap:clamp(6px,1.2dvh,12px)}
.journey-teaser[open]>*,.journey-result[open]>*{flex-shrink:0}
.journey-teaser h1{font-size:clamp(28px,5.5dvh,52px)}
.journey-teaser .journey-versus{margin:4px 0;gap:18px}
.journey-teaser .journey-duelist{height:clamp(110px,26dvh,220px);width:clamp(100px,22dvh,210px)}
.journey-teaser .journey-duel-objective{padding:10px 12px 0;gap:5px;max-width:640px}
.journey-teaser>.gold-button{padding:12px 26px;margin-top:0}
.journey-coach{backdrop-filter:none}
.journey-result[open]>*{animation-delay:0s}
@media(max-width:1049px){
 .journey-home-inner:not(.journey-welcome-stage) .journey-path ol{grid-template-columns:repeat(6,minmax(0,1fr))}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li:nth-child(5){grid-column:span 2}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li:nth-child(7){grid-column:3/span 2}
}
@media(max-width:650px){
 .lobby-entry-controls{top:12px;right:18px}
 .lobby-welcome>.lobby-welcome-copy{display:none}
 .lobby-welcome #lobby-account-form{gap:10px}
 .lobby-welcome #lobby-account-form>label{font-size:11px}
 .lobby-welcome #lobby-account-hint{display:none}
 .journey-home-inner:not(.journey-welcome-stage){padding:16px;gap:12px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path ol{grid-template-columns:repeat(4,minmax(0,1fr))}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li:nth-child(7){grid-column:2/span 2}
 .journey-home-body{gap:12px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li button{grid-template-columns:minmax(0,1fr);min-height:150px}
 .journey-path .journey-node{display:none}.journey-path .journey-duration{grid-column:1}
 .journey-teaser .journey-duel-objective>p{font-size:10px}
}
/* Phones on their side are too short for a path that scrolls under the rest: the whole panel scrolls instead, with
   tighter cards and the heading's controls kept on top, and opening it brings the current challenge into view
   (journey.js). */
@media(max-height:500px) and (orientation:landscape){
 .journey-home-inner:not(.journey-welcome-stage){height:auto;min-height:100dvh;padding:12px 20px 14px;gap:10px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-home-heading{position:sticky;top:0;z-index:2;margin-top:-12px;padding:12px 0 10px;background:#08140fed}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path{flex:none;overflow:visible;padding:12px 14px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path progress{margin:9px 0 11px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-path li button{min-height:0}
 .journey-home-inner:not(.journey-welcome-stage) .journey-discoveries>div{margin-top:8px}
 .journey-home-inner:not(.journey-welcome-stage) .journey-discoveries button{padding:10px 14px;gap:4px}
}

html:has(body.journey-active,.journey-home[open],.journey-teaser[open],.journey-result[open],.lobby-welcome[open]){height:100%;overflow:hidden}
body.journey-active{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
body.journey-active>.game-header{flex-shrink:0}
body.journey-active>#game-content{flex:1;min-height:0}
body.journey-active #arena-view{height:100%;min-height:0;overflow:hidden}

/* Keep the final arena and celebration stable, including browser zoom. */
html:has(.journey-result[open],body.journey-finishing),
body:has(.journey-result[open]){height:100dvh;overflow:hidden}
.journey-result[open]{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100dvh;max-height:100dvh;transform:none;animation:none}
.journey-result[open]>:nth-child(n){animation-delay:0s}
.journey-result .journey-victory-mark{font-size:clamp(42px,11dvh,86px)}
.journey-result h1{font-size:clamp(28px,5.6dvh,52px)}
.journey-result h2{font-size:clamp(18px,3dvh,25px)}
.journey-result-progress{margin:clamp(4px,1.5dvh,12px) 0}
@media(max-height:450px){.journey-result .journey-victory-mark{display:none}.journey-result[open]{overflow-y:auto}}
