:root{color-scheme:dark;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;color:#f9f3ee;background:#0b1020;--yellow:#ffe99a;--pink:#ff8aaf;--blue:#91e9ed}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 15%,#323054,transparent 64%),repeating-linear-gradient(90deg,transparent 0 79px,#9ec9f406 80px 81px),#0b1020;min-width:320px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{cursor:default;opacity:.4}.top{max-width:1080px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;font:10px/1.4 monospace;letter-spacing:.14em;color:#b5bdd4}.top button{font:inherit;color:var(--yellow);background:transparent;border:0;min-height:30px}.cabinet{display:flex;justify-content:center;gap:30px;align-items:stretch;padding:4px 20px}.play-column{width:min(512px,calc((100dvh - 170px)*.666667));min-width:320px;flex:none;border:1px solid #737792;background:#10162a;box-shadow:0 0 0 7px #1a2031,0 0 0 8px #3c4356,0 20px 80px #0007;border-radius:5px;overflow:hidden}.hud{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:2px solid #576078;background:#151a2c;font-family:monospace}.hud small{display:block;font-size:8px;letter-spacing:.18em;color:#afb8d1;margin-bottom:3px}.hud strong{font-size:18px;letter-spacing:.08em;color:var(--yellow)}.hud div:nth-child(2) strong{color:var(--blue)}.hud button{border:1px solid #67708c;background:#252c41;min-width:35px;min-height:33px;font:700 19px monospace}.screen{width:100%;aspect-ratio:2/3;position:relative;background:#142436;overflow:hidden;isolation:isolate}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none;outline:0}.panel{position:absolute;inset:0;z-index:3;overflow-y:auto;overscroll-behavior:contain}.panel:empty{display:none}.loading{height:100%;display:grid;place-content:center;color:var(--yellow);font-size:12px}.title{position:relative;min-height:100%;text-align:center;padding:8% 7% 6%;display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#10172ae0,#19243aaa 55%,#0b1424f5)}.title::before{content:"";position:absolute;inset:13px;border:1px solid #e1d3b941;pointer-events:none}.kicker{font:10px/1.5 monospace;letter-spacing:.22em;color:var(--blue);margin:0 0 15px}.title h1{font-weight:900;line-height:1.4;font-size:clamp(21px,2.8vw,30px);margin:0;color:#fff0a9;letter-spacing:.035em;text-shadow:3px 3px 0 #a44869}.title h1 span{display:block;color:#fff8f0;font-size:1.25em}.title h1 b{color:var(--pink);font-size:1.6em;margin-left:5px}.title-oniku{position:relative;display:grid;place-items:center;margin:12px 0 7px;width:110px;height:100px}.title-oniku::before{content:"✧";position:absolute;inset:-16px;color:#aee9cf;font-size:133px;line-height:1;transform:rotate(15deg)}.title-oniku img{width:76px;height:76px;image-rendering:pixelated;filter:drop-shadow(0 8px 0 #0004);animation:float 2.4s ease-in-out infinite}.story{position:relative;font-size:12px;line-height:2;margin:5px 0 20px;color:#f3e8de}.primary{padding:12px 18px;background:var(--yellow);border:1px solid #fff1c5;color:#25233c;font-weight:800;font-size:13px;box-shadow:3px 4px 0 #ad567d;min-height:46px}.primary:hover{background:#fff2c6}.title .primary{width:90%}.quiet{background:transparent;border:1px solid #75829a;padding:10px 16px;font-size:12px;min-height:42px}.fine{font-size:10px;line-height:1.8;color:#bac7d1;margin:15px 0 0}.side{width:170px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:22px 0;color:#9faec4}.side.left{align-items:flex-end;text-align:right}.vertical{font:9px/1.4 monospace;letter-spacing:.17em;writing-mode:vertical-rl;align-self:flex-start;position:absolute;left:5px;top:20px}.side p{font-size:15px;line-height:2;letter-spacing:.1em}.side small{font:9px/1.8 monospace;letter-spacing:.1em}.orbit{font-size:95px;color:var(--pink);text-shadow:7px 7px #61597c;line-height:1;margin:45px 8px 0 0}.side-line{width:45px;height:2px;background:var(--pink);margin:30px 0}.mini-title{font:700 23px/1.2 monospace;color:#c3c7df}.mini-title b{font-size:75px;color:var(--pink);font-style:italic;line-height:1.3}.legend span{font:9px monospace;color:var(--yellow);letter-spacing:.15em}.legend p{font-size:11px;line-height:1.9;letter-spacing:0;margin:6px 0 20px}.bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;min-height:45px;background:#151a2c}.bottom-bar>span{font:9px monospace;letter-spacing:.09em;color:#b7c5da}.bottom-bar button{background:#33384f;border:1px solid #b6a1d6;color:var(--yellow);font:11px monospace;padding:8px 10px;min-height:32px}.mobile-help{text-align:center;font-size:10px;color:#94a2b9;margin:19px 10px 0}footer{display:flex;justify-content:center;gap:30px;font-size:9px;letter-spacing:.08em;color:#717f99;padding:20px}.live-hud{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:10px;text-shadow:1px 2px #142639;font:12px monospace;color:#fff3cb}.live-hud[hidden]{display:none}#lives{color:var(--pink);font-size:15px}#gear{font-size:10px;color:var(--blue)}.area-toast{position:absolute;left:0;right:0;top:32%;text-align:center;white-space:pre-line;font:700 22px/1.8 monospace;letter-spacing:.12em;color:#fff7d6;text-shadow:2px 3px #13212c;opacity:0;pointer-events:none;transition:opacity .3s}.area-toast.show{opacity:1}.shop{min-height:100%;padding:22px 18px;background:#171d30f5}.shop-head{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #657087;padding-bottom:13px}.shop h2{font-size:24px;margin:0;color:var(--yellow);letter-spacing:.05em}.wallet{text-align:right;font:18px monospace;color:var(--yellow)}.wallet small{display:block;font-size:8px;letter-spacing:.15em;color:#bdc3d6;margin-bottom:5px}.shopkeeper{display:flex;align-items:center;gap:15px;margin:15px 0;min-height:75px}.shopkeeper img{width:67px;height:84px;object-fit:contain;image-rendering:pixelated;flex:none}.shopkeeper p{font-size:11px;line-height:1.9;margin:0;color:#d2d9e6}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.item{padding:12px 9px;border:1px solid #4f5b76;background:#252c41}.item-top{display:flex;align-items:center;gap:7px}.item img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}.item h3{font-size:12px;margin:0}.item p{font-size:10px;line-height:1.6;color:#c6cde0;margin:8px 0;min-height:32px}.buy{width:100%;background:#3b4056;border:1px solid #8a91ac;min-height:33px;font:11px monospace;color:var(--yellow)}.buy:disabled{opacity:1;color:#a7aebe;border-color:#4f5b76;background:#252c41}.bought{border-color:#94d3ac}.shop-actions{display:flex;gap:12px;margin-top:18px}.shop-actions .primary{flex:1}.message{min-height:16px;margin:10px 0 0;font-size:10px;color:var(--blue)}.pause-card,.result-card{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px;text-align:center;background:#121b31e8}.pause-card h2,.result-card h2{font-size:30px;color:var(--yellow);margin:15px 0}.pause-card p,.result-card p{font-size:12px;line-height:1.9;color:#d0d5e1}.pause-card button{width:85%;margin:10px 0}.result-card .portrait{width:88px;height:88px;image-rendering:pixelated;margin:10px}.result-stats{width:100%;margin:15px 0 25px;border-top:1px solid #68728a;border-bottom:1px solid #68728a;padding:12px 0}.result-stats div{display:flex;justify-content:space-between;padding:7px 8px;font:12px monospace}.result-stats strong{color:var(--yellow)}.result-card .primary,.result-card .quiet{width:90%;margin-bottom:10px}.new-record{color:var(--pink)!important;font:11px monospace!important;letter-spacing:.1em}.fatal{padding:25px;font-size:13px;line-height:2;background:#182036}
@keyframes float{50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:820px){.side{display:none}.cabinet{padding:4px 16px}.top{padding:10px 17px}.play-column{width:min(512px,calc((100dvh - 138px)*.666667));min-width:300px}.title h1{font-size:25px}}@media(max-width:420px){.cabinet{padding:0 10px}.play-column{width:100%;min-width:0}.top{font-size:8px;padding:9px 12px}.title h1{font-size:23px}.story{font-size:11px}.title-oniku{height:85px;margin-top:8px}.shop{padding:17px 13px}.shop h2{font-size:21px}.item{padding:9px 7px}.item p{font-size:9px}.shopkeeper{margin:10px 0}.shop-actions{margin-top:12px}.mobile-help{font-size:9px}footer span{display:none}}
.bottom-bar[hidden]{display:none}
.cabinet::before{content:"";display:block;width:170px;flex:none}
@media(max-width:820px){.cabinet::before{display:none}}
.shop-grid>.item:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;gap:6px 10px;align-items:center}
.shop-grid>.item:last-child:nth-child(odd) .item-top{grid-row:1/3}
.shop-grid>.item:last-child:nth-child(odd) p{min-height:0;margin:0}
.shop-grid>.item:last-child:nth-child(odd) .buy{grid-column:2}
.item-level{display:flex;justify-content:space-between;align-items:center;gap:4px;font:10px monospace;color:var(--blue);margin-top:7px}
.level-dots{font-size:9px;letter-spacing:1px;color:var(--yellow)}
.item p strong{color:#fff1bd;font-weight:500}.item p{min-height:48px}
.shop-grid>.item:last-child:nth-child(odd) .item-level{grid-column:2;grid-row:1;margin-top:0}
.shop-grid>.item:last-child:nth-child(odd) p{grid-column:2;grid-row:2}
.shop-grid>.item:last-child:nth-child(odd) .buy{grid-row:3}
.bullet-key .normal{color:#77efff}.bullet-key .fast{color:#ffb34c}.bullet-key .heavy{color:#ff73a0}.legend .bullet-key span{font:11px/1.9 sans-serif;letter-spacing:0}.mobile-bullet-key{display:none}
.title>.extra-mode{color:var(--pink);border-color:#b8648b;font-weight:700}.extra-note{font-size:9px;line-height:1.5;color:#c5b5cc;margin:8px 0 0}.shop-mode{display:block;margin-top:5px;color:var(--pink);font:10px monospace;letter-spacing:.1em}
.play-column{container-type:inline-size}.title{padding:5% 7%}.title h1{font-size:clamp(17px,5.3cqi,25px);white-space:nowrap}.title .kicker{font-size:9px;margin-bottom:8px}.title .title-oniku{height:64px;width:90px;margin:6px 0 3px}.title .title-oniku img{width:60px;height:60px}.title .title-oniku::before{font-size:100px;inset:-12px}.title .story{font-size:10px;line-height:1.8;margin:4px 0 12px}.title .primary{min-height:40px;padding:10px}.title>.quiet{min-height:36px;padding:8px;margin-top:8px}.title .extra-note{margin-top:5px;font-size:8px}
@media(max-width:820px){.mobile-bullet-key{display:block;margin-top:7px}}
.title>.quiet{margin-top:15px;width:90%}.result-share{display:flex;gap:10px;width:90%;align-items:stretch;margin-bottom:12px}.result-card .result-share>*{width:auto;flex:1;margin:0;font-size:11px;display:grid;place-items:center;min-height:42px;padding:10px}.score-form{width:100%;padding:12px 0;margin:0 0 15px;border-top:1px solid #657087;text-align:left}.score-form label,.score-form small{display:block;font-size:10px;color:#c6cde0;line-height:1.7}.score-form>div{display:flex;gap:8px;margin:7px 0}.score-form input{width:0;min-width:0;flex:1;background:#0e172a;border:1px solid #7e8aa5;color:#fff2c0;padding:8px;font:12px sans-serif}.score-form .quiet{width:auto;margin:0;min-height:36px;padding:8px;font-size:11px}.score-form #score-status{font-size:10px;text-align:left;color:var(--blue);margin:5px 0;min-height:18px}.result-card{justify-content:flex-start}.rankings{min-height:100%;padding:25px 20px;background:#141c30fa}.rankings h2{color:var(--yellow);font-size:20px;margin:0 0 10px}.rankings h3{font-size:14px;color:var(--blue);margin:24px 0 9px}.rankings section>p{font-size:11px;line-height:1.8;color:#c6cde0}.rankings ol{padding-left:25px;font-size:12px}.rankings li{padding:9px 0;border-bottom:1px solid #454e69}.rankings li strong{float:right;color:var(--yellow)}.rankings .quiet{width:100%;margin-top:18px}
