/* Shared article driving. Model canvases never intercept reading or links. */
.review-drive{margin-top:26px;padding:16px 12px;background:#e5e9dc;border:1px solid #bac8b7;border-radius:13px;box-shadow:0 8px 22px #243c2214}
.drive-head .mono{display:block;color:#556d60;font-size:9px;margin-bottom:5px}
.review-drive .drive-head h3{font-size:20px;line-height:1.12;margin:0 0 8px}
.review-drive .drive-intro,.review-drive .drive-help{font-size:12px;line-height:1.5;color:#4d6053}
.review-drive .drive-intro{margin-bottom:11px}
.drive-stage{height:170px;position:relative;overflow:hidden;border-radius:8px;background:#cfdccc;border:1px solid #a7b9a3}
.drive-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.drive-poster,.drive-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#cfdccc}
.drive-poster img{width:100%;height:100%;object-fit:cover;filter:saturate(.88)}
.drive-poster::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#14271fb3)}
.drive-poster span{position:absolute;z-index:1;left:11px;right:11px;bottom:10px;color:#fffdf0;font:600 10px ui-monospace,monospace;text-shadow:0 1px 3px #081b17}
.drive-poster-empty{font-size:44px;font-weight:800;color:#496153}
.drive-fallback{padding:12px;text-align:center;color:#243c30;font-size:11px;line-height:1.5}
.review-drive .drive-stop{min-height:32px;margin:8px 0;font-size:11px;line-height:1.4;font-weight:700;color:#305a45}
.drive-buttons{display:flex;gap:6px;flex-wrap:wrap}.drive-buttons .button{min-height:40px}
.review-drive .drive-help{margin-top:10px}
.drive-overlay{position:fixed;inset:0;z-index:55;pointer-events:none}
.drive-viewport{position:absolute;inset:0;pointer-events:none}
.drive-viewport canvas{display:block;width:100%;height:100%;pointer-events:none}
.drive-hud{position:absolute;left:clamp(12px,2%,28px);bottom:clamp(12px,2%,28px);width:min(390px,calc(100% - 24px));padding:11px 13px 10px;border:1px solid #819a82;border-radius:12px;background:#f7f6e9;color:#20362b;box-shadow:0 12px 32px #0c241d4d;pointer-events:auto}
.drive-hud-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.drive-hud-top>div:first-child{display:flex;flex-direction:column;min-width:0}
.drive-hud-top .mono{font-size:9px;color:#617d68}
.drive-hud-top strong{font-size:16px;line-height:1.15}
.drive-hud-buttons{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.drive-hud .button.small{min-height:38px;padding:6px 10px;font-size:11px}
.drive-hud p{margin-top:6px;font-size:10px;line-height:1.4;color:#435a48}
.drive-speed{display:block;font-size:11px;line-height:1.4;color:#435a48;font-variant-numeric:tabular-nums;margin-top:4px}
.drive-pad{display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}
.drive-pad button{min-height:46px;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1;border:1px solid #738b76;background:#f9f9ed;border-radius:8px;color:#243c30;font-size:20px;font-weight:700;touch-action:none;user-select:none}
.drive-pad button small{font-size:9px;font-weight:600;line-height:1.2;margin-top:2px}
.drive-pad button:active,.drive-pad button[aria-pressed=true]{background:#edca83;transform:translateY(1px)}
.drive-nearby{outline:3px solid #e57d4b;outline-offset:6px;border-radius:5px;box-shadow:0 0 0 10px #e9733d14;transition:box-shadow .2s,outline-color .2s}
@media(pointer:coarse){.drive-pad{display:grid}}
@media(max-width:640px){
  .review-drive{margin-top:22px}
  .drive-stage{height:195px}
  .drive-hud{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;padding:8px 10px}
  .drive-hud-top strong{font-size:14px}
  .drive-hud .button.small{min-height:44px}
  .drive-hud p{font-size:10px;margin-top:4px}
  .drive-pad{display:grid;margin-top:6px}
}
@media(max-width:350px){.drive-hud-top strong{font-size:13px}.drive-hud .button.small{padding:5px 7px;font-size:10px}}
@media(max-height:420px) and (orientation:landscape){
  .drive-hud{left:8px;bottom:8px;width:min(420px,calc(100% - 16px));padding:7px 10px}
  .drive-hud-top strong{font-size:14px}.drive-hud p{margin-top:3px}
  .drive-hud #drive-hud-help{display:none}.drive-pad{margin-top:5px;gap:5px}
  .drive-pad button{min-height:44px}.drive-hud .button.small{min-height:44px}
  .drive-hud .drive-speed{margin-top:2px}.drive-stage{height:195px}
}
@media(prefers-reduced-motion:reduce){.drive-nearby{transition:none}.drive-pad button:active{transform:none}}
