.twig-board{color:#233e36;width:min(100%,560px);margin:0 auto;font-size:15px}.tp-hud{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;padding:6px 0 2px;display:flex}.tp-title strong{font-size:1.1em}.tp-title span{margin-left:6px;font-weight:600}.tp-title small{color:#5e6f63;margin-left:8px}.tp-count strong{font-size:1.15em}.tp-goal{color:#2f5a3a;margin:2px 0 8px;font-weight:600}.tp-stage{width:min(100%,calc((100dvh - var(--tp-chrome,340px)) * var(--ar)));min-width:min(100%,260px);aspect-ratio:var(--ar);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:linear-gradient(#cfe8f5,#e6f3e0 22%);border-radius:16px;margin:0 auto;position:relative;box-shadow:0 12px 26px #2c3d2430}.tp-stage svg{width:100%;height:100%;display:block}.tp-hit{width:max(var(--w),44px);height:max(var(--h),44px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;padding:0;position:absolute;transform:translate(-50%,-50%)}.tp-hit:hover{background:#ffffff1f}.tp-hit:focus-visible{outline-offset:1px;background:#ffffff26;outline:3px solid #ffd04a}.tp-hit[aria-disabled=true]{cursor:default}.tp-hit.is-hint{outline:3px solid #fff3b0;animation:1s ease-in-out infinite tp-hint;box-shadow:0 0 0 6px #ffd04a88,0 0 18px 8px #ffd04acc}@keyframes tp-hint{50%{box-shadow:0 0 0 10px #ffd04a33,0 0 8px 2px #ffd04a88}}.tp-twig.is-sliding{animation:.26s ease-in forwards tp-slide}@keyframes tp-slide{to{transform:translate(var(--dx),var(--dy));opacity:0}}.tp-ember .tp-glow{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite tp-pulse}@keyframes tp-pulse{50%{opacity:.15;transform:scale(1.25)}}.tp-flash{pointer-events:none;transform-box:fill-box}.tp-flash circle,.tp-flash path{transform-box:fill-box;transform-origin:50%;animation:.4s ease-out forwards tp-pop}.tp-flash-steam circle{fill:#f4fbff;opacity:.9}.tp-flash-scorch circle{fill:#ff9a2a}.tp-flash-crush circle{fill:#c9c2b6}.tp-flash-collect path{stroke:#ffe27a;stroke-width:4px;stroke-linecap:round;fill:none}.tp-flash-lose circle{fill:#ff3b2f}@keyframes tp-pop{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.7)}}.tp-status{min-height:3em;margin:10px 0 4px;line-height:1.45}.tp-status[data-kind=lost]{color:#9b2c1c;font-weight:600}.tp-status[data-kind=won]{color:#1f6a3a;font-weight:600}.tp-status[data-kind=tip]{color:#4f6459}.is-lost .tp-stage{animation:.35s ease-in-out tp-shake}@keyframes tp-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.tp-actions{flex-wrap:wrap;gap:8px;margin:6px 0 8px;display:flex}.tp-actions button{color:#244a38;cursor:pointer;touch-action:manipulation;background:#edf2e6;border:1px solid #9bab99;border-radius:8px;min-height:44px;padding:8px 14px;font:600 15px system-ui,sans-serif}.tp-actions button.is-primary{color:#fff;background:#2f7d4a;border-color:#2f7d4a}.tp-actions button:disabled{opacity:.55;cursor:default}.tp-actions button:focus-visible{outline-offset:2px;outline:3px solid #de861b}@media (prefers-reduced-motion:reduce){.tp-twig.is-sliding,.tp-ember .tp-glow,.tp-hit.is-hint,.is-lost .tp-stage{animation:none}}
