.tc{--tc-pad: 16px;--tc-move: clamp(64px, 20vmin, 104px);--tc-jump: clamp(80px, 24vmin, 120px);--tc-special: clamp(64px, 18vmin, 96px);--tc-inset-left: calc(env(safe-area-inset-left, 0px) + var(--tc-pad));--tc-inset-right: calc(env(safe-area-inset-right, 0px) + var(--tc-pad));--tc-inset-bottom: calc(env(safe-area-inset-bottom, 0px) + var(--tc-pad));--tc-arc: calc((var(--tc-jump) + var(--tc-special)) / 2 + 16px);--tc-arc-offset: calc(var(--tc-jump) / 2 + var(--tc-arc) * .7071 - var(--tc-special) / 2);position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tc-btn{position:absolute;width:var(--tc-size);height:var(--tc-size);box-sizing:border-box;margin:0;padding:0;border:0;border-radius:50%;background:none;color:#fff;font:inherit;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tc-btn:before{content:"";position:absolute;top:var(--tc-ring, 0px);right:var(--tc-ring, 0px);bottom:var(--tc-ring, 0px);left:var(--tc-ring, 0px);box-sizing:border-box;border-radius:50%;background:#ffffff59;border:3px solid rgba(11,16,32,.7);box-shadow:inset 0 0 0 2px #ffffff73;transition:transform 60ms ease-out}.tc-btn.is-down:before{background:#fff9;border-color:#f5c85c;transform:scale(.94)}.tc-btn svg{position:relative;width:52%;height:52%;fill:#fff;stroke:#0b1020;stroke-width:1.6;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.tc-left{--tc-size: var(--tc-move);left:var(--tc-inset-left);bottom:var(--tc-inset-bottom)}.tc-right{--tc-size: var(--tc-move);left:calc(var(--tc-inset-left) + var(--tc-move) + 12px);bottom:var(--tc-inset-bottom)}.tc-jump{--tc-size: var(--tc-jump);right:var(--tc-inset-right);bottom:var(--tc-inset-bottom)}.tc-special{--tc-size: var(--tc-special);right:calc(var(--tc-inset-right) + var(--tc-arc-offset));bottom:calc(var(--tc-inset-bottom) + var(--tc-arc-offset))}.tc-pause{--tc-size: 56px;--tc-ring: 4px;top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px)}.tc-pause svg{width:46%;height:46%}.rotate-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;background:#0f0f1c;color:#fff;font-family:Trebuchet MS,Arial,sans-serif;touch-action:none}.rotate-prompt[hidden],.rotate-hint[hidden]{display:none}.rotate-prompt svg{width:120px;height:120px;fill:none;stroke:#f5c85c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.rotate-phone{transform-origin:60px 60px;animation:rotate-phone 2.4s ease-in-out infinite}@keyframes rotate-phone{0%,25%{transform:rotate(0)}65%,to{transform:rotate(-90deg)}}@media (max-height: 560px){.rotate-prompt{gap:12px}.rotate-prompt svg{width:72px;height:72px}}@media (prefers-reduced-motion: reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}.rotate-prompt h2{margin:0;font-size:clamp(24px,7vw,32px);line-height:1.15;color:#f5c85c}.rotate-prompt p{margin:0;max-width:22em;font-size:clamp(16px,4.6vw,20px);line-height:1.4}.rotate-hint{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 150px);z-index:8;transform:translate(-50%);box-sizing:border-box;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;display:flex;align-items:center;gap:14px;border-radius:999px;background:#0f0f1ceb;border:2px solid #f5c85c;color:#fff;font-family:Trebuchet MS,Arial,sans-serif;font-size:17px}.rotate-prompt button,.rotate-hint button{min-width:56px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#f5c85c;color:#1a1530;font:inherit;font-weight:700;cursor:pointer}.rotate-prompt button{min-height:48px;margin-top:6px;padding:0 24px;font-size:18px}.rotate-prompt button:focus-visible,.rotate-hint button:focus-visible{outline:3px solid #fff;outline-offset:2px}
