.map-wrap{background:radial-gradient(ellipse at 52% 34%,#1a5769 0%,#123f51 56%,#0b2d40 100%);box-shadow:inset 0 0 70px #031c32a3}
#atlas{background:transparent}.sea-label{fill:#9bcad1;opacity:.68}.spot-ring{display:none}
.scene-caption{position:absolute;z-index:4;left:36%;top:24%;width:min(27%,250px);padding:14px 16px;border:1px solid #93bec18c;border-left:4px solid #9dd5cf;border-radius:10px;background:#082631ed;color:#e8eee9;line-height:1.4;box-shadow:0 10px 30px #020b14a8;pointer-events:none}
.scene-caption small,.scene-caption strong,.scene-caption span{display:block}.scene-actor{width:54px;height:34px;object-fit:contain;float:right;margin:0 0 5px 9px;border:1px solid #e6ead9aa;border-radius:3px;background:#f7f4e9}.scene-caption small{font-size:11px;letter-spacing:.04em;color:#b3dad7;margin-bottom:7px}.scene-caption strong{font-size:16px;line-height:1.3;color:#fff2cd;margin-bottom:7px}.scene-caption span{font-size:13px;color:#d0e0df}
.scene-party-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.scene-party-row img{width:46px;height:29px;object-fit:contain;border:1px solid #d7ece1a3;border-radius:3px;background:#f8f6ef}.scene-party-row b{display:inline-flex;align-items:center;min-height:29px;padding:4px 8px;border:1px solid #b7d4d2;border-radius:3px;background:#214853;color:#f1eee2;font-size:11px}
.stable-note{margin:0 0 12px;padding:9px 11px;border-left:3px solid #72b9b1;background:#2040477d;color:#d0e2dc;font-size:13px;line-height:1.45}
.year-jump{display:flex;align-items:center;gap:9px;margin:12px 0 0 84px;color:#b2c7c6;font-size:13px;flex-wrap:wrap}.year-jump input{width:85px;background:#102b34;border:1px solid #54727a;border-radius:7px;color:#f0d99f;padding:6px 8px}.year-jump button{background:#244b53;border:1px solid #68918f;border-radius:7px;color:#e2f3ea;padding:6px 12px}.year-jump span{color:#819fa3}
.sound-btn{border:1px solid #7c988f;background:#1a3b43;color:#e9dcae;border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:13px}.sound-btn[aria-pressed=false]{color:#a4b5b8;border-color:#49636a}.speed{margin-left:0}.legend-logo{width:30px;height:20px;object-fit:contain;border:1px solid #ffffff5c;border-radius:2px;background:#f8f8f2}.legend-party-text{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 4px;border:1px solid #b7d4d2;border-radius:2px;background:#214853;color:#fff;font-size:10px}
#symbol-layer,#effects-layer{pointer-events:none}.map-leader{stroke:#f5dfaa;stroke-width:1.5;stroke-dasharray:3 3}.map-symbol{filter:drop-shadow(0 3px 3px #031017)}.symbol-focus{filter:drop-shadow(0 2px 6px #fff3d29c)}.symbol-frame{fill:#f4efdb;stroke:#233d48;stroke-width:1.5}.symbol-label-bg{fill:#08242e;stroke:#ecc87b;stroke-width:1}.symbol-label{font-size:12px;font-weight:750;text-anchor:middle;fill:#fff0cb}.symbol-text{fill:#f5e5bd;font-size:13px;font-weight:850;text-anchor:middle;paint-order:stroke;stroke:#0c2830;stroke-width:4px}.component-logo{filter:drop-shadow(0 1px 2px #04151c)}
@media(max-width:1000px){.scene-caption{top:45%;left:39%;width:32%}}
@media(max-width:600px){.scene-caption{left:8px;right:8px;top:auto;bottom:34px;width:auto;padding:8px 10px;border-left-width:3px}.scene-actor{width:40px;height:26px}.scene-caption small{font-size:10px;margin-bottom:3px}.scene-caption strong{font-size:12px;margin-bottom:3px}.scene-caption span{font-size:11px;line-height:1.25}.scene-party-row{margin-top:5px}.scene-party-row img{width:36px;height:22px}.year-jump{margin-left:0}.year-jump span{width:100%;font-size:11px}.story-panel{min-height:0}.sound-btn{font-size:11px;padding:6px 8px}.speed{font-size:11px;padding:6px}}
