/* Two anchored thumb areas; all technique choices live inside their gestures. */
.touch-controls{height:auto;align-items:flex-end;justify-content:space-between;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));gap:28px;pointer-events:none}
.stick-wrap{width:clamp(100px,26vw,136px);display:flex;flex-direction:column;align-items:center;position:relative;gap:6px;color:#fff5d1;text-shadow:0 1px 3px #08251d;pointer-events:none}
.dual-stick{position:relative;width:100%;height:auto;aspect-ratio:1;border:2px solid #f8eac06b;border-radius:50%;background:#173b328c;touch-action:none;pointer-events:auto;user-select:none;box-shadow:0 3px 0 #08281f6b}
.dual-stick .joystick-knob{width:34%;height:34%;left:33%;top:33%;background:#f4e9becc;border:2px solid #fff7d2;box-shadow:0 3px 0 #08281f66;pointer-events:none}
.stick-zone{position:absolute;inset:24%;border:1px dashed #fff5c952;border-radius:50%;pointer-events:none}
.dash-ring{position:absolute;inset:7%;border:2px dashed #ffdb67a6;border-radius:50%;pointer-events:none}
.dual-stick.dash-ready{background:#c5aa458c;border-color:#ffdb67}.dual-stick.dash-ready .dash-ring{border-style:solid}
.ball-stick{background:#a351408f}.ball-stick .joystick-knob{background:#ffab84}.ball-stick.elevated{background:#355aa4c2;border-color:#a6d7ff}.ball-stick.elevated .joystick-knob{background:#a6d7ff}.ball-stick.cancelled{opacity:.6}
.stick-power{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(#ffe592 var(--power,0%),transparent 0);mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);pointer-events:none}
.stick-label{font-weight:850;font-size:10px;line-height:1.2;min-height:12px;text-align:center;white-space:nowrap}.stick-wrap small{font-size:8px;white-space:nowrap}
body.in-game.touch-input .touch-controls{display:flex}.touch-input .control-guide{display:none}.touch-input .mobile-footer{display:block}
.control-coach{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:9;width:min(520px,calc(100% - 32px));padding:12px 16px;background:#163e34f2;border:1px solid #e4ce8755;border-radius:12px;color:#fff2cf;box-shadow:0 4px 0 #08291e66}
.control-coach strong{font-size:11px;letter-spacing:.6px}.control-coach p{font-size:12px;line-height:1.5;margin:6px 0 8px}.coach-actions{display:flex;gap:8px;justify-content:flex-end}.coach-actions button{padding:8px 12px;border-radius:6px;background:#ffffff13;color:#fff2cf;font-size:11px}.coach-actions button:last-child{background:#ffdc66;color:#183d31;font-weight:800}
.controls-panel{width:min(690px,100%);background:#173c32;color:#fff2d2;border:2px solid #5c7b55}.controls-panel h2{font-size:34px;line-height:1.05;color:#fff2d2;letter-spacing:-1px}.controls-panel .subline{color:#c3cfb9;line-height:1.5}.controls-eyebrow{display:block;font-size:10px;letter-spacing:1.5px;color:#ffe08a;font-weight:800;margin-bottom:12px}
.guide-tabs{display:flex;gap:6px;padding:5px;background:#08281f66;border-radius:10px;margin:20px 0}.guide-tabs button{flex:1;border-radius:7px;padding:12px 8px;color:#c9d7bd;background:transparent;font-weight:750;font-size:12px}.guide-tabs button[aria-selected=true]{background:#ffda66;color:#193c30;box-shadow:0 2px 0 #9c762c}
.control-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.control-cards article{background:#ffffff08;border:1px solid #94ae7240;border-radius:10px;padding:15px}.control-token{display:inline-block;font:800 10px var(--font);letter-spacing:.5px;color:#ffe193}.control-cards h3{font-size:16px;margin:9px 0 6px;color:#fff3d2}.control-cards p,.guide-advanced p{font-size:12px;line-height:1.65;margin:0;color:#d1dcc4}
.guide-advanced{padding:14px 0;border-bottom:1px solid #d1dcc422}.guide-advanced summary{cursor:pointer;color:#ffe193;font-weight:750;font-size:13px;min-height:24px}.guide-advanced p{margin:9px 0 0}.guide-note{color:#adbea8;font-size:11px;line-height:1.6;margin:14px 0}.controls-panel>.primary{margin-top:20px;background:#ffdb66;color:#183d31}
.stick-diagrams{display:flex;justify-content:space-around;margin:20px 0}.stick-diagrams>div{text-align:center;display:flex;align-items:center;flex-direction:column;gap:6px}.diagram-stick{display:grid;place-items:center;width:65px;height:65px;border:2px dashed #f5d37c;border-radius:50%;font-size:27px;background:#64846b66;color:#ffe89a}.ball-diagram{background:#bc6c5388;border-style:solid}.stick-diagrams b{font-size:10px;letter-spacing:1px}.stick-diagrams small{font-size:11px;color:#bfd0b4}
@media(pointer:coarse){body.in-game .control-coach{bottom:215px}}
@media(max-width:700px){body.in-game .touch-controls{display:flex}.control-guide{display:none}.mobile-footer{display:block;font-size:9px}.control-coach{bottom:200px;padding:10px 12px}.control-coach p{font-size:11px}.controls-panel{padding:24px 18px}.controls-panel h2{font-size:30px}.control-cards{gap:8px}.control-cards article{padding:12px}.control-cards h3{font-size:14px}.control-cards p{font-size:12px}}
@media(max-width:370px){.control-cards{grid-template-columns:1fr}.touch-controls{left:18px;right:18px}.stick-wrap{width:98px}.stick-wrap small{font-size:7px}}
@media(max-height:500px) and (orientation:landscape){.touch-controls{bottom:max(12px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}.stick-wrap{width:92px}.stick-wrap small{display:none}.control-coach{bottom:12px;width:min(360px,calc(100% - 280px));padding:8px 12px}.control-coach p{font-size:10px}.coach-actions button{padding:6px 8px}}
