/* SUNNY HOP · dimensional toy-world console. Interface rails never cover play. */
:root{--ink:#253d58;--blue:#245993;--blue-dark:#194576;--muted:#66778a;--paper:#fafaf6;--line:#d9e2e8;--gold:#b99a5d;--wash:#eaf2f7;--white:#fffefa}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 0 8%,#dfedf683,transparent 34%),radial-gradient(ellipse at 100% 58%,#eaf1f55c,transparent 35%),var(--paper);font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;-webkit-user-select:none;user-select:none}button:disabled{cursor:default}button[hidden]{display:none}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #bc9750;outline-offset:4px}main{width:min(100%,1080px);margin:auto;padding:23px 30px 24px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);text-decoration:none;flex-shrink:0}.brand-sun{display:block;width:40px;height:40px}.brand-sun svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand-sun circle:nth-of-type(1){fill:#e9cb8526}.brand>span:last-child{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:700;letter-spacing:1.7px;line-height:1}.brand small{display:block;font-family:system-ui,sans-serif;font-size:9px;letter-spacing:2.5px;font-weight:600;margin-top:7px;color:#687b8d}.tag{display:flex;align-items:center;gap:11px;font-size:8px;color:#7a8a97;letter-spacing:1.6px;font-weight:600}.tag i{display:block;width:17px;height:1px;background:#c3aa75}.toolbar{display:flex;gap:7px}.icon-button{width:40px;height:40px;border:1px solid #d7e1e7;border-radius:10px;background:#fffefbcf;color:var(--blue);display:flex;align-items:center;justify-content:center;gap:2px;font-size:23px;box-shadow:0 2px 0 #e3eaf0;transition:background .18s,border-color .18s,transform .18s}.icon-button span{font-size:8px;font-weight:750;letter-spacing:0}.icon-button:hover{background:#eaf2f8;border-color:#b8ccdd;transform:translateY(-1px)}.intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0 22px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#6b8197;font-weight:750;margin:0}.intro .eyebrow::before{content:'';display:inline-block;width:17px;height:2px;background:var(--gold);vertical-align:middle;margin-right:9px}h1{font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;font-size:32px;line-height:1.4;letter-spacing:.6px;font-weight:700;margin:8px 0 0;color:#234d79}h1 em{font-style:normal;position:relative;white-space:nowrap;isolation:isolate}h1 em::after{content:'';position:absolute;left:0;right:0;height:7px;bottom:-2px;border-radius:50%;background:#d4bc8128;transform:rotate(-1deg);z-index:-1}.intro-note{display:flex;align-items:center;gap:12px}.intro-note p{font-size:11px;color:#687e8f;line-height:1.9;margin:0}.world-badge{width:58px;height:58px;border:1px solid #c5d4e1;outline:1px solid #e1e8ea;outline-offset:4px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--blue);transform:rotate(-7deg);background:#fffefd88}.world-badge b{font:23px Georgia,serif;line-height:1.1}.world-badge small{font-size:6px;font-weight:750;letter-spacing:1.4px;margin-top:3px}.play-caption{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;color:#71879b;margin:0 2px 9px;font-weight:700}.play-caption>span:first-child{display:flex;gap:7px;align-items:center}.play-caption i{display:block;width:5px;height:5px;transform:rotate(45deg);background:var(--gold)}.play-caption>span:last-child{font-size:10px;font-weight:500;letter-spacing:.7px;color:#7b8894}
/* A framed viewport with an instrument rail above and status rail below. */
.game-shell{border:1px solid #c6d7e4;border-radius:16px;overflow:hidden;background:var(--white);box-shadow:0 4px 0 #e3eaf0,0 20px 50px #244c7520}.hud{position:relative;display:grid;grid-template-columns:155px minmax(0,1fr) 112px;align-items:center;gap:10px;min-height:59px;padding:8px 17px;border-bottom:1px solid #d9e5ec;background:linear-gradient(100deg,#f3f8fb,#fffefa 52%,#f5f8fa);pointer-events:none}.hud-pill{display:flex;align-items:center;gap:6px;font-size:19px;font-weight:750;min-width:0}.hud-coins{flex-wrap:wrap;column-gap:6px;row-gap:0}.hud-coins b{font-variant-numeric:tabular-nums;color:#365b7f;line-height:1.25}.coin-symbol{font-size:20px;color:#b18c43;line-height:1}.hud small{font-size:10px;font-weight:600;color:#697d8c}.oneup-progress{flex-basis:100%;font-size:9px;color:#60758b;font-weight:600;letter-spacing:.25px;line-height:1.6}.hud-stage{justify-content:center;gap:10px;color:#355571;font-size:12px;font-weight:650;letter-spacing:.5px;text-align:center}.hud-stage small{font-size:9px;letter-spacing:1px;font-weight:750;white-space:nowrap;padding-right:10px;border-right:1px solid #c8d8e4;color:#6b86a1}.hud-stage span{max-width:100%;overflow-wrap:anywhere}.hearts{justify-content:flex-end;font-size:16px;color:#bd796b;letter-spacing:2px;white-space:nowrap}.hearts.celebrate{color:#a27a24;text-shadow:0 0 12px #ead5a3;transform:scale(1.05)}.game-viewport{position:relative;overflow:hidden;background:#dbe9ed}canvas{display:block;width:100%;height:auto;aspect-ratio:960/540;touch-action:none;outline:none}.status-rail{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:43px;padding:8px 16px;border-top:1px solid #d9e5ec;background:#fffefa}.power-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:#496681;min-width:0}.power-status>b{font-size:10px;font-weight:750;letter-spacing:.35px;padding-right:10px;border-right:1px solid #d9e1e4;line-height:1.3}.power-status #power-time{font-size:10px;font-weight:750;color:#977631;padding:2px 6px;border-radius:4px;background:#f8edcf;white-space:nowrap}.power-status #power-time[hidden],#flight-meter[hidden]{display:none}.power-status small{display:none;font-size:10px;color:#6c7f8e;line-height:1.35}.power-status.can-fly small{display:block}#flight-meter{width:88px;height:6px;display:block;border-radius:4px;background:#dfeaf0;overflow:hidden;border:1px solid #cbdae2}#flight-fill{display:block;width:0;height:100%;background:linear-gradient(90deg,#548bb6,#8ab8ce);border-radius:4px}.rail-ornament{font-size:13px;color:#b8a170;line-height:1}.boss-hud{width:180px;max-width:45%;flex-shrink:0;display:flex;align-items:center;gap:9px}.boss-hud[hidden]{display:none}.boss-hud>span{font-size:9px;font-weight:700;letter-spacing:.5px;color:#8d665a;white-space:nowrap}.boss-hud>div{height:6px;flex:1;min-width:45px;border-radius:4px;overflow:hidden;background:#ebdfd4}.boss-hud i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#a97060,#d4aa7e);transition:width .2s}.status-rail:has(.boss-hud:not([hidden])) .rail-ornament,.status-rail:has(.boss-hud:not([hidden])) #flight-caption{display:none}.progress-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff6b;pointer-events:none}.progress-track span{display:block;height:100%;width:0;background:#c2a46a;box-shadow:0 0 8px #fff3c9}.toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%,7px);max-width:87%;border:1px solid #ffffff7a;border-radius:8px;background:#315574ee;color:#fffdf4;padding:10px 17px;font-size:12px;line-height:1.6;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:2;box-shadow:0 4px 18px #28496820}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* A small theatrical opening: layered landscape folios, with the original hero at its heart. */
.overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:18px;background:#e8f0f54d;backdrop-filter:blur(2px);z-index:3}.overlay.hidden{display:none}.card{position:relative;flex-shrink:0;width:470px;max-width:100%;margin:auto 0;padding:24px 32px 23px;text-align:center;border:1px solid #ffffffd9;border-radius:15px;background:radial-gradient(ellipse at 50% 10%,#e9f2f8,transparent 57%),linear-gradient(145deg,#fffefa,#f7f8f2);box-shadow:0 0 0 4px #fffefa55,0 15px 50px #24496e26;animation:console-arrive .45s ease-out}.card::before{content:'';position:absolute;inset:9px;border:1px solid #cfdde6;border-radius:9px;pointer-events:none}.card::after{content:'✦';position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:10px;color:#bcaa79;background:#fafaf4;padding:0 8px;line-height:1}.card-character{position:relative;width:250px;height:134px;margin:0 auto 15px;isolation:isolate}.scene-pod{position:absolute;top:10px;width:96px;height:119px;border:4px solid #fffef8;outline:1px solid #b6cbdc;border-radius:5px;box-shadow:0 6px 12px #36557720;background-position:center;background-size:auto 140%;background-color:#d8e8e9;z-index:-1}.scene-pod::after{content:'';position:absolute;inset:4px;border:1px solid #f7f1d19c}.scene-pod-left{left:20px;transform:rotate(-14deg);background-image:url('assets/world-meadow.webp')}.scene-pod-right{right:18px;transform:rotate(13deg);background-image:url('assets/world-sky.webp')}.hero-medallion{position:absolute;left:83px;top:0;width:90px;height:137px;border:1px solid #b6cbdc;border-radius:46px 46px 8px 8px;background:radial-gradient(ellipse at 50% 45%,#fffdf6 30%,#eef4f2 75%);box-shadow:0 5px 13px #3155761c;display:flex;align-items:center;justify-content:center}.hero-medallion::before{content:'';position:absolute;inset:5px;border:1px solid #d7c49c;border-radius:40px 40px 4px 4px}.hero-medallion img{height:116px;width:100px;object-fit:contain;position:relative;transform:rotate(-5deg)}.orbit-ring{position:absolute;inset:11px 1px 1px;border:1px solid #a9bed744;border-radius:50%;transform:rotate(-12deg);z-index:-2}.orbit-ring::before,.orbit-ring::after{content:'';position:absolute;width:5px;height:5px;transform:rotate(45deg);background:#c4a96d}.orbit-ring::before{left:10px;top:26px}.orbit-ring::after{right:5px;bottom:23px;width:4px;height:4px}.orbit-spark{position:absolute;right:31px;top:-5px;color:#b49757;font-size:18px;transform:rotate(9deg)}.card .eyebrow{font-size:8px;letter-spacing:1.9px;color:#6b87a1}.card h2{font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;font-size:26px;letter-spacing:.35px;color:#244c77;margin:10px 0 11px;line-height:1.4}.card #detail{margin:0;font-size:12px;line-height:1.9;color:#657b8d;white-space:pre-line}.primary{position:relative;display:block;min-width:248px;max-width:100%;margin:19px auto 11px;padding:14px 22px;border-radius:7px;border:1px solid #164570;background:linear-gradient(110deg,#2d639b,#214f80);color:#fffdf3;box-shadow:0 3px 0 #153d67,0 6px 17px #28558524;font-size:14px;font-weight:750;letter-spacing:.3px;transition:background .18s,transform .18s,box-shadow .18s}.primary:hover{background:linear-gradient(110deg,#346da7,#28598f);transform:translateY(-1px);box-shadow:0 4px 0 #153d67,0 8px 20px #28558527}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #153d67}.primary span{margin-left:19px;color:#e5d7ad}.secondary{display:block;margin:12px auto 8px;background:none;color:#4a6d8e;font-size:11px;text-decoration:underline;text-underline-offset:4px}.card .small{font-size:9px;line-height:1.6;color:#61778b;margin:0}.controls{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:20px 2px 22px}.directions,.action-buttons{display:flex;align-items:center;gap:9px}.controls button{height:56px;min-width:63px;border:1px solid #c9d9e5;border-radius:11px;background:#f5f9fc;color:#3d6588;font-size:28px;font-weight:650;box-shadow:0 4px 0 #c8d8e2;touch-action:none;transition:transform .12s,box-shadow .12s,background .12s}.controls button:active,.controls button.held{transform:translateY(3px);box-shadow:0 1px 0 #c8d8e2;background:#e6f0f7}.controls p{font-size:10px;color:#6d8192;text-align:center;line-height:2.15;margin:0}.controls p>span{padding:0 8px;color:#a5b1bc}kbd{display:inline-block;margin:0 2px;padding:0 5px;line-height:1.7;font:inherit;font-size:9px;color:#506f8a;border:1px solid #d5e0e7;border-bottom-width:2px;border-radius:4px;background:#f0f5f8}.controls .small-control{position:relative;min-width:54px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:#edf3f8;color:#56718f;border-color:#ccdae4;box-shadow:0 4px 0 #c0cfdb}.small-control i{font-style:normal;font-size:21px;line-height:1}.small-control span{font-size:11px;line-height:1.2}.small-control small{position:absolute;top:4px;right:5px;color:#8d9cab;font-size:7px}#attack{background:#f3ead7;border-color:#e0d1b1;color:#9d7d43;box-shadow:0 4px 0 #d7c49e}#attack.unavailable{background:#f0f2f1;border-color:#d9dfdf;color:#8d999f;box-shadow:0 4px 0 #d0d8d9}#attack:active,#attack.held,#ride:active,#ride.held{box-shadow:0 1px 0 #b6c9d8}#jump{display:flex;align-items:center;justify-content:center;gap:10px;min-width:133px;padding:0 19px;background:#2c5f93;color:#fffdf1;border-color:#214d7b;box-shadow:0 4px 0 #1c426a}#jump:active,#jump.held{background:#234f80;box-shadow:0 1px 0 #1c426a}#jump span:last-child{font-size:12px;letter-spacing:.3px}.jump-icon{font-size:30px}
.field-guide{margin:0 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.field-guide summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;padding:13px 3px;color:#526c83}.field-guide summary::-webkit-details-marker{display:none}.guide-title{font-size:11px;font-weight:700}.guide-title>span{font-size:15px;color:#8ba2b5;margin-right:7px}.guide-subtitle{font-size:10px;color:#7f91a0}.guide-toggle{margin-left:auto;font-size:18px;color:#8196a8;line-height:1}.field-guide[open] .guide-toggle{transform:rotate(45deg)}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:21px;padding:6px 3px 21px}.guide-grid p{font-size:11px;line-height:1.9;color:#63798c;margin:0}.guide-grid b{display:block;font-size:11px;color:#365a7a;margin-bottom:6px;line-height:1.5}.guide-grid b>span{font-size:8px;letter-spacing:.8px;color:#ac915c;margin-right:5px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:19px}.section-heading .eyebrow{font-size:8px;color:#7791a9;letter-spacing:1.8px}.section-heading h2{font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;font-size:25px;line-height:1.4;letter-spacing:.6px;color:#305778;margin:6px 0 0}.section-heading>p{font-size:10px;line-height:1.7;color:#7a8d9d;margin:0 0 4px}.worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:32px}.world{position:relative;min-width:0;padding:7px 7px 17px;border:1px solid #d7e1e6;border-radius:11px;background:#fffefa;text-align:left;color:#355a7a;box-shadow:0 3px 0 #e7edf0,0 7px 19px #35557507;transition:transform .2s,border-color .2s,box-shadow .2s}.world:not(:disabled):hover{transform:translateY(-3px);border-color:#8eacc4;box-shadow:0 5px 0 #e0e8ed,0 12px 24px #35557512}.world.active{border-color:#7399b9;box-shadow:0 3px 0 #b7cddd,0 6px 22px #3555750e}.world.active::after{content:'';position:absolute;left:19px;right:19px;bottom:-2px;height:3px;background:#ae935e;border-radius:2px}.world-art{position:relative;display:block;width:100%;height:153px;overflow:hidden;border-radius:6px;background:#dfebee}.world-art img{position:absolute;top:0;left:0;display:block;width:100%;height:145%;object-fit:cover;object-position:50% 0;filter:saturate(.9);transition:transform .4s}.world:not(:disabled):hover .world-art img{transform:scale(1.035)}.world-art::after{content:'';position:absolute;inset:0;border:1px solid #ffffff63;border-radius:6px;background:linear-gradient(0deg,#fdfbf21a,transparent 40%)}.world-number{position:absolute;top:10px;left:10px;display:flex;align-items:center;justify-content:center;width:29px;height:32px;background:#fffdf1e8;border:1px solid #e1d4b5;border-radius:3px;color:#5a7590;font-family:Georgia,serif;font-size:14px;box-shadow:0 2px 6px #385a7414;z-index:1}.world-copy{display:block;padding:13px 11px 0}.world-copy small{display:block;font-size:8px;font-weight:750;letter-spacing:2px;color:#8096a8;margin-bottom:5px}.world-copy strong{display:block;font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;font-size:18px;line-height:1.4;font-weight:700;letter-spacing:.5px}.world-copy>span{display:block;font-size:10px;line-height:1.5;color:#8393a0;margin-top:6px}.world-mark{position:absolute;right:17px;bottom:33px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #c7d6e1;border-radius:50%;font-size:14px;font-weight:500;color:#547a9a;background:#f6f9fb}.world:disabled{color:#657d91;background:#fbfcf8}.world:disabled .world-art img{filter:saturate(.6);opacity:.83}.world:disabled .world-mark{font-size:0;border-color:#d6e0e5;background:#fafbf8}.world:disabled .world-mark::before{content:'';position:absolute;width:7px;height:6px;border:1px solid #97aab8;border-radius:1px;left:7px;top:10px}.world:disabled .world-mark::after{content:'';position:absolute;width:5px;height:5px;border:1px solid #97aab8;border-bottom:0;border-radius:4px 4px 0 0;left:8px;top:5px}.world[data-level="1"] .world-art{background:#dce6da}.world[data-level="3"] .world-art{background:#ccd9e1}.world[data-level="4"] .world-art{background:#e8e2dd}.world[data-level="5"] .world-art{background:#d6dce7}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:17px;color:#8b9baa;font-size:9px;letter-spacing:.4px}footer>span:last-child{font-size:7px;letter-spacing:1.5px}footer i{font-size:10px;font-style:normal;color:#b29b65;margin:0 7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes console-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){main{padding-left:24px;padding-right:24px}.tag{font-size:7px;letter-spacing:1.1px;gap:8px}.tag i{width:11px}h1{font-size:28px}.intro-note p{font-size:10px}.world-badge{width:49px;height:49px}.world-badge b{font-size:21px}.controls p{display:none}.world-art{height:133px}.world-copy{padding-left:9px;padding-right:9px}.world-copy strong{font-size:16px}.world-copy>span{font-size:9px}.world-mark{right:14px;bottom:31px}.guide-grid{grid-template-columns:repeat(2,1fr);gap:17px 28px}.hud{grid-template-columns:138px minmax(0,1fr) 96px}.hud-stage{font-size:11px;gap:8px}.hud-stage small{padding-right:8px}.power-status small{font-size:9px}.card{padding:20px 28px;width:435px}.card-character{height:118px;width:230px;margin-bottom:13px}.scene-pod{width:85px;height:106px}.hero-medallion{left:75px;width:84px;height:122px}.hero-medallion img{height:105px}.card h2{font-size:24px}.card #detail{font-size:11px}.primary{font-size:13px;margin-top:17px}}
@media(max-width:700px){main{padding:16px 16px 20px}header{gap:12px;padding-bottom:13px}.tag{display:none}.brand-sun{width:36px;height:36px}.brand>span:last-child{font-size:19px}.brand small{font-size:8px;letter-spacing:2px}.icon-button{width:40px;height:40px}.intro{padding:20px 0}.intro-note{display:none}h1{font-size:27px}.eyebrow{font-size:8px}.play-caption{font-size:7px;letter-spacing:1.4px;margin-bottom:7px}.play-caption>span:last-child{font-size:9px}.game-shell{border-radius:12px}.hud{min-height:54px;padding:7px 11px;grid-template-columns:109px minmax(0,1fr) 71px;gap:7px}.hud-pill{font-size:17px;gap:4px}.hud small{font-size:8px}.coin-symbol{font-size:18px}.oneup-progress{font-size:8px}.hud-stage{flex-direction:column;gap:3px;font-size:10px;line-height:1.3}.hud-stage small{font-size:8px;letter-spacing:1px;border:0;padding:0}.hearts{font-size:13px;letter-spacing:1px}.status-rail{min-height:37px;padding:7px 11px;gap:9px}.power-status{gap:4px 7px}.power-status>b{font-size:9px;padding-right:7px}.power-status #power-time{font-size:9px}#flight-meter{width:78px}.power-status small{font-size:9px}.boss-hud{width:155px;gap:7px}.boss-hud>span{font-size:8px}.controls{padding:18px 1px 20px;gap:13px}.controls button{min-width:57px;height:56px}.controls .small-control{min-width:50px}.directions,.action-buttons{gap:8px}#jump{min-width:112px;padding:0 14px;gap:8px}.field-guide{margin-bottom:25px}.field-guide summary{padding:12px 2px}.guide-grid{gap:17px 23px;padding:5px 2px 19px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:22px}.section-heading>p{font-size:9px}.worlds{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:25px}.world-art{height:140px}.world-copy{padding:12px 10px 0}.world-copy strong{font-size:17px}.world-copy>span{font-size:10px}.world-mark{right:17px;bottom:33px}.card{width:390px;padding:18px 23px 20px}.card-character{width:220px;height:110px;margin-bottom:12px}.scene-pod{width:81px;height:98px}.hero-medallion{left:72px;width:79px;height:115px}.hero-medallion img{height:98px;width:86px}.card h2{font-size:23px;margin:9px 0 10px}.card .eyebrow{font-size:7px;letter-spacing:1.6px}.card #detail{font-size:11px}.primary{min-width:227px;padding:13px 20px}.card .small{font-size:8px}.toast{bottom:13px;font-size:11px;padding:9px 13px}footer{font-size:8px}footer>span:last-child{font-size:6px;letter-spacing:1.1px}}
@media(max-width:520px){main{padding:13px 12px max(17px,env(safe-area-inset-bottom))}header{gap:8px;padding-bottom:12px}.brand{gap:8px}.brand-sun{width:32px;height:32px}.brand>span:last-child{font-size:17px;letter-spacing:1.3px}.brand small{font-size:7px;letter-spacing:1.6px;margin-top:6px}.toolbar{gap:5px}.icon-button{width:41px;height:41px;border-radius:9px;font-size:22px}.icon-button span{font-size:7px}.intro{padding:17px 0 18px}h1{font-size:24px;letter-spacing:.3px;margin-top:7px}.intro .eyebrow{font-size:7px;letter-spacing:1.2px}.intro .eyebrow::before{width:14px;margin-right:7px}.play-caption{font-size:7px;letter-spacing:1.1px;margin:0 1px 7px}.play-caption>span:last-child{font-size:8px;letter-spacing:.3px}.game-shell{border-radius:11px}.hud{grid-template-columns:87px minmax(0,1fr) 51px;min-height:52px;padding:7px 9px;gap:6px}.hud-coins{column-gap:4px}.hud-pill{font-size:16px}.coin-symbol{font-size:16px}.oneup-progress{font-size:7px;letter-spacing:0;white-space:nowrap}.hud-stage{font-size:10px;gap:3px;line-height:1.3}.hud-stage small{font-size:7px}.hearts{font-size:12px;letter-spacing:0}canvas{aspect-ratio:480/540}.status-rail{padding:7px 9px;min-height:37px;gap:8px}.power-status{flex:1;gap:4px 6px}.power-status>b{font-size:9px;max-width:100%;overflow-wrap:anywhere}.power-status small{font-size:8px}.power-status #power-time{font-size:8px;padding:2px 5px}#flight-meter{width:72px;height:6px}.boss-hud{width:119px;max-width:43%;display:block}.boss-hud>span{display:block;font-size:8px;text-align:right;line-height:1.3}.boss-hud>div{width:100%;margin-top:4px;height:5px}.boss-hud[hidden]{display:none}.status-rail:has(.boss-hud:not([hidden])) .power-status{max-width:calc(100% - 127px)}.rail-ornament{font-size:11px}.controls{gap:10px;padding:17px 0 18px}.controls button{min-width:52px;height:55px;border-radius:10px;font-size:26px}.controls .small-control{min-width:47px}.directions,.action-buttons{gap:7px}.small-control span{font-size:10px}.small-control i{font-size:20px}.small-control small{font-size:6px}#jump{min-width:94px;padding:0 11px;gap:7px}#jump span:last-child{font-size:11px}.jump-icon{font-size:28px}.field-guide{margin-bottom:25px}.field-guide summary{gap:11px;padding:12px 1px}.guide-title{font-size:11px}.guide-subtitle{font-size:9px}.guide-grid{gap:16px 20px}.guide-grid p{font-size:11px;line-height:1.8}.guide-grid b{font-size:11px}.guide-grid b>span{font-size:8px;display:block;margin-bottom:3px}.section-heading{align-items:center;gap:10px;margin-bottom:14px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.section-heading h2{font-size:21px;letter-spacing:.2px;margin-top:6px}.section-heading>p{font-size:8px;max-width:80px;line-height:1.8;margin:0}.worlds{gap:10px;margin-bottom:25px}.world{padding:5px 5px 14px;border-radius:9px}.world-art{height:100px;border-radius:5px}.world-art::after{border-radius:5px}.world-number{width:23px;height:26px;top:7px;left:7px;font-size:12px}.world-copy{padding:10px 6px 0}.world-copy small{font-size:7px;letter-spacing:1.5px;margin-bottom:4px}.world-copy strong{font-size:14px;letter-spacing:.2px;line-height:1.5}.world-copy>span{font-size:9px;margin-top:5px}.world-mark{width:20px;height:20px;right:10px;bottom:31px;font-size:11px}.world:disabled .world-mark::before{left:5px;top:8px}.world:disabled .world-mark::after{left:6px;top:3px}.world.active::after{left:13px;right:13px}.overlay{padding:13px}.card{padding:17px 17px 19px;width:340px;border-radius:12px}.card::before{inset:7px;border-radius:7px}.card::after{bottom:6px;font-size:8px}.card-character{width:200px;height:101px;margin-bottom:12px}.scene-pod{width:75px;height:91px;top:9px;border-width:3px}.scene-pod-left{left:15px}.scene-pod-right{right:14px}.hero-medallion{left:64px;top:0;width:75px;height:106px}.hero-medallion img{height:91px;width:80px}.orbit-spark{right:23px;top:-3px;font-size:16px}.card h2{font-size:22px;letter-spacing:0;margin:8px 0 10px;line-height:1.4}.card #detail{font-size:11px;line-height:1.8}.card .eyebrow{font-size:7px;letter-spacing:1.3px}.primary{min-width:215px;font-size:13px;padding:12px 17px;margin:16px auto 10px}.card .small{font-size:8px}.secondary{font-size:10px}.toast{max-width:91%;font-size:10px;padding:8px 12px;bottom:12px}footer{align-items:flex-start;font-size:8px;line-height:1.8;gap:12px}footer>span:last-child{max-width:115px;text-align:right;font-size:6px;letter-spacing:1px}footer i{font-size:8px;margin:0 4px}}
@media(max-width:360px){main{padding-left:10px;padding-right:10px}.brand{gap:6px}.brand-sun{width:29px;height:29px}.brand>span:last-child{font-size:15px;letter-spacing:1px}.brand small{font-size:6px;letter-spacing:1.5px}.toolbar{gap:4px}.icon-button{width:39px;height:39px;font-size:21px}.intro{padding-top:16px;padding-bottom:17px}h1{font-size:21px;letter-spacing:0}.play-caption>span:last-child{font-size:7px}.hud{grid-template-columns:79px minmax(0,1fr) 48px;padding-left:8px;padding-right:8px;gap:4px;min-height:53px}.hud-stage{font-size:9px}.hud-stage small{font-size:7px}.hearts{font-size:11px}.oneup-progress{font-size:7px}.status-rail{padding:6px 8px}.power-status>b{font-size:8px}.power-status small{font-size:8px}.controls{gap:8px}.controls button{min-width:44px;height:53px}.directions{gap:6px}.action-buttons{gap:6px}.controls .small-control{min-width:44px}.small-control small{display:none}.small-control span{font-size:9px}#jump{min-width:80px;padding:0 8px;gap:5px}#jump span:last-child{font-size:10px}.jump-icon{font-size:25px}.guide-subtitle{font-size:8px}.section-heading h2{font-size:18px}.section-heading>p{max-width:72px;font-size:7px}.world-art{height:91px}.world-copy{padding-left:5px;padding-right:5px}.world-copy strong{font-size:13px}.world-copy>span{font-size:8px}.world-mark{right:8px;bottom:29px;width:18px;height:18px;font-size:10px}.world:disabled .world-mark::before{left:4px;top:7px}.world:disabled .world-mark::after{left:5px;top:2px}.overlay{padding:11px}.card{padding:15px 13px 18px}.card-character{height:83px;width:176px;margin-bottom:11px}.scene-pod{width:63px;height:76px;top:7px}.hero-medallion{left:56px;width:66px;height:88px}.hero-medallion img{height:77px;width:72px}.orbit-spark{right:19px;font-size:14px}.card h2{font-size:19px;margin-bottom:9px}.card #detail{font-size:10px}.card .eyebrow{font-size:6px;letter-spacing:1.2px}.primary{min-width:197px;padding:11px 13px;font-size:12px;margin-top:14px}.card .small{font-size:7px}}
/* Short landscapes reserve a side toolbar and keep every touch control available. */
@media(max-height:540px) and (orientation:landscape){main{position:relative;width:100%;max-width:none;padding:8px 48px 8px 8px}header{position:absolute;right:8px;top:8px;width:32px;padding:0;margin:0;border:0;display:block}.brand,.tag,.intro,.play-caption,.field-guide,.journey,footer{display:none}.toolbar{display:flex;flex-direction:column;gap:7px}.icon-button{width:32px;height:34px;font-size:20px;border-radius:8px}.icon-button span{font-size:6px}.game-shell{width:min(100%,calc((100dvh - 138px)*1.77778));max-width:740px;margin:auto;border-radius:10px}.hud{min-height:32px;height:32px;padding:4px 9px;grid-template-columns:95px minmax(0,1fr) 67px;gap:6px}.hud-pill{font-size:13px}.coin-symbol{font-size:15px}.hud small{font-size:7px}.hud-coins{column-gap:4px;row-gap:0;flex-wrap:nowrap}.oneup-progress{font-size:6px;line-height:1.2;flex-basis:auto;max-width:42px;white-space:normal}.hud-stage{font-size:8px;flex-direction:row;gap:5px;line-height:1.3}.hud-stage small{font-size:7px;letter-spacing:0}.hearts{font-size:10px;letter-spacing:0}.game-shell canvas{width:100%;height:auto;aspect-ratio:960/540}.status-rail{min-height:28px;height:28px;padding:4px 9px;gap:7px}.power-status{flex-wrap:nowrap;gap:6px}.power-status>b,.power-status #power-time{font-size:8px}.power-status>b{white-space:nowrap;padding-right:6px}.power-status small{display:none!important}#flight-meter{width:58px;height:5px}.boss-hud{width:150px;max-width:44%;display:flex;gap:6px}.boss-hud>span{font-size:7px}.boss-hud>div{margin:0;min-width:38px;height:5px}.status-rail:has(.boss-hud:not([hidden])) .power-status{max-width:none}.rail-ornament{font-size:10px}.controls{width:min(100%,calc((100dvh - 138px)*1.77778));max-width:740px;margin:auto;padding:9px 0 0;gap:8px}.controls button,.controls .small-control{height:43px;min-width:45px;border-radius:9px}.directions,.action-buttons{gap:6px}.controls p{display:none}.small-control i{font-size:18px}.small-control span{font-size:9px}.small-control small{display:none}#jump{min-width:90px;padding:0 10px;gap:7px}#jump span:last-child{font-size:10px}.jump-icon{font-size:25px}.overlay{padding:10px;align-items:flex-start}.card{width:375px;padding:13px 22px 17px;max-width:100%;margin:auto 0}.card-character{display:none}.card h2{font-size:20px;margin:6px 0 8px}.card #detail{font-size:10px;line-height:1.65}.card .eyebrow{font-size:7px}.primary{padding:9px 18px;min-width:205px;margin:12px auto 8px;font-size:12px}.card .small{font-size:7px}.secondary{font-size:9px;margin:8px auto}.toast{font-size:9px;padding:6px 10px;bottom:9px;max-width:90%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;animation:none!important;transition:none!important}.world:not(:disabled):hover,.world:not(:disabled):hover .world-art img,.primary:hover,.icon-button:hover,.hearts.celebrate{transform:none}}

/* A very narrow landscape keeps the 480×540 logical camera undistorted. */
@media(max-width:520px) and (max-height:540px) and (orientation:landscape){.game-shell,.controls{width:100%;max-width:100%}.game-shell canvas{height:calc(100dvh - 138px);width:100%;aspect-ratio:auto;object-fit:contain;background:#e1ebef}.hud{grid-template-columns:80px minmax(0,1fr) 50px}.hud-stage{font-size:8px}.hud-stage small{font-size:6px}.oneup-progress{font-size:6px}.boss-hud{width:120px}.controls .small-control{min-width:44px}.controls button{min-width:44px}#jump{min-width:82px}}

/* V11: sculpted console, luminous toy-scene opening, and raised world-map tiles.
   Geometry and responsive input contracts above are deliberately retained. */
:root{--ink:#1d3c53;--blue:#247d87;--blue-dark:#175765;--muted:#a7bdca;--paper:#142d43;--line:#3a566b;--gold:#edc66c;--wash:#234359;--white:#fff9e9;--round-font:ui-rounded,'Hiragino Maru Gothic ProN','Yu Gothic',system-ui,sans-serif}
body{color:#e5f1f2;background:radial-gradient(ellipse at 0 4%,#2e6e7d80,transparent 43%),radial-gradient(ellipse at 100% 34%,#25567570,transparent 42%),linear-gradient(165deg,#17384f,#102a40 62%,#18364a);font-family:var(--round-font)}
header{border-color:#4d6a7b60}.brand{color:#fff3d2}.brand-sun{padding:4px;border:1px solid #f7e2a5;border-radius:12px;background:radial-gradient(circle at 27% 18%,#fff5c1,#e5ba64 82%);box-shadow:inset 0 1px 0 #fffbe0,0 3px 0 #8e753a,0 5px 9px #031b2b33;color:#294d5e}.brand-sun circle:nth-of-type(1){fill:#fff9d944}.brand>span:last-child{font-family:var(--round-font);font-weight:850;letter-spacing:1px;text-shadow:0 2px 0 #0c2437}.brand small{font-family:var(--round-font);font-weight:650;color:#a5c3cf;letter-spacing:2px;text-shadow:none}.tag{font-weight:700;color:#96b7c8;letter-spacing:1.3px}.tag i{height:2px;background:#c4a15f;border-radius:2px}.icon-button{border-color:#e9eee5;border-radius:12px;color:#365b6b;background:linear-gradient(155deg,#fffdf0,#dce9e6);box-shadow:inset 0 1px 0 #ffffff,0 3px 0 #819eaa,0 6px 9px #061d2a3b}.icon-button:hover{background:linear-gradient(155deg,#fffef5,#e7f2ec);border-color:#ffffff;box-shadow:inset 0 1px 0 #fff,0 4px 0 #819eaa,0 7px 12px #061d2a55}
h1,.card h2,.section-heading h2,.world-copy strong{font-family:var(--round-font);font-weight:800}h1{color:#fbf5df;letter-spacing:-.3px;text-shadow:0 3px 0 #0c263b}h1 em{color:#9cddd3}h1 em::after{background:#79b6ac22;border-radius:5px;transform:none;height:5px}.eyebrow,.intro .eyebrow{color:#96c8cf;letter-spacing:1.6px;font-weight:750}.intro .eyebrow::before{height:4px;width:14px;border-radius:4px;background:#efc56b;box-shadow:0 2px 0 #8a744a}.intro-note p{color:#a7c0cd}.world-badge{border:2px solid #84b8b9;outline:0;border-radius:18px;background:linear-gradient(145deg,#2e6976,#1a435d);box-shadow:inset 0 2px 0 #98d7d233,0 4px 0 #0c293d,0 6px 15px #071e2c35;color:#e5d39a;transform:rotate(-5deg)}.world-badge b{font-family:var(--round-font);font-weight:850}.world-badge small{color:#b6d5d7;font-weight:800;letter-spacing:1.2px}.play-caption{color:#8eb7c4;font-weight:800;letter-spacing:1.4px}.play-caption i{border-radius:2px;transform:none;background:#ebc16a;box-shadow:0 1px 0 #806f49}.play-caption>span:last-child{color:#a6beca}
.game-shell{border-color:#94b6c3;border-radius:22px;background:#eff3df;box-shadow:0 0 0 3px #b7d3cb35,0 7px 0 #0b2135,0 24px 48px #04132166}.hud{background:linear-gradient(180deg,#fffdf0,#e9eee1);border-bottom:1px solid #a9c2c7;box-shadow:inset 0 1px 0 #fff;font-family:var(--round-font)}.hud-pill{font-weight:800}.hud-coins b{color:#335963;font-weight:850}.coin-symbol{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid #c3913f;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff0aa,#e6bb59 75%);box-shadow:inset 0 1px 0 #fff7bf,0 2px 0 #b48b3d;color:#a4752e;font-size:16px;text-shadow:0 1px 0 #fff1b4}.hud small{color:#6c807f}.oneup-progress{color:#4f706d;font-weight:700}.hud-stage{color:#365764;font-weight:750;letter-spacing:0}.hud-stage small{font-weight:800;color:#297b80}.hearts{color:#cc7f69;text-shadow:0 1px 0 #fff2e7,0 2px 0 #ac635240}.hearts.celebrate{color:#aa8234;text-shadow:0 0 12px #efd687}.status-rail{background:linear-gradient(180deg,#f4f5e8,#e6ede0);border-top-color:#b2c9cb;box-shadow:inset 0 -1px 0 #fff8}.power-status{color:#385f65}.power-status>b{color:#34666d;border-color:#c3d4cf;font-weight:800}.power-status small{color:#4b6c70}.power-status #power-time{color:#8e6c27;background:#f5e2a6;border:1px solid #dcc381;box-shadow:inset 0 1px 0 #fff6c5}#flight-meter{border-color:#a8c8c7;background:#cee0dc;box-shadow:inset 0 1px 2px #387c7429}#flight-fill{background:linear-gradient(180deg,#a3e4d0,#51aeb1);box-shadow:inset 0 1px 0 #d9fff2}.rail-ornament{color:#aa9559}.boss-hud>span{color:#915f4c;font-weight:800}.boss-hud>div{background:#ddcbb7;box-shadow:inset 0 1px 3px #70544630}.boss-hud i{background:linear-gradient(180deg,#f3b56d,#ba7054);box-shadow:inset 0 1px 0 #ffe1b0}.progress-track{background:#dcebe844}.progress-track span{background:linear-gradient(90deg,#7ac7b8,#f1d284);box-shadow:0 0 9px #c8f7dc77}.toast{background:#173d55f0;border-color:#bdd8d099;color:#fff6dd;border-radius:12px;box-shadow:0 4px 0 #09273b55,0 9px 20px #09273b33;font-weight:650}
/* The hero is still the supplied drawing; CSS adds a scene/pedestal, never a replacement face. */
.overlay{background:#102f4b52;backdrop-filter:blur(3px)}.card{border:1px solid #f5f1d9;border-radius:25px;background:radial-gradient(ellipse at 50% 0,#d4f0e9,transparent 53%),linear-gradient(160deg,#fffdf0,#edf1df);box-shadow:inset 0 2px 0 #fffef8,0 5px 0 #a4bdb5,0 9px 0 #16384a33,0 22px 55px #081f3a66}.card::before{inset:7px;border-color:#d2dfd4;border-radius:19px;box-shadow:inset 0 1px 0 #ffffffaa}.card::after{display:none}.card .eyebrow{color:#4e9296;font-weight:850;letter-spacing:1.5px}.card h2{color:#244e65;letter-spacing:-.2px;text-shadow:0 1px 0 #fff}.card #detail{color:#546f79;font-weight:500}.card .small{color:#546f79}.card-character{isolation:isolate}.scene-pod{border:4px solid #f7f5df;border-radius:22px;outline:1px solid #79a4b6;background-color:#a0cbd1;box-shadow:inset 0 2px 4px #ffffffbb,0 5px 0 #779fa7,0 9px 16px #315a6b39;background-size:auto 133%;background-position:center 13%;z-index:-1}.scene-pod::after{inset:3px;border:1px solid #e9f8df99;border-radius:16px;background:linear-gradient(150deg,#ffffff26,transparent 45%)}.scene-pod-left{transform:rotate(-12deg) translateY(1px)}.scene-pod-right{transform:rotate(11deg) translateY(-1px)}.hero-medallion{border:2px solid #f9f5d7;border-radius:49% 49% 42% 42%;background:radial-gradient(ellipse at 42% 32%,#fffff2 10%,#d3f0dc 57%,#79b5b9 100%);box-shadow:inset 0 2px 4px #fff,0 5px 0 #5c929d,0 9px 15px #294f6833;z-index:1}.hero-medallion::before{inset:5px;border-radius:46% 46% 40% 40%;border:1px solid #fff4baad;box-shadow:inset 0 1px 1px #fff9}.hero-medallion img{filter:drop-shadow(0 1px 0 #fffff5) drop-shadow(1px 3px 1px #457a7e42);transform:rotate(-4deg)}.toy-pedestal{position:absolute;z-index:2;left:50%;bottom:-9px;transform:translateX(-50%);width:59%;height:17px;border:1px solid #d4cc9d;border-radius:50%;background:linear-gradient(180deg,#fff9d9,#d4dfc5);box-shadow:inset 0 2px 0 #fffbe9,0 5px 0 #5d9698,0 10px 13px #244a6533;pointer-events:none}.orbit-ring{inset:12px 0 0;border:2px solid #78babb38;transform:rotate(-16deg);box-shadow:0 0 20px #8ad7c52b}.orbit-ring::before,.orbit-ring::after{border-radius:50%;background:radial-gradient(circle at 25% 25%,#fff5b7,#d9ab54);box-shadow:0 2px 0 #b58c43;transform:none;width:7px;height:7px}.orbit-spark{color:#d3a450;text-shadow:0 1px 0 #fff2b1,0 3px 0 #a77b3b40;transform:rotate(13deg)}.scene-cube{position:absolute;left:14px;bottom:0;width:13px;height:13px;border-radius:4px;transform:rotate(-15deg);background:linear-gradient(140deg,#b3eee0,#5caab1);box-shadow:inset 1px 1px 0 #dbfff0,2px 3px 0 #4e879b;z-index:2}.primary{border:1px solid #d3aa50;border-radius:15px;color:#294f5c;background:linear-gradient(180deg,#ffdf88,#edbe57);box-shadow:inset 0 2px 0 #fff2b1,0 5px 0 #a97c36,0 8px 16px #8e6d3322;font-weight:850;letter-spacing:.4px}.primary:hover{background:linear-gradient(180deg,#ffe8a2,#f4c76a);box-shadow:inset 0 2px 0 #fff6c6,0 6px 0 #a97c36,0 10px 20px #8e6d332b}.primary:active{box-shadow:inset 0 1px 0 #fff2b1,0 2px 0 #a97c36}.primary span{color:#a57a36}.secondary{color:#4f818d;font-weight:650}
/* Dimensional keycaps: depth is decoration only; hit targets and input events are unchanged. */
.controls button{border-color:#edf4e9;border-radius:15px;background:linear-gradient(155deg,#fffdf0,#d5e6e1);color:#3b6675;box-shadow:inset 0 2px 0 #fffef8,0 5px 0 #7c9ba9,0 8px 12px #061e303d;font-weight:800}.controls button:active,.controls button.held{background:linear-gradient(155deg,#e8f5e8,#c4dcda);box-shadow:inset 0 1px 3px #91afad44,0 2px 0 #7c9ba9}.controls .small-control{background:linear-gradient(155deg,#dff3ec,#adcfce);color:#205669;border-color:#dff3e9;box-shadow:inset 0 2px 0 #f5fff5,0 5px 0 #6d96a4,0 8px 12px #061e3038}.small-control span{font-weight:750}.small-control small{color:#6d909c}#attack{background:linear-gradient(155deg,#ffe8b1,#ddbb73);border-color:#eed9a1;color:#5c4423;box-shadow:inset 0 2px 0 #fff4c8,0 5px 0 #a58b56,0 8px 12px #061e3038}#attack.unavailable{background:linear-gradient(155deg,#e6ece5,#bdcfce);border-color:#d9e6e0;color:#76969c;box-shadow:inset 0 1px 0 #f3f8ed,0 5px 0 #7f9aa5,0 8px 12px #061e3038}#attack:active,#attack.held,#ride:active,#ride.held{box-shadow:inset 0 1px 2px #6d949a33,0 2px 0 #7798a3}#jump{background:linear-gradient(160deg,#89d8c8,#4ba7ad);color:#102b3b;border-color:#98e1d1;box-shadow:inset 0 2px 0 #bbf3dd,0 5px 0 #216679,0 8px 15px #061e304d;text-shadow:0 1px 0 #c4f3e1}#jump:active,#jump.held{background:linear-gradient(160deg,#73c9bc,#459ba5);box-shadow:inset 0 1px 3px #267f8f55,0 2px 0 #216679}.controls p{color:#aec4d0}kbd{color:#d6e9e8;background:#244a5e;border-color:#52798a;box-shadow:0 1px 0 #08263b}.controls p>span{color:#6d94a7}
.field-guide{border-color:#55728270}.field-guide summary{color:#c1d9df}.guide-title{font-weight:750}.guide-title>span{color:#84b8bc}.guide-subtitle{color:#8faebb}.guide-toggle{color:#a2c3c8}.guide-grid p{color:#adc5d0}.guide-grid b{color:#d2e7e7;font-weight:750}.guide-grid b>span{color:#d2b46e}
/* Six separate raised destinations sit on a quiet, map-like route board. */
.journey{position:relative;padding:22px 20px 20px;margin-bottom:28px;border:1px solid #456c7d;border-radius:26px;background:radial-gradient(ellipse at 7% 3%,#2d6e7561,transparent 55%),linear-gradient(155deg,#203f55,#18354d);box-shadow:inset 0 1px 0 #6b91a13b,0 6px 0 #0b263c,0 18px 28px #061b2d29}.section-heading .eyebrow{font-weight:800;color:#85b7bc;letter-spacing:1.5px}.section-heading h2{color:#f4efdc;letter-spacing:-.3px;text-shadow:0 2px 0 #0c2a3e}.section-heading>p{color:#a4bec9}.worlds{position:relative;margin-bottom:0;isolation:isolate}.worlds::before{content:'';position:absolute;inset:20% 0 18%;border:2px dashed #75a6a74a;border-radius:80px;z-index:-1;pointer-events:none}.world{--tile:#7ebf9d;--tile-deep:#4d887a;border:1px solid #edf4e2;border-radius:18px;background:linear-gradient(160deg,#fffcef,#e7eee0);box-shadow:inset 0 2px 0 #fffef8,0 5px 0 var(--tile-deep),0 10px 16px #061f3045;color:#325966}.world:not(:disabled):hover{border-color:#e9fff0;box-shadow:inset 0 2px 0 #fff,0 7px 0 var(--tile-deep),0 15px 20px #041d304d;transform:translateY(-3px)}.world.active{border-color:#fae4a3;box-shadow:inset 0 2px 0 #fff8d8,0 0 0 2px #d5b66c,0 6px 0 #9c8048,0 13px 20px #061f3048}.world.active::after{height:4px;bottom:-3px;background:linear-gradient(90deg,#b28b46,#f1d17d,#b28b46);border-radius:4px}.world-art{border-radius:12px;background:linear-gradient(150deg,#9ad2bf,#cde7d3);box-shadow:inset 0 2px 6px #2d6b7922}.world-art::after{border:1px solid #ffffff80;border-radius:12px;background:linear-gradient(160deg,#ffffff1c,transparent 32%,#133a4c0d)}.world-art img{filter:saturate(1.08);object-position:50% 0}.world-number{border:1px solid #f3efcf;border-radius:10px;background:linear-gradient(150deg,#fffbed,#e6e7ca);color:#396779;font-family:var(--round-font);font-weight:850;box-shadow:inset 0 1px 0 #fff,0 3px 0 #839f9a,0 6px 10px #19465b22}.world-copy small{color:#3c727c;font-weight:850;letter-spacing:1.5px}.world-copy strong{color:#325966;letter-spacing:0}.world-copy>span{color:#4d6974}.world-mark{border-color:#c3d8d0;color:#4f9295;background:linear-gradient(150deg,#fbfff0,#d5e9db);box-shadow:inset 0 1px 0 #fff,0 2px 0 #a5c2b6;font-weight:800}.world:disabled{color:#527581;background:linear-gradient(155deg,#eaf0e6,#d9e6dd);border-color:#cddfd7;box-shadow:inset 0 1px 0 #f7fff0,0 5px 0 var(--tile-deep),0 9px 14px #061f3033}.world:disabled .world-art img{filter:saturate(.78);opacity:.87}.world:disabled .world-mark{background:linear-gradient(155deg,#e5eee4,#c7dcd3);border-color:#bbd2c8;box-shadow:inset 0 1px 0 #f3fff1,0 2px 0 #9cb7ad}.world:disabled .world-mark::before,.world:disabled .world-mark::after{border-color:#7b9f9f}.world[data-level="1"]{--tile:#80b497;--tile-deep:#4c8272}.world[data-level="2"]{--tile:#6abdc5;--tile-deep:#3d8297}.world[data-level="3"]{--tile:#a5accd;--tile-deep:#667b9c}.world[data-level="4"]{--tile:#d6bda4;--tile-deep:#9a8ba1}.world[data-level="5"]{--tile:#c3a27e;--tile-deep:#8b7465}.world[data-level="1"] .world-art{background:#9cc7ad}.world[data-level="2"] .world-art{background:#80cbd0}.world[data-level="3"] .world-art{background:#94a9c0}.world[data-level="4"] .world-art{background:#d4c4bb}.world[data-level="5"] .world-art{background:#b8aaa3}
footer{border-color:#526b7d63;color:#8faebf}footer i{color:#d0b36a}footer>span:last-child{color:#789cab}
@media(max-width:700px){.game-shell{border-radius:17px;box-shadow:0 0 0 2px #b7d3cb2b,0 6px 0 #0b2135,0 18px 35px #04132155}.journey{padding:19px 15px 18px;border-radius:22px}.world{border-radius:15px}.world-art,.world-art::after{border-radius:10px}.card{border-radius:22px}.card::before{border-radius:16px}.brand-sun{border-radius:10px}}
@media(max-width:520px){h1{letter-spacing:-.4px}.brand>span:last-child{font-size:16px;letter-spacing:.8px}.brand small{letter-spacing:1.4px}.icon-button{border-radius:11px}.game-shell{border-radius:15px}.hud-stage{font-weight:750}.coin-symbol{width:17px;height:17px;font-size:13px}.controls button{border-radius:13px}.journey{padding:17px 10px 15px;margin-bottom:25px;border-radius:20px}.section-heading h2{font-size:20px}.section-heading>p{max-width:77px}.world{border-radius:13px;padding-bottom:14px}.world-art,.world-art::after{border-radius:9px}.world-number{border-radius:8px}.world-copy{padding-left:5px;padding-right:5px}.world-copy strong{font-size:13px}.world-copy>span{font-size:8px}.world-copy small{font-size:6px;letter-spacing:1.1px}.world-mark{right:8px;bottom:30px}.card{border-radius:20px}.card::before{border-radius:14px}.scene-pod{border-radius:17px}.scene-pod::after{border-radius:12px}.primary{border-radius:13px}.toy-pedestal{height:14px;bottom:-8px}.scene-cube{width:10px;height:10px;border-radius:3px;left:9px}.orbit-ring::before,.orbit-ring::after{width:5px;height:5px}}
@media(max-width:360px){h1{font-size:20px;letter-spacing:-.6px}.brand>span:last-child{font-size:14px;letter-spacing:.6px}.brand small{font-size:6px;letter-spacing:1.2px}.brand-sun{padding:3px}.journey{padding:16px 9px 14px}.section-heading h2{font-size:18px}.section-heading>p{max-width:69px}.world-copy strong{font-size:12px}.world-copy>span{font-size:7px}.world-mark{right:7px;bottom:28px}.card h2{font-size:19px;letter-spacing:-.3px}.toy-pedestal{height:12px;bottom:-6px}.scene-cube{width:8px;height:8px;left:8px;bottom:1px}}
@media(max-height:540px) and (orientation:landscape){.game-shell{border-radius:12px;box-shadow:0 0 0 2px #b7d3cb22,0 4px 0 #0b2135}.icon-button{border-radius:9px}.controls button,.controls .small-control{border-radius:10px}.card{border-radius:17px}.card::before{border-radius:11px}.primary{border-radius:11px}.coin-symbol{width:15px;height:15px;font-size:12px}.hud-stage{font-weight:750}.world-badge{display:none}.journey{display:none}.card h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.world:not(:disabled):hover,.world:not(:disabled):hover .world-art img,.primary:hover,.icon-button:hover,.hearts.celebrate{transform:none}.card{animation:none}}
/* Compact secondary-action panels on narrow portrait screens; preserve readable copy and tap targets. */
@media(max-width:360px) and (orientation:portrait){
  .card:has(#secondary:not([hidden])){padding:13px 13px 14px}
  .card:has(#secondary:not([hidden])) .card-character{height:56px;margin-bottom:8px;transform:scale(.64);transform-origin:50% 0}
  .card:has(#secondary:not([hidden])) .eyebrow{font-size:7px;line-height:1.4;margin:0}
  .card:has(#secondary:not([hidden])) h2{margin:7px 0 8px}
  .card:has(#secondary:not([hidden])) .primary{margin-top:12px;margin-bottom:9px;min-height:44px}
  .card:has(#secondary:not([hidden])) .secondary{margin:8px auto 7px}
  .card:has(#secondary:not([hidden])) .small{font-size:9px;line-height:1.45}
}

/* v13: readable time, quieter pause/clear cards, no new scenery in dialogs. */
.hud-vitals{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}.stage-timer{display:flex;align-items:baseline;gap:5px;color:#365764;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.05}.stage-timer>span{font-size:8px;letter-spacing:.8px;font-weight:800}.stage-timer>b{font-size:18px;font-weight:850}.stage-timer.urgent{color:#a54532}.overlay.no-scenery .scene-pod{display:none}.timeout-notice{position:absolute;z-index:4;left:50%;top:46%;transform:translate(-50%,-50%);width:min(280px,82%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:23px 20px;border:2px solid #fff1c2;border-radius:21px;background:linear-gradient(155deg,#fff9e3,#ebd7ad);color:#664438;box-shadow:0 5px 0 #896451,0 15px 35px #15314366;pointer-events:none}.timeout-notice[hidden]{display:none}.timeout-notice small{font-size:10px;font-weight:850;letter-spacing:3px;color:#9c5f45}.timeout-notice strong{font-size:30px;letter-spacing:3px}.timeout-notice>span{font-size:12px;font-weight:650}
@media(max-width:520px){.stage-timer{gap:3px}.stage-timer>span{font-size:6px;letter-spacing:.3px}.stage-timer>b{font-size:14px}.hud-vitals{gap:4px}.timeout-notice{padding:18px 15px}.timeout-notice strong{font-size:25px}}
@media(max-height:540px) and (orientation:landscape){.hud-vitals{gap:1px}.hud-vitals .hearts{font-size:9px;line-height:1}.stage-timer{gap:3px}.stage-timer>span{font-size:5px;letter-spacing:.3px}.stage-timer>b{font-size:11px;line-height:1}.timeout-notice{padding:13px;gap:4px}.timeout-notice strong{font-size:22px}.timeout-notice>span{font-size:10px}}

/* v14: one coin counter; focused dialogs without invitation copy or scenery cards. */
.hud-coins{flex-wrap:nowrap}.hud-coins .oneup-progress{flex-basis:auto;max-width:none;font-size:14px;line-height:1.2;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}.card #message[hidden],.card #detail[hidden]{display:none}.card:has(#message[hidden]) .card-character{margin-bottom:18px}.card:has(#message[hidden]) .primary{margin-top:17px}.card:has(#message[hidden]) .eyebrow{letter-spacing:2px}
@media(max-width:700px){.hud-coins .oneup-progress{font-size:12px}}
@media(max-width:520px){.hud-coins .oneup-progress{font-size:10px}.card:has(#message[hidden]) .card-character{margin-bottom:15px}.card:has(#message[hidden]) .primary{margin-top:13px}}
@media(max-width:360px){.hud-coins .oneup-progress{font-size:9px}}
@media(max-height:540px) and (orientation:landscape){.hud-coins .oneup-progress{font-size:9px}.card:has(#message[hidden]) .primary{margin-top:10px}}

/* A short, readable life-loss interlude; no scenery panel or flashing. */
.miss-notice{top:48%;width:min(300px,84%);gap:5px;padding:16px 22px 15px;background:linear-gradient(155deg,#fff9e8,#e5ede1);border-color:#fff1c9;color:#345361;box-shadow:0 4px 0 #8da89f,0 15px 35px #15314355;animation:miss-arrive .2s ease-out both}.miss-emblem{width:45px;height:52px;display:flex;align-items:center;justify-content:center;margin:-3px auto 1px;border:1px solid #d8cda2;border-radius:50%;background:#fff8dd}.miss-emblem img{height:46px;width:35px;object-fit:contain}.miss-notice small{font-size:8px;letter-spacing:2.6px;color:#8c7152}.miss-notice strong{font-size:25px;letter-spacing:1px;line-height:1.2}.miss-life{display:flex;align-items:center;justify-content:center;gap:13px;margin:7px 0 5px;padding:7px 17px;border-block:1px solid #b7c5b891;color:#345361}.miss-life>span{font-size:12px;font-weight:700}.miss-life b{font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.miss-life i{font-size:19px;font-style:normal;color:#b56652}.miss-notice>span{font-size:10px;letter-spacing:0;line-height:1.5;text-align:center}.miss-track{width:92px;height:3px;margin-top:6px;border-radius:3px;overflow:hidden;background:#b8c8ba88}.miss-track i{display:block;width:100%;height:100%;background:#6d9c96;transform:scaleX(0);transform-origin:left center}
@keyframes miss-arrive{from{opacity:0;transform:translate(-50%,calc(-50% + 5px))}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:520px){.miss-notice{width:min(270px,84%);padding:14px 17px}.miss-notice strong{font-size:23px}.miss-life{margin:5px 0 4px}.miss-life b{font-size:24px}}
@media(max-height:540px) and (orientation:landscape){.miss-notice{width:255px;max-width:84%;padding:10px 16px;gap:3px}.miss-emblem{display:none}.miss-notice small{font-size:7px}.miss-notice strong{font-size:20px}.miss-life{margin:3px 0;padding:5px 14px;gap:10px}.miss-life>span{font-size:10px}.miss-life b{font-size:22px}.miss-notice>span{font-size:9px}.miss-track{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.miss-notice{animation:none}.miss-track{display:none}}
