:root{--sky:#95c9f5;--ink:#1b2021;--yellow:#ffe75c;--red:#f34c42;--paper:#fffdf5;--purple:#c8b7ec;--text-scale:1;font-size:calc(20px * var(--text-scale));color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-synthesis:none;scroll-padding-top:0}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:5px}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:4px solid #1843d2;outline-offset:5px}button,input,textarea{border-radius:0}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark,.game-name,.speech-sticker,.mini-sticker,.form-sticker,.gift-label{font-family:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-weight:900}h1,h2,h3{letter-spacing:-.025em;line-height:.94}p{line-height:1.55}h2{font-size:clamp(2.8rem,5.7vw,4.7rem);margin-bottom:0}h3{font-size:2.2rem}svg{display:block}img{max-width:100%}button{line-height:1.25}[hidden]{display:none!important}.skip-link{position:fixed;top:-150px;left:20px;padding:14px;background:var(--yellow);z-index:100}.skip-link:focus{top:10px}.site-header{display:flex;gap:30px;align-items:center;justify-content:space-between;background:var(--hero,var(--sky));padding:22px 4.5%;border-bottom:1.5px solid var(--ink)}.wordmark{font-size:1.65rem;letter-spacing:-.06em;text-decoration:none;display:inline-flex;align-items:center;gap:5px;line-height:1}.logo-star{font-family:Arial,sans-serif;font-size:1.5em;line-height:.8}nav{display:flex;gap:30px}nav a{font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap}nav a:hover{text-decoration:underline}nav a span{margin-left:7px}.type-control{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.type-control>span{font-size:.65rem;margin-right:8px}.type-control button{font-size:.75rem;min-width:44px;min-height:44px;border:1px solid var(--ink);background:transparent;padding:6px}.type-control button:hover{background:var(--yellow)}#text-reset{font-size:.6rem;min-width:55px}.hero{background:var(--hero,var(--sky));padding:55px 4.5% 0;position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:10px;isolation:isolate}.eyebrow{font-size:.65rem;line-height:1.4;font-weight:800;letter-spacing:.075em;margin-bottom:25px}.tiny-dot{display:inline-block;border-radius:50%;width:9px;height:9px;background:var(--ink);margin-right:8px}.hero h1{font-size:clamp(4.8rem,9.2vw,7.5rem);line-height:.88;margin-bottom:25px}.party-word{position:relative;display:inline-block}.party-word svg{position:absolute;width:103%;bottom:-11px;left:0;fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:round}.hero-intro{font-size:1rem;line-height:1.4;margin-bottom:25px}.button{display:inline-flex;gap:28px;justify-content:center;align-items:center;padding:17px 25px;min-height:58px;border:2px solid var(--ink);border-radius:5px;text-decoration:none;font-size:.85rem;font-weight:800;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s;line-height:1.35;text-align:center}.button:hover{transform:translate(-1px,-2px);box-shadow:6px 6px 0 var(--ink)}.button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.button-yellow{background:var(--yellow)}.button-dark{background:var(--ink);color:var(--paper)}.button-light{background:var(--paper)}.hero .button{min-width:215px}.under-link{display:block;font-size:.75rem;margin-top:24px;width:fit-content;font-weight:600}.hero-art{position:relative;min-width:0;align-self:stretch;min-height:550px}.sunburst{position:absolute;width:100%;height:88%;left:8%;top:12%;background:var(--yellow);clip-path:polygon(50% 0%,57% 16%,69% 4%,70% 22%,87% 14%,82% 31%,99% 31%,91% 45%,100% 58%,92% 68%,98% 82%,81% 79%,79% 94%,62% 84%,53% 100%,45% 84%,28% 96%,29% 77%,10% 83%,18% 65%,0% 63%,13% 49%,0% 38%,20% 34%,11% 17%,31% 22%,33% 3%,45% 16%);transform:rotate(-8deg)}.hero-car{position:absolute;width:110%;max-width:none;left:-9%;top:10%;transform:rotate(-10deg);filter:drop-shadow(3px 8px 0 #1b202115);z-index:2}.date-sticker{position:absolute;right:-1%;top:-12px;z-index:3;transform:rotate(11deg);background:var(--paper);border:2px solid var(--ink);padding:12px 24px;text-align:center;box-shadow:4px 4px 0 var(--ink)}.date-sticker span{display:block;font-size:.55rem;font-weight:800;letter-spacing:.1em}.date-sticker strong{display:block;font-family:Impact,'Arial Narrow',sans-serif;font-size:2.8rem;line-height:1.05}.speech-sticker{position:absolute;z-index:4;bottom:38px;left:2%;background:var(--paper);border:2px solid var(--ink);font-size:1.15rem;line-height:1.15;padding:14px 20px;transform:rotate(-6deg);box-shadow:4px 4px 0 var(--ink)}.paddle-sticker{position:absolute;width:18%;top:21%;right:15%;z-index:3;transform:rotate(18deg)}.art-spark{position:absolute;font-size:5rem;font-family:Arial,sans-serif;z-index:3;line-height:1}.spark-one{top:40%;left:-10%;transform:rotate(-14deg)}.spark-two{font-size:4rem;right:-2%;top:35%}.orbit{position:absolute;inset:5% -2% 15%;border:2px dashed var(--ink);border-radius:50%;transform:rotate(-28deg);opacity:.3}.asset-note{position:absolute;bottom:-12px;left:8%;font-size:.5rem;font-weight:600}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #1b20215c;margin-top:40px;padding:18px 0}.hero-bottom span{font-size:.55rem;font-weight:800;letter-spacing:.1em}.hero-bottom a{display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;width:44px;height:44px;text-decoration:none}.section-pad{padding:90px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p,.wall-lead{font-size:.85rem;max-width:480px;margin-bottom:0}.section-heading>p strong{display:inline-block;margin-top:12px}.serif-accent{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-style:italic;text-transform:none;letter-spacing:-.07em}.game-section{background:var(--paper)}.game-shell{border:2px solid var(--ink);border-radius:9px;overflow:hidden;box-shadow:7px 7px 0 var(--ink)}.game-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--purple);padding:14px 22px;border-bottom:2px solid var(--ink)}.game-name{font-size:1rem;letter-spacing:.02em;display:flex;align-items:center;gap:12px}.game-name>span{font-family:Arial;font-size:1.5rem;line-height:1}.game-stats{display:flex;align-items:center;gap:20px;font-size:.8rem;font-weight:800}.game-stats button{background:var(--paper);min-height:48px;font-size:.7rem;border:1px solid var(--ink);padding:8px 13px;border-radius:4px}#lives-label{color:#922418;letter-spacing:5px}.game-stage{position:relative;height:430px;background:var(--sky);overflow:hidden;isolation:isolate}.world{position:absolute;width:100%;height:100%;overflow:hidden;pointer-events:none}.cloud{position:absolute;background:#fffdf5b3;border-radius:80px;width:160px;height:55px;top:14%;left:8%;transform:rotate(-5deg)}.cloud:before,.cloud:after{content:'';position:absolute;width:65px;height:65px;border-radius:50%;background:inherit;bottom:10px;left:28px}.cloud:after{left:70px;bottom:5px}.cloud-two{left:62%;top:30%;transform:scale(.8)}.cloud-three{left:36%;top:65%;transform:scale(.5)}.sun{position:absolute;right:12%;top:5%;width:80px;height:80px;background:var(--yellow);border-radius:50%}.horizon{position:absolute;bottom:-50px;left:-10%;width:120%;height:105px;background:#a6bb79;border-top:2px solid var(--ink);border-radius:50% 60% 0 0}.flying-car{position:absolute;left:0;top:0;width:160px;height:125px;transform-origin:center;z-index:2}.flying-car img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 3px 0 #1b202130)}.world-caption{position:absolute;bottom:15px;right:22px;font-size:.65rem;font-weight:700}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:25px;text-align:center;background:#fffdf5ed;z-index:5}.game-overlay h3{margin:0;font-size:2.1rem}.game-overlay p{font-size:.85rem;max-width:800px;margin:0}.mini-sticker{background:var(--red);padding:8px 15px;font-size:.7rem;letter-spacing:.06em;transform:rotate(-4deg);border:1px solid var(--ink)}.check-label{display:flex;gap:12px;align-items:center;font-size:.8rem;min-height:44px;cursor:pointer}.check-label input{width:24px;height:24px;accent-color:var(--ink)}.overlay-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.overlay-actions .button{font-size:.8rem}.game-controls{background:var(--paper);display:flex;align-items:center;padding:20px;gap:22px;justify-content:space-between;border-top:2px solid var(--ink)}.game-controls p{font-size:.7rem;line-height:1.4;margin:0;flex:1}.key-hint{font-size:.5rem;border:1px solid #fff9;padding:4px 6px;font-weight:400}.text-button{background:none;text-decoration:underline;text-underline-offset:5px;min-height:48px;padding:8px;font-size:.8rem;font-weight:700}.practice-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:20px;background:var(--yellow);border-top:2px solid var(--ink);flex-wrap:wrap}.practice-controls p{font-size:.8rem;margin:0}#flight-area{position:absolute;inset:0;width:100%;height:100%;z-index:3;background:transparent;touch-action:manipulation}#flight-area:focus-visible{outline-offset:-7px}.obstacle{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:85px;height:85px;font-size:48px;line-height:1;border:3px solid var(--ink);background:var(--yellow);border-radius:50%;box-shadow:4px 4px 0 #1b2021;transform-origin:center}.obstacle:nth-child(2n){background:var(--purple);border-radius:15px}.game-final{position:relative;background:var(--purple);border:2px solid var(--ink);border-radius:8px;box-shadow:7px 7px 0 var(--ink);text-align:center;padding:50px 30px;overflow:hidden}.game-final h3{font-size:2.8rem;line-height:1.05;margin-bottom:25px}.game-final h3 span{color:#2727a6}.final-symbol{position:absolute;font-size:250px;line-height:1;left:-70px;top:-50px;opacity:.15}.final-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.game-final p{position:relative}.section-footnote{font-size:.75rem;text-align:center;margin:27px 0 0}.wall-section{background:var(--purple);border-block:2px solid var(--ink)}.wall-lead p{margin-bottom:20px}.wall-meta{display:flex;justify-content:space-between;gap:20px;font-size:.65rem;font-weight:700;margin:30px 0 15px}.wish-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-top:2px solid var(--ink);padding-top:50px;scroll-margin-top:24px}.form-intro{position:relative;padding-left:20px}.form-intro h3{font-size:2.1rem;margin-bottom:20px}.form-intro p{font-size:.8rem}.hand-drawn-arrow{display:block;width:fit-content;font-size:4rem;line-height:1;margin-bottom:10px;transform:rotate(-10deg)}.form-sticker{display:inline-block;margin:25px 0 20px 45px;border:2px solid var(--ink);padding:22px;border-radius:50%;background:var(--red);font-size:1.2rem;line-height:1.1;text-align:center;transform:rotate(-15deg)}form{min-width:0}.field{margin-bottom:22px}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:10px}.field input,.field textarea{width:100%;background:var(--paper);border:2px solid var(--ink);border-radius:5px;font-size:.9rem;padding:16px;line-height:1.5;min-height:58px}.field textarea{resize:vertical;min-height:150px}.field input::placeholder,.field textarea::placeholder{color:#636161}.field [aria-invalid=true]{border-color:#9a2118}.field-bottom{display:flex;justify-content:space-between;gap:10px}.field-bottom>span{font-size:.6rem;display:block;text-align:right;margin-top:6px;margin-left:auto}.field-error{color:#50120c;font-size:.8rem;font-weight:700;margin:8px 0 0}.form-hint{font-size:.65rem}.form-status{font-size:.75rem;font-weight:700;margin:18px 0 0;min-height:1.5em}.gift-section{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:75px;background:var(--yellow)}.gift-art{position:relative;min-height:390px;min-width:0}.gift-sun{position:absolute;background:var(--red);clip-path:polygon(50% 0,61% 16%,81% 8%,82% 29%,100% 36%,87% 53%,97% 73%,75% 77%,69% 99%,49% 86%,29% 98%,24% 78%,3% 73%,13% 52%,0 34%,22% 28%,23% 6%,42% 17%);width:90%;height:100%;left:0;display:grid;place-items:center;font-size:9rem;line-height:1}.gift-label{position:absolute;left:-10px;top:20px;background:var(--paper);border:2px solid var(--ink);transform:rotate(-10deg);padding:16px 22px;font-size:1.1rem;line-height:1.1;box-shadow:4px 4px 0 var(--ink)}.gift-box{position:absolute;width:190px;height:175px;background:var(--purple);border:3px solid var(--ink);bottom:0;right:0;transform:rotate(12deg);box-shadow:8px 8px 0 #1b20212b}.gift-box:before{content:'';position:absolute;top:-15px;left:-12px;right:-12px;height:45px;background:var(--purple);border:3px solid var(--ink)}.gift-box:after{content:'';position:absolute;top:-15px;bottom:0;left:70px;width:35px;background:var(--paper);border-inline:3px solid var(--ink)}.gift-box span:before,.gift-box span:after{content:'';position:absolute;width:66px;height:40px;border:8px solid var(--ink);top:-51px;left:26px;transform:rotate(20deg);border-radius:50% 50% 0 50%}.gift-box span:after{left:82px;transform:rotate(-20deg);border-radius:50% 50% 50% 0}.gift-spark{position:absolute;right:-15px;top:5px;font-family:Arial;font-size:4.5rem;line-height:1}.gift-copy h2{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:25px}.gift-copy>p{font-size:.85rem}.demo-badge{display:inline-block;font-size:.55rem;letter-spacing:.07em;font-weight:800;border:1px solid var(--ink);padding:7px 10px;border-radius:3px;margin-bottom:20px}.gift-copy>.button{display:flex;width:fit-content}.gift-copy .gift-note{font-size:.65rem;margin:20px 0 0}footer{background:var(--ink);color:var(--paper);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:25px;padding:40px 6% 25px}footer p{font-size:.75rem;margin:0}.owner-body footer>a{font-size:.75rem}footer a:focus-visible{outline-color:var(--paper)}dialog{border:2px solid var(--ink);border-radius:9px;background:var(--paper);padding:32px;max-width:min(720px,calc(100% - 30px));max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:8px 8px 0 #1b2021;overflow:auto}dialog::backdrop{background:#1b2021b0;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-top .demo-badge{margin:0}.close-dialog{margin-left:auto;width:48px;min-width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:transparent;font-size:1rem}.dialog-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}#remove-confirm{margin-top:20px;border-top:1px solid var(--ink);padding-top:20px}#remove-confirm p{font-size:.85rem}#remove-confirm .button{margin:0 12px 10px 0;font-size:.75rem}#gift-dialog h2{font-size:2.4rem;line-height:1;margin-bottom:20px}#gift-dialog>p{font-size:.85rem}#gift-status{margin:25px 0 0}.gift-options{display:flex;gap:15px;margin:25px 0}.gift-options button{flex:1;min-height:60px;border:2px solid var(--ink);border-radius:5px;background:transparent;font-weight:700}.gift-options button[aria-pressed=true]{background:var(--purple);box-shadow:3px 3px 0 var(--ink)}body.modal-open{overflow:hidden}.confetti{position:absolute;top:-20px;width:12px;height:25px;background:var(--confetti);animation:fall 2s ease-out forwards;pointer-events:none;z-index:8}@keyframes fall{to{transform:translateY(650px) rotate(470deg);opacity:0}}@media(min-width:1600px){.hero,.section-pad{padding-left:max(6%,calc((100vw - 1440px)/2));padding-right:max(6%,calc((100vw - 1440px)/2))}.hero-art{min-height:620px}}@media(max-width:1100px){.site-header{gap:20px;flex-wrap:wrap}.type-control{margin-left:auto}.hero h1{font-size:5.3rem}.hero-art{min-height:510px}.hero-car{top:12%;left:-8%;width:115%}.speech-sticker{bottom:65px;font-size:.9rem}.section-heading{gap:25px}.wish-form-wrap{gap:40px}.gift-section{gap:40px}.gift-art{min-height:350px}.type-control>span{display:none}}
@media(max-width:760px){:root{scroll-padding-top:0}.site-header{padding:18px 5%;gap:18px}.wordmark{font-size:1.5rem}.type-control{order:0}.type-control button{min-height:44px;min-width:42px;padding:5px}.site-header nav{order:2;justify-content:space-between;width:100%;gap:10px;border-top:1px solid #1b202150;padding-top:15px}nav a{font-size:.68rem;white-space:normal}nav a span{margin-left:2px}.hero{padding:30px 5% 0;display:block}.eyebrow{font-size:.58rem;margin-bottom:20px}.hero h1{font-size:clamp(4.25rem,15.3vw,6.5rem);line-height:.9;margin-bottom:26px}.hero-intro{font-size:.95rem}.hero .button{width:100%;max-width:400px}.under-link{font-size:.7rem;line-height:1.5;margin-top:23px}.hero-art{height:410px;min-height:0;margin-top:30px}.hero-car{width:107%;left:-4%;top:3%}.sunburst{width:95%;height:auto;aspect-ratio:1;top:2%;left:8%}.date-sticker{top:0;right:1%;padding:9px 17px}.date-sticker strong{font-size:2.3rem}.date-sticker span{font-size:.45rem}.speech-sticker{bottom:35px;font-size:.95rem;left:0;padding:12px 14px}.paddle-sticker{width:18%;top:23%;right:14%}.spark-one{left:-1%;top:40%;font-size:3.4rem}.spark-two{right:0;top:36%;font-size:2.7rem}.asset-note{bottom:-12px;left:0;font-size:.43rem}.orbit{inset:8% 0 15%}.hero-bottom{margin-top:40px;padding:15px 0;gap:10px}.hero-bottom span{font-size:.43rem;line-height:1.5;max-width:125px}.hero-bottom span:last-child{text-align:right}.hero-bottom a{flex-shrink:0}.section-pad{padding:55px 5%}.section-heading{display:block;margin-bottom:27px}h2{font-size:3rem;line-height:.95}.section-heading>p,.wall-lead{font-size:.85rem;margin-top:25px;max-width:none}.game-toolbar{padding:12px;gap:10px;flex-wrap:wrap}.game-name{font-size:.8rem}.game-stats{font-size:.7rem;gap:10px}.game-stats button{padding:5px 9px;font-size:.6rem}.game-stage{height:410px}.game-overlay{padding:20px 16px;gap:14px}.game-overlay h3{font-size:1.7rem}.game-overlay p{font-size:.78rem}.game-overlay br{display:none}.overlay-actions{gap:14px;width:100%}.overlay-actions .button{width:100%;font-size:.75rem;padding:12px;min-height:52px}.mini-sticker{font-size:.6rem;padding:7px 10px}.check-label{font-size:.75rem}.game-controls{padding:15px;flex-wrap:wrap;gap:15px}.game-controls .button{width:100%;padding:12px 20px}.game-controls p{min-width:130px;font-size:.65rem}.game-controls .text-button{font-size:.68rem}.game-stage.running{height:300px}.world-caption{font-size:.55rem;right:12px;bottom:12px}.practice-controls{padding:17px;gap:15px}.practice-controls p{font-size:.72rem}.practice-controls .button{font-size:.7rem}.section-footnote{font-size:.7rem}.game-final{padding:35px 18px}.game-final h3{font-size:2rem}.game-final>p{font-size:.85rem}.final-actions .button{width:100%}.wall-meta{font-size:.6rem;align-items:flex-start}.wall-meta>span:last-child{max-width:150px;text-align:right}.wish-form-wrap{display:block;padding-top:30px}.form-intro{padding-left:0;display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:25px}.hand-drawn-arrow{display:none}.form-intro h3{font-size:1.8rem;margin:0}.form-intro p{font-size:.75rem;grid-column:1/-1;margin:0}.form-sticker{grid-column:2;grid-row:1;padding:12px;font-size:.75rem;margin:0;align-self:center;transform:rotate(10deg)}.field label{font-size:.8rem}.field input,.field textarea{font-size:.85rem;padding:13px}.form-hint{font-size:.65rem}form>.button{width:100%;font-size:.8rem}.gift-section{display:flex;flex-direction:column;gap:40px}.gift-art{width:100%;max-width:360px;min-height:300px;order:2}.gift-copy h2{font-size:2.6rem}.gift-copy>.button{width:100%;font-size:.75rem;padding:15px}.gift-copy>p{font-size:.85rem}.gift-sun{font-size:7rem;left:7%;height:100%;width:80%}.gift-box{width:145px;height:130px;right:8%}.gift-box:after{left:55px;width:25px}.gift-box span:before{left:16px}.gift-box span:after{left:68px}.gift-label{font-size:.9rem;left:5%;padding:13px}.gift-spark{font-size:3rem;right:0}footer{padding:35px 5% 22px;gap:25px}footer>p{width:100%;order:2;font-size:.7rem}.owner-body footer>a{font-size:.65rem;margin-left:auto}dialog{padding:22px;max-width:calc(100% - 24px);box-shadow:5px 5px 0 var(--ink)}.dialog-bottom{gap:12px}.dialog-bottom .button{width:100%;font-size:.8rem}#remove-wish{margin:auto}#gift-dialog h2{font-size:2rem}.gift-options{gap:10px}#gift-demo{width:100%;padding:14px;font-size:.8rem}}
@media(max-width:380px){.hero-art{height:350px}.hero h1{font-size:3.8rem}.date-sticker{right:0}.speech-sticker{font-size:.8rem}.type-control button{min-width:40px}#text-reset{min-width:48px}.site-header{gap:12px}.wordmark{font-size:1.3rem}}
html.large-text .site-header{flex-wrap:wrap}html.large-text nav{flex-wrap:wrap}html.large-text .hero{grid-template-columns:1fr}html.large-text .hero h1{font-size:4rem}html.large-text .hero-art{display:none}html.large-text .section-heading{display:block}html.large-text .section-heading>p,html.large-text .wall-lead{margin-top:25px;max-width:none}html.large-text .game-stage:not(.running){height:auto;min-height:650px}html.large-text .game-overlay{position:relative;min-height:650px}html.large-text .game-overlay.pause-overlay{position:absolute;min-height:0}html.large-text .wish-form-wrap,html.large-text .gift-section{display:block}html.large-text .gift-art{display:none}html.large-text .form-sticker{display:none}html.large-text .game-controls{flex-wrap:wrap}html.large-text .game-toolbar{flex-wrap:wrap}html.large-text footer{flex-wrap:wrap}html.large-text .type-control>span{display:block}html.large-text .hero-bottom span{max-width:40%}@media(max-width:760px){html.large-text h2{font-size:2.2rem}html.large-text .hero h1{font-size:2.8rem}html.large-text .site-header{display:block}html.large-text .type-control{justify-content:flex-start;margin:20px 0}html.large-text .type-control>span{width:100%}html.large-text nav{font-size:.7rem;gap:15px}html.large-text .game-stage:not(.running){min-height:850px}html.large-text .game-overlay{min-height:850px}html.large-text .game-controls .text-button{width:100%}html.large-text .form-intro{display:block}html.large-text .form-intro h3{font-size:1.5rem}html.large-text .game-final h3{font-size:1.4rem}html.large-text .section-pad{padding:45px 5%}html.large-text .demo-badge{overflow-wrap:anywhere}html.large-text .hero-bottom span{font-size:.35rem}html.large-text .gift-options{flex-wrap:wrap}html.large-text .gift-options button{min-width:80px}html.large-text .gift-copy h2{font-size:2rem}html.large-text .wall-meta{flex-wrap:wrap}html.large-text .wall-meta>span:last-child{max-width:none;text-align:left}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}.confetti{display:none}}
/* Keep the cutout's natural proportions and the greeting on two deliberate lines. */
.hero-car{height:auto;width:108%;left:-6%;top:10%}.hero h1{font-size:clamp(4.2rem,8vw,6.7rem)}.hero-art{min-height:550px}.asset-note{bottom:6px}.hero-bottom{position:relative;z-index:5}
@media(min-width:761px) and (max-width:1100px){.hero h1{font-size:4.4rem}.hero-art{min-height:500px}.hero-car{top:18%}}
@media(max-width:760px){.hero h1{font-size:clamp(3.6rem,13.7vw,5.5rem)}.hero-art{min-height:0;height:390px}.hero-car{height:auto;width:108%;left:-4%;top:13%}.asset-note{bottom:0}.speech-sticker{bottom:32px}}
@media(max-width:600px){.hero-art{height:370px}}
@media(max-width:380px){.hero h1{font-size:3.3rem}.hero-art{height:325px}.speech-sticker{font-size:.8rem}}
.hero{overflow:clip}.asset-note{bottom:-20px;left:15%}.world .horizon{display:none}.game-stage:before{content:'';position:absolute;bottom:-48px;left:-10%;width:120%;height:105px;background:#a6bb79;border-top:2px solid var(--ink);border-radius:50% 60% 0 0;z-index:0}.world{z-index:1}
@media(max-width:760px){.asset-note{bottom:-10px;left:0}.game-stage:before{height:80px;bottom:-40px}}
main{overflow-x:clip}
@media(max-width:760px){.hero h1{font-size:clamp(2.6rem,16vw,4.5rem)}}
.section-heading>p,.wall-lead,.game-overlay p,.gift-copy>p,.form-intro p{font-size:1rem}.field input,.field textarea{font-size:1rem}.field label{font-size:.9rem}.game-controls p{font-size:.8rem}.hero-intro{font-size:1.05rem}
@media(max-width:760px){.game-stage:not(.running){height:490px}.game-overlay p{font-size:.9rem}.game-overlay{gap:16px}.type-control{position:relative;padding-top:14px}.type-control>span{display:block;position:absolute;right:0;top:-7px;font-size:.55rem;margin:0}.hero-intro{font-size:1rem}.form-intro p{font-size:.9rem}.form-hint,.gift-copy .gift-note{font-size:.75rem}.section-heading>p,.wall-lead,.gift-copy>p{font-size:1rem}.gift-copy .gift-note{font-size:.75rem}}
html.large-text .type-control>span{position:static;padding:0}
/* Version 2: bilingual mission, shared wall and personal editing. */
.language-control{display:flex;border:1.5px solid var(--ink);border-radius:4px;overflow:hidden;flex-shrink:0}.language-control button{background:transparent;min-width:58px;min-height:48px;font-size:.8rem;font-weight:800;padding:9px 13px}.language-control button+button{border-left:1px solid var(--ink)}.language-control button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.language-control button:focus-visible{outline-offset:-5px;outline-color:var(--ink)}.language-control button[aria-pressed=true]:focus-visible{outline-color:var(--yellow)}.game-lead{max-width:470px;font-size:1rem;line-height:1.5}.game-lead p{margin-bottom:15px}.game-lead strong{font-size:.85rem}.mission-tracker{font-size:.72rem;display:flex;gap:10px;flex-wrap:wrap;font-weight:700}.game-toolbar{flex-wrap:wrap}.game-stage:not(.running){height:470px}.souvenir{position:absolute;width:70px;height:70px;border:3px dashed #202020;background:var(--paper);border-radius:50%;display:grid;place-items:center;font-size:40px;box-shadow:0 0 0 7px #ffe75c88;z-index:2}.obstacle small{position:absolute;top:90px;background:var(--paper);border:1px solid var(--ink);font-size:13px;padding:6px;line-height:1.15;width:145px;text-align:center;font-weight:700}.champion-badge{display:inline-block;background:var(--yellow);border:2px solid var(--ink);padding:12px 20px;margin-bottom:25px;font-size:.8rem;font-weight:800;transform:rotate(-3deg)}.champion-paddle .paddle-face{box-shadow:0 0 0 3px var(--ink),0 0 0 9px #e7af00,5px 8px 0 #1b202125}.champion-paddle .example-tag{font-size:.45rem;white-space:nowrap;background:var(--yellow)}.my-pending{border-block:1px solid var(--ink);padding:25px 0;margin-bottom:35px}.my-pending h3{font-size:1.4rem}.my-pending p{font-size:.8rem}#my-pending-list{display:flex;gap:18px;flex-wrap:wrap}.personal-access{background:#fff5;border:1px dashed var(--ink);border-radius:5px;padding:15px;margin-top:20px}.personal-access label{font-size:.8rem;font-weight:700}.personal-access input{width:100%;font-size:.7rem;padding:12px;background:var(--paper);border:1px solid var(--ink);margin-top:10px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bank-card { margin: 20px 0; padding: clamp(16px, 3vw, 28px); border: 2px solid var(--ink); border-radius: 5px; background: var(--paper); }
.bank-details { margin: 0; }
.bank-details dt { font-size: .8rem; font-weight: 800; }
.bank-details dd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 3px 0 0; }
.bank-value { min-width: 0; overflow-wrap: anywhere; }
.bank-value > span { font-size: 1.05rem; }
.bank-copy-status { margin: 0; font-size: .75rem; line-height: 1.35; }
.bank-copy-status:not(.is-error) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.bank-details .button { min-height: 48px; padding: 9px 14px; }
.bank-copy-button { display: inline-grid; place-items: center; }
.bank-copy-button > span { grid-area: 1 / 1; }
.bank-copy-button.is-copied { background: #22613b; }
.bank-copy-button.is-copied .bank-copy-label,
.bank-copy-button:not(.is-copied) .bank-copy-confirmation { visibility: hidden; }
.bank-details > div + div { border-top: 1px solid var(--ink); margin-top: 16px; padding-top: 14px; }
@media (max-width: 500px) {
  .bank-details .button { width: 100%; }
}
#bank-extra:empty { margin: 0; }
#bank-soon{padding:20px;border:1px dashed var(--ink);border-radius:5px}.party-section{background:var(--sky)}.party-section h2{font-size:3rem;max-width:1000px;margin-bottom:30px}.party-section>p:last-child{max-width:850px;white-space:pre-line}.preview-banner{background:#ffafa3;text-align:center;padding:14px;font-size:.8rem;font-weight:800;position:sticky;top:0;z-index:30}#edit-form .button{font-size:.8rem}#dialog-status{font-size:.85rem;color:#8e2019;white-space:pre-line}#dialog-owner-edited{font-size:.7rem}#formTitle,[data-i18n=formTitle],[data-i18n=formIntro],[data-i18n=heartService],[data-i18n=pleasure]{white-space:pre-line}.hero h1{overflow-wrap:anywhere}.hero-art .asset-note{max-width:80%}.hero .party-word{white-space:nowrap}html[lang=en] .hero h1{font-size:clamp(4.2rem,7.7vw,6.4rem)}
@media(max-width:760px){.site-header{gap:15px}.site-header nav{order:2}.language-control{margin-left:auto}.language-control button{min-width:50px}.game-lead{margin-top:25px;font-size:1rem;max-width:none}.game-stage:not(.running){height:530px}.game-overlay{padding:20px 15px}.game-overlay h3{font-size:1.6rem}.game-overlay p{font-size:.9rem}.mission-tracker{order:3;width:100%;border-top:1px solid #1b202144;padding-top:10px;font-size:.7rem}.game-stats{margin-left:auto}.game-name{font-size:.75rem}.game-toolbar{padding:12px}.game-stats #pause{min-height:44px}.game-stats{gap:10px}.game-stats #lives-label{letter-spacing:1px}html[lang=en] .hero h1{font-size:clamp(2.6rem,16vw,4.5rem)}.hero .party-word{white-space:normal}.party-section h2{font-size:2.2rem}.my-pending .button{width:100%;font-size:.75rem}}
@media(max-width:380px){.game-toolbar{display:block}.game-stats{margin:14px 0;justify-content:space-between}.mission-tracker{padding-top:12px}.site-header .wordmark{font-size:1.35rem}}
.game-name>span[data-i18n]{font:inherit}.game-lead{flex-shrink:0}.game-section .section-heading>div:first-child{min-width:0}.game-section h2{font-size:clamp(2.8rem,5vw,4.2rem)}
@media(max-width:1100px){.game-section .section-heading{display:block}.game-lead{margin-top:25px;max-width:700px}}
#edit-deadline{margin-top:20px}
.hero .party-word{white-space:normal;max-width:100%}.speech-sticker{max-width:85%;overflow-wrap:anywhere}
/* Flight club v3: setup → countdown → flight → paused → persistent report. */
.game-shell{scroll-margin-top:16px}.game-toolbar{background:var(--purple);padding:15px 22px;gap:18px}.game-toolbar #pause{margin-left:auto;background:var(--paper);min-height:48px;padding:10px 18px;border:1px solid var(--ink);border-radius:4px;font-size:.8rem;font-weight:700}.flight-category{font-size:.7rem;font-weight:700;margin-left:auto}.flight-hud{display:grid;grid-template-columns:1.1fr 1fr .7fr 1fr 1.5fr;background:var(--paper);border-bottom:2px solid var(--ink);padding:14px 22px;gap:20px}.flight-hud>div{min-width:0}.flight-hud span{display:block;font-size:.62rem;font-weight:700;margin-bottom:4px}.flight-hud strong{font-family:Impact,'Arial Narrow',sans-serif;font-size:1.6rem;font-weight:400;white-space:nowrap;line-height:1.15}#lives-label{color:#a42720;letter-spacing:2px;font-family:Arial,sans-serif;font-size:1.1rem}#mission-items{font-family:Arial,sans-serif;font-size:1.1rem}#game-stage.has-setup{height:auto;min-height:660px}#game-stage.has-results{height:auto;min-height:550px}#game-stage.running{height:440px}#game-stage .flight-setup{position:relative;inset:auto;min-height:660px;padding:35px;gap:18px}#game-stage .flight-setup>p{max-width:900px}.flight-setup h3{font-size:2.3rem}.flight-mode-options,.difficulty-options{border:0;margin:0;padding:0;display:flex;gap:15px;max-width:960px;width:100%;text-align:left}.flight-mode-options legend,.difficulty-options legend{font-size:.75rem;font-weight:800;padding:0;margin-bottom:10px}.flight-mode-options label,.difficulty-options label{display:flex;align-items:flex-start;gap:12px;flex:1;background:var(--paper);border:1.5px solid var(--ink);border-radius:6px;padding:15px;cursor:pointer}.flight-mode-options input,.difficulty-options input{width:22px;height:22px;flex-shrink:0;accent-color:var(--ink);margin-top:2px}.flight-mode-options label:has(input:checked){background:var(--yellow);box-shadow:3px 3px 0 var(--ink)}.difficulty-options label:has(input:checked){background:var(--purple);box-shadow:3px 3px 0 var(--ink)}.flight-mode-options strong,.difficulty-options strong{display:block;font-size:.85rem;line-height:1.3;margin-bottom:4px}.flight-mode-options small,.difficulty-options small{display:block;font-size:.7rem;line-height:1.4}.controls-note{margin:0}#start-error{font-size:.8rem;color:#8e2218;margin:0}#start-error:empty{display:none}.countdown-overlay{background:#fffdf5cc}#countdown-number{font-family:Impact,'Arial Narrow',sans-serif;font-size:6rem;line-height:1}.countdown-overlay>p{font-weight:800}.pause-overlay{background:#fffdf5ed}#pause-text{max-width:750px}#land-flight{font-size:.85rem}.flight-results{position:relative;z-index:5;background:#fffdf5f5;padding:35px;text-align:center;min-height:550px;display:flex;flex-direction:column;align-items:center}.flight-results h3{font-size:2.5rem;margin:0 0 15px}.flight-results .eyebrow{margin-bottom:15px}.result-birthday{font-size:1rem;font-weight:700;max-width:900px;margin:0 0 25px}.result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:900px;margin-bottom:20px;gap:15px}.result-stats>div{padding:18px 10px;background:var(--purple);border:1.5px solid var(--ink);border-radius:6px;min-width:0}.result-stats>div:first-child{background:var(--yellow)}.result-stats span{display:block;font-size:.7rem;font-weight:700}.result-stats strong{display:block;font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:3rem;margin-top:8px;line-height:1.1;overflow-wrap:anywhere}.result-note{font-size:.75rem;max-width:800px;margin-top:20px}.flight-results .final-actions{margin-top:10px;gap:18px;align-items:center}.flight-results .text-button{text-decoration:underline;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}#score-form{max-width:720px;width:100%;margin:15px 0;text-align:left;border:1px dashed var(--ink);padding:20px;border-radius:7px;background:var(--paper)}#score-form label{font-weight:700;font-size:.85rem;display:block;margin-bottom:10px}#score-form input:not([type=checkbox]){width:100%;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);padding:13px;font-size:1rem}#score-form .button{font-size:.8rem}#score-form .form-hint{font-size:.7rem;margin-top:10px}#result-status{font-size:.85rem;max-width:800px;line-height:1.5;margin:8px 0}.game-stage.flight-hit{box-shadow:inset 0 0 0 8px var(--red)}.game-controls .button.is-pressed{background:var(--yellow);color:var(--ink);box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.game-controls #boost{touch-action:none;user-select:none;-webkit-user-select:none}#flight-area{touch-action:manipulation;user-select:none;-webkit-user-select:none}.obstacle{width:72px;height:72px;font-size:40px}.obstacle.hit{opacity:.4}.obstacle small{top:80px;width:130px;font-size:12px}.souvenir{width:66px;height:66px;font-size:37px}.recover-flight{padding:22px;background:var(--yellow);border:1.5px dashed var(--ink);border-radius:6px;margin-top:30px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.recover-flight p{font-size:.9rem;margin:0}.leaderboard-section{background:#bad9ed;border-top:2px solid var(--ink)}.leaderboard-section .section-heading>p{max-width:470px}.board-controls{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:22px}.board-controls .filter-tabs{display:flex;gap:10px;margin:0}.board-controls .filter-tabs button{border:1px solid var(--ink);background:var(--paper);padding:14px 20px;border-radius:24px;min-height:48px;font-size:.8rem;font-weight:700}.board-controls .filter-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.board-meta{font-size:.7rem}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:30px 0}.podium-place{padding:25px;border:2px solid var(--ink);border-radius:7px;background:var(--paper);display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;box-shadow:4px 4px 0 var(--ink);min-width:0}.podium-place strong{font-size:1.2rem;overflow-wrap:anywhere;max-width:100%}.podium-place>span:last-child{font-size:.8rem}.podium-1{background:var(--yellow);transform:rotate(-2deg)}.podium-2{transform:rotate(2deg)}.podium-3{background:#f6ae9d;transform:rotate(-1deg)}.podium-medal{font-size:2.7rem;font-family:Arial,sans-serif;line-height:1}.leaderboard-table-wrap{border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--paper)}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.leaderboard-table th{background:var(--purple);font-size:.7rem;padding:16px}.leaderboard-table td{font-size:1rem;padding:18px 16px;border-top:1px solid #1b202144;overflow-wrap:anywhere}.leaderboard-table th:first-child{width:12%}.leaderboard-table th:nth-child(2){width:44%}.leaderboard-table th:nth-child(3){width:22%}.leaderboard-table th:nth-child(4){width:22%}.leaderboard-table .is-me{background:#ffe75c66;font-weight:700}.my-best{margin:25px 0;background:var(--paper);border:1.5px dashed var(--ink);border-radius:5px;padding:20px}.my-best .eyebrow{margin-bottom:8px;display:block}.my-best p{margin:0;font-size:1rem}.board-rules{font-size:.8rem}.pilot-details{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 0;margin:25px 0}.pilot-details summary{font-size:.85rem;font-weight:700;cursor:pointer;min-height:44px;display:list-item;padding:7px}.pilot-details p{font-size:.8rem}.pilot-details input{width:100%;padding:13px;font-size:.75rem;border:1px solid var(--ink);background:var(--paper);border-radius:4px}#board-status{font-size:1rem;font-weight:700}#board-status:empty{display:none}.leaderboard-section>.form-hint{font-size:.7rem;max-width:900px}
@media(max-width:900px){.flight-category{width:100%;order:3;font-size:.7rem;margin:0}.game-toolbar #pause{order:2}.game-toolbar .game-name{order:1}.board-controls{align-items:stretch}.podium{gap:16px}.podium-place{padding:20px 15px}}
@media(max-width:760px){#game-stage.has-setup{min-height:0}#game-stage .flight-setup{min-height:0;padding:25px 16px;gap:20px}.flight-mode-options,.difficulty-options{flex-direction:column;gap:12px}.flight-mode-options label,.difficulty-options label{width:100%;padding:14px}.flight-mode-options legend,.difficulty-options legend{font-size:.8rem}.flight-mode-options strong,.difficulty-options strong{font-size:.95rem}.flight-mode-options small,.difficulty-options small{font-size:.78rem}.flight-setup h3{font-size:1.8rem}.flight-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 10px;padding:14px}.flight-hud .flight-collection{grid-column:1/-1;display:flex;align-items:center;gap:15px}.flight-hud .flight-collection>span{margin:0}.flight-hud span{font-size:.58rem}.flight-hud strong{font-size:1.3rem}.flight-hud #lives-label{font-size:.8rem;letter-spacing:0}.flight-hud #mission-items{font-size:1rem}.game-toolbar{padding:14px}.game-toolbar .game-name{font-size:.85rem}.game-toolbar .flight-category{line-height:1.4}#game-stage.running{height:330px}#game-stage.has-results{min-height:0}.flight-results{padding:27px 16px;min-height:0}.flight-results h3{font-size:1.8rem;line-height:1}.result-birthday{font-size:.9rem;margin-bottom:20px}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result-stats strong{font-size:2rem}.result-stats span{font-size:.65rem}.flight-results .final-actions{flex-direction:column;width:100%}.flight-results .final-actions>*{width:100%;font-size:.78rem}.flight-results .result-note{font-size:.7rem}#score-form{padding:15px}#score-form .button{width:100%;font-size:.75rem}#score-form label{font-size:.8rem}.leaderboard-section h2{font-size:2.6rem}.leaderboard-section .section-heading>p{font-size:1rem;margin-top:25px}.board-controls .filter-tabs{width:100%}.board-controls .filter-tabs button{flex:1;font-size:.75rem;padding:12px}.board-meta{font-size:.65rem}.podium{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.podium-1{grid-column:1/-1}.podium-place{padding:18px 12px;gap:10px}.podium-place strong{font-size:1rem}.podium-place>span:last-child{font-size:.65rem}.podium-medal{font-size:2rem}.leaderboard-table th{font-size:.58rem;padding:12px 7px}.leaderboard-table td{font-size:.8rem;padding:14px 7px}.leaderboard-table th:first-child{width:12%}.leaderboard-table th:nth-child(2){width:40%}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4){width:24%}.my-best{padding:18px}.my-best p{font-size:.85rem}.board-rules{font-size:.75rem}.leaderboard-section .form-hint{font-size:.65rem}.recover-flight .button{width:100%;font-size:.75rem}.recover-flight{padding:18px}.recover-flight p{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.podium-place{transform:none}}
/* Constant decorative motion: CSS transform + linear timing; user can pause it. */

/* Let sprites enter at the outer edge instead of clipping at the logical-world boundary. */
#game-stage .world{overflow:visible}

/* Mobile repair v4: local vectors, a direct launch and a viewport-sized flight. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0;overflow:visible}
.wordmark .ui-icon,.game-name .ui-icon{width:1.1em;height:1.1em}.art-spark .ui-icon{width:1em;height:1em}.ticker b .ui-icon{width:1em;height:1em}
h2{ text-wrap:balance }.gift-copy h2{overflow-wrap:normal}
#game-stage.has-setup{min-height:0}#game-stage .flight-setup{min-height:0;padding:36px;gap:22px;background:var(--paper)}.flight-setup>.mini-sticker{display:none}.flight-setup h3{margin:0;font-size:2.2rem}.flight-setup>p{max-width:540px}#game-stage .flight-setup .overlay-actions{margin-top:0}.flight-setup .overlay-actions{flex-wrap:wrap}.flight-setup #practice{background:none;border:0;box-shadow:none;text-decoration:underline;font-size:.8rem;min-height:48px;padding:10px 16px}.flight-settings{width:100%;max-width:700px;text-align:left;border-block:1px solid #1b20214d;padding-block:12px 14px}.flight-settings .difficulty-options{gap:12px}.flight-settings .difficulty-options legend{font-size:.75rem;margin-bottom:10px}.flight-settings label{padding:14px 10px;min-width:0;flex:1}.flight-settings label span{min-width:0}.flight-settings label strong{font-size:.85rem}.flight-settings label small{font-size:.75rem;font-weight:700}.flight-setup .controls-note{font-size:.7rem;margin:0}.game-toolbar .flight-category{font-size:.8rem}
#flight-scene{position:absolute;inset:0}.game-stage:before{display:none}.flight-ground{position:absolute;top:670px;height:40px;left:0;width:100%;background:#a6bb79;border-top:4px solid var(--ink)}.flight-ground:after{content:'';position:absolute;inset:10px 0 0;background:repeating-linear-gradient(110deg,transparent 0 35px,#1b202126 35px 40px)}
.flight-hud #lives-label{display:flex;align-items:center;gap:3px;min-height:1.5rem}.flight-hud #lives-label .ui-icon{width:.9rem;height:.9rem;color:var(--red)}.flight-hud #lives-label .heart-empty{color:transparent}.flight-hud #mission-items{display:flex;gap:7px}.flight-hud #mission-items .ui-icon{width:1.35rem;height:1.35rem;opacity:.6}.flight-hud #mission-items .is-collected{opacity:1;outline:2px solid var(--ink);outline-offset:2px;border-radius:50%}.obstacle>.ui-icon{width:48px;height:48px}.souvenir>.ui-icon{width:48px;height:48px}.health-pickup{position:absolute;width:60px;height:60px;padding:5px;background:var(--paper);border:3px solid var(--ink);border-radius:50%;box-shadow:0 0 0 5px #f34c4244;z-index:3;color:var(--red)}.health-pickup>.ui-icon{width:100%;height:100%}.game-stage.flight-hit{box-shadow:none}.flight-hit .flying-car img{animation:flight-impact 250ms linear both}.game-stage:after{content:'';position:absolute;inset:0;background:var(--red);opacity:0;pointer-events:none;z-index:4}.game-stage.flight-hit:after{animation:flight-flash 250ms ease-out both}.flight-hit~.flight-controls{border-color:var(--red)}
@keyframes flight-impact{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}@keyframes flight-flash{0%{opacity:.18}100%{opacity:0}}
.board-archives{margin:20px 0;font-size:.8rem;border-top:1px solid #1b202144;border-bottom:1px solid #1b202144}.board-archives summary{cursor:pointer;font-weight:700;padding:15px 0;min-height:50px}.board-archives p{max-width:650px}.board-archives label{display:inline-flex;flex-direction:column;gap:8px;margin:0 20px 20px 0}.board-archives select{font:inherit;max-width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:4px;padding:12px;min-height:48px}.leaderboard-table th,.leaderboard-table td{font-variant-numeric:tabular-nums}.leaderboard-table th:last-child,.leaderboard-table td:last-child{text-align:right}.flight-results{background:var(--paper)}
@media(max-width:760px){
 .section-pad{padding:48px 5%}.section-heading{margin-bottom:26px}.game-section .section-heading h2{font-size:clamp(2.35rem,11vw,3.4rem)}.game-lead>p{font-size:1rem;margin:22px 0 14px}.game-lead>strong{font-size:.8rem}.game-lead .under-link{margin-top:16px}.game-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 15px}.game-toolbar .game-name{font-size:.85rem}.game-toolbar .flight-category{width:auto;order:2;margin-left:auto;font-size:.75rem}.game-toolbar #pause{order:3;min-width:72px;min-height:46px;padding:10px 13px;font-size:.8rem}.game-toolbar:has(#pause:not([hidden])) .flight-category{width:100%;order:4;font-size:.7rem}
 #game-stage .flight-setup{padding:25px 18px;gap:18px}.flight-setup h3{font-size:1.8rem}.flight-setup>p{font-size:.95rem;line-height:1.45}.flight-setup .overlay-actions{display:flex;flex-direction:column;gap:5px;width:100%}.flight-setup #start-game{width:100%;font-size:.95rem;min-height:56px}.flight-settings .difficulty-options{flex-direction:row;gap:6px}.flight-settings .difficulty-options label{width:auto;padding:12px 5px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.flight-settings label strong{font-size:.75rem}.flight-settings input{margin:0}.flight-setup .controls-note{display:none}
 body.flight-immersive{overflow:hidden;overscroll-behavior:none}.flight-immersive .is-playing{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:100;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:var(--paper);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.flight-immersive .game-toolbar{flex:none;padding:10px 16px;gap:4px 12px;border-bottom:2px solid var(--ink)}.flight-immersive .game-toolbar .game-name{font-size:.85rem}.flight-immersive .game-toolbar:has(#pause:not([hidden])) .flight-category{width:auto;order:2;margin:0}.flight-immersive .game-toolbar #pause{margin-left:auto;order:3;min-height:44px}.flight-immersive .flight-hud{flex:none;border-bottom:2px solid var(--ink);padding:10px 16px;gap:7px 10px}.flight-immersive .flight-hud span{font-size:.62rem}.flight-immersive .flight-hud strong{font-size:1.25rem}.flight-immersive .flight-hud .flight-collection{display:none}.flight-immersive #game-stage.running{flex:1;min-height:100px;height:auto;touch-action:none}.flight-immersive #flight-controls{flex:none;padding:12px 16px 14px;border-top:2px solid var(--ink);display:block}.flight-immersive #boost{width:100%;min-height:58px;padding:14px;font-size:1rem;box-shadow:3px 3px 0 var(--ink)}.flight-immersive #boost .key-hint{display:none}.flight-immersive #game-help{font-size:.7rem;line-height:1.3;margin:12px 0 0}.flight-immersive #flight-controls>a{display:none}.flight-immersive #practice-controls{margin-top:10px;display:flex;gap:15px}.flight-immersive #practice-controls button{font-size:.8rem;min-height:44px}.flight-immersive .pause-overlay{padding:24px 18px;gap:18px}.flight-immersive .pause-overlay h3{font-size:1.9rem}.flight-immersive .pause-overlay p{font-size:.9rem;line-height:1.4}.flight-immersive .pause-overlay .button{min-height:52px;font-size:.85rem}.flight-immersive .pause-overlay .overlay-actions{flex-direction:column;gap:14px}.game-stage.flight-hit:after{z-index:4}
 .leaderboard-section h2{font-size:clamp(2.25rem,10vw,3rem)}.leaderboard-section .section-heading>p{margin-top:20px;font-size:.95rem}.board-controls .filter-tabs button{font-size:.8rem}.board-archives{font-size:.75rem}.board-archives label{width:100%;margin-right:0}.board-meta{font-size:.7rem;line-height:1.5}.podium-place strong{font-size:1rem}.podium-place>span:last-child{font-size:.75rem}.leaderboard-table th{font-size:.7rem;padding:13px 8px;line-height:1.3;word-break:normal}.leaderboard-table td{font-size:.85rem;padding:16px 8px}.leaderboard-table th:first-child{width:10%}.leaderboard-table th:nth-child(2){width:38%}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4){width:26%}.leaderboard-table td:nth-child(3),.leaderboard-table td:last-child{white-space:nowrap}.my-best p{font-size:.9rem}.board-rules{font-size:.8rem}.leaderboard-section .form-hint{font-size:.75rem}
 .wall-meta{font-size:.7rem;line-height:1.4;flex-wrap:wrap;gap:10px}.wall-meta>span:last-child{max-width:none;text-align:left}.wish-form-wrap{padding-top:30px}.form-intro h3{font-size:1.8rem;max-width:240px}.form-hint,.gift-copy .gift-note{font-size:.8rem}.gift-copy h2{font-size:2.2rem;line-height:1.05;max-width:100%;text-wrap:balance}.gift-copy>p{font-size:1rem}.gift-section{gap:28px}.gift-art{width:min(100%,300px);min-height:300px;margin:0 auto}.site-footer{gap:24px}.footer-top{gap:22px;flex-wrap:wrap}
}
@media(max-width:350px){.flight-immersive .game-toolbar .game-name{font-size:.73rem}.flight-immersive .game-toolbar .flight-category{font-size:.65rem}.flight-immersive .game-toolbar #pause{min-width:65px;padding:8px;font-size:.75rem}.flight-settings label strong{font-size:.68rem}.leaderboard-table th{font-size:.62rem;padding-inline:6px}.leaderboard-table td{font-size:.75rem;padding-inline:6px}.gift-copy h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.flight-hit .flying-car img,.game-stage.flight-hit:after{animation:none}.game-stage.flight-hit{box-shadow:inset 0 0 0 3px var(--red)}}

@media(max-width:760px){.game-section h2>.serif-accent{display:block}}
@media(max-width:760px){.game-section{padding-top:32px}.game-section .eyebrow{margin-bottom:18px}.game-lead>p,.game-lead>strong{display:none}.game-lead .under-link{margin-top:18px}.game-section .section-heading{margin-bottom:24px}}

/* Desktop field height and separate space for the record medal. */
@media(min-width:761px){#game-stage{--flight-sprite-scale:1.18}#game-stage.running{height:clamp(300px,calc(100dvh - 310px),650px)}}
#landscape{position:absolute;inset:0;z-index:0;pointer-events:none}.scenic{position:absolute;left:0;top:0;width:110px;height:110px;opacity:.78}.scenic>.ui-icon{width:100%;height:100%;filter:drop-shadow(2px 2px 0 #fffdf5)}.scenic-tree{width:115px;height:115px}.scenic-parked-car{width:90px;height:70px;opacity:.85}.scenic-cityhouse{width:110px;height:110px;opacity:.65}.flight-ground{overflow:hidden}.flight-ground:after{left:-40px;right:-40px;transform:translateX(var(--ground-offset,0px))}.flying-car{z-index:2}#obstacles,#souvenirs,#hearts{position:absolute;inset:0;z-index:3;pointer-events:none}
/* Move the pilot and incoming objects together so their collision coordinates stay aligned. */
#flight-scene > :is(.flying-car,#obstacles,#souvenirs,#hearts){left:calc(50% - 180px)}.game-stage:after{z-index:4}
.record-medal{display:inline-flex;align-items:center;gap:9px;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:7px;box-shadow:3px 3px 0 var(--ink);padding:8px 13px 8px 7px;text-align:left;max-width:100%}.record-medal>.ui-icon{width:48px;height:48px}.record-medal>span{display:flex;flex-direction:column;gap:3px;min-width:0}.record-medal strong{font-size:.67rem;letter-spacing:.025em;line-height:1.25;font-weight:800}.record-medal small{font-size:.65rem;line-height:1.3;font-weight:400;overflow-wrap:anywhere}.paddle-collection{width:22px;height:22px;margin-left:8px;vertical-align:middle}#dialog-records{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid #1b202144}#dialog-records .record-medal{margin-bottom:12px}#dialog-records>p{font-size:.75rem;line-height:1.5;margin:7px 0}
@media(max-width:760px){.record-medal>.ui-icon{width:44px;height:44px}.record-medal{padding:7px 11px 7px 6px;gap:8px}.record-medal strong{font-size:.7rem}.record-medal small{font-size:.67rem}.paddle-collection{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.scenic{opacity:.7}}

#game-stage.has-setup > .world { visibility: hidden; }

#game-stage .flight-setup {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 3.5vw, 48px);
  text-align: left;
}
.flight-preview {
  position: relative;
  overflow: hidden;
  border: 2px solid var(--ink);
  border-radius: 6px;
  box-shadow: 5px 5px 0 var(--ink);
  background: var(--sky);
}
.flight-preview > svg { display: block; width: 100%; height: auto; }
.flight-setup-copy { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.flight-settings .difficulty-options { min-inline-size: 0; }
.flight-setup-copy .overlay-actions { justify-content: flex-start; }
.flight-setup-copy #start-error:empty { display: none; }
@media (min-width: 761px) and (max-width: 1100px) {
  .flight-settings .difficulty-options { gap: 8px; }
  .flight-settings .difficulty-options label {
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px 4px;
    text-align: center;
  }
  .flight-settings label strong { font-size: .75rem; }
  .flight-settings label small { font-size: .7rem; }
  .flight-settings input { margin: 0; }
}
@media (min-width: 1101px) and (max-height: 850px) {
  #game-stage .flight-setup { padding-block: 24px; }
}
@media (max-width:760px) {
  #game-stage .flight-setup { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .flight-setup-copy { text-align: center; gap: 14px; }
  .flight-setup-copy .flight-settings { text-align: left; }
  .flight-immersive .flight-hud .flight-collection { display: flex; }
  .flight-immersive .flight-hud #mission-items .ui-icon { width: 1.1rem; height: 1.1rem; }
}

.route-landmark {
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 240px;
  height: 200px;
  z-index: 1;
}
.route-landmark > svg {
  display: block;
  width: 100%;
  height: 100%;
  opacity: .92;
  filter: drop-shadow(2px 2px 0 #fffdf5a6);
}
.route-city,
.flight-preview-location {
  position: absolute;
  background: var(--paper);
  border: 1.5px solid #56645e;
  color: #35443e;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}
.route-city {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 10px;
  font-size: 20px;
  border-radius: 3px;
}
.flight-preview-location {
  bottom: 4%;
  left: 4%;
  padding: 3px 7px;
  font-size: .6rem;
}

@media (max-width:760px) {
  .flight-immersive .is-preflight #boost,
  .flight-immersive .is-preflight #game-help { display: none; }
  .flight-immersive .is-preflight #flight-controls > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: .85rem;
  }
}

/* Birthday audit: navigation, results, ranking and wishes. */
@media (max-width: 800px) {
  .site-header nav { flex-wrap: wrap; gap: 4px 10px; }
  .site-header nav a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 46px;
    font-size: .8rem;
    line-height: 1.25;
    white-space: normal;
  }
  .site-header nav a span { margin-left: 0; }
  .site-header nav a svg { flex: none; }
}
@media (max-width: 760px) {
  .site-header nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 4.2rem), auto));
    justify-content: stretch;
    gap: 4px;
  }
  .site-header nav a span { overflow-wrap: anywhere; }
}
@media (min-width: 761px) and (max-width: 950px) {
  .spark-one { font-size: 2.6rem; left: -7%; top: 34%; }
  .spark-two { font-size: 2.4rem; right: 0; top: 63%; }
}

.flight-results .final-actions { gap: 10px; margin: 18px 0 8px; }
.result-secondary { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.flight-results .result-secondary .button { width: auto; min-height: 44px; padding: 9px 12px; }
.score-details { width: min(100%, 480px); }
.score-details summary, #board-rest summary {
  cursor: pointer;
  font-weight: 700;
  padding: 12px 0;
  min-height: 44px;
}
.flight-results #result-status:empty { display: none; }

.board-controls { gap: 14px; margin-bottom: 12px; }
.board-archives { margin: 12px 0; }
#board-play { margin-top: 12px; }
@media (max-width: 760px) {
  .leaderboard-section .section-heading { margin-bottom: 24px; }
  .leaderboard-table td:nth-child(3), .leaderboard-table td:last-child { white-space: normal; }
}
.wall-empty { margin-bottom: 24px; font-weight: 700; }
#wall-status:empty { margin: 0; }
.wall-more { text-align: center; }
.wall-more:has(button:not([hidden])) { margin-bottom: 28px; }

.form-hint, .leaderboard-section .form-hint, #score-form .form-hint,
.flight-setup .controls-note, .flight-immersive #game-help,
.gift-copy .gift-note { font-size: .85rem; }
.flight-hud span, .flight-immersive .flight-hud span { font-size: .7rem; }

.wish-dialog[open] {
  --sheet-size: min(455px, calc(100vw - 30px), calc(100dvh - 42px));
  width: var(--sheet-size);
  height: var(--sheet-size);
  display: flex;
  flex-direction: column;
  overflow: visible;
  padding: 0;
  border-width: 1.5px;
  border-radius: 3px;
  box-shadow: 3px 4px var(--ink);
  transform: translateZ(0);
}
.wish-dialog::backdrop { background: #1b202190; backdrop-filter: none; }
.wish-dialog > .dialog-top {
  flex: none;
  padding: 8px 12px 0 36px;
  margin: 0;
}
.wish-dialog > .dialog-top:focus { outline: none; }
.wish-dialog .close-dialog { border: 0; width: 44px; min-width: 44px; height: 44px; font-size: 1.12rem; }
.wish-dialog-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 36px 20px;
}
.wish-dialog-body > * { flex-shrink: 0; }
.wish-letter { margin-block: auto; padding-block: 2px 12px; }
.wish-letter-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 19px;
  font-size: .6rem;
}
.wish-letter-label > [aria-hidden] {
  display: grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  font: 700 .75rem/1 Arial, sans-serif;
}
#dialog-wish {
  font: italic 400 clamp(1.13rem, calc(1rem + 1.25vw), 1.6rem)/1.34 Georgia, 'Times New Roman', serif;
  margin: 0;
  padding-inline-start: 12px;
  border-inline-start: 3px solid var(--red);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.wish-signature { margin-top: 22px; }
#dialog-author {
  font: 700 clamp(1rem, calc(.9rem + .75vw), 1.24rem)/1.17 Georgia, 'Times New Roman', serif;
  letter-spacing: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
#dialog-wish-timestamp { display: block; margin-top: 5px; font-size: .7rem; font-weight: 700; white-space: normal; }
.wish-dialog .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#dialog-records:not([hidden]), #dialog-owner-edited:not([hidden]), #edit-form:not([hidden]) { margin-top: 15px; }
#wish-tools { margin-top: 12px; border-top: 1px solid color-mix(in srgb, var(--ink) 36%, var(--paper)); }
#wish-tools summary { min-height: 44px; padding: 12px 0; font-size: .72rem; font-weight: 700; cursor: pointer; }
#wish-tools summary:focus-visible { outline: 3px solid #1843d2; outline-offset: -3px; }
.wish-tool-actions { display: flex; flex-wrap: wrap; gap: 0 12px; }
#wish-tools .text-button { padding-inline: 0; font-size: .72rem; }
#wish-tools #remove-wish { margin: 0; }
#wish-tools #edit-deadline { margin: 8px 0 0; font-size: .72rem; }
#wish-tools .personal-access { margin-top: 12px; }
#wish-tools .personal-access .form-hint { font-size: .72rem; }
#dialog-status:not(:empty) { margin: 8px 0 0; font-size: .72rem; }
.wish-dialog :is(#dialog-status, #edit-deadline):empty { margin: 0; }
.wish-dialog .close-wish {
  min-height: 44px;
  padding: 4px 0;
  background: none;
  font-size: .72rem;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 600px) {
  .wish-dialog > .dialog-top { padding-left: 22px; }
  .wish-dialog-body { padding: 5px 22px 12px; }
  .wish-letter-label { margin-bottom: 14px; }
  .wish-signature { margin-top: 17px; }
}
@media (max-width: 360px) {
  .wish-dialog > .dialog-top { padding-left: 17px; }
  .wish-dialog-body { padding-inline: 17px; }
  .wish-letter-label { margin-bottom: 11px; }
  #dialog-wish { font-size: 1.13rem; line-height: 1.26; }
  .wish-signature { margin-top: 14px; }
}
.wish-dialog-body:focus-visible { outline-offset: -4px; }

/* The pause panel must remain readable when labels need more than one row. */
@media (max-width: 760px) {
  .flight-immersive .flight-hud {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(3.2rem, (100% - 30px) / 4)), 1fr));
  }
  .flight-immersive .flight-hud #lives-label { flex-wrap: wrap; }
  .flight-immersive .flight-hud .flight-collection { flex-wrap: wrap; }
  .flight-immersive #game-stage.running:has(#pause-overlay:not([hidden])) {
    touch-action: pan-y;
  }
  .flight-immersive .pause-overlay {
    overflow-y: auto;
    justify-content: safe center;
  }
  .flight-immersive .is-playing:has(#pause-overlay:not([hidden])) #flight-controls {
    display: none;
  }
}

/* A short welcome and a paddle guests can discover by touch. */
.hero-game-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-game-actions .button { font-size: .85rem; padding: 16px 20px; min-height: 54px; }
.hero-game-actions .button-light { gap: 8px; }
.hero-paddle { padding: 0; background: transparent; border: 0; min-width: 48px; min-height: 48px; cursor: pointer; transform-origin: 50% 85%; }
.hero-paddle svg { display: block; width: 100%; height: auto; overflow: visible; }
.hero-paddle:focus-visible { outline: 4px solid #1843d2; outline-offset: 6px; border-radius: 45%; }
.hero-serve-ball { position: absolute; top: 0; left: 0; width: 23px; height: 23px; background: var(--paper); border: 2px solid var(--ink); border-radius: 50%; pointer-events: none; z-index: 5; }
@media (max-width: 760px) {
  .hero-game-actions { gap: 10px; }
  .hero-game-actions .button { font-size: .85rem; padding: 14px 16px; }
}
#hero-serve-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hero-car-track {
  position: absolute;
  inset: 0;
  z-index: 2;
  clip-path: inset(-25% -12% -25% -10%);
  pointer-events: none;
}
.hero-paddle.is-juggling .hero-rest-ball { opacity: 0; }

/* Reserve space above and below the slanted strip. */
.ticker-wrap { padding-block: clamp(12px, 1.2vw, 22px); overflow: clip; }
.ticker {
  --ticker-gap: clamp(22px, 3vw, 44px);
  display: flex;
  min-height: 3.9rem;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  border-block: 2px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  font: 900 1.55rem/1 Impact, 'Arial Narrow', sans-serif;
  letter-spacing: .025em;
  transform: skewY(-.75deg);
}
.ticker-track { display: flex; flex: none; animation: birthday-ribbon 36s linear infinite; }
.ticker-group {
  display: flex;
  flex: none;
  min-width: 100vw;
  align-items: center;
  justify-content: space-around;
  gap: var(--ticker-gap);
  padding-inline: calc(var(--ticker-gap) / 2);
}
.ticker b { display: inline-flex; font-size: .85em; }
@keyframes birthday-ribbon { to { transform: translateX(-50%); } }
@media (max-width: 760px) {
  .ticker { min-height: 3.2rem; font-size: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none; }
}

.paddle-wall {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 12.4rem));
  justify-content: center;
  align-items: start;
  gap: 28px clamp(16px, 4vw, 62px);
  padding: 20px 8px 38px;
}
.paddle-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  padding: 0 0 56px;
  background: transparent;
  color: var(--ink);
}
#paddle-wall:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 12.4rem)); }
.paddle-card:only-child { grid-column: 1 / -1; justify-self: center; width: min(100%, 12.4rem); }
.paddle-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 39%;
  width: 22%;
  height: 76px;
  border: 2px solid var(--ink);
  border-radius: 0 0 9px 9px;
  background:
    linear-gradient(#795135, #795135) center calc(100% - 10px) / 70% 2px no-repeat,
    linear-gradient(#795135, #795135) center calc(100% - 15px) / 70% 2px no-repeat,
    #d6a66b;
  box-shadow: 3px 4px #1b202125;
  transform: rotate(var(--tilt));
  transform-origin: center top;
  z-index: -1;
}
.paddle-face {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template: "face" / minmax(0, 1fr);
  place-items: center;
}
.paddle-face::after {
  content: '';
  grid-area: face;
  width: 100%;
  aspect-ratio: 1 / 1.02;
  pointer-events: none;
}
.paddle-face::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 4px solid var(--paper);
  border-radius: 49% 49% 47% 47%;
  box-shadow: 0 0 0 2px var(--ink), 4px 5px 0 2px #1b202125;
  background: var(--paddle-color);
  transform: rotate(var(--tilt));
}
.paddle-note {
  position: relative;
  grid-area: face;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  width: 76%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1;
  margin-block: 1rem;
  padding: .6rem .45rem;
  border: 1.5px solid var(--ink);
  border-radius: 3px;
  background: var(--paper);
  box-shadow: 2px 2px var(--ink);
  text-align: center;
}
.paddle-note::before, .wish-note-tape {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.7rem;
  height: .45rem;
  border: 1px solid var(--ink);
  background: var(--yellow);
  transform: translate(-50%, -55%) rotate(-5deg);
  pointer-events: none;
}
.wish-note-tape { z-index: 2; width: 42px; height: 11px; }
.paddle-note.is-lifted { visibility: hidden; }
.wish-dialog[data-note-flight] {
  transform-origin: top left;
}
.wish-dialog > .wish-note-ghost {
  position: absolute;
  z-index: 1;
  min-height: 0;
  margin: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  line-height: 1.25;
  transform-origin: top left;
  pointer-events: none;
}
.wish-note-ghost::before { content: none; }
.wish-dialog[data-note-flight]::backdrop {
  animation: wish-backdrop var(--wish-flight-duration) ease both;
}
.wish-dialog[data-note-flight="out"]::backdrop { animation-direction: reverse; }
@keyframes wish-backdrop {
  from { opacity: 0; }
  to { opacity: 1; }
}
.paddle-message {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
  font-size: .82rem;
  line-height: 1.3;
}
.paddle-author {
  display: flex;
  align-items: center;
  max-width: 100%;
  font-size: .75rem;
  font-weight: 700;
}
.paddle-author-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.paddle-author .paddle-collection { flex: none; }
.wish-timestamp { font-size: .65rem; line-height: 1.2; white-space: nowrap; }
.paddle-open { font-size: .65rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.example-tag {
  border: 1px solid currentColor;
  border-radius: 20px;
  padding: 2px 7px;
  font-size: .55rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.record-medal.paddle-record {
  justify-content: center;
  gap: .2rem;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  text-align: center;
}
.paddle-record > .ui-icon { width: .9rem; height: .9rem; flex: none; }
.paddle-record strong { display: none; }
.paddle-record small { font-size: .6rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 761px) and (max-width: 920px) {
  .paddle-message { -webkit-line-clamp: 2; }
  .paddle-author-name { -webkit-line-clamp: 1; }
}
@media (max-width: 760px) {
  #paddle-wall { grid-template-columns: repeat(2, minmax(0, 12.4rem)); }
}
@media (max-width: 600px) {
  #paddle-wall, #paddle-wall:has(> :nth-child(2):last-child) { grid-template-columns: minmax(0, 12.4rem); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .paddle-card { transition: transform .2s; }
  .paddle-card:hover { transform: translateY(-4px); }
}

/* Section navigation includes the introduction and the ready-to-play card. */
@media (min-width: 761px) {
  .section-pad {
    padding-block: clamp(20px, calc((100svh - 780px) / 2), 64px);
  }
  .section-pad > .section-heading { margin-bottom: 28px; }
}

@media (min-width: 1100px) {
  .hero { padding-top: 40px; }
  .hero-bottom { margin-top: 24px; }
}

/* The collage includes the box, bow and stars as one illustration. */
.gift-collage {
  width: 100%;
  max-width: 560px;
  min-height: 0;
  justify-self: center;
  align-self: center;
}
.gift-collage img {
  display: block;
  width: 100%;
  height: auto;
}
.gift-copy h2 { overflow-wrap: anywhere; }
.party-hat {
  position: absolute;
  z-index: 4;
  width: clamp(48px, 19%, 116px);
  height: clamp(48px, 16%, 88px);
  transform: translate(-50%, -50%);
  padding: 0;
  border: 0;
  border-radius: 30%;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
}
.party-hat:focus-visible {
  outline: 3px dashed var(--ink);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--paper);
}
.gift-collage .party-hat {
  width: clamp(48px, 12%, 68px);
  height: clamp(48px, 13%, 74px);
}
.party-effects {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero-art > .party-effects { inset: -24px -4% -8px; }
@media (min-width: 761px) {
  .hero-copy { position: relative; z-index: 4; }
  .hero-art > .party-effects { inset: -40px -5% -8px -9%; }
}
@media (min-width: 1100px) {
  .hero-art > .party-effects { right: -8%; left: -15%; }
}
.gift-collage .party-effects { top: -32px; }
.party-effects canvas { display: block; width: 100%; height: 100%; }
.site-header:focus-visible { outline-offset: -4px; }
.back-to-top {
  position: fixed;
  inset-inline-end: max(12px, env(safe-area-inset-right));
  inset-block-end: max(12px, env(safe-area-inset-bottom));
  z-index: 12;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  box-shadow: 2px 2px 0 var(--ink);
}
.back-to-top .ui-icon { width: 20px; height: 20px; }
@media (hover: hover) {
  .back-to-top:hover { background: var(--yellow); }
}
.back-to-top:focus-visible { outline: 3px solid var(--ink); outline-offset: -6px; }
.flight-immersive .back-to-top, body:has(dialog[open]) .back-to-top { display: none; }
@media (pointer: coarse) {
  body:has(:is(input:not([type]), textarea):not([readonly]):focus) .back-to-top { display: none; }
}
.guest-footer {
  display: block;
  padding-block: clamp(32px, 4vw, 56px) 24px;
  padding-inline: max(5%, env(safe-area-inset-left)) max(5%, calc(48px + max(12px, env(safe-area-inset-right))));
}
.guest-footer-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 26px clamp(26px, 5vw, 72px);
  max-width: 1240px;
  margin-inline: auto;
}
.guest-footer-farewell .wordmark { font-size: clamp(1.75rem, 3.6vw, 2.5rem); }
.guest-footer-farewell p { margin-top: 14px; font-size: .85rem; line-height: 1.55; text-wrap: pretty; overflow-wrap: anywhere; }
.creator-note {
  min-width: 0;
  border-inline-start: 1px solid #fff4;
  padding-inline-start: clamp(22px, 3.5vw, 48px);
}
.creator-note h2 {
  font: 700 clamp(1.05rem, 2.2vw, 1.3rem)/1.2 'Trebuchet MS', Arial, sans-serif;
  margin: 0;
}
.creator-note p { max-width: 46ch; margin: 8px 0 14px; font-size: .8rem; line-height: 1.5; text-wrap: pretty; }
.creator-note a {
  display: inline-grid;
  grid-template-columns: auto minmax(0, max-content);
  align-items: center;
  gap: 8px;
  min-height: 44px;
  width: max-content;
  max-width: 100%;
  font-size: .8rem;
  line-height: 1.4;
  text-decoration: none;
}
.creator-mail-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 5px;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 2px 2px 0 var(--paper);
}
.creator-mail-icon .ui-icon { width: 28px; height: 28px; }
.creator-mail-address {
  min-width: 0;
  white-space: nowrap;
  overflow-x: auto;
  text-decoration: underline 1.5px;
  text-underline-offset: 4px;
}
@media (max-width: 760px) {
  .guest-footer { padding-inline-end: max(5%, env(safe-area-inset-right)); }
  .guest-footer-inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .creator-note { border-inline-start: 0; border-top: 1px solid #fff4; padding: 20px 0 0; }
  .creator-note a { max-width: calc(100% - 42px); }
  .creator-mail-icon { width: 40px; height: 40px; }
}

/* Keep the decorative stickers inside their artwork at narrow text sizes. */
@media (max-width: 760px) {
  .date-sticker strong { font-size: min(2.3rem, 46px); }
  .date-sticker span { font-size: min(.45rem, 9px); }
  .speech-sticker { font-size: min(.95rem, 19px); }
  .spark-one { font-size: min(3.4rem, 68px); }
  .spark-two { font-size: min(2.7rem, 54px); }
}
@media (max-width: 380px) {
  .speech-sticker { font-size: min(.8rem, 16px); }
}
@media (max-width: 960px) {
  .gift-section { display: flex; flex-direction: column; gap: 24px; }
  .gift-collage { order: 0; width: min(100%, 380px); margin: 0 auto; }
  .gift-copy { order: 1; width: 100%; }
}

/* Input suppression stays inside the live controls. */
.is-controllable :is(#game-stage, #flight-area, #boost) {
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.flight-hud { row-gap: 7px; }
.flight-notice {
  grid-column: 1 / -1;
  block-size: 1.35em;
  margin: 0;
  overflow: hidden;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
html.large-text .flight-notice { block-size: 2.7em; white-space: normal; }

.board-difficulties {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-inline-size: 0;
  border: 0;
  margin: 0;
  padding: 0;
  font-size: .8rem;
  font-weight: 800;
}
.board-difficulties legend { padding: 0; margin-bottom: 6px; }
.board-difficulties label {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 6px 4px;
  border: 1.5px solid var(--ink);
  border-radius: 5px;
  background: var(--paper);
  color: var(--ink);
  text-align: center;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.board-difficulties input { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; }
.board-difficulties label:has(:checked) { background: var(--yellow); box-shadow: 2px 2px 0 var(--ink); }
.board-difficulties label:has(:focus-visible) { outline: 3px solid var(--ink); outline-offset: 2px; }

@media (max-width: 760px) {
  .site-header { padding-block: 8px 2px; row-gap: 5px; }
  .site-header nav { padding-top: 2px; }
  .site-header nav a { min-height: 44px; font-size: .75rem; }
  .language-control button { min-width: 44px; min-height: 44px; padding: 7px; }
  .hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 19px; }
  .hero-copy { display: contents; }
  .hero .eyebrow { margin-bottom: 11px; }
  .hero h1 { font-size: clamp(2.25rem, 14.4vw, 4.1rem); margin-bottom: 15px; }
  .hero-intro { grid-row: 6; font-size: .9rem; font-weight: 600; line-height: 1.32; margin: 22px 0 0; }
  .hero-game-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero-game-actions .button {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 8px 10px;
    justify-content: center;
    font-size: .78rem;
  }
  .hero .under-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; }
  .hero-art { height: clamp(248px, 75vw, 400px); margin-top: 4px; }
  .hero-car { top: 2%; }
  .hero-art .date-sticker { padding: 6px 11px; }
  .hero-art .date-sticker strong { font-size: 1.8rem; }
  .hero-art .speech-sticker { bottom: 12px; padding: 8px 10px; }
  .hero-bottom { margin-top: 18px; padding-block: 10px; }

  :is(.game-section, .leaderboard-section, .wall-section, .gift-section).section-pad { padding-block: 32px; }
  #game-stage .flight-setup { padding: 16px; gap: 16px; }
  .flight-setup-copy { gap: 10px; }
  .flight-preview { order: 1; width: min(100%, 340px); margin-inline: auto; }
  .wall-section > .section-heading { margin-bottom: 20px; }
  .wall-lead { margin-top: 14px; }
  .wall-lead p { margin-bottom: 12px; }
  .wish-form-wrap { padding-top: 22px; }
  .form-intro { margin-bottom: 16px; }
  .gift-section .gift-copy { order: -1; }
  .gift-section .gift-collage { width: min(100%, 320px); }
  .gift-copy .eyebrow { margin-bottom: 10px; font-size: .7rem; }
  .gift-copy h2 { font-size: clamp(1.65rem, 9vw, 2.2rem); margin-bottom: 12px; }
  .gift-copy [data-content="giftIntro"] { font-size: .88rem; line-height: 1.4; margin-bottom: 12px; }
  .bank-card { margin-block: 12px; padding: 12px; }

  /* An in-flow return link leaves forms and game controls unobstructed. */
  .guest-footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  .creator-note a { max-width: 100%; }
  .creator-mail-address { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
}
@media (max-width: 1100px) {
  .back-to-top { position: static; margin: 16px 3px 0 auto; }
}

@media (max-width: 760px) and (max-height: 600px) {
  .hero { padding-top: 12px; }
  .hero h1 { margin-bottom: 11px; }
  .hero .eyebrow { margin-bottom: 8px; }
}

#wish-gallery-dialog[open] {
  width: min(900px, calc(100vw - 28px));
  max-width: none;
  height: fit-content;
  max-height: calc(100dvh - max(28px, env(safe-area-inset-top) + env(safe-area-inset-bottom) + 16px));
  overflow: hidden;
}
.wish-gallery {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  background: var(--purple);
}
.wish-gallery-header {
  display: flex;
  flex: none;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 16px 22px 10px;
  background: var(--paper);
}
.wish-gallery-header h2 { font-size: clamp(1.45rem, 5vw, 2.15rem); }
.wish-gallery-meta { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 5px 0 0; font-size: .75rem; }
.wish-gallery-header .close-dialog { flex: none; background: transparent; }
.wish-gallery-order {
  display: flex;
  flex: none;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 22px 12px;
  border-bottom: 1px solid var(--ink);
  background: var(--paper);
}
.wish-gallery-order button {
  min-height: 44px;
  padding: 6px 12px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  font-size: .7rem;
  font-weight: 700;
}
.wish-gallery-order button[aria-pressed=true] { background: var(--yellow); box-shadow: 2px 2px var(--ink); }
.wish-gallery-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#wish-gallery-back-wall { display: block; margin: 0 auto 8px; }
.paddle-wall.wish-gallery-grid {
  grid-template-columns: repeat(4,minmax(0,180px));
  gap: 14px clamp(10px, 2vw, 20px);
  padding: 15px 16px;
}
.wish-gallery-grid .paddle-card { padding-bottom: 26px; }
.wish-gallery-grid .paddle-card:only-child { width: min(100%,180px); }
.wish-gallery-grid .paddle-card::before { height: 36px; }
.wish-gallery-grid .paddle-face::before { border-width: 3px; }
.wish-gallery-grid .paddle-note { margin: 0; padding: 6px; gap: 3px; }
.wish-gallery-grid .paddle-message { font-size: .65rem; -webkit-line-clamp: 2; }
.wish-gallery-grid .paddle-author { font-size: .65rem; }
.wish-gallery-grid .wish-timestamp { font-size: .6rem; }
.wish-gallery-grid .paddle-author-name { -webkit-line-clamp: 1; }
.wish-gallery-grid .paddle-open { font-size: .55rem; }
.wish-gallery-grid .paddle-record small { font-size: .52rem; }
.wish-gallery-pagination {
  display: grid;
  flex: none;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 9px 16px 12px;
  border-top: 1px solid var(--ink);
  background: var(--paper);
  font-size: .65rem;
  font-weight: 700;
  text-align: center;
}
.wish-gallery-pagination .button { width: auto; min-width: 0; min-height: 44px; padding: 6px 8px; font-size: inherit; white-space: nowrap; }
#wish-gallery-prev { justify-self: start; }
#wish-gallery-next { justify-self: end; }
#back-to-wish-gallery { margin-right: auto; }
#wish-gallery-dialog[open] + #wish-dialog::backdrop { background: #1b202136; }
@media(max-width:760px) {
  .paddle-wall.wish-gallery-grid { grid-template-columns: repeat(2,minmax(0,180px)); }
  .wish-gallery-header { padding-inline: 12px; }
  .wish-gallery-order { padding-inline: 12px; }
}
@media(max-width:360px) {
  .wish-gallery-grid .paddle-note { width: 80%; }
  .wish-gallery-grid .paddle-message { flex-shrink: 0; -webkit-line-clamp: 1; }
}

.flight-prizes {
  padding: 22px;
  margin-bottom: 28px;
  border: 2px solid var(--ink);
  border-radius: 8px;
  box-shadow: 4px 4px 0 var(--ink);
  background: var(--paper);
}
.flight-prizes-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 20px;
  margin-bottom: 16px;
}
.flight-prizes-header h3 {
  margin: 0;
  font-size: clamp(1.2rem, 2.6vw, 1.65rem);
}
.flight-prizes-header p,
.flight-prizes-rule {
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}
.flight-prizes-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
}
.flight-prizes-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1.5px solid var(--ink);
  border-radius: 5px;
  list-style: none;
}
.flight-prizes-list li:nth-child(1) { background: var(--yellow); }
.flight-prizes-list li:nth-child(2) { background: var(--purple); }
.flight-prizes-list li:nth-child(3) { background: #bad9ed; }
.flight-prize-number {
  font-family: var(--display-font, Impact), sans-serif;
  font-size: 1.4rem;
  line-height: 1;
}
.flight-prize-difficulty {
  display: block;
  font-size: .68rem;
  font-weight: 700;
}
.flight-prizes-list strong {
  display: block;
  margin-top: 3px;
  font-size: .87rem;
  line-height: 1.25;
}
.flight-prizes-rule {
  margin-top: 15px;
  font-weight: 700;
}
@media (max-width: 760px) {
  .flight-prizes { padding: 15px; margin-bottom: 22px; }
  .flight-prizes-list { grid-template-columns: 1fr; gap: 8px; }
  .flight-prizes-list li { padding: 9px 11px; }
}
@media (min-width: 1100px) and (max-height: 900px) {
  .board-difficulties {
    flex: 1 1 360px;
    width: auto;
  }
}

.contest-disclosure {
  background: #edf4f9;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  text-align: left;
  font-size: .8rem;
}
.contest-disclosure summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 12px;
  padding: 9px 12px;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
}
.contest-disclosure summary::-webkit-details-marker { display: none; }
.contest-disclosure summary > strong { display: inline-flex; align-items: center; gap: 8px; }
.contest-disclosure summary .ui-icon { width: 20px; height: 20px; }
.contest-disclosure summary > span { font-size: .74rem; font-weight: 700; }
.contest-disclosure summary > span::after { content: " +"; margin-left: 3px; }
.contest-disclosure[open] summary > span::after { content: " −"; }
.contest-rule-copy { border-top: 1px solid var(--ink); padding: 10px 12px 12px; }
.contest-rule-copy ol { margin: 0 0 6px; padding-left: 1.2em; line-height: 1.45; }
.contest-rule-copy li + li { margin-top: 4px; }
.contest-rule-copy a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  font-weight: 800;
  text-underline-offset: 3px;
}
.contest-meter {
  margin-top: 12px;
  padding: 9px 12px;
  border: 1px solid var(--ink);
  border-radius: 5px;
  background: #edf4f9;
}
.contest-meter p { margin: 0; font-size: .75rem; }
.contest-meter .contest-meter-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-weight: 800;
}
.contest-meter-label strong { font-size: .95rem; white-space: nowrap; }
.contest-meter progress {
  display: block;
  width: 100%;
  height: 12px;
  margin: 6px 0;
  appearance: none;
  border: 1px solid var(--ink);
  border-radius: 30px;
  overflow: hidden;
  background: var(--paper);
}
.contest-meter progress::-webkit-progress-bar { background: var(--paper); }
.contest-meter progress::-webkit-progress-value { background: var(--ink); }
.contest-meter progress::-moz-progress-bar { background: var(--ink); }
.flight-prizes .contest-rule-short { margin: 8px 0 0; font-size: .75rem; line-height: 1.45; }
.contest-result-card { width: min(100%, 530px); text-align: left; }
.contest-result-card .contest-result-heading { font-weight: 800; margin: 0 0 3px; }
.contest-result-card .contest-result-help { font-size: .8rem; margin: 0 0 12px; line-height: 1.4; }
.contest-result-card .contest-name-label { display: block; font-size: .75rem; font-weight: 800; margin-bottom: 4px; }
.contest-result-card .contest-player-name {
  width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  border: 1.5px solid var(--ink);
  border-radius: 5px;
  background: var(--paper);
}
.contest-save-options {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 11px 0;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}
.contest-save-options input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--ink); }
.contest-save-options small { display: block; margin-top: 3px; font-size: .7rem; font-weight: 400; line-height: 1.4; }
.contest-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 5px; }
.contest-actions .button { min-height: 46px; padding: 10px 15px; font-size: .8rem; }
.contest-result-card.is-saved {
  padding: 17px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--purple);
}
.contest-result-card .contest-after-save { font-size: .73rem; margin: 12px 0 0; }
.flight-results .result-stats { max-width: 720px; }
.flight-results .result-stats > div { padding: 12px 8px; }
.flight-results .result-stats strong { font-size: clamp(1.45rem, 5vw, 2.25rem); }
.flight-results { min-height: 0; }
@media (max-width: 760px) {
  .flight-results { padding: 18px 15px; }
  .flight-results h3 { font-size: 1.9rem; }
  .flight-results .result-stats { gap: 6px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .flight-results .result-stats span { font-size: .6rem; }
  .flight-results .result-stats strong { margin-top: 4px; }
  .contest-actions .button-yellow { width: 100%; }
}

.contest-result-card #score-form { border: 0; padding: 0; margin: 0 0 10px; }
.contest-result-card #score-form .contest-save-options { display: flex; margin: 0; }
.contest-result-card #score-form .contest-save-options input { width: 20px; }
.contest-result-card #result-status { margin: 0 0 10px; font-weight: 800; }
.contest-result-card #contest-result-wish { margin-bottom: 6px; }
.contest-result-card #save-score { min-height: 46px; }
.contest-result-card .contest-actions .text-button { min-height: 44px; }
@media (max-width: 760px) {
  .contest-result-card #score-form #save-score,
  .contest-result-card #contest-result-wish { width: 100%; }
}
@media (min-width: 1100px) and (max-height: 900px) {
  #leaderboard-title { font-size: clamp(2.8rem, 4vw, 3.8rem); }
  .leaderboard-section > .section-heading { margin-bottom: 16px; }
  .flight-prizes { padding: 15px 19px; margin-bottom: 16px; }
  #board-status { margin-block: 8px; }
  #board-play { margin-top: 8px; }
}
@media (min-width: 1100px) {
  .board-difficulties { flex: 1 1 360px; width: auto; }
}
@media (min-width: 1100px) and (max-height: 850px) {
  #jeu > .section-heading { margin-bottom: 18px; }
  #game-stage .flight-setup { padding-block: 18px; }
  .flight-setup-copy { gap: 8px; }
}

:is(#contest-rules-deadline, #contest-board-deadline) time { font-weight: 800; }

@media (min-width: 1100px) {
  .contest-prize-notes { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 12px; }
}
