:root{font-family:system-ui,"Malgun Gothic",sans-serif;color:#ecf6ff;background:#090a14;color-scheme:dark}*{box-sizing:border-box}body{margin:0;display:grid;place-items:center;height:100dvh;overflow:hidden}button,input{font:inherit}button{cursor:pointer;border:1px solid #335461;border-radius:12px;color:#a0faff;background:#111c2b;padding:13px 22px;font-weight:650;touch-action:manipulation}button:hover{border-color:#8af6ff}button:focus-visible,input:focus-visible{outline:3px solid #ffd978;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#game-container{position:relative;width:100%;max-width:480px;height:100%;overflow:hidden;border-inline:1px solid #162333}canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none}.hud{position:absolute;inset:22px 22px auto;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.hud small{display:block;color:#6d96aa;font-size:10px;letter-spacing:.12em}.hud b{font-size:42px;line-height:1.1}.hud button{pointer-events:auto;padding:8px 14px}#input-status{position:absolute;bottom:24px;text-align:center;width:100%;font-size:13px;color:#b1ceda;pointer-events:none;font-weight:700}#beat-meter{position:absolute;bottom:14px;display:flex;justify-content:center;gap:7px;width:100%;pointer-events:none}#beat-meter i{width:20px;height:3px;border-radius:2px;background:#264554}#beat-meter i.on{background:#ffce7c;box-shadow:0 0 12px #ffce7c}.screen{position:absolute;inset:0;background:linear-gradient(#090a14ed,#090a14d9);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px;overflow:auto;text-align:center}.screen button{min-width:220px}.screen p{margin:0;line-height:1.7;font-size:14px}.screen h1{font-size:clamp(45px,12vw,64px);line-height:1.02;letter-spacing:-.05em;margin:12px 0 16px;font-weight:900}.screen h1 em{color:#6ef7ff;font-style:normal;text-shadow:0 0 40px #00e5ff66}.eyebrow{font-size:10px;letter-spacing:.22em;color:#ff7bdd}.hint{color:#7f9cac!important;font-size:12px!important;line-height:1.7}.primary{background:#8ef4fa;color:#071d28;border-color:#8ef4fa}.quiet{border:0;background:transparent;font-size:12px;color:#8daab8;padding:9px}.best{font-size:12px;color:#92b1c1;margin:9px}.best b{color:#fff;margin-left:9px;font-size:18px}h2{font-size:25px;margin:8px 0}#final-score{font-size:56px;color:#7df4fa}#submit-score{display:grid;grid-template-columns:1fr;gap:8px;width:100%;max-width:280px;text-align:left;font-size:12px}input{min-width:0;width:100%;padding:11px;border:1px solid #355062;border-radius:8px;background:#111c2b;color:white;user-select:text}dialog{width:min(400px,calc(100% - 30px));max-height:85dvh;overflow:auto;border:1px solid #345a6a;border-radius:20px;padding:24px;background:#101b2b;color:white}dialog::backdrop{background:#000a}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{padding:5px 12px;font-size:23px}#rank-status{font-size:13px;color:#8fadb9}#rank-list{list-style:none;padding:0}#rank-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #263b4a;padding:12px 0;font-size:14px}#rank-list span{overflow-wrap:anywhere;min-width:0}#rank-list b{color:#8ef4fa}#start-status{color:#ffcc8b;font-size:12px;max-width:290px}@media(max-height:650px){.screen{gap:7px;padding:16px}.screen h1{font-size:42px;margin:4px}.screen button{padding:9px 18px}.screen .hint{font-size:11px!important}#final-score{font-size:40px}}

.brand{display:inline-flex;align-items:center;gap:7px;color:#e85d3b;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:-.03em}.brand img{width:23px;height:24px;object-fit:contain}

.home-brand{position:absolute;top:22px;left:22px;z-index:5;color:#f6f8ff;text-shadow:0 0 14px #e85d3b88}.home-brand img{filter:drop-shadow(0 0 7px #e85d3b88)}.home-brand span{font-size:12px;color:#6ef7ff;margin-left:2px}.hud{top:65px}.screen .wordmark{font-size:clamp(60px,18vw,84px);letter-spacing:-.075em;margin:0;color:#eefeff;text-shadow:0 0 18px #6ef7ff66,0 0 65px #00dce833}.screen .game-title{font-size:12px;letter-spacing:.34em;color:#6ef7ff;font-weight:700;margin:0 0 24px;text-shadow:0 0 15px #6ef7ff88}@media(max-height:650px){.home-brand{top:14px}.hud{top:50px}.screen .wordmark{font-size:55px}.screen .game-title{margin-bottom:10px}}

.account-bar{position:absolute;top:16px;right:18px;z-index:6;display:flex;align-items:center;gap:3px;max-width:calc(100% - 158px)}.account-bar button{border:0;background:transparent;padding:8px;color:#b4ccd8;font-size:12px}.account-bar button:hover{color:#8ef4fa;background:#142434}.account-bar #account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.account-bar #name-visibility{flex:0 0 32px;padding:7px}.account-bar svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eye-slash{display:none}.is-hidden .eye-slash{display:block}#account-menu{position:absolute;right:0;top:38px;min-width:134px;padding:6px;border:1px solid #335461;border-radius:12px;background:#101b2b;box-shadow:0 8px 30px #0008}#account-menu a,#account-menu button{display:block;width:100%;text-align:left;text-decoration:none;color:#b4ccd8;font-size:12px;padding:10px;border-radius:7px}#account-menu a:hover{background:#142434}@media(max-height:650px){.account-bar{top:8px}}
