:root{font-family:"M PLUS Rounded 1c","BIZ UDPGothic",Meiryo,sans-serif;color:#123c55;background:#dff7ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(#bceeff,#eaffe9)}a{text-decoration:none;color:inherit}.adventure{--sea-image:url('../assets/backgrounds/japan.png');max-width:980px;margin:auto;padding:20px}.adventure__header{display:flex;justify-content:space-between;align-items:center}.adventure__header p,.kicker{margin:0;color:#1c7898;font-weight:700}.adventure h1,.home-card h1{margin:.2rem 0;color:#075c82}.pill,.actions a,.home-nav a,.text-link{padding:12px 20px;border-radius:999px;background:#fff;box-shadow:0 4px 15px #12759b25;font-weight:700}.sea-card{position:relative;overflow:hidden;min-height:240px;padding:36px;border-radius:32px;color:#fff;background:linear-gradient(90deg,#005c8fc9,#16a8b088),var(--sea-image) center/cover;margin:20px 0;box-shadow:0 14px 30px #08729a35}.sea-card h2{font-size:clamp(2rem,7vw,4.5rem);margin:.1em 0}.stage-label{letter-spacing:.15em}.progress{height:16px;border-radius:20px;background:#ffffff66;overflow:hidden;margin-top:15px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#ffe76a,#ffac4d);border-radius:inherit;transition:width .7s}.bubbles i{position:absolute;border:3px solid #fff8;border-radius:50%;width:22px;height:22px;animation:float 3s infinite}.bubbles i:nth-child(2){left:70%;top:60%;animation-delay:.8s}.bubbles i:nth-child(3){left:84%;top:20%;width:35px;height:35px}.bubbles i:nth-child(4){left:55%;top:25%;animation-delay:1.3s}@keyframes float{to{transform:translateY(-45px);opacity:0}}.map-panel{background:#fff;padding:22px;border-radius:28px;box-shadow:0 12px 25px #08729a20}.map-heading{text-align:center}.map-heading h2{margin:0}.stage-row{margin:18px 0}.stage-row h3{margin:0 0 8px;color:#147a96}.stage-path{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.map-cell{position:relative;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#d5e2e6;color:#79909a;box-shadow:inset 0 -4px #0001;transition:.4s}.map-cell span{font-weight:900}.map-cell small{position:absolute;bottom:-15px;font-size:10px}.map-cell.reached{background:#66d4d0;color:#fff}.map-cell.current{outline:4px solid #ffe052;transform:scale(1.08)}.omochi{position:absolute;top:-20px;width:27px;height:22px;border-radius:50% 50% 45% 45%;background:#fff;color:#f6a44c;border:3px solid #f6a44c;text-align:center;font-size:0;filter:drop-shadow(0 3px 2px #0003)}.omochi:after{content:"••";font-size:13px;color:#345}.is-moving .omochi{animation:walk .35s infinite alternate}@keyframes walk{to{transform:translateY(-8px) rotate(8deg)}}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:22px}.primary{border:0;padding:15px 25px;border-radius:999px;background:linear-gradient(135deg,#ffca46,#ff8d4b);color:#713800;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 6px 15px #ef7c3650}.primary:disabled{opacity:.5}.notice{text-align:center;min-height:2em;font-weight:800}.event-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#003852a8;padding:20px;z-index:5}.event-overlay[hidden]{display:none}.event-card{background:#fff;border-radius:30px;padding:35px;max-width:480px;text-align:center;animation:pop .4s}.event-icon{font-size:5rem}.event-card h2{color:#067a9f}.event-card #eventActions{margin-top:24px}.event-card #eventActions>*{display:inline-block}@keyframes pop{from{transform:scale(.4);opacity:0}}.home{display:grid;place-items:center;padding:20px}.home-card{width:min(620px,100%);background:#ffffffde;border-radius:34px;padding:35px;text-align:center;box-shadow:0 18px 50px #08729a35}.current{display:grid;gap:8px;padding:24px;margin:25px 0;border-radius:25px;background:#ddf8fa}.current strong{font-size:2rem;color:#087b98}.home-nav{display:grid;gap:12px}.home-nav .primary{color:#713800}.home-card button{margin:15px}.text-link{display:block;margin-top:12px}@media(max-width:600px){.adventure{padding:10px}.sea-card{padding:25px;min-height:200px}.map-panel{padding:14px}.stage-path{gap:3px}.map-cell small{display:none}.map-cell{font-size:.72rem}.stage-row{margin:13px 0}}
