:root{--swm-ink:#172b32;--swm-indigo:#263f4a;--swm-washi:#eee4cf;--swm-vermilion:#8f2f24;--swm-antique-gold:#c59a42}
.swm2-map{background:#d9d0ba;filter:sepia(.17) saturate(.82) contrast(.96)}
.swm2-map .leaflet-tile-pane{filter:sepia(.42) saturate(.67) hue-rotate(348deg) brightness(.96) contrast(.91)}
.swm2-map:before{content:"";position:absolute;z-index:449;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 28%,rgba(36,45,42,.15) 100%),linear-gradient(115deg,rgba(255,248,224,.12),rgba(31,55,62,.08));mix-blend-mode:multiply}
.swm2-map:after{background:linear-gradient(180deg,rgba(242,232,207,.2),transparent 26%,transparent 68%,rgba(25,52,61,.17)),repeating-linear-gradient(8deg,rgba(104,82,46,.018) 0 1px,transparent 1px 5px);box-shadow:inset 0 0 150px rgba(54,42,28,.2)}
.swm2-crest{position:absolute;z-index:451;right:-18px;bottom:-14px;width:min(360px,31vw);aspect-ratio:1;pointer-events:none;background:url('/html/img/suniva-world/sengoku-crest.png') center/contain no-repeat;opacity:.38;filter:saturate(1.08) contrast(1.12) drop-shadow(0 3px 6px rgba(72,20,12,.2));mix-blend-mode:multiply}
.swm2-brand{border-color:rgba(151,112,40,.42);background:linear-gradient(135deg,rgba(250,246,235,.94),rgba(231,220,194,.9));box-shadow:0 14px 38px rgba(25,38,39,.18),inset 0 1px 0 rgba(255,255,255,.85)}
.swm2-brand strong,.swm2-detail h2{color:var(--swm-ink)}
.swm2-brand small{color:#7e5620}
.swm2-actions button{border-color:rgba(151,112,40,.4);background:rgba(246,239,222,.92);color:var(--swm-ink)}
.swm2-kicker{color:#825a1b}.swm2-kicker span{color:#c59a42}
.swm2-detail{border-color:rgba(148,104,34,.52);background:linear-gradient(145deg,rgba(251,247,235,.98),rgba(225,215,190,.96));box-shadow:0 34px 100px rgba(18,33,37,.32),inset 0 1px 0 #fff}
.swm2-primary--visit{margin-bottom:11px;background:linear-gradient(135deg,#e8d18f,#b98729);box-shadow:0 14px 32px rgba(105,70,17,.27),inset 0 1px 0 rgba(255,255,255,.74);color:#1d3033}
.swm2-primary--reserve{min-height:58px;border:1px solid rgba(115,79,25,.3);background:rgba(255,252,243,.72);box-shadow:none;color:#3e4c4d;font-size:14px}
.swm2-light-icon i{width:15px;height:15px;border:2px solid rgba(255,250,229,.95);background:#be8d29;box-shadow:0 0 0 5px rgba(191,139,38,.16),0 0 20px 8px rgba(224,179,74,.42);animation:swmLantern 2.8s ease-in-out infinite}
.swm2-light-icon--portal{width:40px!important;height:40px!important;margin:-11px 0 0 -11px!important}
.swm2-light-icon--portal i{position:relative;width:40px;height:40px;border:1px solid rgba(255,240,193,.95);border-radius:50%;background:radial-gradient(circle,#f8df8f 0 12%,#bf8a22 14% 31%,#523f27 33% 37%,#d0a245 39% 52%,rgba(181,126,31,.16) 54%);box-shadow:0 0 0 7px rgba(196,143,37,.14),0 0 34px 13px rgba(232,186,79,.55);animation:swmPortal 2.5s ease-in-out infinite}
.swm2-light-icon--portal i:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:#fff3c6;font-size:15px;text-shadow:0 0 8px #fff}
.swm2-light-icon--selected i{box-shadow:0 0 0 10px rgba(178,46,35,.15),0 0 42px 18px rgba(242,199,92,.72)}
@keyframes swmLantern{0%,100%{transform:scale(.92);opacity:.85}50%{transform:scale(1.08);opacity:1}}
@keyframes swmPortal{0%,100%{transform:scale(.94) rotate(0);filter:brightness(.95)}50%{transform:scale(1.08) rotate(4deg);filter:brightness(1.15)}}
@media(max-width:640px){.swm2-crest{right:-14px;bottom:62px;width:210px;opacity:.3;filter:saturate(1.06) contrast(1.1) drop-shadow(0 2px 4px rgba(72,20,12,.18))}.swm2-primary--reserve{min-height:54px}}
