/* The passage chooser uses the existing modal/scroll surface and game controls. */
#piratequest-app .pq-utility248-dialog { color:#e4e9d7; }
#piratequest-app .pq-utility248-dialog .gr-dialog__body { padding:18px 22px; }
#piratequest-app .pq-utility248 { width:min(100%,1040px); margin:auto; min-width:0; }
#piratequest-app .pq-utility248__hero { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:18px; padding:14px; border:1px solid #719c93; border-radius:15px; background:linear-gradient(135deg,#174650,#092b39); }
#piratequest-app .pq-utility248__item { display:grid; place-items:center; min-width:0; }
#piratequest-app .pq-utility248__item>svg { width:112px; height:112px; max-width:100%; }
#piratequest-app .pq-utility248 h3 { margin:0 0 8px; color:#f3dca2; font-size:var(--pq-title180); line-height:1.2; overflow-wrap:anywhere; }
#piratequest-app .pq-utility248 p { margin:8px 0 0; font-size:var(--pq-body180); line-height:1.4; }
#piratequest-app .pq-utility248 .pq-utility248__promise { color:#a8d6c2; font-size:var(--pq-small180); }
#piratequest-app .pq-utility248__choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
#piratequest-app .pq-utility248__choice.pq-button { display:grid; grid-template-columns:36px minmax(0,1fr) 20px; min-height:130px; width:100%; min-width:0; box-sizing:border-box; gap:10px; padding:14px; color:#dce8d9; text-align:left; border:1px solid #81ab9e; border-radius:13px; background:linear-gradient(145deg,#1a4b55,#092b37); }
#piratequest-app .pq-utility248__choice>svg { width:34px; height:34px; }
#piratequest-app .pq-utility248__choice>svg:last-child { width:20px; height:20px; }
#piratequest-app .pq-utility248__choice>span { min-width:0; display:grid; gap:9px; justify-items:start; text-align:left; }
#piratequest-app .pq-utility248__choice strong { color:#f2d699; font-size:var(--pq-font-button); line-height:1.25; }
#piratequest-app .pq-utility248__choice small { display:block; color:#c0d7c8; font-size:var(--pq-small180); line-height:1.4; overflow-wrap:anywhere; }
#piratequest-app .pq-utility248__choice:hover:not(:disabled) { border-color:#f3d28c; background:#1c525b; }
#piratequest-app .pq-utility248__choice:focus-visible { outline:3px solid #f3d28c; outline-offset:3px; }
#piratequest-app .pq-utility248__actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin:16px 0 4px; }
#piratequest-app .pq-utility248__actions>.pq-button { min-width:44px; min-height:48px; padding:10px 16px; }
#piratequest-app .pq-utility248__status { padding:12px 14px; border:1px solid #6eaa99; border-radius:10px; color:#c9e5d0; background:#0d3840; }
#piratequest-app .pq-utility248__status.is-error { border-color:#db9b7b; color:#f2ccb3; background:#563639; }
#piratequest-app .pq-utility248__scene { position:relative; height:clamp(180px,39vh,360px); margin:16px 0; overflow:hidden; border:1px solid #7faaa4; border-radius:15px; background:#0c3040; }
#piratequest-app .pq-utility248__scene>canvas { display:block; width:100%; height:100%; }
#piratequest-app .pq-utility248__floating-art { position:absolute; left:50%; top:34%; width:76px; height:76px; pointer-events:none; opacity:.85; }
#piratequest-app .pq-utility248__floating-art>svg { width:76px; height:76px; }
#piratequest-app .pq-utility248__scene>strong { position:absolute; inset-inline:12px; bottom:12px; text-align:center; color:#fff0c2; font-size:var(--pq-small180); text-shadow:0 2px 5px #071b28; }
@media(max-width:760px) {
 #piratequest-app .pq-utility248-dialog .gr-dialog__body { padding:12px; }
 #piratequest-app .pq-utility248__hero { grid-template-columns:76px minmax(0,1fr); gap:12px; padding:12px; }
 #piratequest-app .pq-utility248__item>svg { width:76px; height:76px; }
 #piratequest-app .pq-utility248 h3 { font-size:var(--pq-font-heading); }
 #piratequest-app .pq-utility248__choices { grid-template-columns:minmax(0,1fr); gap:9px; margin:12px 0; }
 #piratequest-app .pq-utility248__choice.pq-button { min-height:82px; padding:11px; }
 #piratequest-app .pq-utility248__choice>span { gap:5px; }
 #piratequest-app .pq-utility248__actions>.pq-button { flex:1 1 180px; }
}
@media(max-height:500px) and (min-width:500px) {
 #piratequest-app .pq-utility248-dialog .gr-dialog__body { padding:8px 12px; }
 #piratequest-app .pq-utility248__hero { grid-template-columns:58px minmax(0,1fr); padding:8px; gap:10px; }
 #piratequest-app .pq-utility248__item>svg { width:58px; height:58px; }
 #piratequest-app .pq-utility248__hero p { margin-top:4px; font-size:var(--pq-small180); }
 #piratequest-app .pq-utility248__choices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
 #piratequest-app .pq-utility248__choice.pq-button { grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; padding:10px; gap:6px; min-height:112px; }
 #piratequest-app .pq-utility248__choice>span { justify-items:center; text-align:center; }
 #piratequest-app .pq-utility248__choice>svg:first-child { width:24px; height:24px; }
 #piratequest-app .pq-utility248__choice>svg:last-child { display:none; }
 #piratequest-app .pq-utility248__scene { height:140px; margin:10px 0; }
}
@media(prefers-reduced-motion:reduce) { #piratequest-app .pq-utility248 * { scroll-behavior:auto; } }
/* The art and title share a compact masthead; explanations use the full phone width. */
@media(max-width:480px) {
 #piratequest-app .pq-utility248__hero { display:block; }
 #piratequest-app .pq-utility248__item { float:left; width:64px; height:64px; margin:0 12px 4px 0; }
 #piratequest-app .pq-utility248__item>svg { width:64px; height:64px; }
 #piratequest-app .pq-utility248__hero>div { display:contents; }
 #piratequest-app .pq-utility248__hero h3 { display:flex; align-items:center; min-height:64px; margin:0; }
 #piratequest-app .pq-utility248__hero p { clear:both; }
}
#piratequest-app .pq-utility248__choice small { font-weight:400; }
