/* Valisia's field journal: bronze, dark leather and weathered parchment. */
#modal{
 --journal-brass:#b58b47;--journal-brass-light:#ebce91;--journal-ink:#34281c;--journal-paper:#dcc6a0;--journal-muted:#b7a48a;
 padding:28px;color:#eee1c9;border:1px solid #b58b47;border-radius:3px;
 background:radial-gradient(ellipse at 15% 0,#62452a44,transparent 55%),repeating-linear-gradient(23deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(115deg,#30271f,#171613 70%)!important;
 background-image:radial-gradient(ellipse at 15% 0,#62452a44,transparent 55%),repeating-linear-gradient(23deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(115deg,#30271f,#171613 70%)!important;
 box-shadow:0 0 0 4px #1c1812,0 0 0 5px #74572e,0 20px 90px #000c,inset 0 0 0 6px #e3bb6612;backdrop-filter:none;
 scrollbar-color:#9a7744 #221c16;
}
#modal::backdrop{background:#100d09bd;backdrop-filter:blur(3px)}
#modal .modal-top{
 gap:18px;align-items:center;padding:0 0 20px!important;margin:0 0 22px!important;
 border-bottom:1px solid #b58b4766;background:transparent!important;
}
#modal .modal-top>div{position:relative;padding-left:17px;border-left:3px solid #b38c4c;min-width:0}
#modal #modalKicker{font-family:Georgia,'Times New Roman',serif;font-size:9px;letter-spacing:.19em;color:#bda375;text-shadow:none}
#modal h2{font:500 clamp(27px,3.4vw,38px)/1.15 Georgia,'Times New Roman',serif;color:#f2dba8;letter-spacing:.015em;text-shadow:0 2px 1px #0008}
#modal h3,#modal .card h3{font-family:Georgia,'Times New Roman',serif;color:#edcf94}
#modal :is(p,small,label){color:#d9cbb4;text-shadow:none;line-height:1.65}
#modal .modal-note{font-size:14px;color:#d1bfa5}
#modal #close{
 flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:5px;font-family:Georgia,serif;font-size:27px;color:#e4c795;
 border:1px solid #a27c43;border-radius:2px;background:linear-gradient(#453626,#231e17)!important;box-shadow:inset 0 0 0 3px #211c15,inset 0 0 0 4px #b58b4726;
}
#modal :is(button,input,select,textarea){font-family:'DM Sans',sans-serif;border-color:#8b7048;border-radius:3px;color:#f1e4cd;background:linear-gradient(#342d24,#211e19)!important}
#modal :is(input,select,textarea){min-height:46px;padding:11px 12px;max-width:100%;outline-offset:3px;box-shadow:inset 0 2px 6px #0005}
#modal input[type=checkbox]{min-height:22px;accent-color:#c29a53;box-shadow:none}
#modal option{background:#2a241c;color:#f1e3c9}
#modal button:not(.island-stage-node){min-height:44px;line-height:1.35;border-color:#9c7a40;border-radius:3px;background:linear-gradient(180deg,#493b28,#2c251b 52%,#211d16)!important;color:#e8d0a1;box-shadow:inset 0 1px #f9de9d24,inset 0 -2px #100e0a44}
#modal button:not(.island-stage-node):hover{border-color:#edce89;background:linear-gradient(#655136,#382e20)!important;color:#fff0cc}
#modal button:not(.island-stage-node):disabled{opacity:.45}
#modal button.primary{background:linear-gradient(#d8b772,#b58a45 54%,#987039)!important;border-color:#e7c68a;color:#231d14;box-shadow:inset 0 1px #fff0c5,inset 0 -3px #64451588,0 3px 8px #0003;font-weight:700;text-shadow:0 1px #fbe3a155}
#modal button.primary:hover{background:linear-gradient(#ecd092,#c29b5a)!important;color:#241c0e}
#modal :is(button,input,select,textarea):focus-visible{outline:3px solid #f2d68b;outline-offset:3px}
#modal .actions{gap:12px;flex-wrap:wrap}
#modal .actions button{min-width:115px;padding:12px 18px}
#modal :is(.settings-row,.skill-card,.dev-skill,.dev-user,.rank-card,.rank-table,.profile-ranks article){border-color:#9d7d4544!important;background:#19171366!important;background-image:none!important}
#modal .settings-row{padding:17px 12px;gap:18px;min-height:72px}
#modal .settings-row:first-of-type{border-top:1px solid #9d7d4544}
#modal .settings-row small{font-size:12px;color:#b4a38a}
#modal .build-tabs{gap:7px;margin-bottom:19px}
#modal .build-tabs button{padding:10px 18px;font-family:Georgia,serif;font-size:15px}
#modal .build-tabs button.active{color:#ffdf9a;border-color:#ddbc73;box-shadow:inset 0 -3px #c29a53;background:linear-gradient(#514027,#302718)!important}
#modal .store-tabs{background:transparent!important;border-bottom:1px solid #a4834944;padding-bottom:15px}
#modal .store-heading{padding:12px 15px;border:1px solid #aa87464d;background:linear-gradient(90deg,#62503544,#1f1c16)!important;background-image:linear-gradient(90deg,#62503544,#1f1c16)!important}
#modal .store-heading p{font-family:Georgia,serif;font-size:23px;color:#efd294}
#modal .store-heading button{min-width:100px}
#modal :is(.card,.cosmetics>article){border:1px solid #b08c4e88;border-radius:2px;background:radial-gradient(ellipse at 50% 15%,#7f66442b,transparent 65%),linear-gradient(#2e2a23,#171713)!important;background-image:radial-gradient(ellipse at 50% 15%,#7f66442b,transparent 65%),linear-gradient(#2e2a23,#171713)!important;box-shadow:inset 0 0 0 4px #100e0a55,0 4px 12px #0003}
#modal .card-copy{border-top:1px solid #b08c4e55;padding:15px;background:#1f1b15e8!important;background-image:none!important}
#modal .card-copy .role{font-size:8px;letter-spacing:.15em;color:#c4a46d}
#modal .card-copy h3{font-size:24px;font-weight:500;margin:6px 0 12px}
#modal .card-copy button{font-size:12px;letter-spacing:.02em}
#modal .cosmetics>article{padding:14px}
#modal .cosmetics>article h3{font-size:20px;font-weight:500}
#modal .cosmetics>article .skin-preview{border:1px solid #8f754533;border-radius:1px;background:radial-gradient(ellipse at 50% 70%,#705d3b44,transparent 70%)}
#modal :is(.stat-grid>span,.wallet-summary,.equipped>div){border:1px solid #a7864a4d;border-radius:2px;background:#17161288!important}
#modal .stat-grid b{color:#ebcf94}
#modal .stat-grid small{color:#baaa90}
#modal .skill-card{padding:16px 12px;border-top:1px solid #b2925755}
#modal .skill-card>span{background:#352b1a;border-color:#b08c4e;color:#ebcf94;border-radius:1px;min-width:36px}
#modal .skill-card b{font-family:Georgia,serif;font-size:16px;color:#e8cca0}
#modal .skill-card p{font-size:13px;color:#c8baa3}
#modal .detail-art{border:1px solid #b08c4e88;border-radius:2px;background:radial-gradient(ellipse at 50% 40%,#69583d44,transparent 70%)}
#modal .detail-art span{font-family:Georgia,serif;font-size:22px;background:linear-gradient(transparent,#201c15 85%)}
#modal .hero-history,#modal .chapter-revelation{position:relative;border:1px solid #b08c4e77;border-radius:2px;background:#d8c29a;color:#352b1f;box-shadow:inset 0 0 28px #91714233}
#modal :is(.hero-history,.chapter-revelation) :is(h3,p,small){color:#463420;text-shadow:none}
#modal :is(.hero-history,.chapter-revelation) h3{font-weight:500}
#modal :is(.hero-history,.chapter-revelation) p{font-size:14px;line-height:1.85}
#modal .region-phase-intro{margin-bottom:23px;padding-bottom:19px;border-color:#b08c4e66}
#modal .region-phase-intro>small{color:#bc9f65;font-size:10px;letter-spacing:.15em}
#modal .region-phase-intro h3{font-size:27px;font-weight:500;margin:7px 0 12px}
#modal .region-phase-intro p{font-size:14px;color:#c9bba4;line-height:1.8}
/* The chapter description reads like a page in the commander's journal. */
#modal .island-stage-detail{position:relative;padding:22px;border:1px solid #9d7b41;background:radial-gradient(ellipse at 25% 12%,#f4e1bb88,transparent 65%),repeating-linear-gradient(110deg,#67422005 0 1px,transparent 1px 5px),#d8c29a;box-shadow:inset 0 0 32px #92703c3b,inset 0 0 0 5px #5b431517;border-radius:1px;color:#392d1e}
#modal .island-stage-detail :is(p,small,label,span,summary){color:#51402b;text-shadow:none}
#modal .island-stage-title>small{color:#745229;font-size:10px;letter-spacing:.16em}
#modal .island-stage-title h3{font-size:30px;line-height:1.15;font-weight:500;color:#3c2b1b;margin:10px 0}
#modal .island-stage-title>span{font-size:12px;color:#6b5332}
#modal .island-story{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.8;color:#493522;margin:21px 0}
#modal .island-tactic{font-size:13px;line-height:1.75}
#modal .island-performance-record{padding:12px 0;margin:14px 0;border-top:1px solid #8b6a3f44;border-bottom:1px solid #8b6a3f44;font-size:12px}
#modal .island-stage-detail .phase-stars,#modal .island-stage-detail .phase-stars span{color:#9e6922;text-shadow:0 1px #fce9bb}
#modal .island-stage-detail .phase-stars i{color:#9a8258}
#modal .island-stage-detail .campaign-options{gap:13px}
#modal .island-stage-detail .campaign-options label{font-size:12px;color:#5f472a;gap:7px}
#modal .island-stage-detail .campaign-options select{background:linear-gradient(#f1dfbd,#d0b889)!important;color:#3e2e1d;border-color:#9c7840;box-shadow:inset 0 2px 6px #7a5b2322}
#modal .island-stage-detail .campaign-options option{background:#e0cca7;color:#372a1b}
#modal .performance-criteria{border-top:1px solid #8b6a3f44;padding-top:8px}
#modal .performance-criteria summary{padding:10px 0;color:#6a4b24;font-size:12px}
#modal .performance-criteria p{font-size:12px;color:#665034}
#modal .island-contract{font-size:13px;color:#665034}
#modal .island-reward{border-left:3px solid #9d7533;padding-left:11px;font-size:13px;color:#61421b}
#modal .island-campaign-actions{position:static;background:transparent;padding:12px 0 0;margin:16px 0 0;border-top:1px solid #8b6a3f44}
#modal .island-map-heading>span{font-family:Georgia,serif;font-size:11px;letter-spacing:.07em;color:#debf7d}
#modal .island-map-heading>small{color:#b9ab91;font-size:10px}
#modal .valisia-map-tools button{font-family:Georgia,serif;font-size:14px}
#modal .valisia-map-tools button.active{border-color:#dbc080;box-shadow:inset 0 -2px #bf9954;color:#f6dfa5}
#modal .island-map-viewport{border-radius:2px;border-color:#a88345;box-shadow:0 0 0 3px #151510,inset 0 0 0 1px #d1b16d44}
#modal .valisia-chart,#modal .island-map-plane{border-radius:1px}
#modal .region-access-row{border-top:1px solid #8b6a3f44;padding-top:12px;color:#5b4328}
#modal .garrison-intro{margin:4px 0 20px;text-align:left}
#modal .garrison-intro p{font-family:Georgia,serif;font-size:17px;color:#dfccaa}
#modal .garrison-grid{gap:15px}
#modal .garrison-card{position:relative;padding:17px 16px 12px;border:1px solid #b39254;border-radius:2px;background:radial-gradient(ellipse at 50% 40%,#f5e8cf70,transparent 70%),linear-gradient(130deg,#e0cba3,#b9a077);box-shadow:inset 0 0 0 4px #6e4b1c17,inset 0 0 25px #74522530;overflow:hidden}
#modal .garrison-card h3{font-size:19px;line-height:1.3;color:#46311b;font-weight:500;margin:3px 0 17px;padding-bottom:12px;border-bottom:1px solid #72552c55}
#modal .garrison-card label{font-size:11px;color:#5d462a}
#modal .garrison-card select{font-size:14px;min-height:46px;border-color:#8c6a34;background:linear-gradient(#4a3c28,#2c2419)!important;color:#f5e0b6;box-shadow:0 2px 4px #52370d22}
#modal .garrison-portrait{height:210px;margin-top:14px;position:relative;background:radial-gradient(ellipse at 50% 80%,#75573236,transparent 65%);border-bottom:1px solid #6d4a2533}
#modal .garrison-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #a8834544;padding-top:18px;margin-top:20px}
#modal .garrison-footer button{margin:0;min-width:125px}
#modal .result{position:relative;padding:28px 15px 25px;border-bottom:1px solid #ad8c4e55;background:radial-gradient(ellipse at 50% 10%,#bb944326,transparent 65%)}
#modal .result .sigil{font-family:Georgia,serif;font-size:65px;color:#e2bb6e;text-shadow:0 3px #714b21,0 0 30px #be8a3033}
#modal .result h3{font:500 clamp(28px,4.5vw,42px)/1.2 Georgia,serif;color:#f1d18a;letter-spacing:.06em}
#modal .result p{font-size:14px;color:#c8b69b}
#modal .phase-performance-result{border-color:#a8854955;padding:22px 10px;background:radial-gradient(ellipse at 50% 0,#8d692023,transparent 70%)}
#modal .phase-performance-result .phase-stars{color:#ecc366;text-shadow:0 2px 2px #462c13}
#modal .phase-performance-result p{font-family:Georgia,serif;font-size:16px}
#modal .validation-wait{padding:25px 8px;font-family:Georgia,serif;font-size:19px;color:#e1c68d;text-align:center}
#modal :is(.earned-points,.earned-points span,.rank-filters,.ranking-head){border-color:#a5834544;color:#cdbb9d}
#modal .leaderboard th{font-family:Georgia,serif;color:#dcbf84;background:#3a2f1e}
#modal .leaderboard td{border-color:#a5834533;color:#dacbb3}
#modal .leaderboard tr.me{background:#9d7d3633}
#modal .profile-name,#modal .wallet-total,#modal .recharge-packs h3{font-family:Georgia,serif;color:#f0d39b}
#modal .account-form label{display:grid;gap:7px;margin:13px 0}
#modal .account-form .primary{min-width:150px;margin-top:10px}
#modal .back-link{color:#bfaa81;font-size:12px}
#modal .challenge-result,#modal .challenge-limit{background:#583b26;border-color:#c09a58;color:#f0d5aa}
#toast{border:1px solid #c39d55;border-radius:2px;background:#30291feF;color:#f2d8a5;box-shadow:0 0 0 3px #19150f,0 8px 20px #0007;line-height:1.55}
/* Field HUD: solid brass edges, minimal occlusion of the lane. */
#battle .battle-top{height:calc(76px + env(safe-area-inset-top));padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:15px;background:linear-gradient(#211d17f5,#252219b8 70%,#1d1a1400);gap:20px}
#battle .battle-top button{width:44px;height:44px;min-height:44px;border:1px solid #b18b49;border-radius:2px;background:linear-gradient(#4e3f28,#2e281d 50%,#201c15);color:#e8ce94;box-shadow:inset 0 0 0 3px #211c16,inset 0 0 0 4px #a8823d33;flex-shrink:0;font-family:Georgia,serif}
#battle .match-time b{font:500 29px Georgia,serif;letter-spacing:.04em;color:#f3deb1;text-shadow:0 2px #23180c}
#battle .match-time small,#battle .crystal-score small{color:#bda57b;letter-spacing:.12em;font-size:8px}
#battle .crystal-score{color:#e8c982;font-family:Georgia,serif}
#battle .crystal-score.enemy{color:#dfb9a2}
#battle .crystal-hearts{filter:drop-shadow(0 1px 1px #1b0c03)}
#battle .battle-map-name{font-family:Georgia,serif;font-size:9px;letter-spacing:.23em;color:#f1d8a4;text-shadow:0 1px 3px #130e08}
#battle .battle-bottom{background:linear-gradient(transparent,#231f17c9 38%,#1c1913f5);padding-bottom:calc(14px + env(safe-area-inset-bottom))}
#battle .economy b{color:#f2d495;font:500 22px Georgia,serif}
#battle .economy small{color:#c3b090;font-size:10px;letter-spacing:.02em}
#battle #reinforcements{min-height:48px;border:1px solid #d2aa5e;border-radius:3px;background:linear-gradient(#51412a,#292419 60%,#201c13);color:#f3d99a;box-shadow:inset 0 0 0 3px #211b13,inset 0 0 0 4px #bd91432e,0 3px 10px #0007;font-family:Georgia,serif;font-size:15px;font-weight:500;padding:12px 19px}
#battle #reinforcements.active{background:linear-gradient(#9a7439,#4d3d20);border-color:#f0ce83}
#battle #reinforcements:disabled{opacity:.7}
#battle #announcement{background:#2a241bed!important;color:#efdaa9;border:1px solid #c09b54;border-radius:2px;box-shadow:inset 0 0 0 3px #be975118;font:14px Georgia,serif;letter-spacing:.025em;padding:12px 24px}
#battle #picker{background:linear-gradient(125deg,#30291ffb,#191813fb)!important;color:#e9d8b6;border:1px solid #bc9450;border-radius:3px;box-shadow:0 0 0 3px #1b160e,0 10px 45px #0009,inset 0 0 0 5px #d6ad5d0c;padding:19px;scrollbar-color:#a28149 #201c16}
#battle #picker .picker-head{font:500 19px Georgia,serif;color:#f2d79d;padding-bottom:13px;border-bottom:1px solid #a981403f;align-items:center}
#battle #pickerClose{width:44px;height:44px;min-height:44px;padding:3px;font:27px Georgia,serif;color:#d8bc81;border:1px solid #927341;border-radius:2px;background:#282218}
#battle .tower-choices{gap:10px}
#battle .tower-choices button{border:1px solid #a47f3f;border-radius:2px;background:radial-gradient(ellipse at 50% 0,#7a5a2b3b,transparent 75%),linear-gradient(#3b3325,#252016);color:#eed6a2;padding:15px 10px;min-height:128px;box-shadow:inset 0 0 0 3px #0002}
#battle .tower-choices button b{font-family:Georgia,serif;font-size:16px;font-weight:500;line-height:1.3}
#battle .tower-choices button small{font-size:12px;color:#c8b99b}
#battle .tower-choices button strong{color:#e7c579;font-weight:500;font-size:13px}
#battle .tower-choices button:hover{border-color:#e8c277;background:linear-gradient(#59472d,#302718)}
#battle .tower-inspect b{font:500 19px Georgia,serif;color:#edcf91}
#battle .tower-inspect p,#battle .tower-guardian p{font-size:13px;color:#c8b798;line-height:1.6}
#battle .tower-guardian{border-color:#9f7e4344}
#battle .tower-guardian b{font:500 19px Georgia,serif;color:#e5ca93}
#battle #upgradeTower{min-height:48px;border:1px solid #dfbd78;border-radius:2px;background:linear-gradient(#d2ae6b,#a77b38);color:#271d0f;font-size:14px;font-weight:700;box-shadow:inset 0 1px #f4dfb4,inset 0 -2px #6c4e27}
#battle #rankConnection{background:#29231bce;border-color:#b18b4955;color:#cfb886;border-radius:2px;font-size:8px}
@media(max-width:700px){
 #modal{padding:19px 16px;max-height:calc(100dvh - 24px)}
 #modal .modal-top{padding-bottom:16px!important;margin-bottom:17px!important;gap:12px}
 #modal .modal-top>div{padding-left:12px}
 #modal #modalKicker{font-size:8px;letter-spacing:.13em}
 #modal h2{font-size:27px}
 #modal .modal-note{font-size:13px}
 #modal .island-stage-detail{padding:18px 15px}
 #modal .island-stage-title h3{font-size:27px}
 #modal .island-story{font-size:16px;line-height:1.75}
 #modal .actions{gap:9px}
 #modal .actions button{padding:11px 12px;font-size:13px}
 #modal .card-copy{padding:12px}
 #modal .card-copy h3{font-size:21px}
 #modal .store-heading{padding:11px 12px}
 #modal .store-heading p{font-size:21px}
 #modal .garrison-grid{gap:12px}
 #modal .garrison-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px 14px;padding:13px 14px}
 #modal .garrison-card h3{grid-column:1/-1;font-size:20px;margin:0;padding-bottom:10px}
 #modal .garrison-card label{grid-column:2;grid-row:2;align-content:center;min-width:0;font-size:11px}
 #modal .garrison-portrait{display:block;height:112px;margin:0;grid-column:1;grid-row:2;border:0}
 #modal .garrison-card select{min-width:0;font-size:14px;padding:10px 8px;width:100%}
 #modal .garrison-footer button{flex:1;min-width:0}
 #modal .result{padding:20px 8px}
 #modal .result h3{font-size:29px}
 #modal .settings-row{padding:16px 9px;font-size:13px}
 #modal .settings-row select{max-width:155px;min-width:105px}
 #battle .battle-top{height:calc(73px + env(safe-area-inset-top));gap:8px;padding-left:10px;padding-right:10px}
 #battle .battle-top button{width:44px;height:44px;font-size:18px;padding:8px}
 #battle .crystal-score{min-width:0;font-size:15px}
 #battle .match-time b{font-size:24px}
 #battle .match-time small,#battle .crystal-score small{font-size:6px;letter-spacing:.08em}
 #battle #picker{padding:14px 12px}
 #battle #picker .picker-head{font-size:18px;padding-bottom:9px}
 #battle .tower-choices{gap:7px}
 #battle .tower-choices button{padding:12px 7px;min-height:126px}
 #battle .tower-choices button b{font-size:14px}
 #battle .tower-choices button small{font-size:11px}
 #battle #reinforcements{font-size:14px;min-height:48px;padding:11px 16px}
}
@media(max-width:370px){
 #modal{padding:16px 13px}
 #modal .garrison-card{grid-template-columns:72px minmax(0,1fr);gap:8px 10px}
 #modal .garrison-portrait{height:100px}
 #modal .garrison-card h3{font-size:18px}
 #battle .battle-top{gap:5px;padding-left:7px;padding-right:7px}
 #battle .battle-top button{width:42px;min-width:42px;padding:7px}
 #battle .match-time b{font-size:22px}
}
@media(max-height:520px) and (orientation:landscape){
 #modal{max-height:calc(100dvh - 22px);padding:17px 21px}
 #modal .modal-top{margin-bottom:14px!important;padding-bottom:12px!important}
 #modal h2{font-size:26px}
 #modal .garrison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #modal .garrison-card{display:block;padding:13px}
 #modal .garrison-card h3{font-size:17px;margin-bottom:10px}
 #modal .garrison-portrait{display:block;height:100px}
 #modal .garrison-card label{font-size:10px}
 #modal .garrison-card select{font-size:13px}
 #battle .battle-top{height:calc(62px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:10px;gap:17px}
 #battle .battle-map-name{top:calc(62px + env(safe-area-inset-top))}
 #battle .battle-bottom{height:calc(65px + env(safe-area-inset-bottom));padding:10px 20px calc(10px + env(safe-area-inset-bottom))}
 .tower-defense #battle #reinforcements{bottom:calc(77px + env(safe-area-inset-bottom));min-height:44px;padding:9px 16px;font-size:14px}
 #battle #picker{bottom:calc(75px + env(safe-area-inset-bottom));max-height:calc(100dvh - 95px)}
}
@media(prefers-reduced-motion:reduce){#modal *,#battle .battle-top *,#battle #picker *{scroll-behavior:auto;transition:none!important}}

/* Phase seals keep contrast in both completed and selected states. */
#modal .island-stage-node{background:linear-gradient(#4b4030,#242219)!important;color:#f4e2b8!important;border-color:#cab078!important;box-shadow:0 2px 5px #35291766}
#modal .island-stage-node.completed{background:linear-gradient(#dfc48b,#b08c4f)!important;color:#322513!important;border-color:#f5dfad!important}
#modal .island-stage-node.selected{outline-color:#fff0c5;box-shadow:0 0 0 7px #5d543677}
#modal .island-node-number{color:inherit}
#modal .garrison-portrait .portrait-img{background:radial-gradient(ellipse at 50% 65%,#a38a5d44,transparent 70%)!important}
.tower-defense #battle .crystal-score.ally{font-size:0}

#battle .battle-top button{display:grid;place-items:center;padding:8px}
#battle .battle-top button svg{width:21px;height:21px;display:block}
#modal .card .portrait-img{background:radial-gradient(ellipse at 50% 60%,#8f794044,transparent 70%),linear-gradient(145deg,#494735,#262b21)!important}
/* Keep long journals readable while their contents scroll under the heading. */
#modal .modal-top{top:-28px;padding-top:12px!important;background:linear-gradient(110deg,#30271f,#1b1914)!important;box-shadow:0 5px 10px #15120d55}
#modal .store-tabs{background:#211e18!important}
@media(max-width:700px){#modal .modal-top{top:-19px}}
@media(max-height:520px) and (orientation:landscape){#modal .modal-top{top:-17px}}
