:root{--ink:#eef4fa;--haze:#e2eefa8c;--granite:#090d14b8;--cold:#a9ecff;--hot:#ff9a2e;--blood:#ff4d5e;--disp:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:system-ui,-apple-system,"Helvetica Neue","Hiragino Sans","Noto Sans JP",sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%;font-family:var(--sans);color:var(--ink);background:#05070c;overflow:hidden}body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}#stage{touch-action:none;cursor:crosshair;position:relative;overflow:hidden;box-shadow:0 0 80px #000000e6}#c{width:100%;height:100%;display:block}.ui{pointer-events:none;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom)) 14px;position:absolute;inset:0}#vig{pointer-events:none;background:radial-gradient(120% 74% at 50% 44%,#0000 42%,#04060c8c 100%);position:absolute;inset:0}#pump{pointer-events:none;opacity:0;background:radial-gradient(120% 70%,#0000 45%,#ff283c80 100%);transition:opacity .3s;position:absolute;inset:0}#meter{pointer-events:none;width:60px;position:absolute;top:0;bottom:0;right:0}#ticks{position:absolute;inset:0 12px 0 0}.tk{background:var(--ink);opacity:0;will-change:transform;width:8px;height:1px;position:absolute;top:0;right:0}.tk>span{font:700 9px/1 var(--sans);letter-spacing:.06em;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px #0009;position:absolute;top:0;right:13px;transform:translateY(-50%)}#rail{background:linear-gradient(#0000,#eef4fa52 12% 88%,#0000);width:1px;position:absolute;top:5%;bottom:5%;right:12px}#read{top:max(14px,env(safe-area-inset-top));line-height:1;position:absolute;left:16px}#read .lab{font:600 9px/1 var(--sans);letter-spacing:.34em;opacity:.6;margin-bottom:6px}#altN{font:800 46px/.9 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 2px 18px #0000008c}#read .u{font:700 14px/1 var(--sans);opacity:.75;margin-left:3px}#sub{font:700 10px/1 var(--sans);letter-spacing:.14em;align-items:center;gap:8px;margin-top:9px;display:flex}#grade{color:var(--hot)}#sub .sep{opacity:.35}#bestN{opacity:.7}#stam{left:14px;bottom:max(22px,env(safe-area-inset-bottom));background:#080c1480;border-radius:3px;width:5px;height:34%;position:absolute;box-shadow:0 0 0 1px #eef4fa2e}#stamF{background:linear-gradient(#a9ecff,#7fe6c8);border-radius:3px;width:100%;height:100%;transition:background .3s;position:absolute;bottom:0;left:0}#stamF.mid{background:linear-gradient(#ffe6a8,#ffc46b)}#stamF.low{background:linear-gradient(#ff9a2e,#ff3b52);animation:.55s infinite pump}#stamLab{left:24px;bottom:max(22px,env(safe-area-inset-bottom));transform-origin:0 100%;font:700 9px/1 var(--sans);letter-spacing:.3em;opacity:.5;white-space:nowrap;position:absolute;transform:rotate(-90deg)}@keyframes pump{0%,to{opacity:1}50%{opacity:.45}}#limbs{left:30px;bottom:max(22px,env(safe-area-inset-bottom));font:700 8px/1 var(--sans);letter-spacing:.14em;opacity:.9;grid-template-columns:auto 42px 42px;align-items:center;gap:4px 5px;display:grid;position:absolute}#limbs .lab{opacity:.45;text-align:right}.gr{background:#080c148c;border-radius:2px;height:4px;overflow:hidden;box-shadow:0 0 0 1px #eef4fa29}.gf{background:linear-gradient(90deg,#a9ecff,#7fe6c8);border-radius:2px;width:100%;height:100%;transition:width .12s linear,background .3s}.gf.mid{background:linear-gradient(90deg,#ffe6a8,#ffc46b)}.gf.low{background:linear-gradient(90deg,#ff9a2e,#ff3b52);animation:.5s infinite pump}.gf.off{background:#eef4fa3d}#pit{right:14px;bottom:max(22px,env(safe-area-inset-bottom));pointer-events:auto;cursor:pointer;width:56px;height:56px;color:var(--ink);-webkit-backdrop-filter:blur(6px);background:#0a0e1680;border:1px solid #eef4fa47;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute}#pit .pk{opacity:.92}#pit .pn{font:800 11px/1 var(--sans);opacity:.75}#pit:active{background:#e8663c59;transform:scale(.94)}#pit.empty{opacity:.3}.modes{pointer-events:auto;flex-direction:column;gap:9px;margin-top:22px;display:flex}.modes button{cursor:pointer;color:var(--ink);font:700 14px/1.25 var(--sans);letter-spacing:.16em;background:#eef4fa17;border:1px solid #eef4fa57;border-radius:11px;flex-direction:column;align-items:center;gap:4px;padding:13px 30px;display:flex}.modes button span{font:600 8px/1 var(--sans);letter-spacing:.2em;opacity:.5}.modes button:active{background:#eef4fa2e;transform:scale(.97)}.card.wide{width:min(340px,86vw)}.grid{pointer-events:auto;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0 4px;display:grid}.st{aspect-ratio:1;cursor:pointer;color:var(--ink);font:700 12px/1 var(--sans);background:#eef4fa14;border:1px solid #eef4fa3d;border-radius:8px}.st.done{background:#e8552f57;border-color:#e8552fb3}.st.lock{opacity:.24;cursor:default}.st:active{transform:scale(.94)}#stgLab{font:800 11px/1 var(--sans);letter-spacing:.24em;opacity:.8;margin-top:6px;display:none}body.boulder #stgLab{display:block}body.boulder #sub{display:none}#quit{right:14px;bottom:max(22px,env(safe-area-inset-bottom));pointer-events:auto;cursor:pointer;width:44px;height:44px;color:var(--ink);font:400 20px/1 var(--sans);background:#0a0e1680;border:1px solid #eef4fa47;border-radius:50%;display:none;position:absolute}body.boulder #quit{display:block}body.boulder #pit,body.boulder #share,body:not(.boulder) #toList2{display:none}#flash{text-align:center;opacity:0;font:800 30px/1 var(--sans);letter-spacing:.16em;text-shadow:0 3px 24px #0009;transition:opacity .18s;position:absolute;top:34%;left:0;right:0}#hint{text-align:center;font:600 12px/1.7 var(--sans);letter-spacing:.18em;opacity:0;text-shadow:0 2px 12px #000000b3;transition:opacity .6s;position:absolute;bottom:23%;left:0;right:0}#hint b{letter-spacing:.24em;color:var(--cold);font-size:11px;font-weight:800;display:block}#snd{top:max(12px,env(safe-area-inset-top));pointer-events:auto;color:var(--ink);opacity:.55;cursor:pointer;background:0 0;border:0;padding:6px;font-size:15px;position:absolute;right:14px}#snd.off{opacity:.28}.panel{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:absolute;inset:0}.panel.hide{opacity:0;visibility:hidden}#title{background:linear-gradient(#05080e9e 0%,#05080e26 42%,#05080ec7 100%)}#title .kanji{font-family:var(--disp);writing-mode:vertical-rl;letter-spacing:.12em;text-shadow:0 6px 40px #000000bf;padding-left:.1em;font-size:76px;font-weight:600;line-height:1}#title .rom{font:700 11px/1 var(--sans);letter-spacing:.62em;opacity:.72;margin-top:20px;padding-left:.62em}#title .desc{font:600 12px/1.9 var(--sans);letter-spacing:.1em;opacity:.8;margin-top:34px}#title .desc em{color:var(--cold);font-style:normal}#title .go{font:800 12px/1 var(--sans);letter-spacing:.4em;padding-left:.4em;animation:2.2s ease-in-out infinite breathe;position:absolute;bottom:14%}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}#over{-webkit-backdrop-filter:blur(3px);background:#05080e9e}#over .card{background:var(--granite);border:1px solid #eef4fa21;border-radius:2px;min-width:250px;padding:30px 34px 26px;box-shadow:0 24px 70px #0009}#over .lab{font:600 9px/1 var(--sans);letter-spacing:.36em;opacity:.55}#over .big{font:800 62px/.85 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:14px 0 2px}#over .big span{opacity:.6;margin-left:4px;font-size:18px;font-weight:700}#newrec{font:800 9px/1 var(--sans);letter-spacing:.3em;color:#08131a;background:var(--cold);border-radius:2px;margin-top:10px;padding:6px 10px;display:none}#over .rule{background:#eef4fa24;height:1px;margin:22px 0 18px}.btns{justify-content:center;gap:10px;display:flex}.btns button{pointer-events:auto;cursor:pointer;font:800 11px/1 var(--sans);letter-spacing:.2em;color:var(--ink);background:0 0;border:1px solid #eef4fa38;border-radius:2px;padding:13px 20px;transition:all .2s}.btns button:hover{background:#eef4fa1a}.btns #retry{background:var(--ink);color:#080b12;border-color:var(--ink)}.btns button:focus-visible{outline:2px solid var(--cold);outline-offset:2px}@media (prefers-reduced-motion:reduce){#title .go,#stamF.low{animation:none}}
