.approach-planner { position:absolute; inset:0; z-index:40; pointer-events:none; }
.approach-open { position:absolute; right:14px; bottom:calc(164px + env(safe-area-inset-bottom, 0px)); pointer-events:auto; }
.approach-cover { position:absolute; inset:0; display:flex; align-items:flex-start; overflow-y:auto; padding:12px; background:rgba(6,10,20,.93); pointer-events:auto; touch-action:pan-y; overscroll-behavior:contain; }
.approach-sheet { width:100%; max-width:420px; min-width:0; margin:auto; padding:18px; border:1px solid var(--space-cyan); border-radius:16px; background:var(--space-bg-slate); }
.approach-sheet h2 { font-size:1.35rem; }
.approach-sheet p, .approach-sheet label { font-size:.9rem; line-height:1.5; }
.approach-sheet label { display:block; font-weight:700; }
.approach-sheet select { width:100%; min-width:0; margin:6px 0; padding:8px; font:inherit; color:var(--space-text-main); background:var(--space-bg-deep); border:1px solid var(--space-border); border-radius:8px; }
.approach-planner button, .approach-planner select { min-height:44px; min-width:44px; }
.approach-planner button:focus-visible, .approach-planner select:focus-visible { outline:3px solid var(--space-cyan); outline-offset:3px; }
#approach-checks { white-space:pre-line; font-family:var(--space-font-mono); font-size:.8rem; }
.approach-note { color:var(--space-text-dim); }
.approach-sheet .btn { width:100%; }
@media (prefers-reduced-motion:reduce) { .approach-planner button { transition:none; transform:none; } }
