.coach-overlay{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);border:0;background:transparent;overflow:hidden;color:#f4e9d1}
.coach-overlay::backdrop{background:transparent;backdrop-filter:none}
.coach-overlay .coach-focus{box-sizing:border-box;margin:0;max-width:none;transform:none;translate:none;transition:none}
.coach-focus{position:absolute;z-index:1;display:block;min-width:0;min-height:0;padding:0;border:3px solid #f6ce83;background:transparent!important;box-shadow:0 0 0 200vmax #06181ed4,0 0 18px #f7c77766;animation:coach-ring 1.7s ease-in-out infinite;cursor:pointer}
.coach-target-hint{position:absolute;right:-5px;bottom:-5px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #ffe5ad;border-radius:50%;background:#315a59;box-shadow:0 2px 8px #0008}.coach-target-hint .camp-icon{width:23px;height:23px}
.coach-card{position:absolute;z-index:2;left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:386px;border:1px solid #c5ac7e;border-radius:18px;background:linear-gradient(135deg,#285253,#183841);box-shadow:0 12px 35px #0008,inset 0 1px #ffffff15;padding:12px 16px 0;overflow:auto;text-align:left;box-sizing:border-box;display:flex;flex-direction:column}.coach-reading{min-height:0;overflow:auto}.coach-chapter,.coach-actions,.coach-card footer,.coach-status{flex-shrink:0}
.coach-chapter{display:flex;align-items:center;gap:10px;padding-right:30px;color:#d5bf92;font-size:9px;letter-spacing:.13em;line-height:18px}.coach-count{color:#e4d3ad;font-size:10px;letter-spacing:0;white-space:nowrap}.coach-card #coachClose{position:absolute;top:3px;right:3px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:24px;padding:0;color:#c9dcd2}
.coach-card header{display:flex;align-items:center;gap:14px;margin:8px 0 10px}.coach-portrait{position:relative;flex:0 0 86px;width:86px;height:108px;border:1px solid #beaa79;border-radius:12px;overflow:hidden;margin:0;background:#183941;box-shadow:0 3px 10px #0004}.coach-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}.coach-portrait figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:3px;background:#112f39dc;border-top:1px solid #baa47380;color:#f5d495;font-size:9px;letter-spacing:.19em;font-weight:700}
.coach-heading{min-width:0}.coach-heading small{display:block;color:#a6cec0;font-size:8px;letter-spacing:.11em;line-height:1.5}.coach-heading h2{font-size:24px;line-height:1.1;margin:6px 0 0;font-weight:500;color:#f7e8c7}.coach-copy p{font-size:14px;line-height:1.45;margin:0 0 10px;color:#dfebe1}
.coach-visual{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:6px 8px;margin:0 0 10px;border:1px solid #91bdb233;border-radius:10px;background:#102d3680;font-size:11px;color:#cee4d9}.coach-visual:empty{display:none}.coach-visual>b{font-weight:500;line-height:1.35}.coach-chip{display:flex;align-items:center;gap:6px;min-width:0;font-size:10px;line-height:1.3}.coach-chip b{font-weight:500}.coach-chip .camp-icon,.coach-chip canvas{width:28px;height:28px;flex:0 0 28px;object-fit:contain}.coach-flow-arrow{color:#dabd81;font-size:24px;line-height:1}
.coach-health-demo,.coach-xp-demo{display:block;flex:0 0 82px;height:12px;padding:2px;border:1px solid #94b1a8;border-radius:8px;background:#061b24}.coach-health-demo i,.coach-xp-demo i{display:block;height:100%;width:72%;border-radius:5px;background:#7fbe80}.coach-xp-demo i{background:#6ec6e2;width:80%}.coach-slot-demo{display:flex;gap:3px}.coach-slot-demo i{display:grid;place-items:center;width:18px;height:22px;border:1px dashed #83ada16e;border-radius:4px;color:#f2deb7;font-size:10px;font-style:normal}.coach-slot-demo i.filled{border:1px solid #d5bc87;background:#477768}
.coach-drag-demo{display:flex;align-items:center;flex:0 0 84px;gap:5px}.coach-drag-demo .camp-icon{width:30px;height:30px;animation:coach-drag 1.7s ease-in-out infinite}.coach-drag-demo i{width:36px;border-top:2px dashed #d9c18a}.coach-danger-demo{position:relative;flex:0 0 77px;height:32px}.coach-danger-demo i{position:absolute;left:4px;top:2px;width:30px;height:30px;border:2px solid #e19678;background:#b8595140;border-radius:50%}.coach-danger-demo b{position:absolute;right:6px;top:10px;width:12px;height:12px;border:2px solid #d0ece0;background:#64b5a5;border-radius:50%}
.coach-actions{display:flex;gap:8px}.coach-actions button{flex:1;min-height:44px;padding:10px 12px;font-size:14px}.coach-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#95baad;font-size:9px}.coach-card #coachSkip{display:block;min-height:44px;background:transparent;border:0;padding:8px 0;color:#c6d8cd;font-size:12px}.coach-status{font-size:12px;line-height:1.4;color:#ffd298}
@keyframes coach-ring{50%{border-color:#fff3cc}}
@keyframes coach-drag{50%{transform:translateX(9px)}}
@media(prefers-reduced-motion:reduce){.coach-focus,.coach-drag-demo .camp-icon{animation:none}}
.coach-card.compact{padding:8px 12px 0}.coach-card.compact header{gap:10px;margin:6px 0 8px}.compact .coach-portrait{flex-basis:62px;width:62px;height:78px}.compact .coach-heading h2{font-size:20px;margin-top:4px}.compact .coach-heading small{font-size:7px}.compact .coach-copy p{font-size:13px;line-height:1.38;margin-bottom:8px}.compact .coach-visual{min-height:37px;padding:4px 6px;margin-bottom:8px;gap:6px}.compact .coach-chip{font-size:9px}.compact .coach-chip .camp-icon,.compact .coach-chip canvas{width:24px;height:24px;flex-basis:24px}.coach-card.compact footer span{display:none}
.coach-portrait img{width:150%;height:150%;max-width:none;transform:translate(-15%,-4%)}.coach-card.compact .coach-actions{padding-right:52px;margin-bottom:8px}.coach-card.compact footer{position:absolute;right:12px;bottom:8px;min-height:44px}.coach-card.compact #coachSkip{width:44px;font-size:10px;line-height:1.2;padding:0}

/* Reading is a whole-screen gesture; a hand only marks a real action. */
.coach-overlay:not([data-interaction=action]) .coach-target-hint{display:none}
.coach-overlay[data-interaction=action] .coach-actions,.coach-overlay[data-interaction=action] .coach-visual{display:none}
.coach-overlay .coach-action-cue{flex:none;text-align:center;margin:2px 0 0;padding:12px 4px 0;border-top:1px solid #bda37155;color:#ffe1a1;font:600 14px/1.4 var(--body,Arial,sans-serif)}
.coach-overlay .coach-action-cue[hidden]{display:none}
.coach-overlay[data-interaction=read] .coach-actions #coachNext{background:transparent;border:0;box-shadow:none;color:#f5d89e;font:600 14px/1.4 var(--body,Arial,sans-serif);min-height:44px;padding:10px 4px}
.coach-overlay[data-interaction=read]{cursor:pointer}
.coach-overlay[data-interaction=read] .coach-focus{cursor:default}
.coach-overlay[data-interaction=action] .coach-target-hint{right:-3px;bottom:-3px;width:27px;height:27px}
#coach[data-scope=camp] .coach-visual{display:none}

/* World targets (move ring, chest, exit) read as a place, not a button (Lead, 2026-09-23) */
.coach-overlay.passive-focus .coach-focus{border-radius:50%;border:2px solid #f6ce8399;box-shadow:0 0 0 200vmax #06181e99,0 0 28px 6px #f7c77755}
/* Keyboard variant of the move demo for mouse-and-keyboard players. */
.coach-keys{display:flex;align-items:center;gap:4px;flex:0 0 auto}.coach-keys kbd{display:grid;place-items:center;width:24px;height:24px;border:1px solid #d9c18a99;border-bottom-width:3px;border-radius:6px;background:#0f2a33;color:#f3e6c9;font:700 12px var(--number,sans-serif)}
