/* Eastern lantern / ink / cinnabar presentation, preserving all gameplay hit targets. */
:root{--ink:#0a1718;--panel:#132725;--panel2:#203c35;--gold:#c9a56d;--gold2:#f3dfb6;--text:#f5ead4;--muted:#b6beb0;--red:#d8836c;--green:#a0c6ae;--edge:#687a69;--light:#dfbc79}
html,body,#frame{background:#081615!important}
.serif,h1,h2,h3,.fx-spot-name{font-family:"Songti TC","Noto Serif CJK TC","PingFang TC",serif}
.hy-icon{display:inline-block;width:22px;height:22px;max-width:100%;max-height:100%;flex:0 0 auto;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px #0006)}
.brand-icon .hy-icon{width:20px;height:20px}.node-mark .hy-icon{width:32px;height:32px}
.topbar,.bottom-bar,.battle-dock{background:linear-gradient(110deg,#102521f7,#0b1818fc)!important;border-color:#ad865475!important}
.brand-icon{background:#1d332c!important;border-color:#b18c57!important;border-radius:2px!important}
.btn,.square{border-radius:3px!important;background:linear-gradient(155deg,#294036,#152820)!important;border-color:#9b825a!important;color:#f2e3c8!important}
.btn.primary,.confirm-skill{background:linear-gradient(145deg,#a44c36,#602c23)!important;border-color:#d2a36b!important;color:#fff0d1!important;box-shadow:inset 0 0 0 2px #36191255}
.btn:active{filter:brightness(1.18)}.btn:disabled{filter:saturate(.25);opacity:.48}
.btn.quiet,.title-help{background:#0a1b17cc!important;border-color:#9d845e80!important}
.title .scene-bg{background-position:center 42%!important;filter:brightness(.8)!important}
.title-shade{background:linear-gradient(90deg,#081b19fa 0%,#0b1d1aed 32%,#081b1950 70%,#081b1911),linear-gradient(0deg,#06120fe8,transparent 45%)!important}
.title-content{left:46px!important;top:95px!important;width:430px!important}
.title-content h1{font-size:67px!important;letter-spacing:9px!important;color:#f2d6a6!important;text-shadow:0 3px 0 #472416,0 0 28px #0008}
.title-content h1 small{font-size:43px!important;color:#bd7355!important;margin:0 3px!important}
.title-content .eyebrow{color:#d0a572!important;letter-spacing:5px!important;font-size:14px!important}
.title-content .english{letter-spacing:5px!important;font-size:14px!important;color:#b1bdae!important}
html[lang="en"] .title-content h1{font-size:42px!important;letter-spacing:2px!important;line-height:1.12!important}
.title-content p{font-size:19px!important;line-height:1.7!important;color:#d6d9c8!important}
.title-top .mark{color:#dbc092!important}.title-top .title-ver{color:#c7c9b7!important;font-size:12px!important}
.title-art{left:43%!important;right:0!important;bottom:36px!important;top:60px!important;opacity:.96}
.title-art img{object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 8px 10px #0009)!important;width:auto!important}
.title-art .portrait-1{left:3%!important;height:84%!important;bottom:9px!important}
.title-art .portrait-2{left:18%!important;height:95%!important;bottom:0!important}
.title-art .portrait-0{left:38%!important;height:98%!important;bottom:-6px!important}
.title-art .portrait-3{left:55%!important;height:80%!important;bottom:0!important}
.town-intro{background:linear-gradient(90deg,#102622eb,#10262280)!important;color:#d9d0b4!important;font-size:13px!important}
.fx-hub{top:92px!important;bottom:62px!important;border-top:1px solid #ac82534d}
.fx-hub-bg{background-position:center 61%!important;filter:brightness(.96) saturate(.88)!important}
.fx-hub:after{background:linear-gradient(0deg,#091713d9,transparent 36%),linear-gradient(180deg,#09171355,transparent 22%)!important}
.fx-spot-name{background:linear-gradient(90deg,#172d24f7,#10231cf5)!important;border:1px solid #bd965e!important;border-left:3px solid #a84430!important;box-shadow:0 3px 8px #000a,inset 0 0 0 2px #18261a!important;padding:5px 9px!important;font-size:14px!important;letter-spacing:2px!important}
.fx-spot-pin{border-radius:4px!important;width:12px!important;height:18px!important;background:radial-gradient(ellipse,#ffd18b,#b44529 66%,#5f2814 85%)!important;box-shadow:0 0 13px #d78339!important}
.fx-pmem,.fx-pface,.actor-face{background:radial-gradient(ellipse at 50% 35%,#587262,#182c24 70%)!important;border-color:#ae8957!important}
.fx-pmem{width:80px!important;height:78px!important;border-radius:2px}
.fx-pmem img,.fx-pface img{object-position:center 20%!important}
.fx-pmem span{background:linear-gradient(0deg,#081912,transparent)!important}
.fx-pedit{background:#152b23ee!important;color:#ecd2a2!important}
.fx-icon,.skill-paint{background:#172a22!important;object-fit:contain!important;border-color:#876d46!important}
.modal-panel{background:linear-gradient(140deg,#23372d,#0c201b)!important;border:1px solid #a88957!important;border-radius:3px!important;box-shadow:0 16px 60px #000c,inset 0 0 0 4px #0b171380!important}
.modal-head{background:#0f221c!important;border-bottom:1px solid #a5895755!important}
.modal-head h2,.fx-fac-head h3,.fx-recruit h4,.fx-sec{color:#f0d39b!important}
.fx-fac-head:before{background:linear-gradient(90deg,#0a1b15f5 33%,#0a1b1580)!important}
.fx-pcard,.card,.intro-card,.settings-card{background:#13291fc9!important;border-color:#856e465f!important}
.fx-dmap .scene-bg{filter:brightness(.5) saturate(.55)!important}
.fx-dmap-parch,.fx-dmap[data-theme] .fx-dmap-parch{background:linear-gradient(#d1bc8870,#b29a6855),url('../assets/hyakki/map.webp') center/cover!important;box-shadow:inset 0 0 45px #493d20b3,0 0 0 1px #c2a371!important;opacity:1!important;border-radius:3px!important}
.fx-dmap-svg .fx-cloud{opacity:.14!important}
.fx-dmap-svg .fx-dh{stroke:#4b5944!important}.fx-dmap-svg .fx-dh.explored{fill:#735538!important;stroke:#f3dc9c!important}
.fx-droom{border-radius:3px!important;background:linear-gradient(135deg,#2b3b2ef2,#12261ef7)!important;border-color:#9f8050!important;box-shadow:0 3px 6px #2d271766!important}
.fx-droom.cur{border-color:#9d3424!important;box-shadow:0 0 0 3px #bc643c,0 0 18px #b3432580!important}
.fx-droom .name{color:#f4e4c1!important}.fx-dmap-legend{background:#12251ded!important;color:#e8d4ad!important;border-radius:2px!important}
.battle .scene-bg{filter:brightness(.93) saturate(.9)!important;background-position:center 58%!important}
.battle .scene-bg:after{background:linear-gradient(0deg,#071712ee,transparent 40%,#09171018)!important}
.unit .unit-foot{background:linear-gradient(#182d23f5,#0b1a14fa)!important;border-color:#ab8559!important}
.skill-btn{background:linear-gradient(140deg,#243e30,#12251c)!important;border-color:#8e7b50!important}
.skill-btn.selected{border-color:#e2b66e!important;box-shadow:inset 0 0 0 1px #d2a45e,0 0 10px #bc8a3729!important}
.actor-panel h3,.round-strip,.gold{color:#e9c995!important}.battle-hint{background:#172a20d9!important}
.story-panel{background:linear-gradient(90deg,#0b211bf2,#0b211bc5,transparent)!important}
.event-illustration{background:#213329e0!important;border-color:#aa8955!important}
@media(prefers-reduced-motion:reduce){.fx-spot-pin{animation:none!important}}

/* Hyakki v3: map-edge backing and unobtrusive environmental motion. */
.fx-dmini{background-color:#63583c!important;background-image:radial-gradient(ellipse at 35% 30%,#b49c6255,transparent 75%),repeating-linear-gradient(14deg,#a88a4910 0px,#a88a4910 1px,transparent 1px,transparent 5px)!important}
.hyakki-fallen{filter:grayscale(1);opacity:.45;pointer-events:none}
.hyakki-memorial{display:flex;gap:14px;border-bottom:1px solid #aa8a4c66;padding:16px 0;list-style:none}
.hyakki-memorial p{margin:5px 0}.hyakki-wound{color:#f0bb85}
.hyakki-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.hyakki-atmosphere::before{content:'';position:absolute;inset:40% -30% -10%;background:radial-gradient(ellipse at 40% 75%,#a9bdb02a,transparent 55%);animation:hyakki-mist 17s ease-in-out infinite alternate}
.hyakki-atmosphere i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffc984;box-shadow:0 0 9px #f7b955;animation:hyakki-drift 9s linear infinite;opacity:0}
@keyframes hyakki-mist{to{transform:translateX(15%);opacity:.45}}
@keyframes hyakki-drift{0%{transform:translate(0,14px);opacity:0}25%{opacity:.55}80%{opacity:.2}100%{transform:translate(45px,-100px);opacity:0}}
@media(prefers-reduced-motion:reduce){.hyakki-atmosphere{display:none}}
