:root{--bg0:#06140e;--bg1:#0c3322;--accent:#4ade80;--accent2:#ffd23f;--good:#34d399;--bad:#fb7185;--ink:#effaf3;--muted:#9bc0aa;--card:#ffffff0f;--card-border:#ffffff26}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{margin:0;padding:0}body{color:var(--ink);background:radial-gradient(130% 130% at 50% 0%, var(--bg1) 0%, var(--bg0) 65%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;overflow-x:hidden}.wrap{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:14px 14px 30px;display:flex}.hud{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hud .box{text-align:center;min-width:64px}.hud .label{color:var(--muted);font-size:10px}.hud .val{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.time .val{color:var(--accent2)}.timerbar{background:#ffffff1a;border-radius:99px;height:7px;margin-bottom:14px;overflow:hidden}.timerbar>span{background:linear-gradient(90deg, var(--good), var(--accent2));height:100%;transition:width .2s linear;display:block}.timerbar.warn>span{background:linear-gradient(90deg, var(--bad), var(--accent2))}.panel{gap:10px;margin-bottom:12px;display:flex}.pbox{border:1px solid var(--card-border);background:var(--card);text-align:center;border-radius:14px;flex:1;padding:10px}.pbox .pl{color:var(--muted);font-size:11px}.pbox .pv{font-variant-numeric:tabular-nums;font-size:30px;font-weight:900}.pbox.target .pv{color:var(--accent2)}.pbox.total .pv.over{color:var(--bad)}.pbox.total .pv.exact{color:var(--good)}.diff{text-align:center;color:var(--muted);min-height:20px;margin-bottom:12px;font-size:14px}.diff b{color:var(--ink)}.grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.item{appearance:none;border:1px solid var(--card-border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px;font-family:inherit;transition:transform 70ms,background .15s,border .15s;display:flex}.item:active{transform:scale(.97)}.item.on{border-color:var(--accent);background:#4ade802e}.item .emo{font-size:26px}.item .nm{text-align:left;flex:1;font-size:14px;font-weight:700}.item .pr{font-variant-numeric:tabular-nums;font-size:15px;font-weight:900}.item .chk{width:18px;font-size:16px}.actions{justify-content:center;gap:10px;margin-top:14px;display:flex}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.logo{letter-spacing:3px;color:var(--muted);font-size:12px}.title{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:40px;font-weight:900;line-height:1.12}.lead{color:var(--muted);max-width:380px;font-size:15px;line-height:1.8}.rules{text-align:left;background:var(--card);border:1px solid var(--card-border);border-radius:16px;max-width:400px;padding:16px 18px;font-size:14px;line-height:1.9}.rules b{color:var(--accent)}.bignum{background:linear-gradient(135deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:80px;font-weight:900;line-height:1;animation:.5s cubic-bezier(.2,1.4,.4,1) pop}.subline{color:var(--muted);font-size:14px;line-height:1.7}.best{color:var(--accent2);font-weight:800}.btn{appearance:none;cursor:pointer;color:#06140e;background:linear-gradient(135deg, var(--accent), var(--accent2));border:none;border-radius:14px;padding:16px 24px;font-family:inherit;font-size:18px;font-weight:800;transition:transform 80ms;box-shadow:0 10px 24px #4ade804d}.btn:active{transform:translateY(2px)scale(.99)}.btn.ghost{color:var(--ink);border:1px solid var(--card-border);box-shadow:none;background:0 0}.footer{text-align:center;color:var(--muted);margin-top:14px;font-size:11px;line-height:1.6}.clearfx{z-index:50;pointer-events:none;background:#083c24c7;flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:.15s fbin;display:flex;position:fixed;inset:0}.clearfx .big{color:var(--accent);font-size:70px;font-weight:900;animation:.4s cubic-bezier(.2,1.5,.4,1) pop}@keyframes fbin{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
