.tc-root{position:fixed;inset:0;z-index:10;pointer-events:none;display:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.touch-mode .tc-root{display:block}.tc-root>*{display:none}.tc-root[data-mode=play] .tc-stick-zone,.tc-root[data-mode=play] .tc-stick-base,.tc-root[data-mode=play] .tc-fire,.tc-root[data-mode=play] .tc-top,.tc-root[data-mode=route] .tc-stick-zone,.tc-root[data-mode=route] .tc-stick-base,.tc-root[data-mode=route] .tc-fire,.tc-root[data-mode=route] .tc-drop,.tc-root[data-mode=route] .tc-top,.tc-root[data-mode=end] .tc-center,.tc-root[data-mode=route_paused] .tc-center{display:block}.tc-root[data-mode=end] .tc-center,.tc-root[data-mode=route_paused] .tc-center{display:flex}.tc-root[data-scene=route] .tc-top .tc-small:first-child{display:none}.tc-stick-zone{position:absolute;left:0;top:18%;bottom:0;width:46%;pointer-events:auto;touch-action:none}.tc-stick-base{--r: clamp(48px, 15vmin, 84px);position:absolute;width:calc(var(--r) * 2);height:calc(var(--r) * 2);left:calc(env(safe-area-inset-left,0px) + var(--r) + 28px);top:calc(100% - var(--r) - 28px - env(safe-area-inset-bottom,0px));transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#ffffff1a 0 55%,#ffffff2e 56% 100%);border:2px solid rgba(255,255,255,.35);opacity:.45;pointer-events:none;transition:opacity .12s}.tc-stick-base.active{opacity:.9;transition:none}.tc-stick-knob{position:absolute;left:50%;top:50%;width:46%;height:46%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8e0,#f2c46d 60%,#c98a2c);box-shadow:0 2px 8px #00000073}.tc-btn{position:absolute;pointer-events:auto;touch-action:none;border:2px solid rgba(255,236,190,.75);color:#fff6dc;background:#141c3a8c;font-weight:800;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.6);-webkit-tap-highlight-color:transparent;outline:none;padding:0}.tc-btn.pressed{background:#f2c46dbf;color:#1b1630}.tc-fire{--d: clamp(68px, 22vmin, 118px);width:var(--d);height:var(--d);border-radius:50%;right:calc(env(safe-area-inset-right,0px) + 22px);bottom:calc(env(safe-area-inset-bottom,0px) + 22px);font-size:clamp(14px,4.2vmin,20px);background:#c4403099;border-color:#ffd2b4d9}.tc-drop{--d: clamp(52px, 15vmin, 82px);width:var(--d);height:var(--d);border-radius:50%;right:calc(env(safe-area-inset-right,0px) + 34px + clamp(68px,22vmin,118px));bottom:calc(env(safe-area-inset-bottom,0px) + 18px);font-size:clamp(11px,3.2vmin,15px);background:#3078aa99}.tc-top{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);pointer-events:none}.tc-small{position:relative;width:44px;height:44px;margin-left:8px;border-radius:12px;font-size:16px}.tc-center{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);transform:translate(-50%);gap:14px;pointer-events:none}.tc-wide{position:relative;min-width:132px;height:52px;border-radius:14px;font-size:17px}.tc-primary{background:#c48c2ccc}.tc-rotate{display:none;position:fixed;inset:0;z-index:20;background:#0b1026;color:#ffe9b8;font:700 20px system-ui,sans-serif;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.tc-rotate-icon{font-size:64px}@media(orientation:portrait){body.touch-mode .tc-rotate{display:flex}}
