*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}:root{--cyan:#7df9ff;--blue:#4d7bff;--orange:#ff5d3a;--yellow:#ffd23a;--purple:#b06bff;--red:#ff4b3a;--ink:#eef2ff;--dim:#9aa3c0;--glass:#0d101cd1;--glass-lite:#14182899;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}html,body{width:100%;height:100%;color:var(--ink);touch-action:manipulation;overscroll-behavior:none;background:#06070d;font-family:Hiragino Kaku Gothic ProN,system-ui,-apple-system,Noto Sans JP,sans-serif;overflow:hidden}#gl{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0;overflow:hidden}#ui>*{pointer-events:auto}.btn{cursor:pointer;color:var(--ink);letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#7df9ff29,#4d7bff29);border:1px solid #7df9ff73;border-radius:14px;padding:14px 22px;font-size:17px;font-weight:800;transition:transform 80ms,background .2s;display:block}.btn:active{transform:scale(.96)}.btn.primary{background:linear-gradient(135deg, var(--cyan), var(--blue));color:#04101c;border:none;box-shadow:0 6px 24px #4d96ff73}.btn.ghost{color:var(--dim);background:#0a0c168c;border:1px solid #9aa3c059;padding:10px 16px;font-size:14px}.btn.danger{background:#3c0e0a99;border-color:#ff4b3a99}.panel{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #7df9ff2e;border-radius:18px;box-shadow:0 18px 60px #0000008c}.screen{padding:calc(20px + var(--safe-t)) 22px calc(24px + var(--safe-b));background:radial-gradient(120% 90% at 50% 10%,#090c1a40,#05060cc7);flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.35s fadein;display:flex;position:absolute;inset:0}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.logo{letter-spacing:.02em;background:linear-gradient(120deg, #fff, var(--cyan) 45%, var(--blue));color:#0000;filter:drop-shadow(0 4px 26px #4d96ff80);-webkit-background-clip:text;background-clip:text;font-size:clamp(46px,14vw,72px);font-style:italic;font-weight:900;line-height:.95}.logo-sub{letter-spacing:.55em;color:var(--dim);text-indent:.55em;margin-top:4px;font-size:13px;font-weight:700}.logo-tri{letter-spacing:.12em;gap:8px;margin-top:10px;font-size:11px;font-weight:800;display:flex}.logo-tri span{border:1px solid;border-radius:99px;padding:4px 10px}.tri-speed{color:var(--red);border-color:#ff4b3a80}.tri-boulder{color:var(--yellow);border-color:#ffd23a80}.tri-lead{color:var(--purple);border-color:#b06bff80}.menu-col{flex-direction:column;gap:12px;width:min(320px,82vw);margin-top:18px;display:flex}.menu-note{color:var(--dim);text-align:center;font-size:11px}.h1{letter-spacing:.04em;font-size:26px;font-style:italic;font-weight:900}.h2{color:var(--dim);letter-spacing:.14em;font-size:14px;font-weight:700}.event-card{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(360px,88vw);padding:26px 22px;display:flex}.event-num{letter-spacing:.3em;color:var(--dim);font-size:12px;font-weight:800}.event-name{font-size:44px;font-style:italic;font-weight:900}.event-desc{color:var(--dim);font-size:13px;line-height:1.7}.table{border-collapse:collapse;width:min(380px,92vw);font-size:13px}.table th{color:var(--dim);letter-spacing:.12em;text-align:right;border-bottom:1px solid #9aa3c040;padding:6px 8px;font-size:10px}.table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid #9aa3c01f;padding:8px}.table th:nth-child(2),.table td:nth-child(2){text-align:left}.table tr.you td{color:var(--cyan);background:#7df9ff1a;font-weight:800}.table .rank1{color:var(--yellow);font-weight:900}.hud-top{top:calc(10px + var(--safe-t));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;left:12px;right:12px}.hud-chip{background:var(--glass);letter-spacing:.05em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #7df9ff33;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:800}.hud-chip .sub{color:var(--dim);letter-spacing:.14em;font-size:10px;display:block}.hud-timer{font-variant-numeric:tabular-nums;font-size:22px}.hud-timer.warn{color:var(--red);animation:.8s infinite blink}@keyframes blink{50%{opacity:.4}}.pump-wrap{pointer-events:none;background:#0a0c16a6;border:1px solid #9aa3c04d;border-radius:10px;width:16px;height:34vh;position:absolute;top:50%;right:10px;overflow:hidden;transform:translateY(-50%)}.pump-fill{background:linear-gradient(#ff4b3a,#ffd23a 45%,#35d97b);height:0%;transition:height .15s linear;position:absolute;bottom:0;left:0;right:0}.pump-label{transform-origin:50%;letter-spacing:.3em;color:var(--dim);pointer-events:none;font-size:9px;position:absolute;top:50%;right:30px;transform:translateY(-50%)rotate(90deg)}.pump-wrap.hot{border-color:var(--red);animation:.5s infinite pumphot}@keyframes pumphot{50%{box-shadow:0 0 18px #ff4b3acc}}.limb-chips{gap:8px;animation:.14s pop;display:flex;position:absolute;transform:translate(-50%,8px)}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)scale(.7)}}.limb-chip{color:#071018;cursor:pointer;border:none;border-radius:14px;min-width:58px;padding:12px 10px;font-size:15px;font-weight:900;box-shadow:0 6px 18px #00000080}.limb-chip:active{transform:scale(.94)}.limb-chip.hand{background:linear-gradient(135deg, #ffe9a8, var(--yellow))}.limb-chip.foot{background:linear-gradient(135deg, #b8f7ff, var(--cyan))}.limb-chip.strain-high{opacity:.62}.limb-chip .sub{opacity:.7;letter-spacing:.08em;font-size:9px;font-weight:800;display:block}.action-btns{left:12px;bottom:calc(18px + var(--safe-b));gap:10px;display:flex;position:absolute}.action-btn{letter-spacing:.08em;background:var(--glass);color:var(--ink);border:1px solid #9aa3c066;border-radius:16px;padding:16px 20px;font-size:16px;font-weight:900}.action-btn:active{transform:scale(.95)}.action-btn.clip-ready{color:#04101c;background:linear-gradient(135deg,#69f0ff,#4d7bff);border:none;animation:.7s infinite clippulse}@keyframes clippulse{50%{transform:scale(1.05);box-shadow:0 0 26px #69f0ffe6}}.action-btn.rest-on{color:#04180c;background:linear-gradient(135deg,#2fe08b,#14b86a);border:none}.toast{letter-spacing:.04em;text-shadow:0 6px 30px #000000b3;pointer-events:none;white-space:nowrap;font-size:clamp(34px,11vw,56px);font-style:italic;font-weight:900;animation:.9s forwards stamp;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}18%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0}}.toast.small{font-size:20px;animation:.7s forwards stamp;top:42%}.toast.perfect{color:var(--cyan)}.toast.good{color:#8fff9e}.toast.slow{color:var(--dim)}.toast.bad{color:var(--red)}.toast.gold{color:var(--yellow)}.speed-clock{top:calc(64px + var(--safe-t));font-variant-numeric:tabular-nums;text-shadow:0 4px 30px #000c;pointer-events:none;font-size:clamp(44px,15vw,68px);font-style:italic;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.speed-vs{top:calc(16px + var(--safe-t));pointer-events:none;align-items:center;gap:14px;font-size:12px;font-weight:800;display:flex;position:absolute;left:50%;transform:translate(-50%)}.speed-vs .me{color:var(--cyan)}.speed-vs .foe{color:var(--orange)}.hint{bottom:calc(14px + var(--safe-b));color:var(--dim);white-space:nowrap;pointer-events:none;background:#080a12b3;border-radius:99px;padding:8px 16px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.final-rank{background:linear-gradient(120deg, #fff, var(--yellow));color:#0000;filter:drop-shadow(0 6px 30px #ffd23a73);-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,24vw,110px);font-style:italic;font-weight:900;line-height:1}.final-label{font-size:20px;font-weight:900}.settings-row{border-bottom:1px solid #9aa3c026;justify-content:space-between;align-items:center;width:min(320px,84vw);padding:12px 4px;font-size:14px;font-weight:700;display:flex}.rec-row{border-bottom:1px solid #9aa3c026;justify-content:space-between;width:min(320px,84vw);padding:10px 4px;font-size:14px;display:flex}.rec-row b{font-variant-numeric:tabular-nums;color:var(--cyan)}.fade-black{opacity:0;pointer-events:none;background:#000;transition:opacity .4s;position:absolute;inset:0}
