/* Guard Yard v31: one dark jade/brass language; game-owned workspaces only. */
body{--wp-ui-text:#edf4e8;--wp-ui-muted:#a9c1ba;--wp-scene-return-arrow-color:#f7e4ac;background:#102a2b;color:#edf4e8}
.yard-game{background:#102a2b;color:#edf4e8}
.main-entry-panel{background:linear-gradient(145deg,#193e3c,#0a1d28)!important;color:#edf4e8!important;border-color:#638782!important;border-radius:8px!important}
.main-entry-copy{color:#edf4e8!important}.main-entry-copy span{color:#bbcec2!important}
body.guard-yard-stage #menuPanel{background:#102a2b!important;border-radius:5px!important;border:2px solid #61817c!important}
body.guard-yard-stage #menuPanel::before{opacity:.3!important}
body.guard-yard-stage .menu-shell{grid-template-rows:48px minmax(0,1fr)!important;padding:6px!important;gap:8px!important}
body.guard-yard-stage .stage-screen-head{background:#1a3e40!important;border:1px solid #75928b!important;border-radius:3px!important;padding:2px!important;grid-template-columns:44px minmax(0,1fr) 44px!important}
body.guard-yard-stage .stage-screen-head>strong,body.guard-yard-stage .menu-heading{display:none!important}
body.guard-yard-stage .wallet-row{position:absolute;top:8px;left:66px;right:66px;height:44px;z-index:25;display:flex!important;justify-content:center;align-items:center;gap:22px;pointer-events:none}
body.guard-yard-stage .wallet-row>span{background:none!important;border:0!important;box-shadow:none!important;width:auto!important;min-height:0!important;height:38px!important;color:#f2ddb0!important;padding:0!important;gap:4px}
body.guard-yard-stage .wallet-row img{width:28px!important;height:28px!important;object-fit:contain}
body.guard-yard-stage .wallet-row b{color:#f2ddb0!important;font:800 18px system-ui!important}
body.guard-yard-stage .menu-content{min-height:0!important;grid-row:2!important}
body.guard-yard-stage #stageTabPanel{grid-template-rows:48px 32px minmax(0,1fr)!important;gap:6px!important}
body.guard-yard-stage .mastery-summary{background:#193c3ae8!important;color:#e6d499!important;border:1px solid #7c8a64!important;border-radius:4px!important;min-height:0!important;padding:6px 10px!important;display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px!important;box-shadow:none!important}
body.guard-yard-stage .mastery-summary>*{font-size:12px!important;color:inherit!important}.mastery-summary small{margin-inline-start:auto}
body.guard-yard-stage .training-bridge-cue{background:#142e32e8!important;color:#b5d1bd!important;border:0!important;border-radius:3px!important;padding:6px 10px!important;font-size:11px!important;line-height:16px!important;max-height:32px;overflow:hidden;margin:0!important}
body.guard-yard-stage .beast-guide{display:none!important}
body.guard-yard-stage .stage-grid{min-height:0!important;grid-row:3!important;align-items:center!important}
body.guard-yard-stage .stage-card{background:linear-gradient(140deg,#294c48,#132c32)!important;color:#e9edd9!important;border:2px solid #657e73!important;border-radius:6px!important;box-shadow:0 5px 0 #071b20!important;height:286px!important;min-height:286px!important;max-height:286px!important;padding:16px!important;overflow:hidden}
body.guard-yard-stage .stage-card.active,body.guard-yard-stage .stage-card[aria-current=true]{border-color:#e6c473!important;box-shadow:0 5px 0 #796842,0 0 0 3px #dfbc6844!important}
body.guard-yard-stage .stage-card :is(strong,span,small,b,em){color:inherit!important}
body.guard-yard-stage .stage-card>img{width:62px!important;height:62px!important;object-fit:contain}
body.guard-yard-stage .stage-threat{background:#10272c!important;color:#a9c6bb!important;border:1px solid #526d64!important;border-radius:4px!important}
body.guard-yard-stage .stage-threat img{width:28px!important;height:32px!important}
body.guard-yard-stage .menu-tabs{background:#112c30!important;gap:6px!important;padding:6px!important;border-top:1px solid #6d867c!important}
body.guard-yard-stage .menu-tabs button{background:#234649!important;color:#dceade!important;border:1px solid #678780!important;border-radius:4px!important;box-shadow:0 3px 0 #0a1d22!important;transform:none!important}
body.guard-yard-stage .menu-tabs button.active{background:#d9b864!important;color:#182d30!important;border-color:#f0d79a!important}
body.guard-yard-stage :is(.kennel-panel,.shop-panel){background:#102a30!important;color:#e7ecdc!important;border:1px solid #6d8478!important;border-radius:6px!important}
body.guard-yard-stage :is(.kennel-card,.shop-card){background:#203e40!important;color:#e7ecdc!important;border:1px solid #6d8478!important;border-radius:5px!important;box-shadow:none!important}
body.guard-yard-stage :is(.kennel-card,.shop-card) :is(strong,span,small){color:inherit!important}
body.guard-yard-stage :is(.kennel-card,.shop-card) button{background:#d8b75f!important;color:#192d2c!important;border:1px solid #e9d5a0!important;border-radius:4px!important}
body.guard-yard-stage :is(.kennel-card,.shop-card) button:disabled{opacity:.55}
/* The logical envelope scales once; the board consumes the flexible track. */
body.guard-yard-playing .fixed-game-shell{grid-template-rows:48px 30px 80px minmax(0,1fr) 52px 44px!important;gap:5px!important;padding:6px!important;border:2px solid #66837a!important;border-radius:4px!important;background:#102b30!important;color:#e6eee0!important}
body.guard-yard-playing .play-head{height:48px!important;background:#214447!important;border-radius:3px!important;box-shadow:none!important;border-bottom:1px solid #83917a}
body.guard-yard-playing .resource-pill{background:none!important;border:0!important;color:#f1d28a!important;box-shadow:none!important}
body.guard-yard-playing .sun-icon{background:url('assets/sun-block-v32.png') center/contain no-repeat!important;border:0!important;box-shadow:none!important;border-radius:0!important;width:32px!important;height:32px!important}
body.guard-yard-playing .sun-icon::before,body.guard-yard-playing .sun-icon::after{display:none!important}
body.guard-yard-playing .wave-status{grid-row:2!important;color:#ccd7bd!important;background:#18363a!important;padding:3px 8px!important;gap:8px;font-size:12px!important;border-radius:3px!important}
body.guard-yard-playing .wave-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px!important;color:#e6d49a!important}
body.guard-yard-playing .base-pill{background:none!important;color:#f5d8bf!important;border:0!important;box-shadow:none!important}
body.guard-yard-playing .unit-bar{grid-row:3!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:0!important;width:100%!important;overflow:visible!important}
body.guard-yard-playing .unit-card{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:42px 28px!important;justify-items:center!important;min-width:0!important;width:100%!important;height:80px!important;padding:3px!important;border:1px solid #63877c!important;border-radius:4px!important;background:#234547!important;box-shadow:0 3px 0 #061b21!important;color:#eef1de!important;transform:none!important}
body.guard-yard-playing .unit-card.selected{border:2px solid #f2d084!important;background:#486052!important;box-shadow:0 3px 0 #8b7746!important}
body.guard-yard-playing .unit-card .mini-animal{width:48px!important;height:43px!important}
body.guard-yard-playing .mini-animal img{width:100%!important;height:100%!important;object-fit:contain!important}
body.guard-yard-playing .unit-info{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0!important;gap:0!important}
body.guard-yard-playing .unit-info strong{font-size:10px!important;line-height:13px!important;color:#eef1de!important;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
body.guard-yard-playing .unit-stats{font:700 11px/13px system-ui!important;color:#eac77c!important;display:block!important;overflow:visible!important}
body.guard-yard-playing .unit-stats span{display:flex;align-items:center}.unit-stats .cost-icon{width:16px;height:16px;object-fit:contain}
body.guard-yard-playing .yard-board{grid-row:4!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border:1px solid #678772!important;border-radius:4px!important;overflow:hidden!important;background:#52674e!important;align-self:stretch!important;justify-self:stretch!important;isolation:isolate}
.yard-3d-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.yard-board[data-renderer="3d"] :is(.actor,.zombie,.projectile){visibility:hidden!important}
.yard-board[data-renderer="3d"] .cell{background:transparent!important;border:1px solid #dce6aa20!important;z-index:2!important}
.yard-board[data-renderer="3d"] .cell[data-blocked] img{visibility:hidden}
.yard-board .cell img{width:70%;height:80%;object-fit:contain;pointer-events:none}
.yard-board .cell:hover,.yard-board .cell:focus-visible{background:#c8e2aa40!important;outline:2px solid #e6d290!important;outline-offset:-3px}
.yard-board .hp-bar{z-index:4!important;height:4px!important;border-radius:0!important;pointer-events:none}
.yard-board .hp-bar i{border-radius:0!important}
.yard-command-dock{grid-row:5;display:grid;grid-template-columns:1.35fr 1fr 1fr 44px;gap:5px;min-height:0}
.yard-command-dock button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;height:52px;padding:4px;border:1px solid #739083;border-radius:4px;background:#2a4c49;color:#e3ebd7;box-shadow:0 3px 0 #0a1c23;font:700 11px/1.2 system-ui;cursor:pointer}
.yard-command-dock button img{width:24px;height:30px;object-fit:contain}
.yard-command-dock #launchWave{background:#dcbc6b;color:#1a3032;border-color:#f6dda0}
.yard-command-dock button:disabled{opacity:.45;cursor:default}.yard-command-dock button[aria-pressed=true]{outline:2px solid #f3ce73;outline-offset:-3px;background:#416850}
body.guard-yard-playing .hint-text{grid-row:6!important;min-height:0!important;max-height:44px!important;height:44px!important;overflow:auto!important;padding:4px 6px!important;font:11px/17px system-ui!important;background:#19373b!important;color:#c4d7c8!important;border-radius:3px!important;text-align:start!important}
.yard-board .energy-drop{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;width:40px!important;height:44px!important;z-index:8!important;animation:none!important}
.energy-drop img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.yard-board .energy-drop::before,.yard-board .energy-drop::after{display:none!important}
.yard-board .spawn-warning{z-index:5!important;background:#172f36!important;border:1px solid #bb8862!important;border-radius:3px!important;pointer-events:none!important}
.yard-board .lane-pressure-alert{display:none!important}.yard-board .cross-lane-reach{opacity:.12!important;pointer-events:none!important}
.yard-board .impact{width:18px!important;height:18px!important;opacity:.7!important;pointer-events:none}
.yard-board .board-pop{font:800 12px system-ui!important;max-width:95px;overflow:hidden;white-space:nowrap;z-index:9!important;text-shadow:0 1px 2px #051e23;pointer-events:none}
body.guard-yard-playing :is(.result-card,.pause-card){background:#17393d!important;color:#e8eedb!important;border:2px solid #9eaa80!important;border-radius:6px!important}
body.guard-yard-playing :is(.result-card,.pause-card) button{background:#d5b86d!important;color:#1c3334!important;border-radius:4px!important;border:1px solid #e7d39c!important;min-height:44px!important}
@media(orientation:landscape) and (max-height:520px){
 body.guard-yard-playing .fixed-game-shell{grid-template-columns:130px minmax(0,1fr)!important;grid-template-rows:48px 28px minmax(0,1fr) 52px!important;gap:4px!important}
 body.guard-yard-playing .play-head{grid-column:1/-1;grid-row:1!important}
 body.guard-yard-playing .wave-status{grid-column:1/-1;grid-row:2!important}
 body.guard-yard-playing .unit-bar{grid-column:1;grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,80px)!important;align-content:center}
 body.guard-yard-playing .yard-board{grid-column:2;grid-row:3!important}
 .yard-command-dock{grid-column:2;grid-row:4!important}.yard-command-dock button{height:48px}
 body.guard-yard-playing .hint-text{grid-column:1;grid-row:4!important;font-size:9px!important;line-height:13px!important;height:48px!important;max-height:48px!important}
 body.guard-yard-stage .stage-card{height:190px!important;min-height:190px!important;max-height:190px!important;padding:8px!important}
 body.guard-yard-stage .stage-card>img{height:35px!important;width:35px!important}
 body.guard-yard-stage #stageTabPanel{grid-template-rows:30px minmax(0,1fr)!important}
 body.guard-yard-stage .training-bridge-cue{display:none!important}body.guard-yard-stage .stage-grid{grid-row:2!important}
}
@media(prefers-reduced-motion:reduce){.yard-board *{animation:none!important;transition:none!important}}
/* Override the older shared art-shell skin and remove additive rail offsets. */
body.guard-yard-stage #menuPanel .stage-screen-head{background:#1a3e40!important}
body.guard-yard-stage #menuPanel .wallet-row{width:auto!important}
body.guard-yard-stage #menuPanel .wallet-row b{color:#f2ddb0!important}
body.guard-yard-stage #stageTabPanel .stage-card{top:0!important;align-self:center!important}
body.guard-yard-stage #stageTabPanel .stage-grid{padding-block:12px!important}
body.guard-yard-stage .stage-card .mini-animal{width:76px!important;height:76px!important}
body.guard-yard-stage .stage-card .mini-animal img{width:100%;height:100%;object-fit:contain}
.yard-board[data-renderer="3d"] .cell::before,.yard-board[data-renderer="3d"] .cell::after{display:none!important}
.yard-board[data-renderer="3d"] .cell{box-shadow:none!important;border-radius:0!important}
body.guard-yard-stage #menuPanel .stage-screen-head{height:48px!important;min-height:48px!important;padding:2px!important;box-shadow:none!important}
body.guard-yard-stage #menuPanel .stage-screen-head :is(.wp-shell-return,.wp-shell-settings,.wp-shell-settings-button){width:44px!important;height:44px!important;min-height:44px!important;border-radius:3px!important}
body.guard-yard-stage #menuPanel .wp-shell-settings-button svg{display:block!important;width:25px!important;height:25px!important;fill:none!important;stroke:#e3e9cc!important;stroke-width:1.8!important}
body.guard-yard-stage #menuPanel .wallet-row{z-index:1100!important}
body.guard-yard-stage #menuPanel .stage-card{height:286px!important;min-height:286px!important;max-height:286px!important;padding:16px!important}
body.guard-yard-stage #menuPanel .stage-animal,body.guard-yard-stage #menuPanel .stage-animal .animal-sprite{width:70px!important;height:70px!important}
body.guard-yard-stage #menuPanel .stage-animal img{width:100%!important;height:100%!important;object-fit:contain}
@media(orientation:landscape) and (max-height:520px){body.guard-yard-stage #menuPanel .stage-card{height:190px!important;min-height:190px!important;max-height:190px!important;padding:8px!important}body.guard-yard-stage #menuPanel .stage-animal,body.guard-yard-stage #menuPanel .stage-animal .animal-sprite{width:36px!important;height:36px!important}}
body.guard-yard-stage #menuPanel .wp-shell-settings-button{position:relative!important}
body.guard-yard-stage #menuPanel .wp-shell-settings-button svg{position:absolute!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important}
body.guard-yard-playing .fixed-game-shell{grid-template-rows:48px 30px 80px 32px minmax(0,1fr) 52px 54px!important}
body.guard-yard-playing #yardBoard{grid-row:5!important}
body.guard-yard-playing .yard-command-dock{grid-row:6!important}
body.guard-yard-playing #hintText{grid-row:7!important;height:54px!important;max-height:54px!important;white-space:normal!important;text-overflow:clip!important;overflow:auto!important}
.yard-wave-preview{grid-row:4;display:flex;align-items:center;gap:7px;overflow:hidden;background:#193c3d;border:1px solid #486861;padding:2px 8px;color:#e7d6a3;font:700 12px system-ui}
.yard-wave-preview span{display:flex;align-items:center;gap:3px;border-inline-end:1px solid #577066;padding-inline-end:7px;white-space:nowrap}
.yard-wave-preview img{width:25px;height:26px;object-fit:contain}
body.guard-yard-playing #resultPanel .result-card :is(p,span,strong,small,em,b,div){color:#e5ecdb!important;text-shadow:none!important}
body.guard-yard-playing #resultPanel .result-card :is(.result-report,.result-score,.result-stat,.result-improvement){background:transparent!important}
body.guard-yard-playing #resultPanel .result-card :is(.training-bridge-cue,.result-next,.mastery-summary){background:#264844!important;border-color:#6c8b76!important;color:#e5ecdb!important}
body.guard-yard-playing #resultPanel button{color:#192f30!important}
#yardBoard .impact{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;width:24px!important;height:24px!important}
#yardBoard .impact i{position:absolute;left:10px;top:10px;width:5px;height:5px;background:#ffe7a2;animation:yard-chip 250ms ease-out forwards;--dx:10px;--dy:8px}
#yardBoard .impact i:nth-child(2){--dx:-10px;--dy:7px;background:#e59d42}#yardBoard .impact i:nth-child(3){--dx:7px;--dy:-9px}#yardBoard .impact i:nth-child(4){--dx:-8px;--dy:-8px;background:#abc879}
#yardBoard .impact.owl i{background:#8be8e0}#yardBoard .impact.fox i{background:#bce589}
@keyframes yard-chip{to{transform:translate(var(--dx),var(--dy));opacity:0}}
#yardBoard .hp-bar[data-effect=shield]{outline:2px solid #a8d6ec!important}#yardBoard .hp-bar[data-effect=warning]{outline:3px solid #ffcf68!important}#yardBoard .hp-bar[data-effect=slow]{outline:2px solid #a5e2dc!important}
.squad-count{display:flex;align-items:center;gap:3px;margin-inline-start:14px;color:#e4e9d2}.squad-count img{width:27px;height:29px;object-fit:contain}.squad-count b{font:700 12px system-ui}
.yard-lane-label{position:absolute;left:2px;z-index:5;width:16px;height:16px;text-align:center;background:#15382fe6;border:1px solid #b6c591;color:#edf0bc;font:700 10px/14px system-ui;pointer-events:none}
#resultPanel .stage-threats{display:flex;gap:6px;flex-wrap:wrap}#resultPanel .stage-threat{display:flex;align-items:center;gap:3px;background:#193630;border-radius:3px;padding:3px;font-size:11px}#resultPanel .stage-threat .zombie-sprite{width:25px;height:27px}#resultPanel .stage-threat img{width:25px;height:27px;object-fit:contain}
/* Guide geometry, palette and typography belong to the shared interface. */
#yardBoard .cell{border-radius:0!important}#yardBoard .cell::after{border-radius:2px!important;box-shadow:none!important}
body.guard-yard-playing #resultPanel .mastery-result,body.guard-yard-playing #resultPanel .next-stage-preview{background:#264844!important;border:1px solid #7b937b!important;border-radius:4px!important}
#yardBoard .board-pop{left:clamp(12%,var(--pop-x,50%),88%);max-width:130px!important;white-space:normal!important;text-align:center;line-height:1.15!important}
@media(prefers-reduced-motion:reduce){#yardBoard .impact i{animation:none!important}}
@media(orientation:landscape) and (max-height:520px){body.guard-yard-playing .fixed-game-shell{grid-template-rows:48px 28px 28px minmax(0,1fr) 52px!important}body.guard-yard-playing .yard-wave-preview{grid-column:1/-1;grid-row:3!important}body.guard-yard-playing #yardBoard{grid-column:2;grid-row:4!important}body.guard-yard-playing .unit-bar{grid-row:4!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}body.guard-yard-playing .unit-card{height:100%!important;grid-template-rows:minmax(20px,1fr) 28px!important}body.guard-yard-playing .yard-command-dock,body.guard-yard-playing #hintText{grid-row:5!important}}
