.tp-app{--tp-ink:#23324a;--tp-red:#e8423a;--tp-gold:#ffd24a;--tp-green:#3f9b4f;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#a9dcff}.tp-scene{width:100%;height:100%;display:block;z-index:0}.tp-scene,.tp-zone{position:absolute;inset:0}.tp-zone{z-index:2;touch-action:none;cursor:pointer}.tp-app:not([data-phase=play]) :is(.tp-zone,.tp-brake){pointer-events:none}.tp-app:not([data-phase=play]):not([data-phase=ending]):not([data-phase=paused]) :is(.tp-head,.tp-pads,.tp-brake,.tp-keys,.tp-pause-btn,.tp-hint,.tp-toast){display:none}.tp-app[data-phase=ending] :is(.tp-pads,.tp-brake,.tp-hint){opacity:0;transition:opacity .3s}.tp-flash{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;box-shadow:inset 0 0 90px 30px rgba(232,66,58,.65)}.tp-flash.show{animation:tp-flash .6s ease-out}@keyframes tp-flash{0%{opacity:1}to{opacity:0}}.tp-head{position:absolute;z-index:4;left:0;right:0;top:0;pointer-events:none;box-sizing:border-box;flex-direction:column;padding:calc(env(safe-area-inset-top, 0px) + 8px) 112px 0 10px}.tp-head,.tp-row{display:flex;gap:6px}.tp-row{align-items:center;flex-wrap:wrap}.tp-hearts{display:flex;gap:2px;padding:3px 8px;border-radius:14px;background:rgba(35,50,74,.82);border:2px solid #fff}.tp-heart{font-size:22px;line-height:1.1}.tp-heart.lost{opacity:.55;animation:tp-pop .4s ease-out}@keyframes tp-pop{0%{transform:scale(1.6)}to{transform:none}}.tp-chip{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;background:rgba(255,251,237,.94);border:2px solid #fff;color:var(--tp-ink);font:800 20px/1.15 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 3px 0 rgba(35,50,74,.25)}.tp-score-chip b{color:var(--tp-red)}.tp-small{font-size:15px;padding:2px 9px}.tp-act{padding:3px 9px;border-radius:11px;background:rgba(35,50,74,.85);color:#fff;font:800 12px/1.3 Playful,sans-serif;letter-spacing:.03em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tp-pads{position:absolute;z-index:3;left:0;right:0;bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);pointer-events:none;display:flex;justify-content:space-between;padding:0 12px}.tp-pad{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;background:rgba(255,251,237,.55);border:4px solid rgba(255,255,255,.85);color:var(--tp-ink);box-shadow:0 5px 0 rgba(35,50,74,.3)}.tp-pad-arrow{font:800 30px/1 Playful,sans-serif}.tp-q{font:800 16px/1 Playful,sans-serif;color:#8a5a00;letter-spacing:-3px}.tp-pad[data-on="1"]{background:rgba(255,225,74,.92);border-color:#fff}.tp-pad.hit{animation:tp-press .25s ease-out}.tp-pad.nope{animation:tp-nope .3s linear}@keyframes tp-press{0%{transform:scale(.82)}to{transform:none}}@keyframes tp-nope{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.tp-brake{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom, 0px) + 22px);min-width:112px;height:68px;border-radius:22px;border:4px solid #fff;background:var(--tp-red);color:#fff;cursor:pointer;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 14px;box-shadow:0 5px 0 #9c1d10;font:800 16px/1 Playful,sans-serif}.tp-brake-count{font-size:14px;letter-spacing:2px;color:#ffe1dc}.tp-brake[data-empty="1"]{background:#9aa3ad;box-shadow:0 5px 0 #6b737c}.tp-brake[data-active="1"]{animation:tp-wobble .2s linear infinite}.tp-brake.hit{animation:tp-press-c .25s ease-out}.tp-brake.nope{animation:tp-nope-c .3s linear}@keyframes tp-press-c{0%{transform:translateX(-50%) scale(.85)}to{transform:translateX(-50%)}}@keyframes tp-nope-c{25%{transform:translateX(calc(-50% - 6px))}75%{transform:translateX(calc(-50% + 6px))}}@keyframes tp-wobble{50%{transform:translateX(calc(-50% + 2px))}}.tp-banner{position:absolute;z-index:7;pointer-events:none;left:50%;top:36%;transform:translate(-50%,-50%) scale(.85);font:800 clamp(28px,8vw,56px)/1 Playful,sans-serif;color:#fff;text-align:center;width:max-content;max-width:92vw;-webkit-text-stroke:3px var(--tp-ink);paint-order:stroke fill;text-shadow:0 5px 0 rgba(35,50,74,.45);opacity:0;transition:opacity .18s,transform .18s;display:flex;flex-direction:column;align-items:center;gap:6px}.tp-banner small{font:800 16px/1.2 Playful,sans-serif;-webkit-text-stroke:0;text-shadow:none;background:rgba(35,50,74,.85);padding:5px 11px;border-radius:10px}.tp-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.tp-banner.red{color:#ffe1dc;-webkit-text-stroke-color:#9c1d10}.tp-banner.gold{color:#fff3c4;-webkit-text-stroke-color:#6a4a00}.tp-banner.green{color:#e3ffd9;-webkit-text-stroke-color:#2f6b2a}.tp-banner.small{font-size:clamp(22px,6.5vw,40px)}.tp-toast{position:absolute;z-index:7;pointer-events:none;left:50%;top:24%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.tp-toast-item{font:800 17px/1 Playful,sans-serif;color:#fff;padding:6px 12px;border-radius:10px;background:rgba(35,50,74,.88);animation:tp-toast 1.1s ease-out forwards;white-space:nowrap}.tp-toast-item.green{background:rgba(47,140,80,.94)}.tp-toast-item.red{background:rgba(200,50,40,.94)}.tp-toast-item.gold{background:rgba(170,115,10,.94)}@keyframes tp-toast{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.tp-hint{position:absolute;z-index:7;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transition:opacity .2s;bottom:calc(env(safe-area-inset-bottom, 0px) + 112px)}.tp-hint.show{opacity:1}.tp-hint.right{right:8%}.tp-hint.left{left:8%}.tp-hint.brake{left:50%;transform:translateX(-50%)}.tp-hint-hand{font-size:54px;filter:drop-shadow(0 3px 0 rgba(35,50,74,.45))}.tp-hint.left .tp-hint-hand,.tp-hint.right .tp-hint-hand{animation:tp-tap .6s ease-in-out infinite}.tp-hint.brake .tp-hint-hand{animation:tp-swipe .9s ease-in infinite}.tp-hint-text{font:800 17px/1.1 Playful,sans-serif;color:#fff;background:rgba(35,50,74,.92);padding:7px 12px;border-radius:12px;white-space:nowrap}@keyframes tp-tap{0%,to{transform:translateY(12px)}50%{transform:translateY(0)}}@keyframes tp-swipe{0%{transform:translateY(-30px);opacity:0}20%{opacity:1}to{transform:translateY(30px);opacity:0}}.tp-keys{position:absolute;z-index:4;right:12px;top:calc(env(safe-area-inset-top, 0px) + 56px);font:700 13px/1 Playful,sans-serif;color:#fff;background:rgba(35,50,74,.72);padding:6px 12px;border-radius:10px;pointer-events:none;white-space:nowrap}@media (hover:none),(max-width:900px),(pointer:coarse){.tp-keys{display:none}}.tp-corner{position:absolute;z-index:8;top:calc(env(safe-area-inset-top, 0px) + 8px);right:10px;display:flex;gap:6px}.tp-icon-btn{width:44px;height:40px;padding:0;border-radius:12px;border:2px solid #fff;display:grid;place-items:center;background:rgba(255,251,237,.94);color:var(--tp-ink);cursor:pointer}.tp-icon-btn .off,.tp-icon-btn[aria-pressed=true] .on{display:none}.tp-icon-btn[aria-pressed=true] .off{display:inline}.tp-app:has(.overlay.show:not(.tp-menu)) .tp-corner{display:none}.playful-game .tp-menu{background:linear-gradient(90deg,rgba(35,50,74,0) 40%,rgba(35,50,74,.5) 70%);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-end;padding-right:max(5vw,24px)}.tp-card{width:min(420px,100%);background:var(--play-paper);border:4px solid #fff;border-radius:28px;box-sizing:border-box;box-shadow:0 8px 0 var(--tp-green);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;color:var(--tp-ink)}.tp-card,.tp-card>*{flex-shrink:0}.tp-kicker{font:800 12px/1.2 Playful,sans-serif;letter-spacing:.06em;color:var(--tp-green)}.tp-title{margin:0;font:800 clamp(36px,5.5vw,54px)/.95 Playful,sans-serif;color:#fff;letter-spacing:-.5px;-webkit-text-stroke:2.5px var(--tp-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--tp-gold)}.tp-pitch{margin:0;font-size:15px;line-height:1.45}.tp-pitch b{color:var(--tp-red)}.tp-rules{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.tp-rules li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;line-height:1.25;background:#fff;border-radius:12px;padding:6px 10px}.tp-rules span{font-size:20px}.tp-best{margin:0;text-align:center;font-weight:800;color:var(--tp-red);min-height:1.2em}.tp-link-btn{background:none;border:0;color:var(--play-accent);font:800 17px/1.2 Playful,sans-serif;padding:8px;min-height:44px;cursor:pointer}.playful-game .tp-pause,.playful-game .tp-results{align-items:center;background:rgba(35,50,74,.6)}.tp-small-card{width:min(390px,100%);align-items:stretch;text-align:center}.tp-result-title{margin:0;font:800 clamp(30px,8.5vw,46px)/1 Playful,sans-serif;color:#fff3c4;transform:rotate(-3deg);-webkit-text-stroke:3px #6a4a00;paint-order:stroke fill;text-shadow:0 5px 0 rgba(106,74,0,.35)}.tp-result-line{margin:0;font-size:16px;font-weight:700}.tp-result-big{display:flex;align-items:baseline;justify-content:center;gap:8px}.tp-result-big b{font:800 54px/1 Playful,sans-serif;color:var(--tp-red)}.tp-result-big span{font-weight:800;color:#52667a}.tp-result-list{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.tp-result-list>div{display:flex;justify-content:space-between;gap:6px;background:#fff;border-radius:12px;padding:7px 10px}.tp-result-list dt{color:#52667a;font-weight:700;font-size:14px}.tp-result-list dd{margin:0;font-weight:800;color:var(--tp-red);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-aspect-ratio:4/5),(max-width:700px){.playful-game .tp-menu{align-items:center;justify-content:flex-end;padding:0 12px calc(env(safe-area-inset-bottom, 0px) + 12px);background:linear-gradient(180deg,rgba(35,50,74,0) 45%,rgba(35,50,74,.55) 65%)}.tp-menu .tp-card{max-height:56dvh;overflow-y:auto;gap:8px;padding:16px 16px 12px}.tp-menu .tp-pitch{font-size:14px}.tp-menu .tp-rules li{font-size:13px;padding:5px 9px}.tp-menu #tp-start{position:-webkit-sticky;position:sticky;bottom:0;z-index:1}.tp-title{font-size:38px}.tp-results .tp-card{gap:8px;padding:16px}.tp-result-big b{font-size:46px}}@media (max-height:560px){.playful-game .tp-menu{padding-top:12px;padding-bottom:12px}.tp-menu .tp-card{max-height:calc(100dvh - 24px);overflow-y:auto}.tp-menu .tp-rules{display:none}.tp-pad{width:68px;height:68px}}@media (prefers-reduced-motion:reduce){.tp-brake,.tp-flash.show,.tp-heart.lost,.tp-hint .tp-hint-hand,.tp-pad{animation:none!important}}