#task-markers{position:absolute;inset:0;pointer-events:none;z-index:2}#labels{z-index:3}.map-intro{z-index:4}.task-marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;background:#f4dfad;border:1px solid #8a683f;box-shadow:0 2px 6px #153f6d44;padding:3px 5px;border-radius:3px;line-height:1;color:#674d2e;min-width:23px;z-index:1}.task-marker b{font:bold 10px/1.2 var(--body)}.task-marker span{display:none;font-size:9px;margin-left:5px;font-weight:600}.task-marker:hover span,.task-marker:focus-visible span,.task-marker.selected span{display:inline}.task-marker.waiting{background:#edd094;border-color:#b98635;color:#765329}.task-marker.sos{background:#8e3c2d;border-color:#ffcb91;color:#ffe2b1;z-index:3}.task-marker.sos b{animation:distress-breathe 2.8s ease-in-out infinite}.task-marker.returning{background:#d6e0bd;color:#3a654b;border-color:#789a6b}.task-marker.delivered{background:#e5e8d4;color:#5f7350}.task-marker.selected{z-index:5;box-shadow:0 0 9px white,0 0 18px #fff3c9aa;border-color:#ffe7a6}.task-marker.muted{opacity:.58}.task-marker:hover,.task-marker:focus-visible{opacity:1;z-index:6}.fleet-open{position:absolute;left:33px;bottom:146px;z-index:4;text-align:left;background:#f6dfabea;border:3px double #966d39;padding:11px 14px;color:#66482d;box-shadow:0 5px 18px #17457438;max-width:calc(100% - 66px)}.fleet-open strong{font:700 14px var(--display);letter-spacing:1px;display:block}.fleet-open span{font-size:9px;display:block;margin-top:7px;line-height:1.6}.fleet-open small{font-size:8px;display:block;margin-top:5px;color:#957646}.task-dialog{width:740px;max-width:calc(100vw - 24px)}.task-hero{text-align:center;border:3px double #a17b43;padding:22px 18px;background:#efdaa04a}.task-hero h2{font:700 27px/1.5 var(--display);margin:13px 0;color:#68472b}.task-path{font:700 19px/1.9 Georgia,var(--body);color:#705330}.task-path span{font:10px var(--body);padding:0 7px;color:#947646}.task-state{display:inline-block;border:1px solid #ad8a50;padding:6px 9px;font-size:10px;color:#846035;background:#e5c98b;margin:12px 0 0;line-height:1.5}.task-state.sos{background:#a75137;border-color:#a75137;color:#ffe2b0}.task-state.returning,.task-state.delivered{background:#cdd6a8;color:#506846;border-color:#8e9b67}.task-section{margin:22px 0;font-size:12px;line-height:1.9;color:#705738}.task-section h3{font:700 19px/1.6 var(--display);border-bottom:1px solid #b6965d;padding-bottom:8px;margin:18px 0 13px;color:#71502d}.task-section dl{display:grid;grid-template-columns:95px 1fr;gap:10px;margin:17px 0}.task-section dt{color:#9a763e;font-size:10px}.task-section dd{margin:0}.task-blocker{background:#cda36a35;padding:16px;border-left:3px solid #b47c3f}.task-blocker h3{margin-top:0}.task-blocker>strong{color:#975331}.task-current{background:#f7e6bd;padding:10px 12px;font-size:11px;border:1px dashed #b39963}.task-replay{display:block;border:0;background:none;color:#8c6b3c;text-decoration:underline;font-size:10px;margin:14px auto 0}.task-board{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.task-row{background:#fff0c74d;border:1px solid #b2965f;text-align:left;padding:13px;color:#70512e}.task-row .task-state{margin:0 0 8px;font-size:9px;padding:4px 7px}.task-row strong{display:block;font:700 13px/1.6 var(--display)}.task-row small{display:block;font-size:10px;line-height:1.7;color:#9a7a46;margin-top:5px}.task-section ul{padding-left:20px}.task-section .bounty-demo:disabled{background:#84865b;color:#f6edcf;border-color:#b6b075;opacity:1}
@keyframes distress-breathe{0%,100%{opacity:1}50%{opacity:.55}}
@media(max-width:1150px){.fleet-open{left:24px;padding:10px 12px;bottom:140px}.fleet-open strong{font-size:12px}.fleet-open span{font-size:8px}}
@media(max-width:900px){.fleet-open{left:20px;bottom:99px;padding:9px 11px;max-width:calc(100% - 40px)}.fleet-open strong{font-size:12px}.fleet-open small{font-size:7px}.map-guide{display:none}.task-marker{padding:3px 4px;min-width:20px}.task-marker b{font-size:9px}.task-marker span{font-size:8px}.ship-caption{bottom:195px}.task-hero h2{font-size:23px}.task-path{font-size:17px}.task-path span{font-size:9px;padding:0 3px}}
@media(max-width:520px){.task-board{grid-template-columns:1fr;gap:8px}.task-section dl{grid-template-columns:1fr;gap:3px}.task-section dt{margin-top:8px}.task-section{font-size:11px}.task-hero{padding:17px 11px}.task-hero h2{font-size:21px}.task-path{font-size:15px}.task-path span{font-size:8px}.fleet-open span{font-size:7px}.fleet-open small{font-size:7px}.task-dialog .drag-handle{font-size:13px}}
@media(prefers-reduced-motion:reduce){.task-marker.sos b{animation:none}}
/* 跟船時讓海面保持可見、可操作，工單停在側邊而非遮住主角。 */
.following-task .sky-panel,.following-task .map-intro,.following-task .ship-caption,.following-task .fleet-open,.following-task #labels,.following-task .map-guide{visibility:hidden}
.following-task .task-marker:not(.selected){display:none}
.following-task .task-marker.selected{pointer-events:none}
.task-dialog.task-follow:not(.window-moved){position:fixed;left:auto;right:24px;top:124px;bottom:auto;margin:0;width:330px;max-height:calc(100svh - 148px);padding:20px}
.task-follow .task-hero{padding:12px 8px}.task-follow .task-hero h2{font-size:21px;margin:8px 0}.task-follow .task-path{font-size:14px}.task-follow .task-path span{font-size:8px;padding:0 2px}.task-follow .task-section{margin:14px 0;font-size:12px}.task-follow .task-section h3{font-size:16px;margin:10px 0;padding-bottom:6px}.task-follow .task-blocker{padding:12px}.task-follow .bounty-demo{width:100%;font-size:11px}.task-follow .bounty-caption{font-size:9px;line-height:1.7}.task-follow .drag-handle{font-size:12px}.task-follow summary{cursor:pointer}.task-follow .task-current{margin-bottom:0}
@media(max-width:900px){.following-task .archipelago{height:100svh;min-height:700px}.task-dialog.task-follow:not(.window-moved){top:auto;bottom:16px;left:16px;right:16px;width:auto;max-height:38svh;padding:14px}.following-task .map-controls{bottom:calc(38svh + 38px)}.following-task .sea-note{display:none}.task-follow .task-hero h2{font-size:18px}.task-follow .task-hero{padding:6px}.task-follow .task-hero .task-state{margin-top:6px}.task-follow .task-path{font-size:12px}}
.task-cycle{font-size:11px;color:#88622d;text-align:center;margin:9px 0}.transfer-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin:12px 0}.transfer-steps span{font-size:9px;text-align:center;border:1px solid #baa16d;padding:6px 1px;background:#f3dfab;color:#9b804b}.transfer-steps .active{background:#74512e;color:#fff2cb;box-shadow:0 0 6px #fff0b0}.transfer-steps .done{background:#d9dfb8;color:#617142}.task-state.loading,.task-state.unloading{background:#dcc98c;color:#6b542a;border-color:#ad8b43}.task-marker.loading,.task-marker.unloading{background:#e5cd84;color:#6b542a}
.management-open{position:absolute;left:33px;bottom:230px;z-index:4;padding:10px 15px;background:#f6dfab;border:3px double #966d39;color:#66482d;font-size:12px}.management-panel{font-size:12px;line-height:1.8;color:#705738}.management-panel h3{font:700 19px var(--display);margin:20px 0 10px}.management-island{border:1px solid #b69b66;padding:12px;margin:12px 0;background:#f4e4b844}.management-island h4{margin:0 0 10px}.management-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;text-align:center}.management-metrics span{background:#dfd5a5;padding:6px;font-size:9px}.management-metrics b{display:block;font-size:23px;color:#526b48}.management-order{border-top:1px dashed #b69b66;margin-top:12px;padding-top:10px}.management-order p{font-size:11px;line-height:1.8;margin:6px 0}.management-status{background:#d4dcb7;padding:5px;color:#51673f;font-weight:700}.task-follow .transfer-steps{grid-template-columns:repeat(3,1fr)}.task-state.received,.task-state.deciding,.task-state.executing{background:#d8dfb7;color:#526b48}.following-task .management-open{visibility:hidden}
@media(max-width:900px){.management-open{left:20px;bottom:190px;font-size:10px}}
