.map-shell{position:relative}.march-parties{position:absolute;inset:0;pointer-events:none;z-index:5}.march-routes{z-index:3}.march-line{stroke:#a0e05d;stroke-width:3;stroke-dasharray:9 10;filter:drop-shadow(0 1px 2px #102b11);animation:route-flow .9s linear infinite}.march-line.returning{stroke:#8cd6e5;animation-direction:reverse}@keyframes route-flow{to{stroke-dashoffset:-38}}
.march-party{position:absolute;left:0;top:0;width:64px;height:60px;margin:-30px 0 0 -30px;border:0;background:none;pointer-events:auto;overflow:visible;cursor:pointer;filter:drop-shadow(0 2px 1px #151b13aa)}.march-soldier{position:absolute;width:37px;height:37px;background-image:url('assets/art/march-units-v04.png');background-size:400% 600%;transform:scaleX(var(--mirror,1));transform-origin:center bottom;animation:soldier-walk .8s steps(1) infinite;animation-delay:var(--delay)}.march-soldier.cavalry{width:46px;height:46px;margin:-6px 0 0 -5px}.rushing .march-soldier{animation-duration:.36s}.party-shadow{position:absolute;left:-10px;top:23px;width:76px;height:17px;border-radius:50%;background:#17201855;filter:blur(4px)}.party-shield{position:absolute;left:15px;top:42px;border:1px solid #c9b16d;border-radius:2px 2px 8px 8px;background:linear-gradient(#375164,#172b38);color:#fff1b2;font:10px Georgia;padding:2px 5px;white-space:nowrap}.party-dust{position:absolute;left:-20px;top:18px;width:58px;height:30px;background:radial-gradient(ellipse,#c8b68c70,transparent 68%);animation:march-dust 1s ease-out infinite;pointer-events:none}.rushing .party-dust{width:85px;opacity:1;animation-duration:.4s}.rushing:after{content:'';position:absolute;left:-30px;top:12px;width:30px;height:15px;border-top:1px solid #ffdb8d90;border-bottom:1px solid #ffdb8d70;transform:skewX(-28deg);animation:march-dust .35s infinite}.attacking .march-soldier{animation:attack-jab .45s ease-in-out infinite alternate;background-position-x:66.666%}.gathering .march-soldier{animation:attack-jab 1.5s ease-in-out infinite alternate;background-position-x:0}.contact-sparks{display:none}.attacking .contact-sparks{display:block;position:absolute;left:32px;top:7px;width:18px;height:18px;background:radial-gradient(#fff7c8,#ffbb3580 25%,transparent 65%);animation:impact-flash .5s infinite alternate}
@keyframes soldier-walk{0%,100%{background-position-x:0}25%{background-position-x:33.333%}50%{background-position-x:66.666%}75%{background-position-x:100%}}@keyframes attack-jab{to{translate:5px -2px;rotate:3deg}}@keyframes march-dust{from{scale:.65;opacity:.2}to{scale:1.2;opacity:.7;translate:-8px 1px}}@keyframes impact-flash{to{opacity:.1;scale:.4}}
.march-hud{position:absolute;left:10px;top:10px;width:min(310px,calc(100% - 20px));z-index:9;display:grid;gap:6px;pointer-events:none}.march-hud-row{display:flex;align-items:center;background:linear-gradient(100deg,#152a28f2,#10211cf2);border:1px solid #887b4d;box-shadow:0 3px 8px #0007;pointer-events:auto;min-height:57px;border-left:4px solid #95ba67}.march-hud-row.inbound{border-left-color:#81b8cb}.march-hud-row.working{border-left-color:#d3aa55}.march-hud-detail{flex:1;text-align:left;background:none;border:0;color:#e9dda7;padding:7px 10px;min-width:0}.march-hud-detail strong,.march-hud-detail small{display:block}.march-hud-detail small{font-size:11px;color:#b9c7af;margin-top:3px}.hasten-button{margin:6px;background:linear-gradient(#356580,#163c53);border:1px solid #76a9b7;color:#f3e4ad;padding:8px 10px;font:inherit;font-size:12px}.hasten-button:disabled{opacity:.5;cursor:default}.march-hud-time{font-variant-numeric:tabular-nums}.mission-actions{display:flex;gap:8px;margin:9px 0 0}.mission-actions button{font-size:12px}.unit-selection{display:grid;gap:10px;margin:18px 0}.unit-select-row{display:grid;grid-template-columns:50px 1fr 80px;gap:10px;align-items:center;border-bottom:1px solid #576245;padding:5px 0 12px}.unit-select-row .unit-still{width:48px;height:48px;background-image:url('assets/art/march-units-v04.png');background-size:400% 600%;background-position-x:0}.unit-select-row label{display:block;font-size:13px;color:#dfd2a0}.unit-select-row input[type=range]{width:100%;accent-color:#c9ae5b;margin:10px 0 0}.unit-select-row input[type=number]{width:100%;min-width:0;padding:9px 5px;background:#101c17;color:#e9dda7;border:1px solid #68724d}.march-detail-summary{display:flex;justify-content:space-between;border:1px solid #697349;background:#1d3025;padding:15px;margin:14px 0}.march-detail-summary strong{color:#f0d68b}.castle-fire-canvas{position:absolute;left:0;top:-28px;width:160px;height:160px;pointer-events:none;z-index:3}.burn-layer{pointer-events:none}.burn-timer{z-index:4}
@media(prefers-reduced-motion:reduce){.march-line,.march-soldier,.party-dust,.rushing:after,.attacking .march-soldier,.contact-sparks{animation:none!important}.party-dust{display:none}}
@media(max-width:600px){.march-hud{width:245px;left:6px;top:6px}.march-hud-row{min-height:51px}.march-hud-detail{padding:5px 7px}.march-hud-detail strong{font-size:12px}.hasten-button{padding:7px}.unit-select-row{grid-template-columns:44px 1fr 70px}}
