.flight-page{max-width:1320px;margin:24px auto;padding:0 16px;color:#113e75}.flight-page>h1{font-size:28px;margin:0}.flight-page>p{margin:8px 0 18px}.flight{position:relative;isolation:isolate;aspect-ratio:16/9;min-height:500px;overflow:hidden;background:#a6e4ed url('./assets/sky.webp') center/cover;color:#103e79;font-family:'Zen Maru Gothic',sans-serif;border-radius:20px;container-type:size}.flight *{box-sizing:border-box}.flight [hidden]{display:none!important}.flight button{font:900 18px 'Zen Maru Gothic',sans-serif;color:#103e79;cursor:pointer;border:2px solid #fff7da;background:#fff8df;border-radius:20px;padding:10px 18px;min-height:44px}.flight button:hover{filter:brightness(1.04)}.flight button:focus-visible{outline:4px solid #073e87;outline-offset:2px}.flight button:disabled{cursor:default}.flight button.primary{background:#df4b24;color:white;border-color:#fff7da;box-shadow:0 5px 0 #ae3719;font-size:26px}.flight-tools{position:absolute;right:2%;top:2%;display:flex;gap:6px;z-index:5}.flight-tools button{font:900 26px Arial;padding:5px;min-width:45px;line-height:1}.flight-tools small{display:block;font:900 10px 'Zen Maru Gothic',sans-serif;margin-top:3px}.flight-tools [aria-pressed=false]{opacity:.75}.flight-content{height:100%;padding:7% 4% 3%}.departure{display:grid;grid-template-columns:3fr 2fr;height:100%;align-items:center;gap:4%}.departure-copy{min-height:0}.eyebrow{font-size:18px;letter-spacing:.1em}.departure h2{font-size:clamp(30px,6.2cqw,88px);line-height:1.12;letter-spacing:.04em;margin:10px 0 20px;filter:drop-shadow(1px 3px 0 #fff)}.departure p{font-weight:900;margin:10px 0}.hero-balloon{width:100%;height:100%;object-fit:contain;min-height:0;max-height:480px}.tickets{display:flex;gap:8px;margin-top:24px}.flight .tickets button{flex:1;border-radius:0;border:0;background:transparent url('./assets/ticket.webp') center/100% 100%;height:90px;min-width:0;font-size:clamp(20px,3cqw,40px);padding:10px}.tickets [aria-pressed=true]{outline:4px solid #124d85;outline-offset:2px}.departure .primary{width:100%;margin-top:4px}.text-button{display:block;margin:10px auto 0}.flight .text-button{background:transparent;border:0;font-size:16px;text-decoration:underline}.sky-play{height:100%;display:grid;grid-template-rows:66px minmax(0,1fr) 44px 35px;gap:10px}.journey-head{display:flex;align-items:center;gap:25px;margin-top:-3%;width:65%}.journey-head p{margin:0;background:#fff9e8;border-radius:40%;padding:6px 25px;white-space:nowrap}.journey-head strong{font:900 58px Arial}.journey-head b{font-size:24px}.journey-head small{display:block;font-size:12px;text-align:center}.number-sky{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:4px 12px;min-height:0}.flight .cloud-number{position:relative;border:0;border-radius:0;padding:0;background:transparent url('./assets/number-balloon.webp') center/contain no-repeat;min-height:0;transition:none;display:grid;place-items:center}.cloud-number span{font:900 clamp(28px,6cqh,66px) Arial;transform:translateY(-8%);text-shadow:0 1px #fff}.cloud-number.done{opacity:.45}.cloud-number.done:after{content:'✓';position:absolute;right:16%;top:5%;color:#124c44;font:900 26px Arial;background:#fff;border-radius:100%;padding:1px 5px}.instruction{display:flex;gap:12px;align-items:center;justify-content:center}.instruction p{margin:0;padding:8px 18px;border-radius:20px;background:#fff8df;font-weight:900;text-align:center}.instruction button{font-size:16px}.trail{display:flex;justify-content:center;gap:5px;align-items:center}.trail span{width:30px;height:30px;border-radius:50%;background:#fff8df;display:grid;place-items:center;font:700 17px Arial;border:2px solid white}.trail .visited{background:#145783;color:white}.arrival{display:grid;grid-template-rows:minmax(0,1fr) 64px;height:100%;gap:16px}.scrapbook{display:grid;grid-template-columns:1fr 1fr;background:url('./assets/book.webp') center/100% 100% no-repeat;padding:5% 6%;gap:9%;min-height:0}.arrival-title{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;text-align:center}.arrival-title img{height:0;flex:1;min-height:0;max-width:45%;object-fit:contain}.arrival h2{font-size:clamp(24px,4cqw,55px);margin:6px 0}.arrival p{margin:5px 0;font-weight:900}.arrival-record{display:flex;flex-direction:column;justify-content:center;min-height:0}.arrival h3{font-size:clamp(17px,2.5cqw,32px);margin:0 0 15px}.footsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.footsteps span{background:#d5ebed;border:2px solid #6eabbc;border-radius:50%;text-align:center;font:700 clamp(20px,3cqh,34px) Arial;padding:8px 0}.record{font-size:14px;padding-top:8px}.record strong{font:700 22px Arial}.arrival-actions{display:flex;justify-content:center;gap:22px}.arrival-actions button{min-width:28%}.sheet{position:absolute;inset:0;z-index:10;background:#0a375b80;display:grid;place-items:center;padding:20px}.sheet>div{background:#fff9e6;max-width:600px;max-height:100%;overflow:auto;border:5px solid white;border-radius:25px;padding:26px;text-align:center}.sheet h2{margin:0 0 15px}.sheet p{font-weight:700;line-height:1.7}.sheet button{display:block;margin:10px auto;width:100%}.parent-note{background:#fff9e9;border-radius:18px;padding:20px;margin:20px 0;line-height:1.8}.parent-note h2{font-size:20px;margin:0}.flight:fullscreen,.flight.faux-fullscreen{width:100vw;height:100dvh;min-height:0;aspect-ratio:auto;border-radius:0}.flight.faux-fullscreen{position:fixed;inset:0;z-index:100000}.flight:fullscreen .flight-content,.faux-fullscreen .flight-content{padding-top:7%}@media(max-width:600px) and (orientation:portrait){.flight-page{padding:0 10px}.flight{min-height:760px;aspect-ratio:auto}.flight-content,.flight:fullscreen .flight-content,.faux-fullscreen .flight-content{padding:80px 14px 20px}.departure{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px}.departure h2{font-size:46px;line-height:1.1}.departure-copy{position:relative;z-index:1}.departure .eyebrow{font-size:14px}.departure p{font-size:14px}.tickets{margin-top:18px}.flight .tickets button{height:70px;font-size:24px}.hero-balloon{max-height:210px}.sky-play{grid-template-rows:70px minmax(0,1fr) auto 64px;gap:10px}.journey-head{width:100%;gap:10px;margin:0}.journey-head p{padding:5px 12px}.journey-head strong{font-size:48px}.journey-head b{font-size:23px}.number-sky{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.number-sky[data-count="20"]{grid-template-columns:repeat(4,minmax(0,1fr))}.cloud-number span{font-size:32px}.number-sky[data-count="20"] span{font-size:26px}.instruction{gap:5px}.instruction p{font-size:13px;padding:6px;flex:1}.instruction button{padding:8px}.trail{flex-wrap:wrap;gap:3px;align-content:center}.trail span{width:26px;height:26px;font-size:14px}.arrival{grid-template-rows:minmax(0,1fr) auto;gap:10px}.scrapbook{grid-template-columns:1fr;background:#fff8e4;border:8px solid #a77545;border-radius:14px;padding:18px;gap:12px}.arrival-title img{display:none}.arrival h2{font-size:36px}.arrival h3{font-size:21px;margin-bottom:10px}.arrival-title{flex:0}.footsteps{gap:8px}.footsteps span{font-size:25px;padding:7px 0}.arrival-actions{flex-direction:column;gap:10px}.arrival-actions button{min-height:50px}.record{font-size:14px}.sheet>div{padding:18px}.cloud-number.done:after{right:7%;font-size:20px}}@media(orientation:landscape) and (max-height:500px){.flight-content,.flight:fullscreen .flight-content,.faux-fullscreen .flight-content{padding:45px 4% 12px}.flight-tools{top:6px}.flight-tools button{font-size:22px;min-height:36px;min-width:38px}.departure{gap:3%}.departure h2{font-size:40px;margin:3px 0}.departure p{font-size:12px;margin:4px 0}.departure .eyebrow{font-size:12px}.tickets{margin-top:10px}.flight .tickets button{height:52px;font-size:24px}.departure .primary{font-size:22px;min-height:38px;padding:4px}.flight .text-button{margin:3px auto;min-height:28px;padding:3px}.sky-play{grid-template-rows:35px minmax(0,1fr) 32px 24px;gap:4px}.journey-head{margin-top:-25px;gap:12px}.journey-head p{padding:3px 16px}.journey-head strong{font-size:36px}.journey-head b{font-size:19px}.journey-head small{display:none}.cloud-number span{font-size:30px}.number-sky[data-count="20"] span{font-size:24px}.instruction p{font-size:12px;padding:5px 12px}.instruction button{min-height:30px;font-size:13px;padding:4px 15px}.trail span{height:22px;width:22px;font-size:13px}.arrival{grid-template-rows:minmax(0,1fr) 42px;gap:10px}.scrapbook{padding:3% 6%}.arrival h2{font-size:32px}.arrival h3{font-size:23px;margin-bottom:8px}.footsteps{gap:4px}.footsteps span{font-size:20px;padding:2px}.arrival p{font-size:12px}.record{padding-top:3px}.record strong{font-size:16px}.arrival-actions button,.arrival-actions button.primary{font-size:18px;min-height:36px;padding:4px}.cloud-number.done:after{font-size:15px}}
.flight .text-button{background:#fff8df;border:2px solid white;padding:7px 24px;border-radius:20px}.cloud-number span{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%)}#modeHelp{display:inline-block;background:#fff8df;border-radius:10px;padding:3px 8px}@media(orientation:landscape) and (max-height:500px){.flight .text-button{padding:2px 18px}}

.flight{width:100%;max-width:100%}
