:root:root{--bg: #17120f;--bg-2: #221b16;--ink: #f6efe6;--ink-dim: #b3a596;--accent: #ffb347;--line: #3a2f27;--hb-ok: #6fd39a;--hb-pinch: #ff8a3d;--hb-miss: #8a7f76;--hb-wait: #ff5d5d}body .shell{background:linear-gradient(to bottom,#17120ff0 70%,#17120f00)}body .gi-dock__btn{background:#221b16f7}.hb-open{position:fixed;z-index:8;width:var(--hb-d, 112px);height:var(--hb-d, 112px);border-radius:50%;border:0;padding:0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 35% 28%,#f4f1ec,#c9c4bd 34%,#8d8780 70%,#5d5853);box-shadow:0 10px 22px #0000008c,0 2px #ffffff40 inset,0 -3px 6px #00000059 inset;transition:box-shadow .14s ease-out}.hb-open__face{position:absolute;inset:11%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#3b332c;background:radial-gradient(circle at 40% 30%,#fbf8f2,#e2ddd5 55%,#bdb6ac);box-shadow:0 4px #8c857d,0 6px 10px #00000059,0 1px #ffffffe6 inset;transition:transform .11s ease-out,box-shadow .11s ease-out,background .16s ease-out,color .16s ease-out}.hb-open__icon{width:44%;height:auto;display:block}.hb-open__label{font:800 calc(var(--hb-d, 112px) * .22) / 1 system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;letter-spacing:.04em}.hb-open__label--en{font-size:calc(var(--hb-d, 112px) * .15);letter-spacing:.08em}.hb-open[data-down=true],.hb-open:active{transition:none;box-shadow:0 6px 14px #00000080,0 0 0 5px #ffc86ef2,0 0 40px 16px #ff9628b8}.hb-open[data-down=true] .hb-open__face,.hb-open:active .hb-open__face{transition:none;transform:translateY(3px);color:#4a1d00;background:radial-gradient(circle at 45% 35%,#fff1c4,#ffad3d 42%,#e8730a);box-shadow:0 1px #8c857d,0 0 26px #ffaa3ce6,0 3px 8px #6e280080 inset}.hb-open__glow{position:absolute;inset:-4px;border-radius:50%;pointer-events:none;opacity:0}.hb-open--pulse .hb-open__glow{animation:hb-press .5s ease-out}@keyframes hb-press{0%{opacity:1;transform:scale(.96);box-shadow:0 0 0 7px #ffd278f2,0 0 36px 16px #ffa032cc}to{opacity:0;transform:scale(1.55);box-shadow:0 0 0 2px #ffd27800,0 0 30px 10px #ffa03200}}.hb-open[data-waiting=true]{box-shadow:0 6px 14px #00000080,0 0 0 5px #ff5d5de6,0 0 34px 12px #ff464699}.hb-open[data-ready=true]:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:3px solid rgba(255,179,71,.9);animation:hb-pulse 1.3s ease-out infinite;pointer-events:none}@keyframes hb-pulse{0%{transform:scale(.92);opacity:1}to{transform:scale(1.22);opacity:0}}.hb-open:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.hb-result{position:fixed;z-index:9;left:50%;top:calc(var(--shell-h) + env(safe-area-inset-top,0px) + 8px);transform:translate(-50%);width:min(560px,calc(100vw - 20px));max-height:calc(100dvh - var(--shell-h) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 84px);overflow:auto;padding:16px 16px 14px;border-radius:18px;background:linear-gradient(180deg,#28201af7,#181310f7);border:1px solid rgba(255,179,71,.35);box-shadow:0 18px 50px #0009;color:var(--ink);font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}.hb-result[hidden]{display:none}.hb-result__date{margin:0;font-size:12px;color:var(--ink-dim);letter-spacing:.08em;text-align:center}.hb-result__total{margin:4px 0 2px;text-align:center;font-size:15px;font-weight:700;line-height:1.5}.hb-result__big{display:block;font-size:clamp(30px,9vw,40px);font-weight:800;letter-spacing:.02em;color:#fff7e8;font-variant-numeric:tabular-nums}.hb-result__sub{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:15px;font-variant-numeric:tabular-nums}.hb-result__sub b{color:var(--accent)}.hb-result__why{margin:10px 0 8px;padding:8px 10px;border-radius:10px;background:#ffffff0d;font-size:13px;line-height:1.6;color:#efe4d6}.hb-rows{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:7px}.hb-row{display:grid;grid-template-columns:2.4em 1fr auto;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}.hb-row__f{font-weight:800;color:var(--accent);font-size:14px}.hb-row__bars{display:grid;gap:3px}.hb-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#ffffff0f}.hb-bar>i{display:block;height:100%;transform-origin:left center}.hb-bar__ok{background:linear-gradient(180deg,#8de6b2,#4fb87c)}.hb-bar__pinch{background:repeating-linear-gradient(135deg,#ffa25a 0 5px,#ff7a24 5px 10px)}.hb-bar__miss{background:repeating-linear-gradient(135deg,#5b524b 0 5px,#4a423c 5px 10px)}.hb-wait{height:5px;border-radius:3px;background:#ffffff0d;overflow:hidden}.hb-wait>i{display:block;height:100%;background:var(--hb-wait)}.hb-row__n{text-align:right;line-height:1.35;color:#efe4d6;white-space:nowrap}.hb-row__n small{display:block;color:var(--ink-dim);font-size:11px}.hb-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:6px 0 0;font-size:11px;color:var(--ink-dim)}.hb-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.hb-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}.hb-btn{appearance:none;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--accent);font:700 15px/1 system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;cursor:pointer}.hb-btn--main{background:var(--accent);color:#2a1600}.hb-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (prefers-reduced-motion: no-preference){.hb-result[data-in=true]{animation:hb-in .35s cubic-bezier(.2,.9,.3,1.2)}.hb-result[data-in=true] .hb-bar>i{animation:hb-grow .6s ease-out both}}@keyframes hb-in{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes hb-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.hb-open[data-ready=true]:after{animation:none;opacity:.8}.hb-open__face{transition:none}.hb-open--pulse .hb-open__glow{animation-duration:.2s}}
