:root{color-scheme:light;--paper:#f8f4e6;--card:#fffdf4;--ink:#342a20;--muted:#665947;--cyan:#4be2db;--cyan-dark:#086665;--orange:#dc5a12;--line:#e4dcc8;--shadow:#d9d0b8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:var(--ink)}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan-dark);outline-offset:4px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.shell{max-width:960px;margin:auto;padding:20px 24px}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brand{font-size:21px;letter-spacing:.08em;font-weight:900;color:var(--ink);text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:.04em;margin-top:4px;color:var(--muted)}.tools{display:flex;gap:8px}.small{background:var(--card);border:1px solid var(--line);padding:9px 13px;border-radius:20px;font-size:12px;font-weight:700}.small:disabled{color:var(--muted)}.game{background:var(--card);border:2px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:0 9px 0 var(--shadow)}.hud{display:flex;align-items:center;justify-content:space-between;padding:17px 26px 6px}.hud>div{min-width:100px}.label{font-size:10px;font-weight:800;letter-spacing:.12em;display:block}.hud strong{display:block;font-size:32px;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:.02em}.hud .combo{display:flex;align-items:baseline;gap:7px;justify-content:center}.combo strong{color:#a53f0a}.time{text-align:right}.time small{font-size:12px;margin-left:3px}.rage-row{display:flex;align-items:center;gap:10px;padding:7px 26px 14px;font-size:11px;font-weight:800}.meter{height:10px;flex:1;background:#eee4cd;border-radius:8px;overflow:hidden}.meter i{height:100%;width:0;display:block;background:var(--orange);transition:width .3s}.stage{height:clamp(300px,48vh,480px);position:relative;background:#b8e8de;overflow:hidden;isolation:isolate}canvas{width:100%;height:100%;display:block}.stage-tag{position:absolute;left:16px;top:14px;background:var(--card);border:1px solid var(--line);padding:6px 11px;border-radius:20px;font-size:10px;font-weight:800}.water-tag{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);border-radius:10px;background:var(--card);color:var(--ink);border:2px solid var(--ink);padding:4px 9px;font-size:12px;font-weight:900}.water-tag.on{background:#93f2ed;color:#073b3c}#feedback{position:absolute;top:19%;left:0;width:100%;text-align:center;font-size:clamp(25px,5vw,45px);font-weight:1000;color:#fff9d7;text-shadow:3px 3px 0 #382916,-2px -2px 0 #382916,2px -2px 0 #382916,-2px 2px 0 #382916;pointer-events:none;transform:rotate(-4deg)}#feedback.pop{animation:pop .22s ease-out}@keyframes pop{from{transform:scale(.6) rotate(-4deg)}to{transform:scale(1) rotate(-4deg)}}#bubble{position:absolute;top:38%;left:50%;transform:translateX(-50%);padding:7px 14px;background:var(--card);border:2px solid var(--ink);border-radius:18px;font-weight:900;font-size:14px;white-space:nowrap;pointer-events:none}#bubble:empty{display:none}.cover{position:absolute;inset:0;display:grid;place-items:center;background:#f8f4e622;backdrop-filter:blur(3px);z-index:5;padding:12px}.intro-card{width:min(380px,96%);background:var(--card);border:2px solid var(--ink);border-radius:22px;padding:20px 27px;text-align:center;box-shadow:0 6px 0 #342a2020}.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:800;color:var(--muted)}h1{font-size:50px;letter-spacing:-.06em;line-height:1.1;margin:10px 0 12px;transform:rotate(-3deg)}h1 span{color:#ad430d}p{font-size:13px;line-height:1.75;margin:10px 0}.steps{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;margin:14px 0}.primary{display:block;width:100%;border:2px solid var(--ink);border-radius:14px;background:var(--cyan);box-shadow:0 4px 0 var(--cyan-dark);padding:12px;font-weight:900;font-size:16px;margin-top:12px}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--cyan-dark)}.intro-card>small{font-size:9px;color:var(--muted);display:block;margin-top:13px}.secondary{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;margin-top:14px;padding:4px}.compact{padding:19px 24px}h2{font-size:23px;margin:10px 0}.final-score{font-size:44px;line-height:1.2;font-weight:900;letter-spacing:.03em}.record{font-size:11px;font-weight:800;color:#93400f;min-height:16px}.result-grid{display:flex;justify-content:space-between;gap:8px;margin:12px 0 0;font-size:10px}.result-grid strong{display:block;font-size:23px}.control{padding:15px 25px 10px}.control-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;margin:0 1px 9px;color:var(--muted)}#hold{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;height:69px;border:2px solid var(--cyan-dark);border-radius:19px;background:var(--cyan);box-shadow:0 5px 0 var(--cyan-dark);font-size:22px;font-weight:900;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#hold.pressed{transform:translateY(4px);box-shadow:0 1px 0 var(--cyan-dark);background:#a8faf0}#hold:disabled{background:#e6ece4;border-color:#767e70;box-shadow:0 5px 0 #767e70;color:#455044}.drop{font-size:30px;color:#074e50;transform:rotate(-35deg)}.key{font-size:9px;border:1px solid var(--cyan-dark);border-radius:4px;padding:4px 6px;letter-spacing:.07em}.note{text-align:center;font-size:10px;color:var(--muted);margin:11px 0 0}footer{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;margin-top:20px;letter-spacing:.04em}@media(max-width:550px){.shell{padding:12px 10px}.masthead{margin-bottom:11px}.brand{font-size:17px}.brand span{font-size:9px}.small{padding:7px 10px;font-size:10px}.game{border-radius:20px}.hud{padding:14px 17px 5px}.hud>div{min-width:70px}.hud strong{font-size:27px}.rage-row{padding:7px 17px 12px;gap:7px;font-size:10px}.stage{height:clamp(320px,49vh,440px)}.control{padding:12px 15px 10px}#hold{font-size:19px;height:62px;gap:8px}.key{display:none}.intro-card{padding:16px 19px}h1{font-size:42px;margin:8px 0}.steps{margin:10px 0}.intro-card p{font-size:12px}.primary{padding:10px}.compact{padding:14px 18px}.compact h2{font-size:21px}.final-score{font-size:35px}.result-grid{margin-top:8px}.compact p{margin:7px 0}.control-top{font-size:9px}footer{font-size:8px}footer span:last-child{display:none}}@media(max-height:650px) and (min-width:600px){.shell{max-width:790px;padding-top:8px}.masthead{margin-bottom:8px}.stage{height:320px}.hud{padding-top:9px}.control{padding-top:9px}#hold{height:51px}footer{margin-top:12px}}@media(prefers-reduced-motion:reduce){#feedback.pop{animation:none}.meter i{transition:none}}

@media(max-width:550px){h1{font-size:clamp(29px,9vw,40px);white-space:nowrap;letter-spacing:-.06em}h1 span{display:inline-block}}

@media(max-width:550px) and (max-height:650px){.masthead{margin-bottom:8px}.brand span{display:none}.hud{padding-top:8px}.hud strong{font-size:24px}.rage-row{padding-bottom:8px}.stage{height:290px}.control{padding:9px 12px 8px}#hold{height:48px;font-size:16px}.note{margin-top:9px}.intro-card{padding:12px 15px}.intro-card h1{font-size:28px;margin:7px 0}.intro-card p{margin:7px 0}.intro-card .steps{margin:8px 0;font-size:11px}.intro-card>small{margin-top:9px;font-size:8px}.intro-card .primary{margin-top:9px}footer{display:none}}
@media(max-height:650px){#result{position:fixed;inset:0;z-index:20;background:#f8f4e6d9}#result .intro-card{max-height:calc(100dvh - 28px);overflow-y:auto}}

/* Keep reactions clear of the flight path. */
#bubble{top:8%}

/* Official title: do not shorten the user's title to an English nickname. */
.masthead{gap:12px}.brand{flex:1;min-width:0;max-width:620px;letter-spacing:0}.brand-title{font-size:17px;line-height:1.45;font-weight:900;display:block;overflow-wrap:anywhere}.tools{flex-shrink:0}h1{font-size:27px;letter-spacing:-.04em;white-space:normal;margin:8px 0;line-height:1.2}h1 span{display:block;color:var(--ink)}h1 .title-last{font-size:38px;color:#ad430d;margin-top:3px}.intro-card>small{margin-top:10px}
@media(max-width:550px){.brand-title{font-size:12px;line-height:1.45}.brand span{font-size:8px}.masthead{gap:8px}.tools{gap:4px}.small{padding:7px 8px}h1{font-size:24px;white-space:normal}h1 span{display:block}h1 .title-last{font-size:34px}}
@media(max-width:550px) and (max-height:650px){.masthead{margin-bottom:6px}.brand-title{font-size:10px}.intro-card h1{font-size:18px;line-height:1.05;margin:5px 0}.intro-card h1 .title-last{font-size:26px;margin-top:1px}.intro-card .eyebrow{font-size:9px}.intro-card p{font-size:11px;margin:5px 0;line-height:1.5}.intro-card .steps{margin:5px 0;font-size:10px}.intro-card>small{margin-top:6px}.intro-card .primary{margin-top:6px}.stage{height:290px}}
