.off-pill{position:fixed;z-index:70;top:calc(env(safe-area-inset-top, 0px) + 8px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);display:flex;align-items:center;gap:8px;padding:9px 14px;min-height:44px;border-radius:999px;border:1px solid #e28d3b;background:#1b1208ee;color:#ffd9a8;font:600 .78rem system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:offPill 2s ease-in-out infinite}.off-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#E28D3B}.off-toast{pointer-events:none;position:fixed;z-index:70;top:calc(env(safe-area-inset-top, 0px) + 10px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);padding:10px 16px;border-radius:999px;background:#062a1d;border:1px solid #2fd08c;color:#b9ffe0;font:600 .82rem system-ui,sans-serif;animation:offToast 2.4s ease both}.off-demo{position:fixed;z-index:60;left:calc(10px + env(safe-area-inset-left, 0px));bottom:calc(92px + env(safe-area-inset-bottom, 0px));min-height:44px;padding:6px 14px;border-radius:999px;border:1px dashed #ffffff55;background:#0b1424cc;color:#cfd6e2;font:500 .7rem system-ui,sans-serif;opacity:.65;cursor:pointer}.off-demo:focus-visible,.off-demo:hover{opacity:1}.off-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:calc(env(safe-area-inset-top, 0px) + 12px) 12px calc(env(safe-area-inset-bottom, 0px) + 12px);background:#070510d9;backdrop-filter:blur(6px);animation:offFade .25s ease both}.off-card{width:100%;max-width:440px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;border-radius:22px;background:#120b1f;border:1px solid #ffffff22;padding:12px 12px 16px;color:#eef2fa;font-family:system-ui,sans-serif}.off-top{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px}.off-top h2{margin:0;font-size:1rem}.off-x{min-width:44px;min-height:44px;border:0;border-radius:12px;background:#ffffff14;color:inherit;font-size:1rem;cursor:pointer}.off-scene{display:block;width:100%;height:auto;max-height:48vh;border-radius:16px}.off-msg{margin:10px 4px 4px;min-height:2.6em;font-size:.92rem;line-height:1.35;animation:offFade .5s ease both}.off-msg.ok{color:#b9ffe0;font-weight:600}.off-scene .star{animation:offTwinkle 2.4s ease-in-out infinite}.off-scene .beacon{animation:offBlink 1.4s steps(2) infinite}.off-scene .dish,.off-scene .scratch,.off-scene .waves,.off-scene .wheel{transform-box:fill-box}.off-scene .dish{transform-origin:50% 100%}.is-off .dish{animation:offWobble 1.1s ease-in-out infinite}.is-ok .dish{transform:rotate(18deg);transition:transform .6s cubic-bezier(.3,1.4,.5,1)}.off-scene .waves{stroke:#5aa9ff;transform-origin:0 100%}.is-off .waves{stroke-dasharray:3 5;animation:offStatic .6s steps(3) infinite;transform:translateX(-6px) rotate(-14deg)}.is-ok .waves{stroke:#2fd08c;animation:offWave 1s ease-in-out infinite}.off-scene .beam{opacity:0;stroke-dasharray:6 6}.is-ok .beam{opacity:1;animation:offDash .5s linear infinite}.off-scene .ring{stroke:#5aa9ff;transform-box:fill-box;transform-origin:center;animation:offRing 1.2s ease-out forwards}.is-ok .ring{stroke:#2fd08c}.is-off .scratch{transform-origin:20% 90%;animation:offScratch .45s ease-in-out infinite alternate}.off-scene .spark{animation:offSpark .25s steps(2) infinite}.is-ok .haze,.is-ok .spark,.is-ok .storm{display:none}.off-scene .grain{stroke:#e8c28a;stroke-width:1.6;stroke-linecap:round;opacity:.7;animation:offSand 2s linear infinite}.off-scene .haze{opacity:.16;animation:offHaze 2.5s ease-in-out infinite}.off-scene .slurry{stroke:#e5c07b;stroke-dasharray:10 8;opacity:.5}.is-off .slurry{stroke-dashoffset:0;clip-path:inset(0 52% 0 0)}.is-ok .slurry{stroke:#2fd08c;opacity:1;animation:offFlow .45s linear infinite}.off-scene .wheel{stroke:#ff5a5a;transform-origin:center;transition:transform 1.2s cubic-bezier(.3,.9,.3,1),stroke .4s}.is-ok .wheel{stroke:#2fd08c;transform:rotate(450deg)}.off-scene .vtext{fill:#ff8b8b}.is-ok .vtext{fill:#7dffc4}.off-game{display:grid;gap:10px;padding:8px 4px 0}.off-gauge{position:relative;height:26px;border-radius:999px;background:#ffffff18;overflow:hidden}.off-gauge i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#3fa7ff,#2fd08c);transition:width .12s linear}.off-gauge i.hot{background:linear-gradient(90deg,#E28D3B,#ff5a5a)}.off-gauge span{position:absolute;inset:0;display:grid;place-items:center;font-size:.75rem;font-weight:700;text-shadow:0 1px 2px #000a}.off-row{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center}.off-pump{width:100%;height:auto}.off-pump .piston{animation:offPiston .28s ease-out}.off-pumpbtn{min-height:56px;border:0;border-radius:16px;background:linear-gradient(135deg,#E28D3B,#c9692a);color:#1b0f05;font:800 .95rem system-ui,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 18px #E28D3B55}.off-pumpbtn:active{transform:scale(.97)}.off-score{margin:0;font-size:.85rem}.off-flavor{margin:0;color:#ffb347;font-size:.82rem;font-weight:600}.off-fine{margin:0;font-size:.7rem;opacity:.6}@keyframes offPill{50%{opacity:.72}}@keyframes offToast{0%{opacity:0;transform:translate(-50%,-14px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@keyframes offFade{0%{opacity:0}}@keyframes offTwinkle{50%{opacity:.25}}@keyframes offBlink{50%{opacity:.1}}@keyframes offWobble{0%,to{transform:rotate(-22deg)}50%{transform:rotate(14deg)}}@keyframes offStatic{50%{opacity:.3}}@keyframes offWave{50%{opacity:.5}}@keyframes offDash{to{stroke-dashoffset:-12}}@keyframes offFlow{to{stroke-dashoffset:-18}}@keyframes offRing{0%{transform:scale(.3);opacity:.9}to{transform:scale(7);opacity:0}}@keyframes offScratch{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes offSpark{50%{opacity:0}}@keyframes offSand{0%{transform:translateX(0)}to{transform:translateX(430px)}}@keyframes offHaze{50%{opacity:.08}}@keyframes offPiston{0%{transform:translateX(0)}50%{transform:translateX(14px)}to{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.off-msg,.off-pill,.off-pump .piston,.off-scene *{animation:none!important}.off-gauge i,.off-scene .dish,.off-scene .wheel{transition:none}}