/* New systems inherit the original game's materials, colours and effects. */
.game .visual-order[data-research-id].ready::after{content:'วิจัย ✓'!important}
#eraProjectDialog[data-campaign] .project-requirement b{font-size:14px!important;line-height:1.5!important}
#eraProjectDialog[data-campaign] .project-requirement small{display:block;font-size:12px!important;line-height:1.5!important}
.game .command-head .head-actions.single-row-menu{grid-template-columns:repeat(8,minmax(0,1fr))!important}
.expanded-settings{display:grid;gap:10px;margin-top:20px}.expanded-settings a{padding:12px;color:#8ce4ff;background:#142d45;border:1px solid #ffffff26;border-radius:12px;text-decoration:none}.expanded-settings small{color:#9bb7cc}
#inventoryList h3{grid-column:1/-1;color:#c3ddf0;font-size:13px}#inventoryList article{display:flex;align-items:center;justify-content:space-around;gap:6px}#inventoryList button{padding:9px 12px;border-radius:10px;border:1px solid #8de3ff66;background:#234663;color:#d9f5ff}
.expanded-room{width:min(560px,95vw)!important;max-height:90dvh;overflow:auto}#roomStage{height:260px;position:relative;border:2px solid #5fa2c366;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#193c62,#0a1729 70%);box-shadow:inset 0 0 40px #0008}#roomStage::before{content:'';position:absolute;inset:58% -30% -40%;transform:perspective(200px) rotateX(38deg);background:repeating-linear-gradient(90deg,transparent 0 49px,#72ceef24 50px 51px),repeating-linear-gradient(0deg,#152e43 0 49px,#72ceef24 50px 51px)}.room-fixture{position:absolute;transform:translate(-50%,-50%);border:1px solid #8cd7ee44;border-radius:12px;background:#122e47bd;color:#9dbcd4;min-height:42px;min-width:45px;padding:6px;font-size:10px}.room-fixture .room-item{width:58px!important;height:58px!important;display:block!important}#roomActions{color:#a5c8df;font-size:12px;margin:12px 0}#roomShop{display:grid;gap:8px}#roomShop article{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:9px;background:#162c45;border:1px solid #ffffff18;border-radius:12px;color:#d4e9fb;font-size:12px}#roomShop .item{width:42px!important;height:42px!important}#roomShop button,#roomActions button{background:linear-gradient(145deg,#fff09a,#e0a12c);color:#4b3210;border-radius:10px;border:1px solid #fff0a988;padding:10px;font-weight:700}#roomShop button:disabled,#roomActions button:disabled{opacity:.4}
@media(max-height:600px) and (min-width:650px){body{overflow:auto!important}.game{min-height:100dvh!important;height:auto!important}.board-wrap{flex:none!important}}

.game .board-wrap{min-height:0!important;height:auto!important}.game .command-head .head-actions.single-row-menu{grid-template-columns:repeat(8,minmax(0,1fr))!important;max-width:none!important;gap:5px!important}

.mission-details{margin-left:auto;padding:4px 9px;border:1px solid #8ab8ce44;border-radius:9px;background:#19384e;color:#a3c8df;font-size:10px}.expanded-missions>div{display:grid;gap:8px}.expanded-missions .mission-check{display:flex!important;min-height:42px!important;gap:8px}.expanded-missions .mission-check em{margin-left:auto}

.game,.game.compact-layout,.game.micro-layout{min-height:100dvh!important}.game.micro-layout .command-head .res{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}.game.micro-layout .command-head .res>.resource-capsule{display:flex!important;height:30px!important}.game.micro-layout .command-head .res>.level-capsule{display:flex!important}

/* A thin halo and six inward sparks keep the held artwork readable. */
.merge-hold-charge{position:fixed;z-index:30001;pointer-events:none;translate:-50% -50%;border-radius:50%;animation:mergeChargeAppear .55s ease-out both}
.merge-hold-charge::before{content:'';position:absolute;inset:8%;border:1px solid #b1f4ff45;border-radius:50%;box-shadow:0 0 7px #74dcff28,inset 0 0 5px #74dcff18;animation:mergeChargeBreath 1.5s ease-in-out infinite}
.merge-hold-charge i{position:absolute;left:50%;top:50%;width:2px;height:2px;border-radius:50%;background:#c2faff;box-shadow:0 0 3px #81e8ff80;animation:mergeChargeInward 1.25s var(--phase) ease-in infinite}
.cell.merge-charge-target::after{content:'';position:absolute;inset:3px;pointer-events:none;border-radius:inherit;border:1px solid #a3efff80;box-shadow:inset 0 0 5px #74dcff24}
@keyframes mergeChargeAppear{from{opacity:0}to{opacity:.8}}
@keyframes mergeChargeBreath{0%,100%{opacity:.45;transform:scale(.98)}50%{opacity:.85;transform:scale(1.04)}}
@keyframes mergeChargeInward{0%{opacity:0;transform:translate(calc(var(--cx)*var(--radius)),calc(var(--cy)*var(--radius))) scale(.65)}20%{opacity:.8}85%{opacity:.6}100%{opacity:0;transform:translate(calc(var(--cx)*var(--radius)*.28),calc(var(--cy)*var(--radius)*.28)) scale(.3)}}
@media(prefers-reduced-motion:reduce){.merge-hold-charge,.merge-hold-charge::before{animation:none;opacity:.55}.merge-hold-charge i{display:none}}
