/* Batch 3. Approved D10–D13 / D16: light combat edges, paper choices,
   real-coordinate relief map and uncropped independent character layers. */
#game#game#game#game#game#game#game#game #elite-health{left:50%;top:calc(var(--safe-top) + 78px);transform:translateX(-50%);display:block;width:min(540px,calc(100vw - 410px));max-height:none;padding:0;overflow:visible;pointer-events:none;background:none}
#game#game#game#game#game#game#game#game #elite-health[data-count='0']{display:none}
#game#game#game#game#game#game#game#game #elite-health[data-visible='1']{width:min(204px,calc(100vw - 370px))}
#game#game#game#game#game#game#game#game #elite-health[data-visible='2']{width:min(350px,calc(100vw - 370px))}
#game#game#game#game#game#game#game#game .boss-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#game#game#game#game#game#game#game#game #elite-health[data-visible='1'] .boss-list{grid-template-columns:1fr}
#game#game#game#game#game#game#game#game #elite-health[data-visible='2'] .boss-list{grid-template-columns:repeat(2,minmax(0,1fr))}
#game#game#game#game#game#game#game#game .boss-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:5px;height:46px;min-height:44px;min-width:0;padding:2px 3px;align-items:center;position:relative;inset:auto;width:auto;margin:0;border:1px solid transparent;border-image:none;border-radius:0;background:linear-gradient(90deg,#15211bc0,#14231a50);box-shadow:none;transform:none;pointer-events:auto;text-align:left;color:#f6edda;text-shadow:0 1px 3px #000;font:12px var(--w-serif)}
#game#game#game#game#game#game#game#game .boss-row::before,#game#game#game#game#game#game#game#game .boss-row::after{display:none}
#game#game#game#game#game#game#game#game .boss-row[aria-pressed='true']{border-bottom-color:#e1d4ab}
#game#game#game#game#game#game#game#game .boss-avatar{width:32px;height:32px;padding:1px;border:1px solid #d4c6a0;border-radius:50%;background:#1e2c29}
#game#game#game#game#game#game#game#game .boss-body{padding:0;position:relative;min-width:0}
#game#game#game#game#game#game#game#game .boss-heading{height:16px;margin:0;line-height:16px}
#game#game#game#game#game#game#game#game .boss-heading>b{font:600 13px/16px var(--w-serif);letter-spacing:0}
#game#game#game#game#game#game#game#game .boss-track{height:5px;margin:3px 0 1px;border-color:#c0b89f99}
#game#game#game#game#game#game#game#game .boss-hp-text{position:static;display:block;text-align:right;font:9px/10px var(--ui-font);transform:none}
#game#game#game#game#game#game#game#game .boss-next{display:block;min-width:92px;height:44px;min-height:44px;padding:4px 12px;float:right;border:0;border-image:none;border-radius:0;background:linear-gradient(#18251b88,transparent);color:#f2e8ce;font:10px var(--ui-font);box-shadow:none;text-shadow:0 1px 2px #000;pointer-events:auto}
#game#game#game#game#game#game#game#game .boss-next[hidden]{display:none}
#game#game#game#game#game#game#game#game #level{position:absolute;left:31px;top:33px;z-index:2;display:grid;place-items:center;min-width:22px;height:20px;padding:0 3px;border:1px solid #cfbc87;border-radius:3px;background:#233b32;color:#fff0cc;font:600 11px/18px var(--ui-font);text-shadow:0 1px 2px #000}
#game#game#game#game#game#game#game#game .hero-line b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#game#game#game#game#game#game#game#game #pause-btn{width:48px;height:48px;min-height:48px;border-radius:50%;border:1px solid #d3bc86;background:radial-gradient(circle at 35% 25%,#fff8e5,#d9d4bd);color:#24382f;box-shadow:0 2px 8px #0b1817aa,0 0 0 3px #1b2b2570}
#game#game#game#game#game#game#game#game #squad-toggle{white-space:nowrap;padding-left:4px;font-size:11px}
#game#game#game#game#game#game#game#game #squad-toggle::before{margin-right:6px;padding-right:6px}
#game#game#game#game#game#game#game#game #squad-hud.expanded{mask-image:linear-gradient(#000 0, #000 calc(100% - 12px),transparent);padding-bottom:16px}
/* Three choices use the available width; the whole card is the touch target. */
#game#game#game#game#game#game#game#game #upgrade{background:#132521c9;backdrop-filter:blur(5px);padding:12px 28px;align-items:center}
#game#game#game#game#game#game#game#game .upgrade-wrap{width:min(920px,100%);height:min(470px,calc(100dvh - 28px));max-height:none;padding:0;display:flex;flex-direction:column;justify-content:center;gap:8px;background:none;border:0;box-shadow:none;overflow:visible}
#game#game#game#game#game#game#game#game .upgrade-identity{display:flex;justify-content:center;align-items:center;gap:10px;min-height:32px;color:#f0e5ca;font:14px var(--w-serif)}
#upgrade-portrait{width:30px;height:30px;border:1px solid #ad9d75;border-radius:50%;background:#1b302a;image-rendering:pixelated}
#upgrade-pending{font:11px var(--ui-font);color:#cfbea0}
#game#game#game#game#game#game#game#game #upgrade-heading{margin:0;font:700 27px/34px var(--w-serif);letter-spacing:5px;color:#f5e8cb;text-shadow:none}
#game#game#game#game#game#game#game#game #upgrade-help{margin:0;font:11px/16px var(--ui-font);color:#cfcab9}
#game#game#game#game#game#game#game#game :is(#upgrade-help,#choice-key-help)[hidden]{display:none!important}
#game#game#game#game#game#game#game#game #cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;min-height:0;flex:1;max-height:355px;margin:0;align-items:stretch;padding:0;overflow:visible}
#game#game#game#game#game#game#game#game #cards[data-count='1']{grid-template-columns:minmax(200px,290px);justify-content:center}
#game#game#game#game#game#game#game#game #cards.four-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
#game#game#game#game#game#game#game#game #cards .card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-width:0;min-height:0;height:100%;padding:15px 15px 10px;border:1px solid #b6a783;border-image:none;border-radius:2px;background:linear-gradient(#f7f0dcdd,#e7dec6e8),url('./assets/ui/rebuild/paper.webp') center/cover;box-shadow:0 6px 18px #07141066,inset 0 0 0 4px #ede4cf;text-shadow:none;transform:none;overflow:hidden;color:#263c33}
#game#game#game#game#game#game#game#game #cards .card::before,#game#game#game#game#game#game#game#game #cards .card::after{display:none}
#game#game#game#game#game#game#game#game #cards .card:focus-visible{outline:2px solid #f0ce83;outline-offset:3px}
#game#game#game#game#game#game#game#game #cards .card-key{position:absolute;top:9px;left:10px;color:#887858;background:none;font:12px Georgia,serif}
#game#game#game#game#game#game#game#game #cards .card-icon{width:52px;height:52px;margin:0 0 8px;border:1px solid #b0a27c;border-radius:50%;background:#233d35;box-shadow:0 0 0 3px #d9ceb4;display:grid;place-items:center;flex:none}
#game#game#game#game#game#game#game#game #cards .card-icon .game-icon{width:45px;height:45px}
#game#game#game#game#game#game#game#game #cards .card-tag{position:static;font:10px/16px var(--ui-font);color:#646b58;background:none;padding:0;letter-spacing:0;min-height:16px;border:0;border-image:none;box-shadow:none}
#game#game#game#game#game#game#game#game #cards h3{font:700 23px/30px var(--w-serif);color:#263d34;margin:2px 0;letter-spacing:1px;text-shadow:none}
#game#game#game#game#game#game#game#game .card-level{font:11px/16px var(--ui-font);color:#974d38;min-height:16px}
#game#game#game#game#game#game#game#game #cards .card-value{display:block;font:13px/1.7 var(--ui-font);color:#34483d;text-align:left;white-space:normal;margin:9px 0 6px;width:100%;flex:1;overflow:auto;scrollbar-width:thin;mask-image:linear-gradient(#000 calc(100% - 5px),transparent)}
#game#game#game#game#game#game#game#game #cards .card-choose{display:block;font:14px/22px var(--w-serif);color:#305d50;width:100%;padding-top:6px;border:0;border-top:1px solid #8e8a6b55;border-image:none;border-radius:0;box-shadow:none;margin:0;background:none;flex:none}
#game#game#game#game#game#game#game#game #cards .card-choose::before,#game#game#game#game#game#game#game#game #cards .card-choose::after{display:none}
#game#game#game#game#game#game#game#game #cards [data-kind='buff'] .card-tag{color:#917038}
/* World relief remains a data visualization, not the generated sample map. */
#game#game#game#game#game#game#game#game #tactical-map{padding:0;background:#d7d7c9;grid-template-rows:54px minmax(0,1fr) 58px}
#game#game#game#game#game#game#game#game #tactical-map header{padding:5px 18px;border-bottom:1px solid #6e786a55;background:#ebe7d9}
#game#game#game#game#game#game#game#game #tactical-map h2{font:700 26px/36px var(--w-serif);letter-spacing:3px}
#game#game#game#game#game#game#game#game #tactical-map header p{font:11px var(--ui-font);color:#69705f}
#game#game#game#game#game#game#game#game #tactical-map footer{padding:5px 16px;background:#ebe7d9;border-top:1px solid #6e786a55}
#game#game#game#game#game#game#game#game #tactical-map button{min-width:44px;min-height:44px;border:1px solid #9d9e85;border-image:none;border-radius:0;background:#ece8d6;color:#344a3e;box-shadow:none;font:13px var(--w-serif);padding:5px 12px}
#game#game#game#game#game#game#game#game #map-track{background:#345e51;color:#f6e9c8}
#game#game#game#game#game#game#game#game #map-track:disabled{opacity:.45}
#game#game#game#game#game#game#game#game #tactical-selection{font:12px/18px var(--ui-font)}
#game#game#game#game#game#game#game#game #tactical-selection b{color:#285b4f}
#game#game#game#game#game#game#game#game #tactical-legend{left:14px;bottom:9px;font:10px var(--ui-font);background:#eee9d8c9;color:#596153;border:0;gap:12px}
.legend-boss{color:#9a3c31}.legend-event{color:#2d6b5d}.legend-player{color:#2b443a}
/* Cropping is allowed for empty scenery only. Every body uses contain. */
#game#game#game#game#game#game#game#game #departure{background:#ebe6d6}
#game#game#game#game#game#game#game#game #departure-art{inset:0;width:100%;height:100%;object-fit:cover;animation:none;transform:none;filter:none}
#game#game#game#game#game#game#game#game #departure-hero{position:absolute;left:30%;top:6%;width:65%;height:80%;object-fit:contain;object-position:center;animation:pz-departure-body 3s ease-out both;transform-origin:60% 80%}
#game#game#game#game#game#game#game#game #departure[data-chapter='hanjin'] #departure-hero{left:7%;width:60%;top:5%}
#game#game#game#game#game#game#game#game .departure-copy{left:7%;top:19%;width:30%;max-width:none;text-shadow:0 1px 5px #f4edddd9}
#game#game#game#game#game#game#game#game #departure[data-chapter='hanjin'] .departure-copy{left:68%;width:29%;top:5%}
#game#game#game#game#game#game#game#game .departure-copy h2{writing-mode:vertical-rl;font:700 clamp(28px,7.5vh,62px)/1.25 var(--w-serif);letter-spacing:5px;margin:12px 0;color:#243b31}
#game#game#game#game#game#game#game#game .departure-copy small{left:65px;top:35px;font:14px/20px var(--w-serif);height:220px;color:#344c3d;letter-spacing:3px}
#game#game#game#game#game#game#game#game .departure-copy>span{font:12px var(--w-serif);letter-spacing:3px;color:#8e3e2e}
#game#game#game#game#game#game#game#game #departure[data-chapter='hanjin'] .departure-copy h2{writing-mode:horizontal-tb;font-size:clamp(28px,7vh,58px);letter-spacing:3px;margin:5px 0;white-space:nowrap}
#game#game#game#game#game#game#game#game #departure[data-chapter='hanjin'] .departure-copy small{position:static;display:block;writing-mode:horizontal-tb;font:12px/18px var(--w-serif);height:auto;letter-spacing:2px}
#game#game#game#game#game#game#game#game .departure-bottom{left:7%;right:7%;bottom:5%;gap:7px 20px;padding-top:8px;background:linear-gradient(transparent,#e7e0ce75)}
#game#game#game#game#game#game#game#game #departure-progress{height:4px}
#game#game#game#game#game#game#game#game #departure-skip{min-width:108px;background:#ede4cce8;border:1px solid #9f8d68;color:#334d40;font:15px var(--w-serif)}
#game#game#game#game#game#game#game#game #departure[data-state='failed'] .departure-bottom{background:#efe7d8f0;padding:12px}
#game#game#game#game#game#game#game#game .departure-dust{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 90%,#eee7d980,transparent 40%),radial-gradient(ellipse at 85% 80%,#e1e3d654,transparent 30%);animation:pz-departure-dust 4s ease-out both}
@keyframes pz-departure-body{from{transform:translateX(1.5%) scale(.97)}to{transform:translateX(0) scale(1)}}
@keyframes pz-departure-dust{from{opacity:.4;transform:translateX(-1%)}to{opacity:.9;transform:translateX(1%)}}
#game#game#game#game#game#game#game#game #elite-intro{background:#e9e2d0 url('./assets/ui/rebuild/elite-scene.webp') center/cover no-repeat}
#game#game#game#game#game#game#game#game .elite-ink{display:none}
#game#game#game#game#game#game#game#game .elite-panel::before{background:linear-gradient(90deg,#ede6d4aa,transparent 55%)}
#game#game#game#game#game#game#game#game #elite-portrait{inset:4% 4% 5% 43%;width:53%;height:91%;object-fit:contain;object-position:center;filter:none;animation:pz-elite-enter .5s ease-out both;transform-origin:center;mask-image:none}
@keyframes pz-elite-enter{from{opacity:0;transform:translateX(3%)}to{opacity:1;transform:none}}
#game#game#game#game#game#game#game#game .elite-plate{left:7%;top:14%;width:36%}
#game#game#game#game#game#game#game#game #elite-tier{font:13px/22px var(--w-serif);color:#4b5b4d;border-left:2px solid #a34834;padding-left:9px;letter-spacing:3px}
#game#game#game#game#game#game#game#game #elite-name{font:700 clamp(30px,6vw,80px)/1.3 var(--w-serif);letter-spacing:4px;color:#26392e;text-shadow:none;margin:12px 0}
#game#game#game#game#game#game#game#game #elite-title{color:#59604b;font:13px/20px var(--w-serif)}
#game#game#game#game#game#game#game#game .elite-shout{left:7%;top:47%;width:34%;font:700 clamp(18px,3vw,32px)/1.6 var(--w-serif);color:#2a3d32;text-shadow:none}
#game#game#game#game#game#game#game#game .elite-lore{left:7%;bottom:25%;width:32%;font:11px/18px var(--ui-font);color:#626551;text-shadow:0 1px 3px #eee6d3;display:none}
#game#game#game#game#game#game#game#game #elite-skip{left:7%;right:auto;bottom:12%;min-width:138px;min-height:44px;padding:8px 28px;background:#eee4ccc9;color:#883d2b;border:1px solid #a5815d;border-image:none;border-radius:2px;box-shadow:inset 0 0 0 3px #c8b99a60;font:20px var(--w-serif)}
@media(max-width:740px){
 #game#game#game#game#game#game#game#game #elite-health{width:calc(100vw - 364px);left:calc(50% + 10px)}
 #game#game#game#game#game#game#game#game .boss-list{gap:4px}
 #game#game#game#game#game#game#game#game .boss-row{grid-template-columns:26px minmax(0,1fr);gap:3px;padding:1px 2px}
 #game#game#game#game#game#game#game#game .boss-avatar{width:26px;height:26px}
 #game#game#game#game#game#game#game#game .boss-heading>b{font-size:12px}
 #game#game#game#game#game#game#game#game #upgrade{padding:10px 24px}
 #game#game#game#game#game#game#game#game #cards{gap:11px}
 #game#game#game#game#game#game#game#game #tactical-map header p{display:none}
 #game#game#game#game#game#game#game#game #tactical-map button{padding:5px 8px}
 #game#game#game#game#game#game#game#game #tactical-legend{font-size:9px;gap:8px}
}
@media(max-height:450px){
 #game#game#game#game#game#game#game#game .upgrade-wrap{height:calc(100dvh - 24px);gap:4px}
 #game#game#game#game#game#game#game#game #upgrade-heading{font-size:24px;line-height:28px}
 #game#game#game#game#game#game#game#game #cards .card{padding:9px 13px 8px}
 #game#game#game#game#game#game#game#game #cards .card-icon{width:42px;height:42px;margin:0 0 3px}
 #game#game#game#game#game#game#game#game #cards .card-icon .game-icon{width:36px;height:36px}
 #game#game#game#game#game#game#game#game #cards h3{font-size:20px;line-height:26px}
 #game#game#game#game#game#game#game#game #cards .card-value{font-size:11px;line-height:1.6;margin:5px 0}
 #game#game#game#game#game#game#game#game #cards .card-choose{font-size:13px;line-height:18px;padding-top:4px}
 #game#game#game#game#game#game#game#game #elite-name{font-size:38px;line-height:1.3;margin:8px 0}
 #game#game#game#game#game#game#game#game .elite-shout{font-size:20px;line-height:1.6}
 #game#game#game#game#game#game#game#game .departure-copy small{font-size:12px;left:52px;height:180px}
}
@media(prefers-reduced-motion:reduce){#game #departure-hero,#game .departure-dust,#game #elite-portrait{animation:none!important;transform:none!important}}
body[data-motion='reduced'] :is(#departure-hero,.departure-dust,#elite-portrait){animation:none!important;transform:none!important}
