:root{--ink:#172a36;--muted:#65747c;--paper:#f8f6ef;--red:#e95948;--teal:#158b7e;--line:#dedfd7}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.65}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dd7751;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:960px;padding:0 26px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:17px 0;font-size:11px}.top a{text-decoration:none;font-weight:800}.top>span{letter-spacing:1.7px;font:11px monospace;color:var(--muted)}.quiet{background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 12px;color:var(--ink);font-size:12px}.intro{padding:37px 0 23px;text-align:center}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:900;color:var(--red);margin:0 0 7px}.intro h1{font-size:clamp(28px,5.7vw,49px);line-height:1.35;letter-spacing:-1.5px;margin:0}.intro h1 span{color:var(--red)}.intro>p:last-child{color:var(--muted);font-size:13px;margin:12px 0 0}.game{max-width:690px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 10px 30px #172a3608}.hud{display:flex;justify-content:space-between;gap:10px;padding:0 6px 14px}.hud>div{min-width:0}.hud small{display:block;font:10px monospace;letter-spacing:1.4px;color:var(--muted)}.hud strong{display:block;font:800 31px Arial,sans-serif;font-variant-numeric:tabular-nums;line-height:1.3}.hud strong span{font:11px Meiryo,sans-serif;margin-left:5px;color:var(--muted)}.combo{text-align:center}.combo strong{color:var(--teal)}.timer{text-align:right}.time-track{height:4px;background:#e8e9e3;border-radius:4px;overflow:hidden;margin-bottom:17px}.time-track>div{height:100%;background:var(--teal);width:100%}.arena{position:relative;overflow:hidden;min-height:302px;background:#172a36;border-radius:12px;color:white;text-align:center;padding:18px 18px 29px;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:32px 32px;border:2px solid #29424c}.arena.reverse{border-color:#ee8b6e;background-color:#342936}.arena-top{display:flex;align-items:center;justify-content:space-between;font:9px monospace;letter-spacing:1px;gap:5px;color:#aac0c4}.mode-tag{border:1px solid #53666b;padding:3px 8px;border-radius:20px}.mode{font-size:25px;line-height:1.5;color:#72ddcb;font-weight:900;margin-top:18px}.reverse .mode{color:#ffac8c}.arrow{font:800 75px Arial,sans-serif;line-height:1.15;margin:6px auto;color:#fff4d9}.instruction{font-size:23px;font-weight:900;letter-spacing:1px}.subline{font-size:11px;color:#b5c3c7;margin:8px 0 0}.feedback{font-weight:800;font-size:12px;height:24px;color:#91ead4;margin-top:10px}.feedback.bad{color:#ffaf9e}.q-bar{position:absolute;bottom:0;left:0;height:5px;background:#6ddac7;width:100%}.reverse .q-bar{background:#ffab8b}.countdown{position:absolute;inset:0;background:#172a36ed;display:grid;place-items:center;font-size:75px;font-weight:900;color:#fff2d8}.controls{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:61px 61px 61px;gap:7px;width:min(100%,350px);margin:19px auto 10px;user-select:none}.controls button{border:1px solid #ccd4d1;background:#f7faf7;color:var(--ink);border-radius:9px;box-shadow:0 3px 0 #d2dcd6;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:800;min-width:0}.controls button:active:not(:disabled),.controls button.pressed{background:#d9f2e8;transform:translateY(2px);box-shadow:0 1px 0 #d2dcd6}.controls button span{font-size:28px;line-height:1}.up{grid-column:2;grid-row:1}.left{grid-column:1;grid-row:2}.right{grid-column:3;grid-row:2}.down{grid-column:2;grid-row:3}.control-center{grid-column:2;grid-row:2;display:grid;place-content:center;text-align:center;font:8px/1.6 monospace;letter-spacing:1px;color:#8b989d}.key-note{text-align:center;font-size:10px;color:var(--muted);margin:10px 0 19px}.start-panel{display:flex;gap:10px;justify-content:center}.primary,.secondary{border-radius:8px;padding:12px 18px;line-height:1.4;font-size:13px;font-weight:800;min-height:44px}.primary{background:var(--red);border:1px solid #d7493c;color:white;box-shadow:0 3px 0 #bd3b30}.primary span{font-size:11px;margin-left:15px}.secondary{background:#fff;border:1px solid #cdd3ce;color:var(--ink)}.status{text-align:center;font-size:11px;color:var(--muted);margin:14px 0 0;white-space:pre-line;overflow-wrap:anywhere}.stop{display:block;margin:12px auto 0;background:none;border:0;text-decoration:underline;font-size:11px;color:var(--muted)}.result{max-width:690px;margin:24px auto 0;padding:30px;background:#fff6e4;border:1px solid #e9cf99;border-radius:15px;text-align:center;scroll-margin-top:20px}.result h2{font-size:23px;margin:0}.result-score{font:900 66px/1.3 Arial,sans-serif;color:var(--red);margin-top:10px}.result-score small{font-size:18px;margin-left:8px}.result>p{font-size:13px}.result-stats{display:flex;justify-content:space-evenly;border-top:1px solid #e9d9b8;border-bottom:1px solid #e9d9b8;padding:17px 0;margin:20px 0}.result-stats dt{font-size:10px;color:var(--muted)}.result-stats dd{font-size:19px;font-weight:900;margin:4px 0 0}#entry{text-align:left;max-width:430px;margin:auto}#entry label{font-size:13px;font-weight:800}#entry label small{font-weight:400;font-size:10px;margin-left:8px}.entry-row{display:flex;gap:8px;margin-top:9px}.entry-row input{min-width:0;flex:1;border:1px solid #d9c6a0;border-radius:7px;padding:10px;background:white;color:var(--ink)}#entry>p{font-size:10px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:21px}.how,.ranking{margin:49px auto;max-width:780px}.section-head h2{font-size:23px;margin:0 0 16px}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rule{padding:22px;border:1px solid #cfe2d9;background:#edf5ef;border-radius:11px}.rule>span{font-size:11px;font-weight:900;color:var(--teal)}.rule h3{font-size:19px;margin:9px 0}.rule p{font-size:12px;margin:0}.rule b{margin-left:9px}.rule.defy{background:#fcece5;border-color:#eac9bd}.rule.defy>span{color:#cb5a42}.scoring{font-size:12px;color:#566872;margin:20px 0 10px}.fine{font-size:11px;color:var(--muted)}.rank-head{display:flex;align-items:center;justify-content:space-between}.table-scroll{overflow-x:auto;border-top:2px solid var(--ink)}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{padding:12px 9px;color:var(--muted);font-size:10px}td{padding:14px 9px;border-top:1px solid var(--line);overflow-wrap:anywhere}td:nth-child(2){max-width:220px}td:nth-child(3){font-weight:900}td:last-child{font-size:10px;white-space:nowrap}#more{display:block;margin:18px auto}footer{padding:22px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}footer a{text-decoration:none;font-weight:800}@media(max-width:560px){.shell{padding:0 13px}.top{font-size:10px;gap:6px}.top>span{font-size:8px;letter-spacing:0}.quiet{padding:5px 8px;font-size:10px}.intro{padding:29px 0 20px}.intro h1{letter-spacing:-1px;font-size:29px}.intro>p:last-child{font-size:11px}.game{padding:15px;border-radius:13px}.hud strong{font-size:27px}.arena{padding:14px 10px 22px;min-height:280px}.mode{font-size:23px}.instruction{font-size:21px}.arrow{font-size:70px}.arena-top{font-size:8px;letter-spacing:0}.controls{grid-template-rows:57px 57px 57px;gap:6px;margin-top:17px}.start-panel{gap:7px}.primary,.secondary{font-size:12px;padding:11px 13px}.primary span{margin-left:7px;font-size:10px}.result{padding:23px 14px}.result-score{font-size:58px}.result-actions{gap:7px}.rule-grid{gap:9px}.rule{padding:14px 11px}.rule h3{font-size:15px}.rule p{font-size:10px}.rule b{display:block;margin:7px 0 0}.section-head h2{font-size:21px}.how,.ranking{margin:35px 0}footer span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
