.map-observation{width:min(1100px,calc(100vw - 16px));height:calc(100dvh - 16px);max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;overflow:hidden}
.map-observation:not([open]){display:none}
.map-task-header{display:block;padding:0}.map-task-header h2{font-size:22px;margin:0}.map-task-header p{font-size:14px;margin:5px 0;line-height:1.3}
.map-task-body{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;gap:14px}
.map-task-board{position:relative;width:min(100%,calc((100dvh - 190px)*1.333333));max-height:100%;flex-shrink:1}
.map-task-board>img{display:block;width:100%;height:100%;object-fit:contain}
.map-task-board .map-object{position:absolute;min-height:0;min-width:0;padding:0;border:2px solid #243b3d;border-radius:50%;background:#fff7;color:#243b3d;font-size:12px;line-height:1;touch-action:manipulation}
.map-task-board .map-object:hover,.map-task-board .map-object:focus-visible{background:#f7d569cc;outline:3px solid #fff}
.map-task-board .map-object.observed{background:#bce3a5cc;border-color:#284d25}
.map-task-footer{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.map-task-footer .task-feedback{flex-basis:100%;line-height:1.2;min-height:18px}.map-task-footer button{min-height:44px;font-size:13px;padding:6px 12px}
.map-object-list{position:absolute;inset:0;z-index:2;padding:8px;background:#f5e7cb;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;overflow:auto}.map-object-list button{min-height:44px;text-align:left}
.map-choice-body .simple-task-body{width:300px;flex-shrink:0}.map-choice-body .simple-task-body button{min-height:44px}
.palma-portrait{float:left;width:110px;height:155px;margin:0 12px 10px 0;background-repeat:no-repeat;background-size:530px 397px;background-position:-110px 0;border-radius:8px;background-color:white}.palma-portrait.speaking{background-position:-255px 0}
.dialogue:has(.palma-portrait)>button{clear:both}
.task-dialog[data-task="4s-relief"] .drop-zone{display:flex;flex-direction:column;gap:6px;padding:6px;overflow:hidden}.task-dialog[data-task="4s-relief"] .drop-target{height:auto;min-height:44px;flex:0 0 auto}.task-dialog[data-task="4s-relief"] .term-card.matched{min-height:36px;flex:0 0 auto}
.dialogue[data-dialog="4-departure"]{animation:boarding-in .65s ease-out}
@media(max-width:650px) and (min-height:501px){.map-choice-body{flex-direction:column}.map-choice-body .simple-task-body{width:100%;grid-template-columns:1fr}.map-choice-body .map-task-board{width:min(100%,calc((100dvh - 410px)*1.333333))}.map-task-header h2{font-size:18px}}
@media(max-height:500px){.map-observation{padding:6px;gap:4px}.map-task-header h2{font-size:17px}.map-task-header p{font-size:11px;margin:2px 0}.map-task-board{width:min(100%,calc((100dvh - 135px)*1.333333))}.map-task-footer .task-feedback{font-size:11px;min-height:14px}.map-task-footer button{min-height:32px;font-size:11px;padding:4px}.map-choice-body .simple-task-body{width:260px}.map-choice-body .simple-task-body button{font-size:12px;padding:4px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.dialogue[data-dialog="4-departure"]{animation:none}}
.map-task-footer button{width:auto}.map-choice-body .simple-task-body{align-content:center}.map-task-board{max-height:none}
.map-observation[data-task^="4a-"] .map-task-header p{font-size:clamp(18px,2vw,24px);font-weight:700;line-height:1.3;color:#102f50;background:#fff2bb;border-left:6px solid #c58b19;border-radius:6px;padding:12px;margin:8px 0}.map-observation[data-task^="4a-"] .map-task-header h2{font-size:18px;color:#49606c}@media(max-height:500px){.map-observation[data-task^="4a-"] .map-task-header p{font-size:16px;padding:6px;margin:4px 0;line-height:1.2}.map-observation[data-task^="4a-"] .map-task-header h2{font-size:14px}}
dialog.map-observation{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
