/* Gesture affordances retain reduced-motion and keyboard access. */
[data-s16-prep],[data-s16-twist]{touch-action:none;cursor:grab}
[data-s16-prep]:focus,[data-s16-twist]:focus-visible{outline:3px solid #ffe08a;outline-offset:4px}
.s16-twist{min-height:80px;min-width:160px;font-weight:700;border:2px dashed #c9df8b;border-radius:50%}
.s15-tool:after,.s15-grasp:after,[data-s15-setup="pick"]:after{content:'↗ DRAG · or TAP';display:block;font-size:10px;letter-spacing:.07em;margin:5px;color:#e9edaa;animation:s16-cue 2s ease-in-out infinite}
.s15-target{max-width:45%;min-width:44px;min-height:44px;white-space:normal!important;line-height:1.3}
.s15-target:not(:disabled),.s15-route-targets button{border:2px dashed #e9edaa}
.s15-target.s15-over{background:#467d60;box-shadow:0 0 0 6px #c9df8b66}
.s15-operation header p{max-width:65ch}
.s15-operation footer small{display:none}
.s15-operation .s15-tissues .s15-vessel{opacity:.75}
.s15-operation[data-phase="exposure"] .s15-vessel{opacity:0}
.s15-operation .s15-feedback{min-height:3em}
@keyframes s16-cue{50%{transform:translate(3px,-2px)}}
@media(prefers-reduced-motion:reduce){.s15-tool:after,.s15-grasp:after,[data-s15-setup="pick"]:after{animation:none}}
@media(max-width:800px){.s15-target{font-size:11px}.s15-canvas{min-height:340px}.s15-work{gap:10px}.s15-body-targets button{min-height:44px}.s15-controls{padding:4px}.s15-tools{display:flex;flex-wrap:wrap}.s15-tool{flex:1;min-width:80px}}
.s15-canvas>i,.s15-canvas>.gallbladder{pointer-events:none}
.s15-canvas .s15-target,.s15-canvas .s15-grasp{z-index:30}
.s16-reward{display:grid;gap:12px;padding:24px;border:1px solid #bbd883;border-radius:18px;background:#163e39;margin:20px 0}.s16-reward strong{font-size:40px;color:#d7eca1}.s16-reward small{font-size:12px}dialog{max-width:440px;border-radius:18px;border:2px solid #abc9a1;padding:24px;background:#183b3b;color:#fff}dialog input{padding:12px}dialog button{padding:12px;margin:12px}.s12-build{max-width:95vw;flex-wrap:wrap}
.s16-case{padding:20px;background:#183b3b;border-left:4px solid #e5d5a0;max-width:760px;margin:16px auto}.s16-case small{color:#c3d6ce}.s16-case button{padding:14px;min-height:44px;background:#375c52;color:white;border:1px solid #b7cc93;border-radius:10px}
.s7-destinations button:last-child{background:repeating-linear-gradient(135deg,#473c21,#473c21 10px,#54492c 10px,#54492c 20px);border:2px dashed #d7ba79}.s7-choices button span{display:block;font-size:12px}.s7-choices button[aria-pressed=true]{outline:3px solid #e7ec9e}
[data-s16-profile]{background:#23443e;color:#e1edcd;border:1px solid #759178;border-radius:12px;padding:10px;font-size:12px;min-height:44px;max-width:180px}header.topbar{gap:12px}
@media(max-width:600px){[data-s16-profile]{max-width:110px;font-size:10px;padding:6px}}
.s15-operation[data-phase=control] .s15-target{width:48px;max-width:48px;font-size:10px!important;padding:3px!important}
.s16-scope{position:relative;height:220px;background:#10211e;border:5px solid #758e88;border-radius:50% / 14%;overflow:hidden;display:grid;place-items:center;margin:12px auto;max-width:650px}.s16-scope.visible{background:radial-gradient(ellipse,#875a40,#231b18)}.s16-scope strong,.s16-scope small{z-index:4;background:#143733dd;padding:6px}.s16-scope small{align-self:end}.s16-scope-tissue{position:absolute;inset:0;pointer-events:none}.s16-entering-tool{position:absolute;bottom:0;width:25%;animation:s16-enter .5s ease-out}.s16-entering-tool img{width:100%;height:120px;object-fit:contain}@keyframes s16-enter{from{transform:translateY(90px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.s16-entering-tool{animation:none}}
