:root{--tb-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tb-ink: #1f2a33;--tb-ink-soft: #5b6873;--tb-paper: rgba(255, 252, 245, .94);--tb-paper-line: rgba(31, 42, 51, .12);--tb-accent: #c8553d;--tb-accent-ink: #fff;--tb-reward: #e3a51c;--tb-error: #b3261e;--tb-scrim: rgba(18, 26, 33, .72);--tb-radius: 14px;--tb-shadow: 0 6px 20px rgba(18, 26, 33, .18);--tb-gap: 12px;--tb-control: 44px;--tb-safe-top: env(safe-area-inset-top, 0px);--tb-safe-right: env(safe-area-inset-right, 0px);--tb-safe-bottom: env(safe-area-inset-bottom, 0px);--tb-safe-left: env(safe-area-inset-left, 0px)}.tb-hud{position:fixed;inset:0;pointer-events:none;font-family:var(--tb-font);color:var(--tb-ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tb-hud>*{pointer-events:auto}.tb-hud .tb-bar{position:absolute;top:calc(var(--tb-gap) + var(--tb-safe-top));left:calc(var(--tb-gap) + var(--tb-safe-left));right:calc(var(--tb-gap) + var(--tb-safe-right));display:flex;justify-content:space-between;align-items:center;pointer-events:none}.tb-bar>*{pointer-events:auto}.tb-back,.tb-icon-button,.tb-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:var(--tb-control);border:0;border-radius:999px;background:var(--tb-paper);color:inherit;box-shadow:var(--tb-shadow);font:600 15px/1 var(--tb-font);text-decoration:none;cursor:pointer}.tb-back{padding:0 16px 0 8px}@media(max-width:599.98px){.tb-back{width:var(--tb-control);padding:0}.tb-back span{display:none}}.tb-icon-button{width:var(--tb-control);padding:0}.tb-button{padding:0 20px;background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-icon-button:disabled{opacity:.5;cursor:default}.tb-back:focus-visible,.tb-icon-button:focus-visible,.tb-button:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-bar-actions{display:flex;gap:8px}.tb-bar-more{display:flex;gap:8px;animation:tb-bar-more-in .16s ease-out}.tb-bar-more[hidden]{display:none}.tb-bar-toggle[aria-expanded=true]{box-shadow:var(--tb-shadow),inset 0 0 0 2px var(--tb-accent)}@keyframes tb-bar-more-in{0%{opacity:0;transform:translate(12px)}}@media(prefers-reduced-motion:reduce){.tb-bar-more{animation:none}}@media(min-width:600px){.tb-bar-more,.tb-bar-more[hidden]{display:flex;animation:none}.tb-bar-toggle{display:none}}.tb-hud .tb-quest{position:absolute;top:calc(var(--tb-gap) * 2 + var(--tb-control) + var(--tb-safe-top));left:calc(var(--tb-gap) + var(--tb-safe-left));max-width:min(260px,40vw)}@media(max-width:599.98px){.tb-hud .tb-quest{top:auto;bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));max-width:min(340px,calc(100% - var(--tb-gap) * 2 - var(--tb-safe-left) - var(--tb-safe-right)))}}.tb-hud .tb-quest:empty{display:none}.tb-hud .tb-toasts{position:absolute;top:calc(var(--tb-gap) + var(--tb-safe-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:min(420px,calc(100% - var(--tb-gap) * 2 - var(--tb-safe-left) - var(--tb-safe-right)));pointer-events:none}@media(max-width:999.98px){.tb-hud .tb-toasts{top:calc(var(--tb-gap) * 2 + var(--tb-control) + var(--tb-safe-top))}}.tb-toast{box-sizing:border-box;max-width:100%;padding:10px 16px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);font:500 15px/1.3 var(--tb-font);text-wrap:balance;animation:tb-toast-in .18s ease-out}.tb-toast-reward{border-left:4px solid var(--tb-reward)}.tb-toast-error{border-left:4px solid var(--tb-error)}.tb-alert{font-weight:600}@keyframes tb-toast-in{0%{opacity:0;transform:translateY(-6px)}}.tb-hud .tb-share{position:absolute;top:0;left:0;z-index:1;box-sizing:border-box;width:min(280px,calc(100% - 2 * var(--tb-gap)));padding:12px 14px 14px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);-webkit-user-select:text;user-select:text}.tb-hud .tb-share[hidden]{display:none}.tb-share-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tb-share-head h2{margin:0;font-size:17px}.tb-share-head .tb-icon-button{margin:-6px -8px -6px 0;box-shadow:none;background:transparent}.tb-share-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tb-share-item{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 10px;border:1px solid var(--tb-paper-line);border-radius:10px;background:#fff;color:inherit;font:600 14px/1.2 var(--tb-font);text-align:center;text-decoration:none;cursor:pointer}.tb-share-item:hover{border-color:var(--tb-accent)}.tb-share-item:focus-visible,.tb-share-field input:focus-visible{outline:3px solid var(--tb-accent);outline-offset:1px}.tb-share-item[data-method=copy]{grid-column:1 / -1}.tb-share-field{display:flex;flex-direction:column;gap:4px;margin-top:10px;color:var(--tb-ink-soft);font-size:13px}.tb-share-field[hidden]{display:none}.tb-share-field input{min-height:36px;padding:0 8px;border:1px solid var(--tb-paper-line);border-radius:8px;background:#fff;color:var(--tb-ink);font:14px var(--tb-font)}@media(max-width:599.98px){.tb-hud .tb-share{top:auto;right:calc(var(--tb-gap) + var(--tb-safe-right));bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));left:calc(var(--tb-gap) + var(--tb-safe-left));width:auto;transform:none}.tb-share-list{grid-template-columns:1fr 1fr 1fr}}.tb-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:var(--tb-scrim);color:#fff;font:600 18px/1.4 var(--tb-font);text-align:center}.tb-overlay[hidden]{display:none}.tb-overlay svg{width:56px;height:56px}.tb-rotate{display:none}@media(orientation:portrait)and (pointer:coarse){.tb-hud.is-landscape .tb-rotate{display:flex}}.tb-hud .tb-dev{position:absolute;left:calc(var(--tb-gap) + var(--tb-safe-left));bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));margin:0;padding:8px 10px;border-radius:8px;background:#121a21b3;color:#d9f2e6;font:12px/1.4 ui-monospace,monospace;pointer-events:none}.tb-hud .tb-dev:empty{display:none}.tb-hud .tb-play{position:absolute;top:calc(var(--tb-gap) * 2 + var(--tb-control) + var(--tb-safe-top));left:calc(var(--tb-gap) + var(--tb-safe-left));right:calc(var(--tb-gap) + var(--tb-safe-right));bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));pointer-events:none}.tb-play>*{pointer-events:auto}.tb-hud.has-area .tb-play{top:calc(max(var(--tb-area-y),var(--tb-area-bar)) + var(--tb-gap));left:calc(max(var(--tb-area-x),var(--tb-safe-left)) + var(--tb-gap));right:calc(max(100% - var(--tb-area-x) - var(--tb-area-w),var(--tb-safe-right)) + var(--tb-gap));bottom:calc(max(100% - var(--tb-area-y) - var(--tb-area-h),var(--tb-safe-bottom)) + var(--tb-gap))}.tb-hud.is-playing .tb-quest{display:none}.tb-play-panel{position:absolute;left:0;bottom:0;max-width:min(360px,45vw);padding:14px 16px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow)}.tb-play-panel h2{margin:0 0 4px;font:700 18px/1.25 var(--tb-font)}.tb-play-panel p{margin:0 0 12px;color:var(--tb-ink-soft);font:14px/1.4 var(--tb-font)}.tb-play-actions{display:flex;flex-wrap:wrap;gap:8px}.tb-button-quiet{background:var(--tb-paper);color:var(--tb-ink)}.tb-button-share{padding:0 20px 0 16px}.tb-button-share svg{width:18px;height:18px;flex:none}.tb-play .tb-score{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;text-shadow:0 2px 6px rgba(18,26,33,.55);pointer-events:none}.tb-score-value{font:800 44px/1 var(--tb-font);font-variant-numeric:tabular-nums}.tb-score-best{font:600 14px/1.2 var(--tb-font);opacity:.85}.tb-score-row{display:contents}.tb-play .tb-score.is-bar{top:calc(-1 * (var(--tb-gap) + var(--tb-control)))}.tb-play .tb-score.is-bar .tb-score-row{display:flex;align-items:baseline;justify-content:center;gap:8px;height:var(--tb-control);line-height:var(--tb-control);white-space:nowrap}.tb-play .tb-score.is-bar .tb-score-value{font-size:34px;line-height:var(--tb-control)}@media(max-width:599.98px){.tb-hud:has(.tb-bar-toggle[aria-expanded=true]) .tb-score.is-bar .tb-score-row{visibility:hidden}}.tb-badge{margin-top:6px;padding:4px 12px;border-radius:999px;background:var(--tb-reward);color:var(--tb-ink);text-shadow:none;font:700 14px/1.2 var(--tb-font)}.tb-badge[hidden]{display:none}.tb-caption{margin-top:6px;max-width:80vw;overflow:hidden;font:600 13px/1.2 var(--tb-font);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;opacity:.9;animation:tb-caption 3s ease-out forwards}.tb-caption[hidden]{display:none}@keyframes tb-caption{0%{opacity:0}10%,80%{opacity:.9}to{opacity:0}}.tb-badge[data-level="2"]{background:#f2a541}.tb-badge[data-level="3"]{background:#e8643c;color:#fff}.tb-badge.is-pop{animation:tb-pop .26s ease-out}@keyframes tb-pop{40%{transform:scale(1.18)}}.tb-play .tb-hint{position:absolute;left:50%;bottom:0;transform:translate(-50%);padding:10px 18px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);font:600 15px/1.2 var(--tb-font);white-space:nowrap;pointer-events:none}.tb-play .tb-lives{position:absolute;top:4px;left:0;display:flex;gap:6px;pointer-events:none}.tb-lives>span{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #121a2173;transition:opacity .2s ease-out}.tb-lives>span.is-lost{opacity:.25}.tb-play .tb-meter{position:absolute;top:30px;left:0;width:66px;height:6px;overflow:hidden;border-radius:3px;background:#121a2159;pointer-events:none}.tb-meter>span{display:block;width:0;height:100%;background:#fff}.tb-meter.is-hot>span{background:var(--tb-error)}.tb-lives>span.is-gained{animation:tb-gain .5s ease-out}@keyframes tb-gain{0%{transform:scale(.3)}55%{transform:scale(1.45)}}.tb-play .tb-chip{position:absolute;top:46px;left:0;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;background:#121a2159;color:#fff;font:700 12px/1.2 var(--tb-font);white-space:nowrap;pointer-events:none}.tb-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px #121a212e}.tb-play .tb-callout{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);padding:6px 20px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);color:var(--tb-ink);font:800 24px/1.2 var(--tb-font);letter-spacing:.06em;white-space:nowrap;pointer-events:none;animation:tb-callout .25s ease-out}.tb-callout.is-goal{color:#2f8f5b;font-size:30px;animation:tb-callout-goal 1.1s ease-out both}.tb-callout.is-alert{color:var(--tb-error)}@keyframes tb-callout{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}}@keyframes tb-callout-goal{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}20%{transform:translate(-50%,-50%) scale(1.18);opacity:1}35%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,calc(-50% - 26px))}}.tb-play .tb-card{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 26px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);color:var(--tb-ink);white-space:nowrap;pointer-events:none;animation:tb-callout .25s ease-out}.tb-card-kicker{color:var(--tb-ink-soft);font:700 12px/1.2 var(--tb-font);letter-spacing:.08em;text-transform:uppercase}.tb-card-name{font:800 24px/1.2 var(--tb-font)}.tb-card-kit{display:flex;gap:6px}.tb-card-kit>.tb-swatch{width:18px;height:18px}.tb-card-note{color:#2f8f5b;font:800 13px/1.2 var(--tb-font)}.tb-chip[hidden],.tb-callout[hidden],.tb-card[hidden]{display:none}.tb-play .tb-pause{position:absolute;top:0;right:0}.tb-pause[hidden]{display:none}.tb-hint-legend{display:block;margin-top:4px;color:var(--tb-ink-soft);font:500 12px/1.3 var(--tb-font);text-align:center}.tb-lives[data-label]:after{content:attr(data-label);align-self:center;margin-left:2px;color:#fff;text-shadow:0 1px 4px rgba(18,26,33,.6);font:700 12px/1 var(--tb-font)}.tb-play .tb-meter-label{position:absolute;top:26px;left:72px;color:#fff;text-shadow:0 1px 4px rgba(18,26,33,.6);font:700 12px/1 var(--tb-font);pointer-events:none}.tb-meter-label[hidden]{display:none}.tb-play .tb-ff-help{position:absolute;top:0;right:56px;font:800 20px/1 var(--tb-font)}.tb-ff-help[hidden]{display:none}.tb-play .tb-ff-howto{position:absolute;top:50%;right:0;transform:translateY(-50%);width:min(300px,34vw);max-height:calc(100% - 112px);overflow:auto;padding:16px 18px 18px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);color:var(--tb-ink);animation:tb-appear .2s ease-out}.tb-ff-howto[hidden]{display:none}.tb-ff-howto h2{margin:0 32px 10px 0;font:800 18px/1.25 var(--tb-font)}.tb-play .tb-ff-howto-close{position:absolute;top:8px;right:8px;width:32px;height:32px;box-shadow:none}.tb-ff-howto-rows{display:grid;gap:10px;margin:0;padding:0;list-style:none}.tb-ff-howto-rows li{display:flex;gap:10px;align-items:flex-start}.tb-ff-howto-rows strong{display:block;font:700 14px/1.25 var(--tb-font)}.tb-ff-howto-rows li>span:last-child>span{display:block;color:var(--tb-ink-soft);font:13px/1.35 var(--tb-font)}.tb-ff-howto-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8f3ec;color:#2f8f5b}.tb-ff-howto-rows li.is-shake .tb-ff-howto-icon{background:#fdf0dc;color:#b8741a}.tb-ff-howto-rows li.is-balls .tb-ff-howto-icon{background:#e9eef3;color:var(--tb-ink)}.tb-ff-howto-keys{margin:10px 0 0;color:var(--tb-ink-soft);font:12px/1.3 var(--tb-font)}.tb-ff-howto>.tb-button{width:100%;margin-top:14px}@media(max-height:480px){.tb-play .tb-ff-howto{top:auto;bottom:0;transform:none;max-height:calc(100% - 52px);padding:8px 10px 10px}.tb-ff-howto h2{margin-bottom:2px;font:800 14px/28px var(--tb-font)}.tb-play .tb-ff-howto-close{top:6px;right:6px;width:28px;height:28px}.tb-ff-howto-rows{gap:4px}.tb-ff-howto-rows strong{display:inline;font-size:13px}.tb-ff-howto-rows strong:after{content:" "}.tb-ff-howto-rows li>span:last-child>span{display:inline;font-size:12px}.tb-ff-howto-icon{width:24px;height:24px}.tb-ff-howto-icon svg{width:16px;height:16px}.tb-ff-howto>.tb-button{min-height:36px;margin-top:6px}}@media(orientation:portrait){.tb-play .tb-ff-howto{inset:auto 0 0;margin:0 auto;transform:none;width:auto;max-width:480px;max-height:calc(100% - 112px)}}.tb-ff-mark{position:absolute;padding:5px 10px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);color:var(--tb-ink);font:700 13px/1.2 var(--tb-font);white-space:nowrap;animation:tb-appear .2s ease-out}.tb-ff-mark[hidden]{display:none}.tb-ff-mark:after{content:"";position:absolute;border:6px solid transparent}.tb-ff-mark.is-down{transform:translate(-50%,calc(-100% - 8px))}.tb-ff-mark.is-down:after{top:100%;left:calc(50% - 6px);border-top-color:var(--tb-paper)}.tb-ff-mark.is-up{transform:translate(-50%,8px)}.tb-ff-mark.is-up:after{bottom:100%;left:calc(50% - 6px);border-bottom-color:var(--tb-paper)}.tb-ff-mark.is-right{transform:translate(calc(-100% - 8px),-50%)}.tb-ff-mark.is-right:after{left:100%;top:calc(50% - 6px);border-left-color:var(--tb-paper)}.tb-ff-mark[data-mark=score]{background:var(--tb-reward)}.tb-ff-mark[data-mark=score]:after{border-left-color:var(--tb-reward)}.tb-ff-mark.is-left{transform:translate(8px,-50%)}.tb-ff-mark.is-left:after{right:100%;top:calc(50% - 6px);border-right-color:var(--tb-paper)}.tb-play .tb-ff-tip{position:absolute;bottom:0;left:50%;transform:translate(-50%);box-sizing:border-box;width:max-content;max-width:min(460px,100%);padding:10px 18px;border-left:4px solid #f2a541;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);font:600 15px/1.35 var(--tb-font);text-align:center;text-wrap:balance;pointer-events:none;animation:tb-appear .24s ease-out}.tb-ff-tip[hidden]{display:none}.tb-play .tb-banner{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;box-sizing:border-box;width:max-content;max-width:min(460px,100%);padding:10px 18px;border-left:4px solid var(--tb-reward);border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);font:500 15px/1.35 var(--tb-font);text-align:center;text-wrap:balance;pointer-events:none;animation:tb-appear .24s ease-out}.tb-banner-step{color:var(--tb-ink-soft);font:700 12px/1.2 var(--tb-font);letter-spacing:.06em;text-transform:uppercase}.tb-hint[hidden],.tb-banner[hidden],.tb-result[hidden]{display:none}.tb-play .tb-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(320px,80vw);max-height:100%;overflow:auto;padding:18px 20px 20px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);text-align:center;animation:tb-appear .2s ease-out}@keyframes tb-appear{0%{opacity:0}}.tb-result h2{margin:0;font:700 18px/1.25 var(--tb-font)}.tb-result-score{margin:4px 0 0;font:800 48px/1.1 var(--tb-font);font-variant-numeric:tabular-nums}.tb-result-new{color:var(--tb-accent);font:700 15px/1.3 var(--tb-font)}.tb-result-rows{display:grid;grid-template-columns:auto auto;justify-content:center;gap:2px 16px;margin:12px 0 0;font:15px/1.4 var(--tb-font)}.tb-result-rows dt{color:var(--tb-ink-soft);text-align:right}.tb-result-rows dd{margin:0;font-weight:700;text-align:left;font-variant-numeric:tabular-nums}.tb-result-next{margin:10px 0 0;color:var(--tb-ink-soft);font:14px/1.4 var(--tb-font)}.tb-result .tb-play-actions{justify-content:center;margin-top:16px}@media(orientation:portrait){.tb-play .tb-stack-result{top:auto;bottom:calc(var(--tb-gap) + var(--tb-safe-bottom));transform:translate(-50%);width:min(360px,calc(100% - 2 * var(--tb-gap)));max-height:calc(100% - 136px)}}@media(max-height:480px){.tb-play .tb-result{padding:12px 16px 14px}.tb-result-score{font-size:36px}}.tb-play .tb-floats{position:fixed;inset:0;overflow:hidden;pointer-events:none}.tb-float{position:absolute;transform:translate(-50%,-100%);color:#fff;text-shadow:0 2px 4px rgba(18,26,33,.6);font:800 20px/1 var(--tb-font);white-space:nowrap;animation:tb-float 1s ease-out forwards}.tb-float.is-accent{color:var(--tb-reward);font-size:24px}.tb-float.is-tip{padding:6px 12px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);color:var(--tb-ink);text-shadow:none;font:700 15px/1.2 var(--tb-font);animation:tb-appear .2s ease-out}.tb-float.is-tip[hidden]{display:none}.tb-float.is-wind{transform:translate(-50%,-50%) rotate(var(--tb-turn, 0rad));color:var(--tb-paper);text-shadow:0 1px 3px rgba(18,26,33,.75);font:900 30px/1 var(--tb-font);letter-spacing:-4px;animation:tb-appear .2s ease-out}.tb-float.is-wind[hidden]{display:none}@keyframes tb-float{to{opacity:0;transform:translate(-50%,calc(-100% - 48px))}}.tb-play .tb-field{position:absolute;border-radius:6px;box-shadow:0 0 0 100vmax #121a2138;transition:box-shadow .4s;pointer-events:none}.tb-field.is-off{box-shadow:0 0 0 100vmax #121a2100}.tb-field>*{pointer-events:none}.tb-play .tb-score.is-side{left:auto;transform:none;align-items:flex-end}.tb-play .tb-score.is-compact .tb-score-value{font-size:28px}.tb-play .tb-score.is-compact .tb-score-best{font-size:12px;opacity:.7}.tb-bossbar{position:absolute;top:66px;left:10%;right:10%;height:8px;overflow:hidden;border-radius:4px;background:#121a2173;box-shadow:0 0 0 2px #ffffffb3}.tb-bossbar>span{display:block;height:100%;background:var(--tb-error);transform-origin:left}.tb-boss-name{position:absolute;top:80px;left:0;right:0;color:#fff;text-shadow:0 2px 4px rgba(18,26,33,.7);font:800 13px/1.2 var(--tb-font);letter-spacing:.06em;text-align:center;text-transform:uppercase}.tb-tally{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:auto auto;gap:4px 18px;min-width:60%;padding:14px 20px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);font:600 15px/1.3 var(--tb-font);animation:tb-appear .24s ease-out}.tb-tally>h3{grid-column:1 / -1;margin:0 0 4px;font:800 18px/1.2 var(--tb-font);text-align:center}.tb-tally>dd{margin:0;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.tb-tally>p{grid-column:1 / -1;margin:0;color:var(--tb-ink-soft);text-align:center}.tb-ready{position:absolute;left:50%;bottom:64px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:100%}.tb-ready>*{pointer-events:auto}.tb-picker{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow)}.tb-picker>button{min-height:36px;padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--tb-ink);font:700 14px/1.2 var(--tb-font);white-space:nowrap;cursor:pointer}.tb-picker>button[aria-pressed=true]{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-legend{padding:6px 14px;border-radius:999px;background:#121a2173;color:#fff;font:600 12px/1.3 var(--tb-font);text-align:center;pointer-events:none}.tb-play .tb-status{position:absolute;display:flex;flex-direction:column;gap:6px;color:#fff;text-shadow:0 2px 4px rgba(18,26,33,.6);font:700 13px/1.2 var(--tb-font);pointer-events:none}.tb-status-row{display:flex;align-items:center;gap:4px;min-height:16px}.tb-status-row>i{width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #121a2173}.tb-status-row>i.is-bomb{border-radius:3px;background:var(--tb-reward)}.tb-status .tb-weapon{align-self:flex-start;padding:3px 10px;border-radius:999px;color:#fff;text-shadow:none;white-space:nowrap}.tb-status .tb-sub{align-self:flex-start;padding:3px 10px;border-radius:999px;background:#121a2173;white-space:nowrap}.tb-weapon[hidden],.tb-sub[hidden],.tb-bossbar[hidden],.tb-boss-name[hidden],.tb-tally[hidden],.tb-ready[hidden],.tb-picker[hidden],.tb-legend[hidden],.tb-status[hidden],.tb-reticle[hidden],.tb-bomb[hidden]{display:none}.tb-play .tb-bomb{position:absolute;right:4px;bottom:4px;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:var(--tb-paper);box-shadow:var(--tb-shadow),inset 0 0 0 3px var(--tb-reward);color:var(--tb-ink);font:800 12px/1 var(--tb-font);letter-spacing:.04em;touch-action:none;cursor:pointer}.tb-bomb:disabled{opacity:.45;cursor:default}.tb-bomb.is-hit{animation:tb-pop .25s ease-out}.tb-play .tb-reticle{position:absolute;top:0;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 1px #121a2159;pointer-events:none}.tb-hud .tb-fade{position:absolute;inset:0;background:#121a21;opacity:0;transition:opacity .18s ease;pointer-events:none}.tb-hud .tb-fade.is-on{opacity:1;pointer-events:auto}.tb-fade .tb-spinner{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid rgba(255,252,245,.25);border-top-color:var(--tb-paper);border-radius:50%;visibility:hidden}.tb-fade.is-loading .tb-spinner{visibility:visible;animation:tb-spin .9s linear infinite}@keyframes tb-spin{to{transform:rotate(1turn)}}.tb-play .tb-wh-level{position:absolute;top:0;left:0;width:76px;display:flex;flex-direction:column;align-items:center;color:#fff;text-shadow:0 2px 6px rgba(18,26,33,.55);text-align:center;pointer-events:none}.tb-wh-level-label{font:700 12px/1.2 var(--tb-font);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.tb-wh-level-value{font:800 34px/1 var(--tb-font);font-variant-numeric:tabular-nums}.tb-wh-level-left{margin-top:2px;font:600 12px/1.2 var(--tb-font);opacity:.85}.tb-play.is-portrait .tb-wh-level{left:50%;width:auto;transform:translate(-50%);flex-direction:row;align-items:baseline;gap:8px}.tb-play.is-portrait .tb-wh-level-value{font-size:28px}.tb-play .tb-wh-boosters{position:absolute;top:calc(var(--tb-control) + 12px);right:0;width:76px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.tb-play.is-portrait .tb-wh-boosters{inset:auto auto 0 50%;width:auto;transform:translate(-50%);flex-direction:row}.tb-wh-booster{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:76px;height:60px;padding:0;border:0;border-radius:var(--tb-radius);background:var(--tb-paper);color:var(--tb-ink);box-shadow:var(--tb-shadow);font:600 12px/1.1 var(--tb-font);cursor:pointer;pointer-events:auto}.tb-wh-booster:disabled{opacity:.5;cursor:default}.tb-wh-booster:focus-visible,.tb-wh-level-pick:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-wh-booster-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--tb-accent);color:var(--tb-accent-ink);font:700 12px/20px var(--tb-font)}.tb-wh-booster-badge[hidden],.tb-wh-brink[hidden]{display:none}.tb-play .tb-wh-brink{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(340px,calc(100% - 200px));min-width:240px;padding:12px 16px 14px;border-left:4px solid var(--tb-error);border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);text-align:center;animation:tb-appear .2s ease-out}.tb-play.is-portrait .tb-wh-brink{width:100%}.tb-wh-brink h2{margin:0;font:700 17px/1.25 var(--tb-font)}.tb-wh-brink p{margin:4px 0 10px;color:var(--tb-ink-soft);font:14px/1.35 var(--tb-font)}.tb-wh-brink .tb-play-actions{justify-content:center}.tb-wh-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;max-height:50vh;margin:12px 0 0;overflow:auto}.tb-wh-level-pick{min-height:var(--tb-control);border:1px solid var(--tb-paper-line);border-radius:10px;background:#fff;color:var(--tb-ink);font:700 15px/1 var(--tb-font);font-variant-numeric:tabular-nums;cursor:pointer}.tb-wh-level-pick.is-landmark{border-color:var(--tb-reward);box-shadow:inset 0 -3px 0 var(--tb-reward)}.tb-wh-level-pick[aria-current]{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-wh-tip{position:absolute;top:50%;right:calc(100% + 12px);width:max-content;max-width:220px;padding:8px 12px;border-radius:var(--tb-radius);background:var(--tb-paper);color:var(--tb-ink);box-shadow:var(--tb-shadow);font:600 13px/1.3 var(--tb-font);text-align:left;transform:translateY(-50%);pointer-events:none;animation:tb-appear .2s ease-out}.tb-wh-tip[hidden],.tb-wh-hand[hidden]{display:none}.tb-play.is-portrait .tb-wh-tip{top:auto;right:auto;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);text-align:center}.tb-wh-booster.is-tipped{animation:tb-wh-pulse 1.2s ease-in-out infinite}@keyframes tb-wh-pulse{50%{box-shadow:var(--tb-shadow),0 0 0 6px color-mix(in srgb,var(--tb-accent) 45%,transparent)}}.tb-play .tb-wh-hand{position:absolute;width:44px;height:52px;margin:-52px 0 0 -22px;color:#fff;filter:drop-shadow(0 3px 6px rgba(18,26,33,.55));pointer-events:none;animation:tb-wh-bob .9s ease-in-out infinite alternate}.tb-wh-hand svg{display:block;width:100%;height:100%;fill:currentColor;stroke:var(--tb-ink);stroke-width:2}@keyframes tb-wh-bob{to{transform:translateY(-10px)}}.tb-play .tb-wh-edge{position:absolute;display:grid;place-items:center;width:28px;height:56px;margin-top:-28px;border-radius:14px;background:color-mix(in srgb,var(--tb-ink) 45%,transparent);color:var(--tb-paper);font:700 30px/1 var(--tb-font);pointer-events:none;animation:tb-wh-nudge 1.4s ease-in-out infinite alternate}.tb-play .tb-wh-edge.is-left{left:4px;--tb-wh-nudge: -4px}.tb-play .tb-wh-edge.is-right{right:4px;--tb-wh-nudge: 4px}.tb-play .tb-wh-edge[hidden]{display:none}.tb-play .tb-glider-next{position:absolute;right:4px;display:grid;place-items:center;width:26px;height:40px;margin-top:-20px;border-radius:13px;background:color-mix(in srgb,var(--tb-ink) 45%,transparent);color:var(--tb-paper);font:700 28px/1 var(--tb-font);pointer-events:none;opacity:0;transition:opacity .2s}.tb-play .tb-glider-next.is-shown{opacity:1}@keyframes tb-wh-nudge{to{transform:translate(var(--tb-wh-nudge))}}@media(prefers-reduced-motion:reduce){.tb-toast,.tb-banner,.tb-result,.tb-badge.is-pop,.tb-caption,.tb-lives>span.is-gained,.tb-callout,.tb-callout.is-goal,.tb-card,.tb-ff-howto,.tb-ff-mark,.tb-ff-tip,.tb-tally,.tb-bomb.is-hit,.tb-wh-brink,.tb-wh-tip,.tb-wh-booster.is-tipped,.tb-play .tb-wh-hand,.tb-play .tb-wh-edge,.tb-pp-tip,.tb-pp-helper.is-tipped,.tb-play .tb-pp-hand{animation:none}.tb-float{animation-name:tb-fade-out}@keyframes tb-fade-out{to{opacity:0}}.tb-fade.is-loading .tb-spinner{animation-duration:2.4s}}.tb-td-status{display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.tb-play>.tb-td-side,.tb-play>.tb-td-bottom{pointer-events:none}.tb-td-side>*,.tb-td-bottom>*{pointer-events:auto}.tb-td-side>.tb-td-status{pointer-events:none}.is-td-upright .tb-td-side,.is-td-side .tb-td-bottom{display:none}.tb-play .tb-td-side{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;gap:8px;width:280px}@media(min-width:1100px){.tb-play .tb-td-side{width:320px}}.tb-play .tb-td-bottom{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.tb-play.is-td-upright>.tb-td-status{position:absolute;top:0;left:0;max-width:calc(100% - 2 * var(--tb-control) - 16px)}.is-td-upright .tb-td-stat{min-height:30px;padding:0 9px;font-size:14px}.tb-td-float{display:flex;align-self:flex-end;gap:8px}.tb-td-float:empty{display:none}.tb-td-stat{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);font:700 15px/1 var(--tb-font);font-variant-numeric:tabular-nums;white-space:nowrap}.tb-td-stat.is-health{color:var(--tb-error)}.tb-td-stat.is-hit{animation:tb-td-hit .6s ease-out}@keyframes tb-td-hit{0%,40%{background:var(--tb-error);color:#fff}}.tb-td-controls{display:flex;flex-wrap:wrap;gap:8px}.tb-play.is-td-upright>.tb-td-controls{position:absolute;top:0;right:0}.tb-td-controls [hidden]{display:none}.tb-td-speed{font-weight:800}.tb-icon-button.tb-td-rally{width:auto;padding:0 14px;background:conic-gradient(rgba(18,26,33,.18) calc(var(--k, 0) * 360deg),var(--tb-paper) 0)}.tb-td-rally.is-active{box-shadow:0 0 0 3px var(--tb-reward),var(--tb-shadow)}.tb-play .tb-td-boss{position:absolute;top:0;left:calc((100% - 280px)/2);display:flex;align-items:center;gap:8px;width:min(320px,30vw);min-height:32px;padding:0 12px 0 8px;border-radius:999px;background:var(--tb-paper);box-shadow:var(--tb-shadow);transform:translate(-50%);pointer-events:none}.is-td-upright .tb-td-boss{top:calc(var(--tb-control) + 8px);left:50%;width:min(320px,90%)}@media(min-width:1100px){.is-td-side .tb-td-boss{left:calc((100% - 320px)/2)}}.tb-td-boss[hidden]{display:none}.tb-td-boss-name{flex:none;font:700 13px/1 var(--tb-font);white-space:nowrap}.tb-td-boss-chip{position:relative;flex:none;width:16px;height:18px;background:var(--tb-ink-soft);clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%)}.tb-td-boss-chip.is-weak{background:#b4592c}.tb-td-boss-chip.is-weak:after{content:"";position:absolute;left:45%;top:-10%;width:2px;height:120%;background:var(--tb-paper);transform:rotate(20deg)}.tb-td-boss-meter{flex:1;min-width:40px;height:10px;border-radius:999px;background:#121a2126;overflow:hidden}.tb-td-boss-fill{height:100%;border-radius:inherit;background:var(--tb-error)}.tb-td-prep{display:flex;flex:0 1 auto;flex-direction:column;align-items:center;gap:6px;min-height:0;overflow:auto;padding:12px 16px 14px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);text-align:center}.tb-td-prep h2{margin:0;font:700 16px/1.2 var(--tb-font)}.tb-td-prep-head{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:24px}.tb-td-prep-head .tb-icon-button{position:absolute;right:-8px;top:50%;width:var(--tb-control);transform:translateY(-50%);box-shadow:none;background:#121a210f}.tb-td-bottom>.tb-td-prep,.tb-td-bottom>.tb-td-panel{align-self:center;width:min(460px,100%);max-height:40%;box-sizing:border-box}.tb-td-side>.tb-td-prep,.tb-td-side>.tb-td-panel{max-height:none}.tb-td-preview{margin:0;padding:0;list-style:none;font:600 14px/1.4 var(--tb-font)}.tb-td-road{margin-left:8px;color:var(--tb-ink-soft);font-weight:500}.tb-td-road:before{content:"· "}.tb-td-traits,.tb-td-tip{margin:0;color:var(--tb-ink-soft);font:13px/1.35 var(--tb-font)}.tb-td-tip{padding:4px 10px;border-radius:8px;background:#fff3cf;color:var(--tb-ink)}.tb-td-prep .tb-button:disabled,.tb-td-panel .tb-button:disabled{opacity:.5;cursor:default}.tb-td-panel{position:relative;flex:0 1 auto;min-height:0;overflow:auto;padding:12px 14px 14px;border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow)}.tb-td-panel[hidden],.tb-td-prep[hidden],.tb-td-coach[hidden]{display:none}.tb-td-panel:not([hidden])~.tb-td-prep{display:none}.tb-td-panel h2{margin:0 40px 8px 0;font:700 16px/1.25 var(--tb-font)}.tb-icon-button.tb-td-close{position:absolute;top:6px;right:6px;width:36px;min-height:36px;box-shadow:none}.tb-td-close svg{width:18px;height:18px}.tb-td-choice{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;margin-top:6px;padding:8px 12px;border:2px solid var(--tb-accent);border-radius:10px;background:var(--tb-paper);color:var(--tb-ink);font:600 15px/1.2 var(--tb-font);text-align:left;cursor:pointer}.tb-td-choice:disabled{border-color:#121a2133;opacity:.6;cursor:default}.tb-td-choice:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-td-cost{font-variant-numeric:tabular-nums}.tb-td-choice-role{grid-column:1 / -1;color:var(--tb-ink-soft);font:13px/1.3 var(--tb-font)}.tb-td-meta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.tb-td-dmg{display:inline-flex;align-items:center;gap:3px}.tb-td-dmg svg{width:14px;height:14px;color:var(--tb-ink-soft)}.tb-td-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-right:36px}.tb-td-head h2{margin:0 0 4px}.tb-td-head .tb-td-meta{font:700 14px/1 var(--tb-font)}.tb-td-role{margin:0 0 10px;color:var(--tb-ink-soft);font:13px/1.35 var(--tb-font)}.tb-td-max{align-self:center;color:var(--tb-ink-soft);font:600 14px/1 var(--tb-font)}.tb-td-change{margin:0 0 8px;color:var(--tb-ink-soft);font:13px/1.35 var(--tb-font)}.tb-play .tb-td-coach{position:absolute;top:0;left:0;display:flex;align-items:center;gap:10px;max-width:min(340px,50vw);padding:8px 8px 8px 14px;border-left:4px solid var(--tb-reward);border-radius:var(--tb-radius);background:var(--tb-paper);box-shadow:var(--tb-shadow);font:600 14px/1.35 var(--tb-font);animation:tb-appear .24s ease-out}.is-td-upright .tb-td-coach{top:calc(var(--tb-control) + 8px);max-width:min(340px,100%)}.tb-play .tb-td-coach[hidden]{display:none}.tb-td-forms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.tb-td-form{display:grid;grid-template-columns:1fr auto;align-content:start;gap:2px 6px;min-height:var(--tb-control);padding:8px 10px;border:2px solid rgba(18,26,33,.18);border-radius:10px;background:var(--tb-paper);color:var(--tb-ink);font:600 14px/1.2 var(--tb-font);text-align:left;cursor:pointer}.tb-td-form.is-focused{border-color:var(--tb-accent);box-shadow:0 0 0 2px var(--tb-accent)}.tb-td-form .tb-td-meta{font-size:13px}.tb-td-form.is-short .tb-td-cost{color:var(--tb-error)}.tb-td-form:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-td-form{grid-template-columns:1fr}.tb-td-form .tb-td-choice-role{font-size:12px}.tb-td-choose{flex:1 1 100%}.tb-play .tb-td-wave-icons{position:absolute;inset:0;pointer-events:none}.tb-play .tb-td-wave-icon{position:absolute;top:0;left:0;border:3px solid var(--tb-reward);background:#3b2b1f;color:#fff3d6;pointer-events:auto;animation:tb-td-guide 1.6s ease-in-out infinite}.tb-play .tb-td-wave-icon svg{width:22px;height:22px}.tb-play .tb-td-wave-icon.is-guide{animation-duration:1.2s}.tb-play .tb-td-chip{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 10px;border-radius:10px;background:var(--tb-paper);box-shadow:var(--tb-shadow);font:600 12px/1.25 var(--tb-font);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.tb-td-chip[hidden]{display:none}.tb-td-chip-name{font-weight:700}.tb-td-chip-states{color:#1d5f8a}.tb-td-help-forms{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none;font:13px/1.35 var(--tb-font)}.tb-td-help-forms li{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center}.tb-td-help-forms .tb-td-thumb{width:44px;height:44px}.tb-td-skip{flex:none;padding:6px 10px;border:0;border-radius:999px;background:#121a2114;color:var(--tb-ink-soft);font:600 13px/1 var(--tb-font);cursor:pointer}.tb-td-card .tb-play-actions{flex-direction:column;align-items:stretch}.tb-td-card.is-help{width:min(520px,90vw);text-align:left;background:#fffcf5}.tb-td-card h3{margin:12px 0 4px;font:700 14px/1.2 var(--tb-font)}.tb-td-help{margin:8px 0 0;padding-left:18px;font:14px/1.4 var(--tb-font)}.tb-td-card.is-help h2{margin-right:40px}.tb-td-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 12px}.tb-td-tab{padding:6px 12px;border:0;border-radius:999px;background:#121a2112;color:var(--tb-ink-soft);font:600 13px/1.2 var(--tb-font);cursor:pointer}.tb-td-tab[aria-selected=true]{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-td-tab:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-td-page{min-height:250px}.tb-td-page .tb-td-help{margin-top:0}.tb-td-help li+li{margin-top:3px}.tb-td-help-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.tb-td-help-actions .tb-button:disabled{visibility:hidden}.tb-td-help-note{margin:10px 0 0;font:14px/1.4 var(--tb-font)}.tb-td-thumb{display:block;width:72px;height:72px;object-fit:contain}.tb-td-thumb.is-empty{border-radius:12px;background:#121a210f}.tb-td-entry{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center}.tb-td-entry+.tb-td-entry{margin-top:8px}.tb-td-entry h3{margin:0 0 2px}.tb-td-entry p{margin:0;color:var(--tb-ink-soft);font:13px/1.35 var(--tb-font)}.tb-td-demo{position:relative;height:140px;margin-bottom:10px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 50% 70%,#a9d184,#8cc265 55%,#79ad55)}.tb-td-demo-pad{position:absolute;left:50%;top:78%;width:68px;height:24px;margin:-12px 0 0 -34px;border-radius:50%;background:#bdb5a6;box-shadow:0 3px #8f887b}.tb-td-demo-range{position:absolute;left:50%;top:78%;width:240px;height:84px;margin:-42px 0 0 -120px;border:2px solid #ffd46b;border-radius:50%;background:#ffd46b29;animation:tb-td-demo-range 4.4s ease-out infinite}.tb-td-demo .tb-td-thumb{position:absolute;left:50%;bottom:22%;width:104px;height:104px;margin-left:-52px}.tb-td-demo-tower{animation:tb-td-demo-rise 4.4s ease-out infinite}.tb-td-demo-tap{position:absolute;left:50%;top:78%;width:30px;height:30px;margin:-15px 0 0 -15px;border:3px solid #fff;border-radius:50%;opacity:0;animation:tb-td-demo-tap 4.4s ease-out infinite}@keyframes tb-td-demo-tap{0%{opacity:0;transform:scale(.5)}6%{opacity:1;transform:scale(1)}18%{opacity:0;transform:scale(1.8)}to{opacity:0}}@keyframes tb-td-demo-rise{0%,18%{opacity:0;transform:translateY(24px)}30%{opacity:1;transform:translateY(-4px)}34%,88%{opacity:1;transform:translateY(0)}96%,to{opacity:0}}@keyframes tb-td-demo-range{0%,34%{opacity:0;transform:scale(.1)}50%,88%{opacity:1;transform:scale(1)}96%,to{opacity:0}}.tb-td-demo-level{opacity:0;animation:tb-td-demo-level 6s ease-out infinite both}.tb-td-demo-level.is-l2{animation-delay:2s}.tb-td-demo-level.is-l3{animation-delay:4s}@keyframes tb-td-demo-level{0%{opacity:0;transform:scale(.9)}4%{opacity:1;transform:scale(1.08)}9%,31%{opacity:1;transform:scale(1)}35%,to{opacity:0}}.tb-td-demo-mark{position:absolute;left:calc(50% + 40px);top:18px;width:18px;height:15px;background:#5e9b3c;clip-path:polygon(50% 0,100% 100%,0 100%);animation:tb-td-demo-bob .9s ease-in-out infinite alternate}@keyframes tb-td-demo-bob{to{transform:translateY(-5px)}}.tb-td-choice.is-guide,.tb-button.is-guide{animation:tb-td-guide 1.2s ease-in-out infinite}@keyframes tb-td-guide{0%{box-shadow:0 0 #e3a51cb3}70%,to{box-shadow:0 0 0 10px #e3a51c00}}.tb-td-more{padding:0;border:0;background:none;color:var(--tb-accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}@media(prefers-reduced-motion:reduce){.tb-td-demo-range,.tb-td-demo-tower,.tb-td-demo-mark,.tb-td-demo-level,.tb-td-choice.is-guide,.tb-button.is-guide,.tb-play .tb-td-wave-icon{animation:none}.tb-td-demo-tap,.tb-td-demo-level{opacity:0}.tb-td-demo-level.is-l2{opacity:1}.tb-td-choice.is-guide,.tb-button.is-guide{box-shadow:0 0 0 3px var(--tb-reward)}}.tb-td-stage,.tb-td-reason{margin:4px 0 0;color:var(--tb-ink-soft);font:600 14px/1.3 var(--tb-font)}.tb-td-reason{color:var(--tb-error);font-size:16px}.tb-td-stars{margin:6px 0 0;color:var(--tb-reward);font:800 40px/1 var(--tb-font);letter-spacing:.08em}.tb-td-saved,.tb-td-unsaved{margin:10px 0 0;font:600 14px/1.35 var(--tb-font)}.tb-td-saved{color:#2f8f5b}.tb-td-unsaved{color:var(--tb-error)}.tb-play .tb-pp-status{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:12px;color:#fff;text-shadow:0 2px 6px rgba(18,26,33,.55);white-space:nowrap;pointer-events:none}.tb-pp-level{display:flex;align-items:baseline;gap:6px}.tb-pp-level-label{font:700 12px/1.2 var(--tb-font);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.tb-pp-level-value{font:800 28px/1 var(--tb-font);font-variant-numeric:tabular-nums}.tb-pp-moves{font:600 14px/1.2 var(--tb-font);font-variant-numeric:tabular-nums;opacity:.9}.tb-play.is-pp-sideways .tb-pp-status{top:calc(var(--tb-control) + 12px);left:0;width:76px;transform:none;flex-direction:column;align-items:center;gap:4px;white-space:normal;text-align:center}.tb-play.is-pp-sideways .tb-pp-level{flex-direction:column;align-items:center;gap:0}.tb-play.is-pp-sideways .tb-pp-moves{font-size:12px}.tb-play.is-pp-sideways .tb-pause{right:auto;left:14px}.tb-play .tb-pp-helpers{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:none}.tb-play.is-pp-sideways .tb-pp-helpers{inset:0 0 auto auto;transform:none;flex-direction:column;gap:6px}.tb-pp-helper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;height:60px;padding:0;border:0;border-radius:var(--tb-radius);background:var(--tb-paper);color:var(--tb-ink);box-shadow:var(--tb-shadow);font:600 12px/1.1 var(--tb-font);cursor:pointer;pointer-events:auto}.tb-play.is-pp-sideways .tb-pp-helper{width:76px;height:50px;flex-direction:row;gap:4px}.tb-play.is-pp-sideways .tb-pp-helper svg{width:20px;height:20px}.tb-pp-helper:disabled{opacity:.5;cursor:default}.tb-pp-helper.is-on{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-pp-helper:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-pp-helper-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--tb-accent);color:var(--tb-accent-ink);font:700 12px/20px var(--tb-font)}.tb-pp-helper-badge[hidden],.tb-pp-focus[hidden]{display:none}.tb-play .tb-pp-focus,.tb-play .tb-pp-badges{position:absolute;pointer-events:none}.tb-play .tb-pp-focus{border:3px solid var(--tb-accent);border-radius:8px;box-shadow:0 0 0 2px #121a2199}.tb-play .tb-pp-badges{top:0;left:0}.tb-pp-badge{position:absolute;padding:1px 6px;border-radius:999px;background:#121a21cc;color:#ffd27a;font:700 11px/1.3 var(--tb-font);transform:translate(-50%,-100%);white-space:nowrap}.tb-pp-help{margin:0 0 12px;padding-left:18px;color:var(--tb-ink-soft);font:14px/1.4 var(--tb-font);text-align:left}.tb-pp-help li+li{margin-top:4px}.tb-pp-tip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:max-content;max-width:220px;padding:8px 12px;border-radius:var(--tb-radius);background:var(--tb-paper);color:var(--tb-ink);box-shadow:var(--tb-shadow);font:600 13px/1.3 var(--tb-font);text-align:center;pointer-events:none;animation:tb-appear .2s ease-out}.tb-play.is-pp-sideways .tb-pp-helper>.tb-pp-tip{top:50%;right:calc(100% + 12px);bottom:auto;left:auto;transform:translateY(-50%);text-align:left}.tb-play .tb-pp-tip.is-free{top:52px;bottom:auto;max-width:min(320px,80%)}.tb-play.is-pp-sideways .tb-pp-tip.is-free{top:8px}.tb-pp-tip[hidden],.tb-pp-hand[hidden]{display:none}.tb-pp-helper.is-tipped{animation:tb-wh-pulse 1.2s ease-in-out infinite}.tb-play .tb-pp-hand{position:absolute;width:44px;height:52px;margin:-52px 0 0 -22px;color:#fff;filter:drop-shadow(0 3px 6px rgba(18,26,33,.55));pointer-events:none;animation:tb-wh-bob .9s ease-in-out infinite alternate}.tb-pp-hand svg{display:block;width:100%;height:100%;fill:currentColor;stroke:var(--tb-ink);stroke-width:2}.tb-pp-hand-line{position:absolute;top:calc(100% + 40px);left:50%;transform:translate(-50%);padding:4px 10px;border-radius:999px;background:#121a21cc;color:#fff;font:600 13px/1.3 var(--tb-font);white-space:nowrap}.tb-pp-picture svg{display:block;width:100%;max-width:234px;height:auto;margin:4px auto 8px;border-radius:8px;background:#1b2128}.tb-pp-card-text{margin:0 0 12px;font:14px/1.4 var(--tb-font)}.tb-play .tb-result.is-pp-help{width:min(400px,90vw)}.tb-pp-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:8px 0 10px}.tb-pp-tab{padding:5px 10px;border:0;border-radius:999px;background:#121a2112;color:var(--tb-ink-soft);font:600 12px/1.2 var(--tb-font);cursor:pointer}.tb-pp-tab[aria-selected=true]{background:var(--tb-accent);color:var(--tb-accent-ink)}.tb-pp-tab:focus-visible{outline:3px solid var(--tb-accent);outline-offset:2px}.tb-pp-page{min-height:190px}
