:root{--bg:#fff8e6;--bg-grid:#1f25470d;--paper:#fff;--ink:#1f2547;--ink-soft:#464c74;--yellow:#ffcf3f;--yellow-deep:#f5b800;--teal:#19c3c9;--teal-soft:#d8f6f5;--pink:#ff5d8f;--sky:#bfe9ff;--lavender:#ece8ff;--mint:#dbf8e3;--focus:#3b5bff;--radius:22px;--shadow-hard:0 5px 0 var(--ink);--shadow-soft:0 6px 0 #1f254724;--header-h:60px;--bottom-h:68px;--font:"M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);background-size:28px 28px;margin:0;font-size:17px;font-weight:500;line-height:1.7;overflow-x:hidden}img,svg{max-width:100%}h1,h2,h3{margin:0;font-weight:900;line-height:1.3}p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:10px}.muted{color:var(--ink-soft);font-size:.85em;font-weight:700}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:12px;padding:10px 16px;font-weight:800;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.site-header{z-index:40;border-bottom:3px solid var(--ink);background:#fffffff5;position:sticky;top:0}.header-inner{max-width:1200px;height:var(--header-h);align-items:center;gap:12px;margin:0 auto;padding:0 16px;display:flex}.logo{align-items:center;gap:8px;min-width:0;text-decoration:none;display:flex}.logo-mark{font-size:26px}.logo-text{letter-spacing:.06em;font-size:13px;font-weight:900;line-height:1.15}.top-nav{margin-left:auto;display:none}.top-nav ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.top-nav a{border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;padding:6px 12px;line-height:1.2;text-decoration:none;display:flex}.top-nav a:hover{background:var(--teal-soft)}.top-nav a[aria-current=page]{border-color:var(--ink);background:var(--yellow)}.nav-en{letter-spacing:.06em;font-size:14px;font-weight:900}.nav-ja{color:var(--ink-soft);font-size:13px;font-weight:700}.top-nav a[aria-current=page] .nav-ja{color:var(--ink)}.bottom-nav{z-index:40;border-top:3px solid var(--ink);padding-bottom:env(safe-area-inset-bottom);background:#fff;position:fixed;bottom:0;left:0;right:0}.bottom-nav ul{grid-template-columns:repeat(5,1fr);max-width:640px;margin:0 auto;padding:0;list-style:none;display:grid}.bottom-nav a{height:var(--bottom-h);height:calc(var(--bottom-h) - 8px);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:4px 2px;text-decoration:none;display:flex}.bn-icon{font-size:24px;line-height:1}.bn-label{white-space:nowrap;font-size:13px;font-weight:800;line-height:1.2}.bottom-nav a[aria-current=page]{background:var(--yellow);box-shadow:inset 0 0 0 3px var(--ink)}.main{outline:none;max-width:1200px;min-height:60vh;margin:0 auto;padding:20px 16px 32px}.site-footer{text-align:center;padding:24px 16px calc(var(--bottom-h) + 28px + env(safe-area-inset-bottom))}.page-title{margin:4px 0 20px}.page-en{letter-spacing:.16em;background:var(--ink);color:var(--yellow);border-radius:999px;margin-bottom:8px;padding:2px 12px;font-size:13px;font-weight:900;display:inline-block}.page-title h1{font-size:clamp(24px,6.2vw,38px)}.page-lead{color:var(--ink-soft);margin-top:6px;font-weight:700}.back-link{min-height:44px;color:var(--ink-soft);align-items:center;margin-bottom:4px;font-weight:800;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink);text-decoration:underline}.panel{background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:18px}.section-title{text-align:center;margin-bottom:18px;font-size:clamp(22px,5.6vw,34px)}.section-title.small{text-align:left;margin-bottom:12px;font-size:22px}.section-title em,.hero-title em{background:linear-gradient(transparent 58%, var(--yellow) 58%);padding:0 2px;font-style:normal}.btn{border:3px solid var(--ink);cursor:pointer;min-height:52px;box-shadow:var(--shadow-hard);text-align:center;background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:17px;font-weight:900;line-height:1.3;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:0 7px 0 var(--ink);transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{cursor:not-allowed;color:#5d6386;background:#eceef5;border-color:#9da2bf;box-shadow:0 4px #9da2bf}.btn-primary{background:var(--yellow)}.btn-secondary{background:#fff}.btn-on{background:var(--teal)}.btn-off{background:#fff;border-style:dashed}.btn-ghost{box-shadow:none;background:0 0;border-style:dashed;min-height:44px}.btn-big{min-height:60px;padding:12px 24px;font-size:19px}.btn-mega{background:linear-gradient(180deg, #ffe066 0%, var(--yellow) 55%, var(--yellow-deep) 100%);width:min(100%,460px);min-height:84px;box-shadow:0 8px 0 var(--ink);border-width:4px;border-radius:24px;flex-direction:column;gap:0;padding:14px 24px;animation:2.4s ease-in-out infinite mega-pulse}.btn-mega:hover{box-shadow:0 10px 0 var(--ink)!important}.mega-ja{white-space:nowrap;letter-spacing:.02em;font-size:clamp(20px,6vw,30px)}.mega-en{letter-spacing:.2em;font-size:14px;font-weight:900}@keyframes mega-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.toast-layer{top:calc(var(--header-h) + 12px);z-index:60;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;left:0;right:0}.toast{border:3px solid var(--ink);max-width:100%;box-shadow:var(--shadow-hard);background:#fff;border-radius:999px;align-items:center;gap:12px;padding:10px 20px 10px 12px;animation:2.2s forwards toast-in;display:flex}.toast-on{background:linear-gradient(90deg,#fff6c7,#fff)}.toast-full{background:var(--lavender)}.toast-emoji{font-size:32px;line-height:1}.toast-text{flex-direction:column;line-height:1.3;display:flex}.toast-text strong{font-size:18px}.toast-text small{letter-spacing:.12em;color:var(--ink-soft);font-size:13px;font-weight:900}@keyframes toast-in{0%{opacity:0;transform:translateY(-16px)scale(.85)}12%{opacity:1;transform:translateY(0)scale(1.06)}20%{transform:scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.fig{width:100%;height:100%;display:block;overflow:visible}.fig .limb{transform-box:view-box}.fig .part{transform-box:fill-box;transform-origin:50%;animation:.55s cubic-bezier(.3,1.6,.5,1) both part-pop}@keyframes part-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.fig-aura{opacity:.16}.fig-flash circle{transform-box:fill-box;transform-origin:50%;animation:.8s ease-out forwards flash-ring}.fig-flash text{animation:.9s ease-out forwards sparkle}@keyframes flash-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.1)}}@keyframes sparkle{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.fig.pose-idle{animation:2.6s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.speedlines line{animation:.9s linear infinite zoom-line}.speedlines line:nth-child(2){animation-delay:.3s}.speedlines line:nth-child(3){animation-delay:.6s}@keyframes zoom-line{0%{opacity:0;transform:translate(14px)}40%{opacity:1}to{opacity:0;transform:translate(-16px)}}.scanline{animation:1.6s ease-in-out infinite alternate scan}@keyframes scan{0%{transform:translate(0)}to{transform:translate(50px)}}.bubbles circle{animation:2.2s ease-in infinite bubble}.bubbles circle:nth-child(2){animation-delay:.6s}.bubbles circle:nth-child(3){animation-delay:1.1s}.bubbles circle:nth-child(4){animation-delay:1.5s}@keyframes bubble{0%{opacity:0;transform:translateY(20px)}30%{opacity:1}to{opacity:0;transform:translateY(-40px)}}.part-tail path{transform-box:fill-box;transform-origin:0 100%;animation:1.4s ease-in-out infinite alternate wag}@keyframes wag{0%{transform:rotate(-6deg)}to{transform:rotate(8deg)}}.pose-run .leg-l,.pose-walk .leg-l{animation:.32s ease-in-out infinite alternate swing}.pose-run .leg-r,.pose-walk .leg-r{animation:.32s ease-in-out infinite alternate-reverse swing}.pose-run .arm-l{animation:.32s ease-in-out infinite alternate-reverse swing-arm}.pose-run .arm-r{animation:.32s ease-in-out infinite alternate swing-arm}.pose-walk .leg-l,.pose-walk .leg-r{animation-duration:.6s}.pose-walk .arm-l{animation:.6s ease-in-out infinite alternate-reverse swing-arm}.pose-walk .arm-r{animation:.6s ease-in-out infinite alternate swing-arm}.pose-run{animation:.16s ease-in-out infinite alternate run-bob}@keyframes swing{0%{transform:rotate(-32deg)}to{transform:rotate(32deg)}}@keyframes swing-arm{0%{transform:rotate(-40deg)}to{transform:rotate(40deg)}}@keyframes run-bob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.pose-jump .arm-l,.pose-cheer .arm-l{animation:.4s ease-out forwards arm-up-l}.pose-jump .arm-r,.pose-cheer .arm-r{animation:.4s ease-out forwards arm-up-r}.pose-cheer{animation:.5s ease-in-out 3 alternate cheer}@keyframes arm-up-l{to{transform:rotate(150deg)}}@keyframes arm-up-r{to{transform:rotate(-150deg)}}@keyframes cheer{0%{transform:translateY(0)}to{transform:translateY(-14px)}}.pose-swim .arm-l{animation:.8s linear infinite crawl}.pose-swim .arm-r{animation:.8s linear -.4s infinite crawl}.pose-swim .leg-l{animation:.22s ease-in-out infinite alternate flutter}.pose-swim .leg-r{animation:.22s ease-in-out infinite alternate-reverse flutter}@keyframes crawl{to{transform:rotate(360deg)}}@keyframes flutter{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.pose-climb .arm-l{animation:.5s ease-in-out infinite alternate climb-l}.pose-climb .arm-r{animation:.5s ease-in-out infinite alternate-reverse climb-r}.pose-climb .leg-l{animation:.5s ease-in-out infinite alternate flutter}.pose-climb .leg-r{animation:.5s ease-in-out infinite alternate-reverse flutter}@keyframes climb-l{0%{transform:rotate(150deg)}to{transform:rotate(70deg)}}@keyframes climb-r{0%{transform:rotate(-150deg)}to{transform:rotate(-70deg)}}.pose-lift .arm-l{transform:rotate(calc(var(--reach) * 150deg));transition:transform 1.6s cubic-bezier(.5,0,.3,1)}.pose-lift .arm-r{transform:rotate(calc(var(--reach) * -150deg));transition:transform 1.6s cubic-bezier(.5,0,.3,1)}.pose-lift .carry{animation:1.6s cubic-bezier(.5,0,.3,1) forwards carry-up}@keyframes carry-up{0%{transform:translateY(0)}to{transform:translateY(calc(var(--reach) * -238px))}}.pose-look .arm-r{animation:.5s ease-out forwards point}.pose-look .head{transform-box:fill-box;transform-origin:50% 100%;animation:.8s ease-in-out infinite alternate peek}@keyframes point{to{transform:rotate(-125deg)}}@keyframes peek{0%{transform:rotate(-3deg)}to{transform:rotate(5deg)}}.pose-tired{transform-box:fill-box;transform-origin:50% 100%;animation:.6s ease-out forwards slump}.pose-tired .arm-l{transform:rotate(-12deg)}.pose-tired .arm-r{transform:rotate(12deg)}@keyframes slump{0%{transform:scaleY(1)}40%{transform:scaleY(.88)rotate(-4deg)}to{transform:scaleY(.94)rotate(3deg)}}.sweat{animation:1.2s ease-out infinite sparkle}.home{flex-direction:column;gap:48px;display:flex}.hero{text-align:center;border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink);background:radial-gradient(circle at 50% 46%,#fffffff2 0 22%,#0000 23%),repeating-conic-gradient(at 50% 46%,#ffe48a 0deg 12deg,#ffd34f 12deg 24deg);border-radius:32px;flex-direction:column;align-items:center;gap:14px;padding:18px 12px 28px;display:flex;position:relative;overflow:hidden}.hero-title{letter-spacing:.01em;text-shadow:3px 3px #fff,-2px -2px #fff,2px -2px #fff,-2px 2px #fff;font-size:clamp(24px,7.3vw,60px);line-height:1.22}.hero-line{display:inline-block}.hero-title em{color:#d6336c;background:linear-gradient(#0000 62%,#fff 62%)}.hero-visual{aspect-ratio:1;width:min(100%,300px,37vh);margin:0 auto;position:relative}.hero-ring{background:radial-gradient(circle,#fff 0 55%,#fff9 56%);border:4px dashed #1f254759;border-radius:50%;animation:30s linear infinite spin;position:absolute;inset:12%}@keyframes spin{to{transform:rotate(360deg)}}.hero-figure{width:54%;height:76%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit{margin:0;padding:0;list-style:none}.orbit-item{flex-direction:column;align-items:center;gap:2px;width:25%;transition:transform .35s cubic-bezier(.3,1.6,.5,1);display:flex;position:absolute}.orbit-emoji{aspect-ratio:1;border:3px solid var(--ink);width:clamp(52px,15vw,72px);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:clamp(28px,8vw,40px);transition:background .3s;display:grid}.orbit-label{background:var(--ink);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:13px;font-weight:900}.orbit-item.is-on{transform:scale(1.12)}.orbit-item.is-on .orbit-emoji{background:var(--c);box-shadow:0 4px 0 var(--ink), 0 0 0 6px #ffffffd9}.o-1{top:4%;left:0}.o-2{top:4%;right:0}.o-3{top:64%;left:0}.o-4{top:40%;right:0}.o-5{top:76%;right:2%}.hero-bubble{border:3px solid var(--ink);white-space:nowrap;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:999px;padding:4px 16px;font-size:17px;font-weight:900;animation:.45s cubic-bezier(.3,1.6,.5,1) bubble-pop;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}.hero-sub{background:#ffffffeb;border-radius:18px;padding:8px 14px;font-size:clamp(15px,4vw,21px);font-weight:700;line-height:1.6}.hero-sub strong{font-weight:900}.step-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.step{border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-hard);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:10px;padding:22px 18px 18px;display:flex;position:relative}.step h3{font-size:22px}.step-no{background:var(--pink);color:#fff;border:3px solid var(--ink);border-radius:50%;place-items:center;width:40px;height:40px;font-size:22px;font-weight:900;display:grid;position:absolute;top:-16px;left:16px}.step-animals,.step-tries{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.step-animals li{background:var(--teal-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 14px 4px 6px;font-weight:800;display:flex}.step-animals li span{font-size:28px}.step-tries li{flex-direction:column;align-items:center;width:70px;font-weight:800;display:flex}.step-tries li span{background:var(--sky);border-radius:18px;place-items:center;width:58px;height:58px;font-size:32px;display:grid}.step-figure{width:140px;height:180px}.home-cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.home-cta-row .btn{flex:260px;max-width:380px}.panel-title{margin-bottom:12px;font-size:20px}.panel-en{letter-spacing:.14em;background:var(--ink);color:var(--yellow);vertical-align:middle;border-radius:8px;margin-right:6px;padding:0 8px;font-size:13px;display:inline-block}.stat-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.stat{grid-template-columns:8.2em 1fr 2.4em;align-items:center;gap:8px;display:grid;position:relative}.stat-name{flex-wrap:wrap;align-items:baseline;column-gap:4px;font-size:15px;font-weight:800;line-height:1.15;display:flex}.stat-en{letter-spacing:.08em;color:var(--ink-soft);font-size:12px;font-weight:900}.stat-track{border:2px solid var(--ink);background:#f1f2f8;border-radius:999px;height:18px;overflow:hidden}.stat-fill{background:linear-gradient(90deg, var(--teal), #14a3c7);height:100%;transition:width .7s cubic-bezier(.3,1.4,.5,1);display:block}.stat-value{text-align:right;font-variant-numeric:tabular-nums;font-size:18px;font-weight:900}.stat-weird{border-top:2px dashed #1f254740;margin-top:6px;padding-top:10px}.stat-weird .stat-fill{background:linear-gradient(90deg,#ff5d8f,#ffb703,#19c3c9,#8b5cf6)}.stat-delta{pointer-events:none;border-radius:8px;padding:0 6px;font-size:15px;font-weight:900;animation:1.4s ease-out forwards delta;position:absolute;top:-6px;right:2.6em}.stat-delta.up{background:var(--yellow)}.stat-delta.down{background:var(--lavender)}@keyframes delta{0%{opacity:0;transform:translateY(6px)scale(.6)}20%{opacity:1;transform:translateY(0)scale(1.1)}80%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.weird-comment{text-align:right;margin-top:10px;font-weight:700}.weird-comment strong{color:#c2255c}.loadout-bar{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.loadout-bar-side{flex-direction:column;align-items:center;gap:8px;display:flex}.hint{color:var(--ink-soft);text-align:center;font-weight:700}.challenge-grid,.mission-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.challenge-card,.mission-card{text-align:center;border:3px solid var(--ink);border-radius:var(--radius);height:100%;box-shadow:var(--shadow-hard);background:#fff;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;text-decoration:none;transition:transform .1s;display:flex}.challenge-card:hover,.mission-card:hover{background:#fffbea;transform:translateY(-3px)}.cc-icon,.mc-icon{font-size:46px;line-height:1.1}.cc-name,.mc-title{font-size:18px;font-weight:900;line-height:1.35}.cc-short{color:var(--ink-soft);font-size:14px;font-weight:700}.cc-hint{letter-spacing:2px;font-size:22px}.cc-go,.mc-go{background:var(--yellow);border:2px solid var(--ink);border-radius:999px;margin-top:auto;padding:2px 14px;font-size:15px;font-weight:900}.mission-list{grid-template-columns:1fr}.mission-card{text-align:left;flex-flow:wrap;justify-content:center;gap:4px 12px;padding:14px 16px}.mc-no{letter-spacing:.16em;color:#c2255c;text-align:center;flex-basis:100%;font-size:13px;font-weight:900}.mc-title{flex:10em;font-size:19px}.mc-go{margin-top:0}.mission-brief{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.mission-story{background:#fff6cc;border-radius:14px;padding:10px 14px;font-size:18px;font-weight:800}.mission-q{font-size:21px}.mission-hint summary{cursor:pointer;align-items:center;min-height:44px;font-weight:900;display:flex}.mission-hint p{background:var(--mint);border-radius:12px;padding:8px 12px;font-weight:700}.chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.chip{text-align:left;border:3px solid var(--ink);cursor:pointer;width:100%;min-height:60px;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:6px 10px;line-height:1.2;display:grid}.chip:disabled{opacity:.5;cursor:not-allowed}.chip.is-on{background:color-mix(in srgb, var(--c) 28%, #fff);box-shadow:0 3px 0 var(--ink), inset 0 0 0 3px var(--c)}.chip-emoji{grid-row:span 2;font-size:30px}.chip-name{font-size:16px;font-weight:900}.chip-ability{color:var(--ink-soft);font-size:13px;font-weight:700}.next-mission{text-align:center;margin-top:26px}.book-notice{background:var(--mint);margin-bottom:20px;font-weight:700}.book-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.book-entry{border-top:10px solid var(--c);scroll-margin-top:calc(var(--header-h) + 16px);flex-direction:column;gap:12px;display:flex}.be-head{align-items:center;gap:14px;display:flex}.be-emoji{background:color-mix(in srgb, var(--c) 20%, #fff);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:48px;display:grid}.be-name{font-size:24px}.be-ability{font-weight:700}.be-body{margin:0}.be-body dt{color:var(--ink);background:#f2f3fa;border-radius:8px;margin-top:8px;padding:0 10px;font-size:15px;font-weight:900;display:inline-block}.be-body dd{margin:4px 0 0}.be-sources{border-top:2px dashed #1f254733;padding-top:8px}.be-src-title{font-size:14px;font-weight:900}.be-sources ul{margin:4px 0 0;padding-left:1.2em;font-size:14px;line-height:1.6}.be-sources a{overflow-wrap:anywhere;color:#2742c9}.be-btn{align-self:flex-start;font-size:16px}.notfound{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.big-emoji{font-size:72px}@media (width>=600px){.hero-visual{width:min(100%,420px)}.step-list{grid-template-columns:repeat(3,1fr)}.chips{grid-template-columns:repeat(4,minmax(0,1fr))}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-list{grid-template-columns:repeat(2,minmax(0,1fr))}.loadout-bar{flex-direction:row;align-items:center}.loadout-bar .slots{flex:1}.loadout-bar-side{flex:none;width:220px}.logo-text{font-size:14px}}@media (width>=960px){:root{--header-h:72px}body{font-size:18px}.top-nav{display:block}.bottom-nav{display:none}.main{padding:28px 24px 56px}.site-footer{margin-top:0;padding:24px 16px 40px}.hero{text-align:left;background:radial-gradient(circle at 74%,#fffffff2 0 18%,#0000 19%),repeating-conic-gradient(at 74%,#ffe48a 0deg 10deg,#ffd34f 10deg 20deg);grid-template-columns:1.05fr 1fr;grid-template-areas:"title visual""sub visual""cta visual";align-items:center;column-gap:24px;padding:40px 48px;display:grid}.hero-title{grid-area:title;align-self:end}.hero-line{display:block}.hero-visual{grid-area:visual;width:100%;max-width:500px}.hero-sub{grid-area:sub;justify-self:start}.hero .btn-mega{grid-area:cta;place-self:start}.challenge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.book-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.toast{animation:none}}.nowrap{display:inline-block}@media (width>=960px){.hero-title{font-size:clamp(36px,3.7vw,54px)}.hero-line{white-space:nowrap}}.logo{border-radius:14px;min-height:48px;padding:4px 10px 4px 4px}.logo:hover{background:var(--teal-soft)}.logo-mark{background:var(--yellow);border:3px solid var(--ink);border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.logo-text{font-size:14px}.top-nav-home .nav-en{white-space:nowrap}.site-footer{padding:28px 16px calc(var(--bottom-h) + 64px + env(safe-area-inset-bottom));text-align:center;color:var(--ink-soft);border-top:2px dashed #1f25472e;margin-top:56px;font-size:15px}.footer-app{margin-bottom:18px}.footer-app a{letter-spacing:.06em;color:var(--ink);font-weight:900}.footer-parent{font-weight:700}.swf-link{color:#2742c9;text-underline-offset:3px;padding:6px 2px;font-weight:700;text-decoration:underline}.swf-link:hover{color:#13238a}.ext-mark{margin-left:3px;font-size:.9em;display:inline-block}.footer-note{margin-top:4px;font-size:13px}.fig .body{transform-box:view-box;transform-origin:100px 170px}.fig .arm-line{transition:stroke-width .45s cubic-bezier(.3,1.9,.5,1)}.fx-text{font-family:var(--font);fill:#fff;stroke:var(--ink);stroke-width:7px;stroke-linejoin:round;paint-order:stroke;transform-box:fill-box;transform-origin:50%;font-size:30px;font-weight:900;animation:1.1s cubic-bezier(.3,1.6,.5,1) forwards fx-text}@keyframes fx-text{0%{opacity:0;scale:.3}20%{opacity:1;scale:1.15}35%{scale:1}80%{opacity:1}to{opacity:0}}.fx-lines line{animation:.7s ease-out forwards fx-sweep}.fx-lines line:nth-child(2){animation-delay:60ms}.fx-lines line:nth-child(3){animation-delay:.12s}.fx-lines line:nth-child(4){animation-delay:.18s}@keyframes fx-sweep{0%{opacity:0;transform:translate(120px)}30%{opacity:1}to{opacity:0;transform:translate(-30px)}}.fx-dust circle{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out forwards fx-puff}@keyframes fx-puff{0%{opacity:.9;scale:.3}to{opacity:0;scale:1.8}}.fx-bubbles circle{animation:1.1s ease-out forwards fx-rise}.fx-bubbles circle:nth-child(2n){animation-delay:.12s}@keyframes fx-rise{0%{opacity:0;transform:translateY(20px)}20%{opacity:1}to{opacity:0;transform:translateY(-120px)}}.fx-burst line,.fx-arcs path,.fx-quake line,.fx-wave{animation:.8s ease-out forwards fx-flash}@keyframes fx-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.fx-scan{opacity:0;transform-box:view-box;transform-origin:120px 58px;animation:1s ease-in-out forwards fx-scan}@keyframes fx-scan{0%{opacity:0;transform:rotate(-25deg)}30%{opacity:.6}70%{opacity:.6;transform:rotate(25deg)}to{opacity:0;transform:rotate(0)}}.fx-drops path{animation:.9s ease-in forwards fx-drop}.fx-drops path:nth-child(2){animation-delay:.1s}.fx-drops path:nth-child(3){animation-delay:.2s}@keyframes fx-drop{0%{opacity:0;transform:translateY(-20px)}20%{opacity:1}to{opacity:0;transform:translateY(90px)}}.fx-spark{opacity:0;animation:1s ease-out forwards sparkle}.fx-spark.s2{animation-delay:.15s}.hero-figure{width:62%;height:86%;top:52%}.orbit-emoji{width:clamp(46px,13vw,68px);font-size:clamp(26px,7vw,38px)}.orbit-item{width:23%}.hero-bubble{z-index:3;padding:4px 18px;font-size:clamp(16px,4.4vw,22px);top:-2px;bottom:auto}.hero-bubble.is-combo{color:#fff;background:#c2255c}.hero-bubble.is-plain{color:var(--ink-soft)}.upgrade .page-title{margin-bottom:12px}.upgrade-layout{flex-direction:column;gap:18px;display:flex}.lab-stage{top:calc(var(--header-h) + 6px);z-index:20;border:3px solid var(--ink);border-radius:var(--radius);background:radial-gradient(circle at 18%,#fff 0 22%,#0000 23%),repeating-linear-gradient(135deg,#e8fbfb 0 14px,#d5f3f3 14px 28px);grid-template-columns:128px 1fr;align-items:center;gap:6px 10px;padding:8px 10px;display:grid;position:sticky;box-shadow:0 6px #1f254729}.lab-figure-wrap{position:relative}.lab-figure-svg{width:128px;height:168px}.lab-info{flex-direction:column;gap:6px;min-width:0;display:flex}.lab-info .combo-name strong{padding:0 12px;font-size:18px}.lab-info .combo-small{font-size:12px}.lab-info .slots-title{margin-bottom:4px;font-size:14px}.slots{width:100%}.slots-title{text-align:center;margin-bottom:6px;font-weight:900}.slots-count{background:var(--ink);color:#fff;border-radius:999px;margin-left:6px;padding:0 10px;font-size:14px;display:inline-block}.slot-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.slot{text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:74px;padding:4px 2px;line-height:1.2;display:flex}.slot-empty{color:var(--ink-soft);background:#ffffffbf;border:3px dashed #1f25474d;font-weight:800}.slot-empty span:first-child{font-size:20px}.slot-filled{border:3px solid var(--ink);box-shadow:inset 0 -6px 0 var(--c);background:#fff;animation:.45s cubic-bezier(.3,1.6,.5,1) part-pop}.slot-emoji{font-size:24px;line-height:1.1}.slot-label{font-size:12.5px;font-weight:800}.slot-remove{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:999px;min-width:56px;min-height:32px;margin-top:3px;padding:0 8px;font-size:14px;font-weight:900}.slot-remove:hover{background:var(--lavender)}.slots-compact .slot{min-height:64px}.powerup-pop{z-index:4;pointer-events:none;white-space:nowrap;flex-direction:column;align-items:center;animation:1.8s forwards powerup;display:flex;position:absolute;top:2px;left:50%}.pp-main{background:var(--c);color:#fff;border:3px solid var(--ink);text-shadow:0 2px 0 var(--ink), 1px 0 0 var(--ink), -1px 0 0 var(--ink), 0 -1px 0 var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:999px;padding:2px 14px;font-size:18px;font-weight:900}.pp-sub{border:2px solid var(--ink);background:#fff;border-radius:999px;margin-top:2px;padding:0 8px;font-size:13px;font-weight:900}@keyframes powerup{0%{opacity:0;transform:translate(-50%,30px)scale(.5)}15%{opacity:1;transform:translate(-50%,-6px)scale(1.12)}25%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.combo-born{z-index:70;text-align:center;pointer-events:none;border:4px solid var(--ink);width:min(92vw,420px);box-shadow:0 10px 0 var(--ink);background:radial-gradient(circle at 50% 40%,#fff 0 45%,#0000 46%),repeating-conic-gradient(at 50% 40%,#ffe48a 0deg 12deg,#ffd34f 12deg 24deg);border-radius:28px;padding:18px 16px 16px;animation:3.2s cubic-bezier(.3,1.4,.5,1) forwards combo-born;position:fixed;top:46%;left:50%}.cb-title{font-size:22px;font-weight:900}.cb-animals{font-size:46px;line-height:1.2}.cb-animals b{vertical-align:middle;margin:0 4px;font-size:28px}.cb-emoji{animation:.5s cubic-bezier(.3,1.8,.5,1) both cb-bounce;display:inline-block}.cb-name{font-size:20px;font-weight:900}.cb-name strong{color:#c2255c;font-size:28px;display:inline-block}.cb-weird{background:var(--ink);color:#fff;border-radius:999px;margin-top:6px;padding:2px 16px;font-weight:900;display:inline-block}.cb-weird strong{color:var(--yellow);font-size:22px}@keyframes combo-born{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-8deg)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(2deg)}20%{transform:translate(-50%,-50%)scale(1)rotate(0)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}@keyframes cb-bounce{0%{transform:scale(0)translateY(20px)}to{transform:scale(1)translateY(0)}}.lab-go{flex-direction:column;align-items:center;gap:10px;display:flex}.lab-go-btn{width:100%;max-width:440px}.lab-go-btn.is-ready{animation:2.2s ease-in-out infinite mega-pulse}.ability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ability-card{position:relative}.ac-hit{text-align:center;border:3px solid var(--ink);border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--shadow-hard);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;transition:transform .12s,box-shadow .12s,background .2s;display:flex}.ac-hit:hover:not(:disabled){box-shadow:0 8px 0 var(--ink);transform:translateY(-3px)}.ac-hit:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.ac-hit:disabled{cursor:not-allowed;opacity:.6}.ability-card.is-on .ac-hit{background:color-mix(in srgb, var(--c) 22%, #fff);box-shadow:0 5px 0 var(--ink), 0 0 0 5px color-mix(in srgb, var(--c) 50%, transparent)}.ac-icon{background:color-mix(in srgb, var(--c) 22%, #fff);border:3px solid var(--c);border-radius:50%;place-items:center;width:72px;height:72px;font-size:44px;transition:transform .3s cubic-bezier(.3,1.8,.5,1);display:grid}.ac-hit:hover:not(:disabled) .ac-icon{transform:scale(1.08)rotate(-6deg)}.ability-card.is-on .ac-icon{background:var(--c)}.ac-name{font-size:19px;font-weight:900;line-height:1.25}.ac-copy{align-items:center;min-height:2.8em;font-size:14.5px;font-weight:700;line-height:1.4;display:flex}.ac-chip{background:#f2f3fa;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:900}.ac-btn{border:3px solid var(--ink);border-radius:14px;place-items:center;width:100%;min-height:46px;margin-top:auto;font-size:17px;font-weight:900;display:grid}.ac-btn.is-on{background:var(--yellow)}.ac-btn.is-off{background:#fff;border-style:dashed}.ac-btn.is-blocked{color:#5d6386;background:#eceef5;border-color:#9da2bf}.ac-en{letter-spacing:.08em;color:var(--ink-soft);margin-left:4px;font-size:12px;font-weight:900;display:inline-block}.ac-badge{z-index:1;color:#fff;border:3px solid var(--ink);pointer-events:none;background:#c2255c;border-radius:999px;padding:0 10px;font-size:13px;font-weight:900;animation:.4s cubic-bezier(.3,1.6,.5,1) part-pop;position:absolute;top:-12px;right:-6px;transform:rotate(6deg)}.status .panel-title{font-size:18px}.challenge-head{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.challenge-head .page-title{margin-bottom:4px}.challenge-head .loadout-bar{margin-bottom:0;padding:12px}.runner{flex-direction:column;gap:16px;display:flex}.stage{aspect-ratio:5/4;border:4px solid var(--ink);background:var(--sky);width:100%;box-shadow:var(--shadow-soft);isolation:isolate;border-radius:26px;position:relative;overflow:hidden}.scene,.scene>*{position:absolute}.scene{inset:0}.scene-sky{background:linear-gradient(#7fd0ff 0%,#d4f1ff 75%);inset:0}.ground{height:16%;bottom:0;left:0;right:0}.grass{background:#7ed36d;border-top:4px solid #4eae4a}.floor{background:#e7c79a;border-top:4px solid #b58a55}.road-ground{background:#8d93a8;border-top:4px solid #5e6478;height:24%;overflow:hidden}.phase-running .lane-marks,.phase-running .road-marks,.phase-running .ripple-marks{animation:bg-scroll var(--scroll) linear infinite}@keyframes bg-scroll{0%{background-position-x:0}to{background-position-x:-160px}}.stands{justify-content:space-around;font-size:clamp(22px,5vw,38px);display:flex;top:22%;left:0;right:0}.phase-running .stands span,.phase-done.is-pass .stands span{animation:.35s ease-in-out infinite alternate cheer}.stands span:nth-child(2n){animation-delay:.15s}.track{background:repeating-linear-gradient(#0000 0 calc(25% - 3px),#ffffffe6 calc(25% - 3px) 25%),#e0684b;border-top:6px solid #7ed36d;height:40%;bottom:0;left:0;right:0;overflow:hidden}.lane-marks{background:repeating-linear-gradient(90deg,#0000 0 140px,#ffffff73 140px 160px);position:absolute;inset:0}.start-line{background:#fff;width:10px;height:40%;bottom:0;left:22%}.start-line span{background:var(--ink);color:#fff;border-radius:6px;margin-bottom:4px;padding:0 6px;font-size:13px;font-weight:900;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.phase-running .start-line,.phase-running .home-start{animation:leave var(--dur) linear forwards}.phase-done .start-line,.phase-done .home-start{left:-30%}@keyframes leave{to{left:-30%}}.goal{bottom:0;left:112%}.phase-running .goal{animation:goal-in var(--dur) linear forwards}.phase-done .goal{left:var(--fin)}@keyframes goal-in{0%,45%{left:112%}to{left:var(--fin)}}.goal-line{background:repeating-conic-gradient(#000 0 25%, #fff 0 50%) 0 0 / 18px 18px;width:18px;height:40%}.goal-flag{white-space:nowrap;border:2px solid var(--ink);background:#fff;border-radius:8px;margin-bottom:4px;padding:0 6px;font-size:14px;font-weight:900;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.pool-deck{background:#f4efe3;height:10%;top:30%;left:0;right:0}.water{background:linear-gradient(#48b1ff,#1468c8);border-top:5px solid #d4f1ff;height:60%;bottom:0;left:0;right:0;overflow:hidden}.rope-marks{background:repeating-linear-gradient(90deg,#ff5d73 0 16px,#fff 16px 32px) 0 32%/160px 6px repeat-x,repeating-linear-gradient(90deg,#ffcf3f 0 16px,#fff 16px 32px) 0 72%/160px 6px repeat-x;position:absolute;inset:0}.phase-running .rope-marks{animation:rope-scroll var(--scroll) linear infinite}@keyframes rope-scroll{0%{background-position:0 32%,0 72%}to{background-position:-160px 32%,-160px 72%}}.ripple-marks{background:repeating-linear-gradient(90deg,#0000 0 60px,#ffffff59 60px 80px,#0000 80px 160px);position:absolute;inset:0}.pool-start{background:#f4efe3;width:6%;height:60%;left:3%}.pool-start span{top:-28px;bottom:auto}.pool-wall{background:#f4efe3;border-left:4px solid #c9c2ae;width:16px;height:60%}.bank{z-index:1;background:#7ed36d;border-top:4px solid #4eae4a;width:14%;height:62%;bottom:0}.bank-l{left:0}.bank-r{right:0}.friend,.palm{font-size:clamp(28px,7vw,54px);line-height:1;position:absolute;bottom:100%}.friend{animation:.5s ease-in-out infinite alternate cheer;left:0}.palm{right:-20%}.stage-swim .actor{bottom:14%}.stage-swim.phase-running .actor-inner,.stage-swim.phase-done .actor-inner{transform:rotate(80deg)scale(.78)}.stage-swim.phase-done.is-fail .actor-inner{transform:rotate(60deg)scale(.78)translate(14%)}.splash{font-size:clamp(24px,6vw,44px);animation:.3s ease-in-out infinite alternate splash;position:absolute;top:30%;left:-14%}.is-splashy .splash{font-size:clamp(48px,12vw,90px);top:0;left:-30%}@keyframes splash{0%{transform:translateY(0)scale(.9)}to{transform:translateY(-10px)scale(1.1)}}.street-houses,.road-far{justify-content:space-around;width:200%;font-size:clamp(34px,9vw,72px);line-height:1;display:flex;bottom:23%;left:0}.phase-running .street-houses,.phase-running .road-far{animation:slide-half calc(var(--scroll) * 6) linear infinite}@keyframes slide-half{to{transform:translate(-50%)}}.road-marks{background:repeating-linear-gradient(90deg,#fff 0 60px,#0000 60px 160px);height:8px;position:absolute;top:46%;left:0;right:0}.home-start{font-size:clamp(44px,11vw,88px);line-height:1;bottom:20%;left:2%}.school,.road-goal{font-size:clamp(52px,13vw,104px);line-height:1;bottom:20%}.clock{aspect-ratio:1;border:4px solid var(--ink);z-index:3;background:#fff;border-radius:50%;width:clamp(44px,10vw,64px);top:16%;left:3%}.clock:before{content:"";background:var(--ink);border-radius:2px;width:4px;height:30%;margin-left:-2px;position:absolute;top:22%;left:50%}.clock-hand{transform-origin:50% 100%;background:#e03131;width:3px;height:40%;margin-left:-1.5px;position:absolute;bottom:50%;left:50%}.phase-running .clock-hand{animation:.8s linear infinite spin}.km-signs{justify-content:space-around;width:260%;display:flex;bottom:24%;left:30%}.km-signs span{color:#fff;background:#2b8a3e;border:2px solid #fff;border-radius:6px;padding:0 6px;font-size:14px;font-weight:900}.phase-running .km-signs{animation:km var(--dur) linear forwards}.phase-done .km-signs{transform:translateX(calc(var(--reach) * -60%))}@keyframes km{to{transform:translateX(calc(var(--reach) * -60%))}}.hills{background:radial-gradient(at 30% 100%,#a8e28f 0 60%,#0000 61%),radial-gradient(at 80% 100%,#94d67c 0 55%,#0000 56%);height:34%;bottom:14%;left:-10%;right:-10%}.ruler{background:repeating-linear-gradient(0deg, var(--ink) 0 3px, transparent 3px 10%) right / 10px 100% no-repeat, #fff;border:3px solid var(--ink);border-radius:6px;flex-direction:column;justify-content:space-between;align-items:flex-start;width:40px;height:66%;padding:2px 12px 2px 3px;display:flex;bottom:16%;right:3%}.ruler span{font-size:12px;font-weight:900;line-height:1}.jump-bar{z-index:0;border-left:5px solid #6c7a80;border-right:5px solid #6c7a80;width:14%;height:22%;bottom:16%;left:50%}.jump-bar:before{content:"";border:2px solid var(--ink);background:repeating-linear-gradient(90deg,#ff5d73 0 14px,#fff 14px 28px);border-radius:6px;height:12px;position:absolute;top:0;left:-8px;right:-8px}.spotlight{background:radial-gradient(at 50% 100%,#fff4b3d9 0 45%,#0000 70%);inset:0 34% 10% 6%}.weight-sign{background:#fff8dc;border:3px solid #6b4b2a;border-radius:10px;padding:2px 12px;font-size:clamp(16px,4vw,26px);font-weight:900;top:18%;right:5%}.melon-pile{flex-wrap:wrap-reverse;justify-content:center;width:30%;font-size:clamp(22px,6vw,44px);line-height:1;display:flex;bottom:16%;right:3%}.wall-paper{background:repeating-linear-gradient(90deg,#fff6e0 0 30px,#fdeecb 30px 60px);inset:0}.shelf{background:#c6935d;border:4px solid #8b5e34;border-bottom:none;width:26%;height:70%;bottom:16%;left:68%}.shelf-board{background:#8b5e34;height:6px;position:absolute;left:0;right:0}.shelf-board.b1{top:33%}.shelf-board.b2{top:66%}.shelf-board.b3{top:0}.shelf-goal{font-size:clamp(34px,9vw,64px);line-height:1;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.goal-glow{border:4px dashed #ffb703;border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-20%}.phase-done.is-pass .shelf-goal{visibility:hidden}.mountain{clip-path:polygon(0 100%,50% 0,100% 100%);background:linear-gradient(160deg,#9bb6d6,#6f8db5);width:80%;height:64%;bottom:14%;right:-10%}.mountain.far{opacity:.55;height:46%;right:30%}.far-sign{flex-direction:column;align-items:center;display:flex;top:34%;right:26%}.far-sign-board{background:#fff8dc;border:3px solid #6b4b2a;border-radius:3px;width:34px;height:18px;position:relative}.far-sign-pole{background:#6b4b2a;width:4px;height:18px;position:relative}.lens{aspect-ratio:1;border:6px solid var(--ink);text-align:center;z-index:3;background:radial-gradient(circle,#fff 0 60%,#e9f6ff 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:min(44%,280px);padding:10%;display:flex;top:4%;right:3%;box-shadow:inset 0 0 0 6px #c9d3e8}.lens-label{color:var(--ink-soft);font-size:12px;font-weight:900}.lens-text{font-size:clamp(14px,3.6vw,26px);font-weight:900;line-height:1.3;transition:filter .8s}.stage-look.phase-running .lens{animation:.5s ease-in-out infinite alternate lens-search}@keyframes lens-search{0%{transform:translate(-6px)}to{transform:translate(6px)}}.progress{z-index:4;align-items:center;gap:8px;width:min(86%,560px);display:flex;position:absolute;top:3%;left:50%;transform:translate(-50%)}.progress-label{border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:0 8px;font-size:12px;font-weight:900}.progress-track{border:2px solid var(--ink);background:#ffffffb3;border-radius:999px;flex:1;height:12px;position:relative}.progress-fill{background:var(--yellow);border-radius:999px;width:0;position:absolute;top:0;bottom:0;left:0}.progress-dot{font-size:20px;line-height:1;position:absolute;top:50%;left:0;transform:translate(-50%,-55%)}.phase-running .progress-fill{animation:prog-w var(--dur) linear forwards}.phase-running .progress-dot{animation:prog-l var(--dur) linear forwards}.phase-done .progress-fill{width:calc(var(--reach) * 100%)}.phase-done .progress-dot{left:calc(var(--reach) * 100%)}@keyframes prog-w{to{width:calc(var(--reach) * 100%)}}@keyframes prog-l{to{left:calc(var(--reach) * 100%)}}.actor{aspect-ratio:240/340;z-index:2;height:76%;position:absolute;bottom:6%;left:4%}.actor-inner{width:100%;height:100%;position:relative}.is-travel.phase-running .actor{animation:travel var(--dur) cubic-bezier(.3, .1, .5, 1) forwards}.is-travel.is-fail.phase-running .actor{animation-timing-function:cubic-bezier(.1,.7,.3,1)}.is-travel.phase-done .actor{left:var(--end)}@keyframes travel{0%{left:4%}to{left:var(--end)}}.stage-jump.phase-running .actor{animation:jump var(--dur) ease-in-out forwards, jump-x var(--dur) linear forwards}.stage-jump.phase-done .actor{left:calc(4% + var(--reach) * 52%)}@keyframes jump{0%{transform:translateY(0)scaleY(1)}18%{transform:translateY(0)scaleY(.84)}50%{transform:translateY(calc(var(--reach) * -45%)) scaleY(1.05)}86%{transform:translateY(0)scaleY(1)}93%{transform:translateY(0)scaleY(.9)}to{transform:translateY(0)scaleY(1)}}@keyframes jump-x{0%,18%{left:4%}86%,to{left:calc(4% + var(--reach) * 52%)}}.stage-climb .actor{left:34%}.stage-climb.phase-running .actor{animation:climb var(--dur) ease-in-out forwards}.stage-climb.phase-done.is-pass .actor{transform:translateY(calc(var(--reach) * -22%))}.stage-climb.phase-done.is-fail .actor{animation:.6s cubic-bezier(.5,0,.8,.4) forwards slide-down}@keyframes climb{to{transform:translateY(calc(var(--reach) * -22%))}}@keyframes slide-down{0%{transform:translateY(calc(var(--reach) * -22%))}to{transform:translateY(0)rotate(-6deg)}}.stage-lift .actor{left:22%}.stage-lift.phase-done.is-fail .actor{animation:.25s ease-in-out 5 wobble}@keyframes wobble{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}.dust{width:40%;height:20%;position:absolute;bottom:2%;left:-16%}.dust i{aspect-ratio:1;background:#d6c4a6e6;border-radius:50%;width:34%;animation:.45s ease-out infinite dust;position:absolute;bottom:0}.dust i:first-child{left:50%}.dust i:nth-child(2){animation-delay:.15s;left:20%}.dust i:nth-child(3){animation-delay:.3s;left:0}@keyframes dust{0%{opacity:1;transform:scale(.4)translate(0)}to{opacity:0;transform:scale(1.4)translate(-30px)}}.say{z-index:5;white-space:nowrap;border:3px solid var(--ink);background:#fff;border-radius:999px;padding:0 12px;font-size:clamp(14px,3.6vw,22px);font-weight:900;animation:.35s cubic-bezier(.3,1.6,.5,1) bubble-pop-plain;position:absolute;top:-4%;left:55%}.say-done{font-size:clamp(16px,4.2vw,26px)}.stage-swim .say{display:none}@keyframes bubble-pop-plain{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.got-item{font-size:clamp(30px,8vw,56px);animation:.5s cubic-bezier(.3,1.6,.5,1) part-pop;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.start-overlay{z-index:6;background:linear-gradient(#0000 45%,#1f254747);justify-content:center;align-items:flex-end;padding:0 16px 6%;display:flex;position:absolute;inset:0}.btn-start{color:#fff;min-width:min(100%,300px);min-height:78px;box-shadow:0 7px 0 var(--ink);background:linear-gradient(#ff8fb0,#e64980);border-width:4px;border-radius:999px;flex-direction:column;gap:0;animation:1.8s ease-in-out infinite mega-pulse}.btn-start:disabled{animation:none}.btn-start:disabled .btn-start-ja,.btn-start:disabled small{color:#5d6386;text-shadow:none}.btn-start-ja{letter-spacing:.08em;text-shadow:0 2px #1f2547b3;font-size:32px;line-height:1.1}.btn-start small{color:#fff;text-shadow:0 1px #1f2547b3;font-size:15px;font-weight:900}.start-flash{color:#fff;-webkit-text-stroke:3px var(--ink);text-shadow:0 6px 0 var(--ink);z-index:7;place-items:center;font-size:clamp(44px,12vw,96px);font-weight:900;animation:.65s ease-out forwards start-pop;display:grid;position:absolute;inset:0}.stamp{z-index:6;border:5px solid var(--ink);box-shadow:0 6px 0 var(--ink);white-space:nowrap;background:#fff;border-radius:18px;padding:2px 22px;font-size:clamp(28px,8vw,58px);font-weight:900;animation:.5s cubic-bezier(.3,1.6,.5,1) forwards stamp;position:absolute;top:16%;left:50%}.stamp-great{background:var(--yellow)}.stamp-good{background:#b2f2bb}.stamp-soso,.stamp-oops{background:var(--lavender)}.stage-look .stamp{left:30%}@keyframes stamp{0%{opacity:0;transform:translate(-50%)scale(2.2)rotate(-14deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(-6deg)}}.record-tag{z-index:6;border:3px solid var(--ink);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-end;padding:4px 12px;font-size:clamp(18px,4.6vw,30px);font-weight:900;line-height:1.1;animation:.4s cubic-bezier(.3,1.6,.5,1) .2s both part-pop;display:flex;position:absolute;bottom:4%;right:3%}.record-tag small{color:var(--ink-soft);font-size:12px}.confetti span:nth-child(6){animation-delay:.25s;top:4%;left:48%}.run-controls{justify-content:center;align-items:center;min-height:84px;display:flex}.running-msg{text-align:center}.confetti{z-index:5;pointer-events:none;position:absolute;inset:0}.confetti span{font-size:clamp(22px,5vw,40px);animation:1.2s ease-out both confetti;position:absolute}.confetti span:first-child{top:34%;left:8%}.confetti span:nth-child(2){animation-delay:.1s;top:8%;left:26%}.confetti span:nth-child(3){animation-delay:.2s;top:34%;left:70%}.confetti span:nth-child(4){animation-delay:50ms;top:10%;left:82%}.confetti span:nth-child(5){animation-delay:.15s;top:46%;left:90%}@keyframes confetti{0%{opacity:0;transform:translateY(30px)scale(.3)}40%{opacity:1;transform:translateY(-10px)scale(1.2)}to{opacity:1;transform:translateY(10px)scale(1)}}@keyframes start-pop{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}@keyframes beam{0%{opacity:.4}to{opacity:1}}.running-msg{font-size:20px;font-weight:900;animation:.4s ease-in-out infinite alternate beam}.result{text-align:center;scroll-margin-bottom:calc(var(--bottom-h) + 16px);outline:none;flex-direction:column;align-items:center;gap:10px;animation:.5s cubic-bezier(.3,1.5,.5,1) part-pop;display:flex}.result.is-pass{background:linear-gradient(#fff3b8,#fff)}.result.result-great{background:linear-gradient(#ffe066,#fff7d1 60%,#fff)}.result.is-fail{background:linear-gradient(180deg, var(--lavender), #fff)}.result-en{letter-spacing:.2em;color:var(--ink-soft);font-size:14px;font-weight:900}.result-title{font-size:clamp(34px,9vw,52px)}.result-stars{letter-spacing:4px;font-size:34px;line-height:1}.star{color:#d5d8e6}.star.on{color:#ffb703;-webkit-text-stroke:1.5px var(--ink)}.result-lines{flex-direction:column;gap:2px;font-weight:800;display:flex}.result-measure{border:3px solid var(--ink);background:#fff;border-radius:16px;margin:4px 0 0;padding:6px 20px}.result-measure dt{color:var(--ink-soft);font-size:14px;font-weight:800}.result-measure dd{margin:0;font-size:26px;font-weight:900}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin-top:6px;display:flex}.result-note{color:var(--ink-soft);font-size:14px;font-weight:700}.book-link{align-items:center;min-height:44px;font-weight:900;display:inline-flex}.result-quip{border:3px solid var(--ink);background:#fff;border-radius:18px;max-width:36em;padding:8px 16px;font-size:19px;font-weight:900}.result-lines{font-size:17px}.result-actions .btn{flex:240px;max-width:340px}.result-nav{border-top:2px dashed #1f254733;flex-wrap:wrap;justify-content:center;gap:4px 20px;width:100%;padding-top:8px;display:flex}.result-nav a{align-items:center;min-height:44px;font-weight:900;display:inline-flex}.mission-story{border:3px solid var(--ink);background:#fff6cc;border-radius:18px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:17px;font-weight:800;display:flex}.mission-story-icon{font-size:40px;line-height:1}.mission-brief{margin-bottom:0}.be-step{background:var(--ink);color:#fff;border-radius:8px;margin-bottom:4px;padding:0 10px;font-size:14px;font-weight:900;display:inline-block}.be-headline{background:color-mix(in srgb, var(--c) 16%, #fff);border-radius:16px;flex-direction:column;align-items:flex-start;padding:10px 14px;display:flex}.be-headline strong{font-size:clamp(20px,5.4vw,26px);line-height:1.35}.be-vs p,.be-fact p{font-size:16.5px;line-height:1.75}.be-note{background:#fff6cc;border-radius:10px;margin-top:6px;padding:6px 10px;font-size:15px!important}.be-sources summary{cursor:pointer;min-height:44px;color:var(--ink-soft);align-items:center;font-size:15px;font-weight:900;display:flex}@media (width>=600px){.stage{aspect-ratio:16/9}.ability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-stage{grid-template-columns:170px 1fr}.lab-figure-svg{width:170px;height:220px}.lab-info .combo-name strong{font-size:22px}.slot-label{font-size:14px}}@media (width>=960px){.main,.header-inner{max-width:1280px}.site-footer{margin-top:40px;padding:28px 16px 40px}.upgrade-layout{grid-template:"stage cards""go cards""status cards"1fr/400px 1fr;align-items:start;gap:20px 28px;display:grid}.lab-stage{background:radial-gradient(circle at 50% 38%,#fff 0 34%,#0000 35%),repeating-linear-gradient(135deg,#e8fbfb 0 14px,#d5f3f3 14px 28px);flex-direction:column;grid-area:stage;align-items:center;padding:16px;display:flex;position:relative;top:0}.lab-figure-svg{width:250px;height:330px}.lab-info{width:100%}.lab-cards{grid-area:cards}.lab-go{grid-area:go}.status{grid-area:status}.ability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ac-icon{width:88px;height:88px;font-size:54px}.challenge-head{grid-template-columns:1fr minmax(0,620px);align-items:end;gap:20px;display:grid}.runner{max-width:1180px;margin:0 auto}.stage{max-height:max(380px, calc(100svh - var(--header-h) - 250px));margin:0 auto}.runner.has-brief{grid-template:"stage brief""stage go"1fr"result result"/minmax(0,1.7fr) minmax(300px,1fr);align-items:start;column-gap:20px;display:grid}.runner.has-brief .stage{aspect-ratio:4/3;grid-area:stage;max-height:none}.runner.has-brief .mission-brief{grid-area:brief}.runner.has-brief .mission-brief .chips{grid-template-columns:repeat(2,minmax(0,1fr))}.runner.has-brief .run-controls{grid-area:go}.runner.has-brief .result{grid-area:result;margin-top:16px}.stage .actor{height:78%}}@media (width>=1200px){.ability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.upgrade-layout{grid-template-columns:420px 1fr}}@media (prefers-reduced-motion:reduce){.btn-start,.lab-go-btn.is-ready{animation:none!important}}.start-line span{display:none}.lane-marks{opacity:.55}.is-travel.phase-done .say{left:auto;right:62%}.school{left:80%}.phase-running .school{animation:none}.phase-done .school{left:80%}.progress-dot{transform:translate(-50%,-55%)scaleX(-1)}@media (width<=959px){.powerup-pop{align-items:flex-start;animation-name:powerup-left;top:auto;bottom:0;left:0}.pp-main{padding:1px 10px;font-size:16px}@keyframes powerup-left{0%{opacity:0;transform:translateY(20px)scale(.5)}15%{opacity:1;transform:translateY(-4px)scale(1.1)}25%{transform:translateY(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-6px)}}}
