@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&display=swap');

:root{--ink:#261c1a;--paper:#f4ebdc;--paper-deep:#e7d8c2;--red:#a84545;--red-dark:#6d2e32;--teal:#92c6ba;--teal-dark:#5d9c94;--gold:#d2a83f;--shadow:rgba(38,28,26,.22)}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:#24282b;color:var(--ink);font-family:'Noto Serif SC','STKaiti','KaiTi',serif}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible{outline:3px solid #f4c84a;outline-offset:2px}
body{display:grid;place-items:center;padding:18px}.screen{position:relative;width:min(calc(100vw - 28px),448px);height:min(calc(100vh - 28px),960px);min-height:640px;overflow:hidden;border-radius:13px;background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.4),0 0 0 3px #111;isolation:isolate}.hidden{display:none!important}
.screen:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(#8f7664 0.6px,transparent .7px),linear-gradient(145deg,transparent 0 49%,rgba(115,86,60,.06) 50% 51%,transparent 52%);background-size:9px 9px,31px 31px;mix-blend-mode:multiply;z-index:20}
.home-screen{background:linear-gradient(180deg,#e8dfd0 0%,#eee2cc 56%,#d4c8b6 100%)}.home-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent 30%,rgba(68,52,46,.2));z-index:-1}
.home-topbar{height:75px;padding:14px 14px 0;display:flex;justify-content:space-between;align-items:flex-start}.profile-chip{display:flex;gap:8px;align-items:center}.avatar{width:42px;height:42px;border:2px solid #433735;background:#d7ded7;display:grid;place-items:center;font-size:25px;font-weight:900;box-shadow:inset 0 0 0 2px #f5ebd8}.profile-copy{display:grid;gap:1px;font-size:13px}.profile-copy span{font-size:10px;color:#796c62}.resources{display:grid;gap:6px;justify-items:end}.resource{display:flex;align-items:center;gap:5px;min-width:122px;height:27px;padding:4px 9px;border-radius:16px;background:#382a28;color:#ffe9a9;box-shadow:inset 0 1px 0 #65504a;font-size:13px}.resource i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;font-style:normal}.coin i{background:#f0c52e;border:2px solid #9b6c0e}.energy i{font-size:19px;color:#ffdc3d}.plus{margin-left:auto;width:17px;height:17px;border-radius:50%;background:#6fb75c;color:#fff;font:bold 15px/17px sans-serif}.home-title{margin-top:4px;text-align:center;display:grid;gap:1px;color:#a7343e;text-shadow:1px 1px #f6d5c3,-1px -1px #fff;font-size:36px;font-weight:900;letter-spacing:3px}.home-title small{color:#54453e;font-size:14px;letter-spacing:4px}.stars{display:flex;justify-content:center;gap:5px;margin-top:4px;color:#e2c234;font-size:31px;text-shadow:1px 2px #6f5b22}.stars span:nth-child(n+3){color:#5e6046}.map-scene{position:absolute;left:50%;top:215px;transform:translateX(-50%);width:86%;height:370px;filter:drop-shadow(0 10px 9px rgba(56,43,33,.23))}.map-shadow{position:absolute;inset:12% 4% 5%;background:#cad0bd;border-radius:48% 42% 55% 33%;transform:rotate(-3deg)}.map-grid{position:absolute;left:16%;top:22%;width:68%;height:53%;display:grid;grid-template-columns:repeat(4,1fr);transform:rotate(-4deg);border:3px solid #333834;background:#c9c9ad;box-shadow:0 5px 0 rgba(0,0,0,.18)}.map-grid span{border:1px solid #7a806f;background:rgba(245,240,218,.35)}.map-flag{display:grid;place-items:center;color:#27251e;font-size:35px;font-weight:900}.map-route{position:absolute;width:23%;height:70%;left:41%;top:10%;border-left:5px solid #2f342e;border-bottom:5px solid #2f342e;transform:rotate(-5deg);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 89%,72% 89%,72% 12%,0 12%)}.map-spear{position:absolute;left:47%;top:57%;height:31%;width:4px;background:#2c312d;transform:rotate(17deg)}.map-spear:before{content:"";position:absolute;top:-12px;left:-7px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:18px solid #dbe2e0}.map-spear:after{content:"";position:absolute;bottom:-5px;left:-7px;width:18px;height:12px;background:#bf9e4d;transform:rotate(-22deg)}
.primary-cta{height:58px;padding:0 28px;background:linear-gradient(#c85b52,#a03d3e);border:3px solid #522c2d;border-radius:8px;color:#fff3df;font-weight:900;font-size:21px;letter-spacing:2px;box-shadow:0 5px 0 #642a2c,0 9px 12px var(--shadow);text-shadow:1px 2px #6c2a2c;transition:transform .15s,filter .15s}.primary-cta:hover{filter:brightness(1.08)}.primary-cta:active{transform:translateY(4px);box-shadow:0 1px 0 #642a2c}.primary-cta em{font-style:normal;color:#ffd634;font-size:24px}.mini-swords{display:inline-block;width:22px;height:22px;margin-right:9px;vertical-align:-3px;position:relative}.mini-swords:before,.mini-swords:after{content:"";position:absolute;left:9px;top:0;width:4px;height:24px;border-radius:2px;background:#efe6d1;border:1px solid #4a3933;transform:rotate(45deg)}.mini-swords:after{transform:rotate(-45deg)}#start-game{position:absolute;bottom:113px;left:50%;transform:translateX(-50%);width:74%;z-index:2}.home-side{position:absolute;top:265px;display:grid;gap:15px;z-index:2}.home-side button,.home-bottom button{padding:6px 7px;background:#eee2cc;border:2px solid #584842;box-shadow:2px 3px 0 #8c796d;font-weight:900;font-size:13px;writing-mode:vertical-rl}.side-left{left:10px}.side-right{right:10px;top:auto;bottom:136px}.home-bottom{position:absolute;bottom:16px;left:14px;right:14px;display:flex;justify-content:space-between}.home-bottom button{writing-mode:horizontal-tb;background:#d2bf93;font-size:11px}
.battle-screen{background:#eee5d8}.battle-header{height:79px;display:grid;grid-template-columns:42px 93px 1fr 76px;align-items:center;padding:6px 8px;border-bottom:2px solid #cab7a3;background:linear-gradient(180deg,#f6ecdc,#e7dbc9);position:relative;z-index:3}.icon-btn{font-size:23px;font-family:Arial;font-weight:900;background:transparent}.battle-resource{display:flex;align-items:center;gap:5px}.egg{width:31px;height:25px;border-radius:55% 48% 52% 45%;display:inline-block;background:radial-gradient(circle at 28% 24%,#fff9d9 0 18%,#e8dec7 49%,#a69c8e 100%);box-shadow:0 2px 0 #686158}.battle-resource b{background:#252b26;color:#f4dc70;border-radius:14px;padding:4px 12px;font:20px Arial;min-width:39px}.battle-heading{text-align:center;display:grid;gap:0;font-size:25px;line-height:1}.battle-heading span{font-size:18px;margin-top:4px}.header-actions{display:flex;justify-content:flex-end;gap:9px}.header-actions button{background:transparent;font-size:20px}.battle-body{height:calc(100% - 79px);display:grid;grid-template-rows:1fr 235px}.combat-lane{position:relative;overflow:hidden;background:#c9b8b1}.combat-lane:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(145,192,177,.25) 0 30%,rgba(216,199,190,.45) 30% 71%,rgba(153,194,184,.32) 71%);opacity:.95}.board{position:absolute;left:53px;right:53px;top:34px;bottom:61px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,1fr);border:2px solid #262d2a;z-index:1}.cell{position:relative;border:1px solid rgba(49,67,63,.32);background:rgba(128,190,177,.55);min-width:0;cursor:pointer;transition:background .15s,box-shadow .15s}.cell.enemy-zone{background:rgba(245,246,240,.92)}.cell.path-zone{background:rgba(208,187,181,.92)}.cell.valid-target{box-shadow:inset 0 0 0 3px #edcf58;background:rgba(238,221,133,.75)}.cell.occupied{background:#f2ede4}.cell .unit-mark{height:100%;display:grid;place-items:center;font-size:31px;font-weight:900;text-shadow:1px 1px #fff;position:relative}.cell .unit-mark small{position:absolute;right:3px;top:1px;font:11px Arial;color:#2d2522}.cell .unit-mark:after{content:"";position:absolute;inset:4px;border:2px solid transparent}.cell.rare .unit-mark{color:#a5742e}.cell.rare{box-shadow:inset 0 0 0 2px #e6c34a}.cell.flash{animation:flash .45s ease}.cell.merge{animation:merge .7s ease}.path-mark{position:absolute;height:5px;border-radius:99px;background:#6b2f34;z-index:2;opacity:.75}.path-a{left:172px;right:50px;top:170px}.path-b{left:53px;right:170px;top:328px}.path-mark:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 30px,#d8c3bd 30px 34px)}.fort{position:absolute;z-index:2;top:7px;font-size:30px;font-weight:900}.left-fort{left:4px}.right-fort{right:4px}.player-hp{position:absolute;z-index:2;bottom:3px;color:#d93f51;font-size:22px;letter-spacing:0}.left-hp{left:0}.right-hp{right:0}.enemy-column{position:absolute;inset:0;z-index:4;pointer-events:none}.enemy{position:absolute;width:37px;height:37px;display:grid;place-items:center;color:#2b2522;font-weight:900;font-size:23px;transform:translate(-50%,-50%);transition:left .15s,top .15s;filter:drop-shadow(1px 2px 0 rgba(255,255,255,.6))}.enemy:before{content:"";position:absolute;width:30px;height:8px;border-top:3px solid #772c38;top:-1px;left:2px}.enemy.hit{animation:shake .22s ease;color:#b63a3e}.projectile{position:absolute;width:5px;height:19px;background:#5f3b2c;z-index:5;transform-origin:50% 100%;animation:arrow .45s linear forwards}.projectile:before{content:"";position:absolute;top:-6px;left:-4px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #3d2e29}.combat-toast{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-size:24px;font-weight:900;color:#efa928;text-shadow:2px 2px #8a452e;opacity:0;z-index:8;pointer-events:none;white-space:nowrap}.combat-toast.show{animation:toast 1.25s ease}.battle-controls{position:relative;background:linear-gradient(#f2e8da,#eee3d2);border-top:2px solid #5e534c;padding:19px 26px 13px;z-index:4}.formation-label{position:absolute;left:0;top:0;bottom:0;width:47px;background:#7b2e34;color:#fff0d9;display:grid;place-items:center}.tent{font-size:27px;font-weight:900;writing-mode:vertical-rl}.hint{position:absolute;top:10px;left:56px;width:270px;color:#dc8e16;font-size:15px;text-align:center;font-weight:900;opacity:.95;transition:opacity .3s}.hint.hide{opacity:0}.hand{height:57px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:17px}.card{position:relative;min-width:0;background:#faf6ed;border:2px solid #958d7e;box-shadow:inset 0 0 0 1px #d8cdbb;display:grid;place-items:center;font-size:27px;font-weight:900;cursor:grab;user-select:none;touch-action:none}.card:active{cursor:grabbing}.card.selected{outline:3px solid #efc64a;background:#fff5bb;transform:translateY(-4px)}.card small{position:absolute;top:1px;right:3px;font:11px Arial;color:#4c3b31}.recruit-btn{display:flex;justify-content:center;align-items:center;gap:9px;width:57%;height:50px;margin:0 auto;background:linear-gradient(180deg,#d06b4e,#ad4b40);border:3px solid #5c3030;border-radius:7px;box-shadow:0 4px 0 #6c3030;color:#f5e7d7;font-weight:900;font-size:23px;text-shadow:1px 2px #7e3930;transition:filter .15s,transform .15s}.recruit-btn:hover{filter:brightness(1.08)}.recruit-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #6c3030}.recruit-btn:disabled{filter:grayscale(.8);opacity:.8}.recruit-btn b{font:16px Arial;color:#2a2421;background:#eee5d6;border-radius:14px;padding:2px 9px;text-shadow:none}.boost-btn{position:absolute;right:8px;bottom:28px;width:47px;height:47px;border-radius:8px;background:#f6a324;border:3px solid #8f5120;color:#fff6c1;font-size:26px;box-shadow:0 3px 0 #96501d}.boost-btn small{display:block;font:bold 12px Arial;line-height:9px}
.result-screen{background:#eee4d5;text-align:center}.result-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 23%,#fffdf5 0 22%,transparent 45%),linear-gradient(180deg,#efe6d8,#e3d8c8 75%,#c2b6a8);z-index:-1}.result-sky:before{content:"";position:absolute;width:390px;height:190px;left:-20px;top:50px;background:radial-gradient(ellipse,#b9b7a7 0 38%,transparent 70%);opacity:.35;transform:rotate(-12deg)}.result-flag{position:absolute;left:50%;top:72px;transform:translateX(-50%);width:216px;height:130px;background:#df596b;clip-path:polygon(0 10%,80% 0,100% 50%,80% 100%,0 90%);border-left:12px solid #2c2220;display:grid;align-content:center;color:#fff1d7;text-shadow:1px 2px #77363d}.result-flag span{font-size:30px;font-weight:900}.result-flag small{font-size:18px;color:#ffdc2f}.result-scroll{position:absolute;top:170px;left:50%;transform:translateX(-50%);width:290px;height:80px;background:#272423;border-radius:8px;padding:10px;box-shadow:0 7px 0 #121110}.result-scroll:before,.result-scroll:after{content:"";position:absolute;top:3px;bottom:3px;width:24px;background:#9a683c;border:3px solid #583d2b;border-radius:8px}.result-scroll:before{left:-17px}.result-scroll:after{right:-17px}.result-scroll strong{font-size:20px;color:#f0c932}.result-stars{display:flex;justify-content:center;gap:8px;font-size:42px;line-height:1;color:#f1d345;text-shadow:2px 2px #85682a}.result-stars span:nth-child(n+3){color:#4c4b43}.result-ground{position:absolute;top:285px;left:0;right:0;height:300px}.result-banner{font-size:30px;font-weight:900;color:#9c3b44;text-shadow:1px 1px #fff;letter-spacing:4px}.result-board{position:absolute;left:20%;right:20%;top:61px;height:150px;background:linear-gradient(160deg,#899177,#c5bea8);border:3px solid #333934;transform:skewY(-5deg) rotate(-2deg);box-shadow:0 12px 0 rgba(56,44,35,.17)}.result-board:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 24%,#777f6e 25% 26%,transparent 27% 49%,#777f6e 50% 51%,transparent 52% 74%,#777f6e 75% 76%,transparent 77%),linear-gradient(0deg,transparent 30%,#777f6e 31% 33%,transparent 34% 64%,#777f6e 65% 67%,transparent 68%)}.result-board:after{content:"⚑";position:absolute;left:43%;top:26%;font-size:75px;color:#24251f}.result-actions{position:absolute;left:20%;right:20%;bottom:54px;display:grid;gap:12px}.secondary-cta{height:40px;background:#e8dbc5;border:2px solid #79685d;border-radius:6px;font-weight:900;font-size:14px}
@keyframes flash{50%{background:#fff1a2;box-shadow:inset 0 0 0 5px #efbd31}}@keyframes merge{0%{transform:scale(1)}45%{transform:scale(1.2);background:#ffe073}100%{transform:scale(1)}}@keyframes shake{50%{transform:translate(-50%,-50%) translateX(8px)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-35%)}20%,72%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-70%)}}@keyframes arrow{from{opacity:1;left:var(--sx);top:var(--sy);transform:rotate(var(--angle))}to{opacity:0;left:var(--tx);top:var(--ty);transform:rotate(var(--angle))}}@media(max-height:700px){body{padding:0}.screen{height:100vh;min-height:620px;border-radius:0}.map-scene{top:165px;height:330px}.battle-body{grid-template-rows:1fr 210px}.battle-controls{padding-top:12px}.hand{margin-bottom:10px}.hint{font-size:13px}}
@media(max-width:480px){body{padding:0}.screen{width:100vw;max-width:448px;height:100vh;min-height:640px;border-radius:0}}
@media (max-width:480px){.hint{top:-31px;text-shadow:1px 1px #fff4db}}

/* Battle map reference layout: the middle panel is an irregular 8 x 10 tile field. */
.battle-screen .combat-lane{background:#cbb9b4}
.battle-screen .combat-lane:before{background:linear-gradient(180deg,rgba(117,174,163,.16),rgba(219,202,194,.1) 46%,rgba(112,167,157,.14));opacity:1}
.battle-screen .board{left:4px;right:4px;top:0;bottom:0;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(10,1fr);border:3px solid #272a25}
.battle-screen .cell{background:#93c3b8;border-color:rgba(37,56,53,.48)}
.battle-screen .cell.enemy-zone{background:#f7f7f4}
.battle-screen .cell.path-zone{background:#d2bdb8;box-shadow:inset 0 2px 0 rgba(96,79,79,.16),inset 0 -2px 0 rgba(96,79,79,.12)}
.battle-screen .cell.path-zone:after{display:none}
.battle-screen .cell.camp-zone{background:linear-gradient(135deg,#6b9990,#3e625d)}
.battle-screen .map-divider{position:absolute;left:4px;right:4px;top:0;bottom:0;width:calc(100% - 8px);height:100%;z-index:3;overflow:visible;pointer-events:none}
.battle-screen .divider-shadow{fill:none;stroke:#49443f;stroke-width:.23;stroke-linejoin:round;opacity:.82}
.battle-screen .divider-stones{fill:none;stroke:#958783;stroke-width:.13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.22 .08}
.battle-screen .cell.valid-target{box-shadow:inset 0 0 0 3px #e4c74b;background:#d8d789}
.battle-screen .board .cell:nth-child(8n+1){border-left-color:#3d3935}
.battle-screen .camp{position:absolute;z-index:6;width:48px;height:52px;pointer-events:none;background:radial-gradient(ellipse at 25% 90%,#1c2827 0 18%,transparent 19%),radial-gradient(ellipse at 54% 74%,#1b2927 0 25%,transparent 26%),radial-gradient(ellipse at 80% 90%,#273431 0 21%,transparent 22%),linear-gradient(115deg,transparent 0 36%,#2e3b38 37% 44%,transparent 45% 100%)}
.battle-screen .camp-top{right:0;top:0}.battle-screen .camp-bottom{left:0;bottom:0;transform:rotate(180deg)}
.battle-screen .gate{position:absolute;z-index:7;color:#b5323c;font:bold 36px/17px Arial;text-align:center;text-shadow:1px 1px #f4d5c8;pointer-events:none}
.battle-screen .top-gate{right:10px;top:42px}.battle-screen .bottom-gate{left:10px;bottom:37px}
.battle-screen .fort{display:none}.battle-screen .path-mark{display:none}

/* Source-frame map finish: inked grid, painted terrain, stone boundary and corner camps. */
.battle-screen .board{background:#b9aaa7;border-color:#242925;box-shadow:0 0 0 1px rgba(20,23,21,.45)}
.battle-screen .cell{background:#86b8ad;border-color:rgba(49,65,61,.72)}
.battle-screen .cell.enemy-zone{background:#fafaf7}
.battle-screen .cell.path-zone{background:#bbaaa7;box-shadow:inset 0 1px 0 rgba(91,72,71,.12),inset 0 -1px 0 rgba(91,72,71,.16)}
.battle-screen .cell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:radial-gradient(rgba(54,58,53,.5) .45px,transparent .6px),linear-gradient(145deg,transparent 0 48%,rgba(255,255,255,.2) 49% 51%,transparent 52%);background-size:8px 8px,32px 32px}
.battle-screen .cell .unit-mark{z-index:1}
.battle-screen .divider-shadow{stroke:#4d4642;stroke-width:.25;opacity:.9}
.battle-screen .divider-stones{stroke:#8b7c76;stroke-width:.12;stroke-dasharray:.18 .055}
.battle-screen .camp{width:52px;height:63px;background:radial-gradient(ellipse at 18% 90%,#172320 0 20%,transparent 21%),radial-gradient(ellipse at 45% 74%,#1b2927 0 25%,transparent 26%),radial-gradient(ellipse at 79% 89%,#1d2c29 0 24%,transparent 25%),linear-gradient(60deg,transparent 0 42%,#21302c 43% 50%,transparent 51% 100%),linear-gradient(119deg,transparent 0 46%,#21302c 47% 54%,transparent 55% 100%);filter:drop-shadow(1px 1px 0 rgba(18,24,21,.5))}
.battle-screen .camp:before{content:"";position:absolute;left:21px;bottom:1px;width:9px;height:53px;background:linear-gradient(76deg,transparent 42%,#23312d 43% 57%,transparent 58%)}
.battle-screen .camp:after{content:"";position:absolute;left:1px;right:1px;bottom:0;height:10px;background:#1d2926;border-top:2px solid #2e3c37}
.battle-screen .camp-top{right:-2px;top:-2px;transform:rotate(3deg)}
.battle-screen .camp-bottom{left:-2px;bottom:-2px;transform:rotate(183deg)}
.battle-screen .gate{font-size:37px;line-height:17px;color:#ab3540;text-shadow:1px 1px #f6d8cc,-1px 0 rgba(82,43,42,.2)}
.battle-screen .top-gate{right:8px;top:52px}
.battle-screen .bottom-gate{left:7px;bottom:36px}
.battle-screen .left-hp{top:-24px;bottom:auto;left:-2px}
.battle-screen .right-hp{right:-1px;bottom:1px}

/* Lower white cells are the playable formation area; upper white cells belong to the opponent. */
.battle-screen .cell.player-zone{background:#fafaf7}
.battle-screen .cell.valid-target{background:#e2d780;box-shadow:inset 0 0 0 3px #d5ae35}
.battle-screen .cell.valid-target:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:rgba(79,102,70,.62);font:28px/1 Arial;z-index:1}
.battle-screen .cell.occupied{background:#eee7dc}
.battle-screen .cell .unit-mark{position:absolute;inset:3px;display:grid;place-items:center;background:#fbfaf5;border:1px solid #71675f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),1px 1px 0 rgba(58,49,43,.18);font-size:26px;line-height:1;color:#211d1a;text-shadow:none;z-index:2}
.battle-screen .cell .unit-mark span{display:block;transform:rotate(-4deg)}
.battle-screen .cell .unit-mark small{right:2px;top:1px;font:10px Arial;color:#3d342d}
.battle-screen .cell.selected-unit{box-shadow:inset 0 0 0 3px #d5ae35;background:#eee0a5}
.battle-screen .cell.drag-over{box-shadow:inset 0 0 0 4px #e6bd3d!important;background:#fff0a4!important}
.battle-screen .cell .hero-mark{width:calc(200% + 1px);right:auto;border:2px solid #b78d2d;background:#fff4ce;color:#56341e;z-index:8}
.battle-screen .cell .opponent-unit{color:#7b3138}
.battle-screen .cell .unit-mark[draggable="true"]{cursor:grab}
.battle-screen .cell .unit-mark[draggable="true"]:active{cursor:grabbing}
.battle-screen .enemy:before{display:none}
.battle-screen .enemy>i{position:absolute;top:-4px;left:3px;height:3px;background:#dc4b54;border-radius:3px;box-shadow:0 0 0 1px #772c38}
.battle-screen .boost-btn{display:grid;place-items:center;gap:0;font:bold 17px Arial}
.battle-screen .boost-btn small{font-size:10px;line-height:1}

/* Match the source game's restrained ink-card units. */
.battle-screen .cell .unit-mark{
  inset:1px;
  overflow:visible;
  border:1px solid #77756d;
  border-radius:0;
  background:rgba(255,255,255,.96);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),1px 1px 0 rgba(53,45,39,.18);
  clip-path:none;
  transform:none;
}
.battle-screen .cell .unit-mark:before{
  display:none;
}
.battle-screen .cell .unit-mark:after{
  display:none;
}
.battle-screen .cell .unit-mark span{position:relative;z-index:1;font-family:'STKaiti','KaiTi','Noto Serif SC',serif;font-weight:900;letter-spacing:1px;transform:rotate(-2deg)}
.battle-screen .cell .unit-mark small{z-index:2;background:transparent;color:#2d2824;border:0;border-radius:0;min-width:auto;height:auto;right:2px;top:-2px;display:block;font:10px/1 Arial}
.battle-screen .cell .opponent-unit{background:rgba(255,255,255,.96);border-color:#77756d;color:#1d1916}
.battle-screen .cell .hero-mark{
  inset:1px 0;
  width:calc(200% + 1px);
  background:#fffdf5;
  border:1px solid #ba8d2b;
  box-shadow:inset 0 0 0 1px rgba(244,206,77,.55),1px 1px 0 rgba(53,45,39,.18);
}
.battle-screen .cell .hero-mark span{color:#5d3e20;font-size:27px;letter-spacing:3px}
.battle-screen .cell .hero-mark .weapon-arrow{
  position:absolute;
  right:9px;
  bottom:9px;
  width:35px;
  height:3px;
  z-index:3;
  background:#3f3028;
  border-radius:2px;
  box-shadow:0 1px 0 rgba(255,255,255,.7);
  transform:rotate(-32deg);
}
.battle-screen .cell .hero-mark .weapon-arrow:before{
  content:"";
  position:absolute;
  left:1px;
  top:-4px;
  width:8px;
  height:8px;
  border-left:3px solid #754a36;
  border-bottom:3px solid #754a36;
  transform:rotate(45deg);
}
.battle-screen .cell .hero-mark .weapon-arrow:after{
  content:"";
  position:absolute;
  right:-7px;
  top:-4px;
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:10px solid #26231f;
}
.battle-screen .cell .unit-mark:active{transform:translateY(-2px) scale(1.02);filter:brightness(1.03)}
