@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b101c;--panel:#111a29;--line:#283448;--text:#f0f5fa;--muted:#a5b2c5;--mint:#67f5ce;--red:#ff756e;--yellow:#f3d67c;font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button{touch-action:manipulation}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;left:16px;background:var(--mint);color:var(--bg);z-index:10;padding:8px}.skip:focus{top:10px}.site-header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 max(24px,calc((100vw - 1120px)/2));}.brand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:800;letter-spacing:.06em;white-space:nowrap}.brand b{font-size:12px;letter-spacing:.15em;color:var(--mint);display:block;line-height:1.1}.brand-symbol{display:flex;align-items:center;gap:0;background:var(--mint);color:var(--bg);height:38px;width:38px;font-family:monospace;font-weight:900;padding:5px;line-height:1;font-size:23px;box-shadow:3px 3px 0 #2d7868}.brand-symbol span{font-size:17px;align-self:flex-end}.header-controls{display:flex;align-items:center;gap:22px}.private-label{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:4px 10px;border-radius:4px}.language select{border:1px solid #3a4860;background:var(--panel);color:var(--text);font-size:14px;padding:9px 10px;border-radius:5px;min-width:98px}main{max-width:1060px;margin:0 auto;padding:0 30px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 18px;font-size:13px;color:var(--muted)}.back-link{font-size:14px}.back-link:hover{color:var(--mint)}.divider{padding:0 15px;color:#506076}.game-index,.edition{font-family:monospace;letter-spacing:.09em}.edition span{color:var(--muted)}.arcade-layout{display:grid;grid-template-columns:minmax(0,590px) minmax(240px,1fr);gap:42px;align-items:start}.game-shell{border:1px solid #354159;border-radius:10px;overflow:hidden;background:var(--panel);box-shadow:0 20px 70px #0004}.scorebar{height:78px;display:flex;gap:24px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line)}.live-score{display:flex;align-items:baseline;gap:9px;flex:1}.live-score>span:first-child,.stage-label>span{font-family:monospace;font-size:12px;color:var(--muted);letter-spacing:.08em}.live-score strong{font-family:monospace;font-size:34px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}.unit{font-size:14px;color:var(--muted)}.stage-label{display:flex;flex-direction:column;align-items:center;line-height:1.3}.stage-label strong{color:var(--mint);font-family:monospace;font-size:22px}.game-tools{display:flex;gap:7px}.icon-btn{border:1px solid #34425a;color:var(--text);background:#1b2639;border-radius:5px;min-width:39px;height:40px;display:flex;justify-content:center;align-items:center;gap:4px}.sound-state{font:10px monospace;letter-spacing:0}.icon-btn:first-child{width:61px}.pause-btn{font-size:19px}.arena{position:relative;width:100%;height:min(560px,64svh);min-height:310px;overflow:hidden;background:#0a1221}.arena canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.arena-label{position:absolute;left:17px;top:12px;color:var(--muted);font-size:12px;display:flex;gap:7px;align-items:center;pointer-events:none}.tiny-square{display:inline-block;width:6px;height:6px;background:var(--mint)}.overlay{position:absolute;inset:0;background:#08101cca;display:flex;justify-content:center;align-items:center;padding:25px;text-align:center;backdrop-filter:blur(2px)}.overlay>div{width:100%;max-width:335px}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:.17em;color:var(--muted)}h1{font-family:"Arial Black",Impact,system-ui,sans-serif;font-size:clamp(52px,6vw,78px);font-weight:950;line-height:.95;letter-spacing:-.045em;margin:18px 0 22px;position:relative}h1>span:first-child{color:var(--mint)}.title-square{display:inline-block;background:var(--mint);width:13px;height:13px;margin-left:8px;box-shadow:5px -5px 0 #2b8971}.start-tag{font-size:17px;margin:0 0 22px;font-weight:650}.mini-instructions{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:14px;margin-bottom:22px}.player-chip{width:13px;height:13px;background:var(--mint);display:inline-block;flex-shrink:0}.button{width:100%;min-height:49px;padding:11px 18px;border-radius:5px;display:flex;justify-content:center;align-items:center;gap:24px;font-weight:750;font-size:16px;border:1px solid transparent;transition:filter .12s,transform .12s}.button:active{transform:translateY(1px)}.primary{background:var(--mint);color:#09221b;box-shadow:0 3px 0 #238d70}.secondary{background:#172438;color:var(--text);border-color:#506176;margin-top:12px}.micro{font-size:12px;color:var(--muted);line-height:1.6}.start-content>.micro{margin:17px 0 0}.controlbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 16px;background:#141e2e}.direction-button{background:#223047;border:1px solid #42516c;border-bottom-width:3px;color:var(--mint);border-radius:5px;width:62px;height:43px;font-size:20px;touch-action:none;user-select:none}.direction-button.is-held{background:#345744}.controlbar p{margin:0;text-align:center;font-size:12px;color:#c8d4e2}.controlbar small{font-size:12px;color:var(--muted);display:block}.side-panel{padding-top:7px}.intro h2{font-size:36px;line-height:1.4;letter-spacing:-.025em;margin:14px 0 15px}.intro>p{font-size:15px;color:var(--muted);line-height:1.9;margin:0}.best-panel{margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}h3{font-size:15px;margin:0 0 16px}.best-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:16px 0}.best-row>span{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:9px}.clean-dot,.revive-dot{display:inline-block;width:7px;height:7px;background:var(--mint)}.revive-dot{background:var(--yellow)}.best-row strong{font:24px monospace}.best-row small{font:12px sans-serif;color:var(--muted);margin-left:7px}.howto{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.howto ol{padding-left:23px;color:var(--muted);font-size:14px;margin:0}.howto li{padding-left:5px;margin:12px 0}.howto li::marker{color:var(--mint);font-family:monospace}.revive-explainer{display:flex;gap:13px;margin-top:24px}.revive-explainer>span{color:var(--yellow);font-size:29px;line-height:1.3}.revive-explainer p{font-size:13px;color:var(--muted);margin:0}.overlay h2{font-size:24px;margin:12px 0}.result-time{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:8px 0}.result-time strong{font:700 64px monospace;letter-spacing:-.055em;line-height:1.3}.result-time>span{color:var(--muted);font-size:16px}#result-detail{font-size:14px;color:var(--muted);margin:0 0 8px}.best-message{color:var(--yellow);font-size:14px;min-height:22px;margin:0 0 20px}.result-actions>.micro{margin:8px 0}.text-button{background:transparent;border:0;color:#d1dded;font-size:14px;padding:10px;text-decoration:underline;text-underline-offset:4px}#pause-panel>p,#countdown-panel>p{font-size:15px;color:var(--muted);margin:14px 0 25px}.countdown-number{display:block;font:700 76px monospace;color:var(--mint)}.level-toast{position:absolute;top:24%;left:0;width:100%;text-align:center;font:700 22px monospace;color:var(--yellow);pointer-events:none;opacity:0;transition:opacity .2s}.level-toast.show{opacity:1}.shield-label{position:absolute;bottom:7%;left:0;width:100%;text-align:center;color:var(--mint);font-size:12px;pointer-events:none}#share-fallback{margin-top:10px;text-align:left;font-size:12px;color:var(--muted)}textarea{width:100%;resize:none;background:#172438;color:var(--text);border:1px solid #506176;font-size:13px;border-radius:4px;padding:8px}.collection{margin-top:45px;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:20px}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-line h2{font-size:17px;margin:0}.section-line>span{font:12px monospace;color:var(--muted);letter-spacing:.1em}.game-tile{display:flex;align-items:center;gap:23px;border:1px solid var(--line);background:#101928;padding:20px;border-radius:7px;transition:border-color .2s}.game-tile:hover{border-color:var(--mint)}.game-tile h3{margin:3px 0 0;font-size:20px;letter-spacing:.02em}.game-tile p{margin:4px 0 0;font-size:14px;color:var(--muted)}.tile-play{margin-left:auto;color:var(--mint);font-size:14px;white-space:nowrap}.tile-symbol{width:88px;height:75px;position:relative;background:#081422;flex-shrink:0;border:1px solid #2b4352}.tile-symbol span{position:absolute;width:18px;height:18px;bottom:13px;left:35px;background:var(--mint)}.tile-symbol i,.tile-symbol b{position:absolute;width:22px;height:10px;top:13px;left:12px;background:var(--red)}.tile-symbol b{top:31px;left:55px}footer{display:flex;justify-content:space-between;gap:16px;max-width:1000px;margin:35px auto 0;padding:22px 0 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer>span:first-child{letter-spacing:.1em;font-weight:700}
@media(min-width:1300px){.arena{height:560px}}
@media(max-width:760px){.site-header{height:68px;padding:0 17px}.brand{font-size:15px;gap:10px}.brand-symbol{width:33px;height:33px;font-size:20px}.brand b{font-size:10px}.private-label{display:none}.header-controls{gap:8px}.language select{min-width:88px;padding:7px;font-size:14px}main{padding:0 16px;max-width:590px}.game-heading{padding:14px 0;font-size:12px}.edition{font-size:11px}.arcade-layout{display:block}.scorebar{height:65px;padding:10px 13px;gap:15px}.live-score{gap:6px}.live-score strong{font-size:29px}.live-score>span:first-child{font-size:11px}.stage-label strong{font-size:19px}.arena{height:min(112vw,calc(100svh - 255px));min-height:290px}.controlbar{padding:8px 10px;gap:8px}.controlbar small{display:none}.direction-button{height:43px;width:56px}.controlbar p{font-size:11px}.overlay{padding:18px}.overlay>div{max-width:285px}h1{font-size:58px;margin:11px 0 15px}.start-tag{font-size:16px;margin-bottom:15px}.mini-instructions{font-size:13px;margin-bottom:17px;gap:6px}.start-content>.micro{margin-top:11px}.eyebrow{font-size:11px}.button{min-height:46px;font-size:15px}.intro{display:none}.side-panel{display:grid;grid-template-columns:1fr;gap:0;padding-top:4px}.best-panel{margin-top:20px;padding-top:18px}.best-panel h3{margin-bottom:12px}.best-row{display:inline-flex;width:48%;align-items:flex-start;flex-direction:column;margin:0 0 8px;gap:4px}.best-row strong{font-size:25px;margin-left:15px}.best-panel>.micro{margin:2px 0}.howto{margin-top:18px;padding-top:20px}.howto ol{font-size:14px}.collection{margin-top:28px}.game-tile{padding:15px;gap:13px}.tile-symbol{width:64px;height:64px}.tile-symbol span{left:23px}.tile-symbol b{left:38px;width:18px}.tile-symbol i{left:8px}.game-tile h3{font-size:17px}.game-tile p{font-size:12px}.tile-play{font-size:12px}.result-time strong{font-size:48px}.result-time{margin:0}.overlay h2{font-size:21px;margin:7px 0}.best-message{margin:0 0 10px;min-height:20px}.secondary{margin-top:9px}.result-actions>.micro{font-size:11px;margin:6px 0}.text-button{font-size:13px;padding:6px}footer{margin:28px 16px 0;padding-top:18px;font-size:11px}}
@media(max-width:370px){.edition{display:none}.live-score>span:first-child{display:none}.scorebar{gap:12px}.mini-instructions{font-size:12px}.start-tag{font-size:15px}.tile-play{display:none}}
@media(max-height:700px) and (max-width:760px){.arena{min-height:310px}h1{font-size:49px;margin:10px 0 12px}.start-tag{margin-bottom:10px}.mini-instructions{margin-bottom:13px}.overlay{padding:12px}.start-content>.micro{margin-top:9px}.result-time strong{font-size:40px}.overlay h2{font-size:18px;margin:4px 0}.result-actions .button{padding:7px;min-height:40px}.best-message{margin-bottom:8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Keep long translations and share text reachable on short screens. */
.overlay{overflow-y:auto}.overlay>div{max-height:100%}.intro>p{font-size:16px}.controlbar p{font-size:14px}.mini-instructions{font-size:14px}
@media(max-width:760px){.controlbar p{font-size:12px}.mini-instructions{font-size:14px}.tile-play{font-size:14px}}
/* Sea Stroll: soft ocean surfaces with warm pearl highlights. */
:root{--bg:#081f30;--panel:#103348;--line:#2b5165;--text:#f0fcff;--muted:#b0cbd8;--mint:#9bf3d4;--red:#ffa8ab;--yellow:#ffe3a1;font-family:"Hiragino Maru Gothic ProN","Yu Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(ellipse at 20% 0%,#164962,transparent 60%),var(--bg)}.site-header{background:#0a293aaa}.brand-symbol{border-radius:10px;box-shadow:2px 3px 0 #357e77}.game-shell{border-color:#407088;border-radius:19px;box-shadow:0 22px 65px #00152277}.scorebar{height:76px;background:#113b51;border-bottom:0}.live-score strong{font-size:31px;font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-weight:800;letter-spacing:-.04em}.stage-label{flex-direction:row;gap:5px;flex-wrap:wrap;max-width:70px}.stage-label>span{width:100%;text-align:center}.stage-label small{font-size:12px;color:var(--muted)}.stage-label strong{font-size:21px}.game-tools{gap:6px}.icon-btn{background:#1a455b;border-color:#44697e;border-radius:9px}.run-stats{display:flex;justify-content:space-between;gap:10px;padding:6px 18px 9px;background:#113b51;color:var(--muted);font-size:12px;border-bottom:1px solid #396476}.run-stats b{color:#e2fafa;font-weight:600;font-variant-numeric:tabular-nums}.run-stats>span:last-child{color:var(--yellow)}.arena{background:#073044;height:min(540px,61svh)}.overlay{background:#072c3cbc;backdrop-filter:blur(2px)}.overlay>div{max-width:345px}.jelly-portrait{width:130px;height:130px;background:url('/assets/sea-sprites.png') 0 0/200% 200% no-repeat;margin:0 auto 0;filter:drop-shadow(0 5px 10px #94f4e138)}h1{font-family:inherit;font-size:clamp(27px,3.2vw,34px);font-weight:850;line-height:1.4;letter-spacing:.01em;margin:3px 0 10px;color:#d7fff2}.start-tag{font-size:15px;color:#f2eac1;font-weight:500;margin-bottom:18px}.mini-instructions{font-size:14px;color:#daedf5;margin-bottom:20px}.pearl-chip{width:18px;height:18px;display:inline-block;background:url('/assets/sea-sprites.png') 0 100%/200% 200% no-repeat;flex-shrink:0}.button{border-radius:12px;font-weight:750;min-height:48px}.primary{background:#a3f1d6;box-shadow:0 3px 0 #509e8d;color:#0b3f39}.secondary{background:#164559;border-color:#6a8d9e}.controlbar{background:#103448;border-color:#3b6478}.direction-button{background:#24576c;border-color:#518294;border-radius:12px;color:#d0fff0}.controlbar p{color:#cbe8ed}.intro h2{font-size:34px;line-height:1.45}.best-row strong{font-family:ui-rounded,system-ui,sans-serif;font-weight:700;font-size:26px}.clean-dot,.revive-dot{border-radius:50%}.result-time strong{font-family:ui-rounded,system-ui,sans-serif;font-weight:800;font-size:52px;letter-spacing:-.04em}.score-breakdown{display:flex;justify-content:center;gap:22px;font-size:12px;color:var(--muted);margin:4px 0 9px}.score-breakdown b{color:var(--yellow);font-weight:600;margin-left:4px}.result-actions .micro{color:#cee1ea}.best-message{margin-bottom:13px}.game-tile{background:#113246;border-color:#36586d;border-radius:15px}.jelly-tile{height:80px;width:80px;flex-shrink:0;background:url('/assets/sea-sprites.png') 0 0/200% 200% no-repeat}.language select{background:#173e52;border-color:#4a7085;border-radius:9px}.private-label{border-color:#466b7d}.arena-label{color:#d5f3f6}.shield-label{bottom:5%;color:#dcffef}.game-tile h3{font-size:19px}.level-toast{text-shadow:0 2px 8px #123a50}
@media(max-width:760px){.scorebar{height:63px;padding:8px 11px;gap:9px}.live-score strong{font-size:26px}.live-score>span:first-child{font-size:10px}.game-tools .icon-btn:first-child{width:48px;min-width:48px}.sound-state{font-size:9px}.stage-label{max-width:55px;gap:3px}.stage-label strong{font-size:18px}.stage-label small{font-size:11px}.run-stats{font-size:12px;padding:5px 12px 7px}.arena{height:min(115vw,calc(100svh - 290px));min-height:315px}.overlay{padding:14px}.overlay>div{max-width:295px}.jelly-portrait{height:90px;width:90px}h1{font-size:26px;margin:1px 0 8px}.start-tag{font-size:14px;margin-bottom:12px}.mini-instructions{font-size:13px;margin-bottom:14px}.start-content>.micro{font-size:12px;margin-top:10px}.overlay h2{font-size:20px;margin:4px 0}.result-time strong{font-size:42px}.result-time{margin:1px 0}.result-detail{font-size:12px}.score-breakdown{margin:2px 0 6px}.best-message{font-size:13px;margin:0 0 9px;min-height:18px}.result-actions .button{min-height:41px;padding:7px 10px}.result-actions .secondary{margin-top:8px}.result-actions>.micro{font-size:11px;margin:5px 0}.text-button{padding:5px;font-size:13px}.jelly-tile{width:61px;height:61px}.game-tile h3{font-size:17px}.game-tile p{font-size:13px}.tile-play{font-size:13px}.edition{font-family:inherit;letter-spacing:0}.best-panel{margin-top:20px}}
@media(max-height:700px) and (max-width:760px){.arena{min-height:315px}.jelly-portrait{height:80px;width:80px}h1{font-size:24px}.start-tag{margin-bottom:9px}.mini-instructions{margin-bottom:10px}.result-time strong{font-size:36px}.result-actions .button{min-height:39px}.result-actions .micro{margin:4px 0}.best-message{margin-bottom:6px}}
@media(min-width:1300px){.arena{height:540px}}
@media(max-width:760px){.live-score{min-width:0;display:grid;grid-template-columns:max-content max-content;column-gap:4px;row-gap:0;align-items:baseline}.live-score>span:first-child{display:block;grid-column:1/-1;line-height:1.2}.live-score strong{font-size:clamp(21px,5.4vw,27px);line-height:1.15}.live-score .unit{font-size:12px}.stage-label{max-width:46px;min-width:40px;justify-content:center}.game-tools .icon-btn:first-child{width:44px;min-width:44px}.game-tools .pause-btn{min-width:34px;width:34px}.scorebar{gap:8px}.edition{max-width:58%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}

/* Keep a sustained finger press inside the game's pointer controls on iOS. */
.arena canvas,.direction-button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}
