/* First Hunt: a single responsive combat layout. No appended version overrides.
   Six rows: HUD / title / coach / arena / hand & inspector / turn controls. */
.hunt{
 --cardW:154px;--cardH:224px;--fan-space:252px;--inspect-space:64px;--mode-space:46px;
 --hud-space:64px;--title-space:56px;--toolbar-space:86px;
 display:grid;grid-template-rows:var(--hud-space) var(--title-space) auto minmax(120px,1fr) calc(var(--fan-space) + var(--inspect-space) + var(--mode-space)) var(--toolbar-space);
 position:relative;inset:auto;width:100%;height:100%;min-height:0;overflow:hidden;
 padding:0 max(0px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));
 background:linear-gradient(transparent 43%,#0d211968 62%,#0b1916eb 87%);color:#f3e8c7;
}
.hunt *{box-sizing:border-box}
.hunt>.hud{grid-row:1}.hunt>.encounter-heading{grid-row:2}.hunt>.coach-slot{grid-row:3}.hunt>.arena{grid-row:4}.hunt>.hand-zone{grid-row:5}.hunt>.battle-toolbar{grid-row:6}
.hunt .hud{position:relative;inset:auto;height:100%;padding:12px 26px;align-items:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);background:linear-gradient(#0b1213df,#0b121378);z-index:12;border-bottom:1px solid #f0cb771d}
.hunt .hud-title{position:static;transform:none;grid-column:2;grid-row:1}
.hunt .hud-left{grid-column:1;grid-row:1}.hunt .hud-right{grid-column:3;grid-row:1}
.hunt .hud-stat b{font-size:22px}.hunt .hud-stat small{font-size:12px}
.hunt .brand{width:142px;min-width:142px;font-size:21px}
.hunt .encounter-heading{position:static;inset:auto;transform:none;align-self:center;text-align:center;width:100%;z-index:1;padding:0 12px;pointer-events:none}
.hunt .encounter-heading h2{font:700 29px/1.05 var(--font-display);color:#f5e7be;margin:0}
.hunt .encounter-heading p{font:500 12px/1.4 var(--font-ui);color:#cebf9b;margin:4px 0 0}
.hunt .coach-slot{position:relative;display:flex;align-items:center;gap:14px;width:min(780px,calc(100% - 40px));margin:4px auto 8px;padding:10px 14px;background:#152c24e6;border:0;border-radius:12px;z-index:8;min-height:0;box-shadow:0 8px 18px #05090725}
.hunt .coach-slot.empty{display:none}
.hunt .coach-count{flex:none;font:800 11px var(--font-ui);color:#e5c887;letter-spacing:.08em}
.hunt .coach-copy{flex:1;min-width:0}.hunt .coach-copy strong{font:800 14px var(--font-ui);color:#f2deb1}
.hunt .coach-copy p{margin:3px 0 0;font:600 12px/1.4 var(--font-ui);color:#e2d7bd}
.hunt .coach-skip,.hunt .cancel-card{display:grid;place-items:center;flex:none;border:0;border-radius:8px;background:#ffffff0b;color:#d3c298;min-width:36px;min-height:36px;padding:8px}
.hunt .coach-skip svg,.hunt .cancel-card svg{width:16px;height:16px}
/* Everything belonging to a guest stays in its own grid cell. */
.hunt .arena{display:grid;grid-template-columns:repeat(var(--units),minmax(0,1fr));column-gap:clamp(12px,3vw,50px);position:relative;inset:auto;width:min(1240px,calc(100% - 90px));min-height:0;height:100%;margin:auto;align-items:stretch;padding:12px 10px 10px;overflow:visible;pointer-events:auto;z-index:3}
.hunt .unit{position:relative;inset:auto;left:auto;top:auto;bottom:auto;transform:none;margin:0;padding:0;background:none;border:0;border-radius:0;min-width:0;width:100%;height:100%;display:grid;grid-template-rows:30px minmax(0,1fr) 74px;align-items:stretch;justify-items:stretch;pointer-events:auto;overflow:visible;color:inherit;cursor:pointer;filter:none}
.hunt .unit.player{pointer-events:auto;cursor:default}
.hunt .unit:hover,.hunt .unit.selected{transform:none;filter:none}
.hunt .unit-visual{display:block;position:relative;min-height:0;isolation:isolate;pointer-events:none}
.hunt .sprite{display:block;position:absolute;left:50%;top:auto;background-repeat:no-repeat;background-size:100% 100%;background-position:center;transform-origin:50% 93.75%;animation:none;filter:drop-shadow(0 10px 7px #0006);pointer-events:none}
.hunt .shadow{position:absolute;left:17%;right:17%;bottom:-2px;height:10px;border-radius:50%;background:#02080690;filter:blur(4px)}
.hunt .ring{position:absolute;left:10%;right:10%;bottom:-3px;height:10px;border-radius:50%;border:1px solid #e3bf6b;opacity:0;box-shadow:0 0 15px #e6c36640;transition:opacity .17s}
.hunt .unit.selected .ring{opacity:1}.hunt .unit:hover .ring{opacity:.6}
.hunt .intent,.hunt .player-intent{position:static;transform:none;display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;height:28px;justify-self:center;align-self:start;padding:5px 12px;border:0;border-radius:8px;background:#13251edf;color:#efc995;box-shadow:0 5px 12px #040b052b;font:700 13px var(--font-ui);white-space:nowrap;z-index:4}
.hunt .intent:after{display:none}.hunt .intent small{font-size:12px;color:inherit}.hunt .intent b{font-size:16px}
.hunt .intent svg,.hunt .player-intent svg{width:15px;height:15px;flex:none}.hunt .player-intent{background:none;font-size:10px;color:#cabb96;letter-spacing:.1em}
.hunt .intent.stun{color:#efd995;background:#3c331ee6}.hunt .intent.heal{color:#b9ddb5}.hunt .intent.guard{color:#b8d6e0}
.hunt .actor-caption{position:relative;inset:auto;left:auto;top:auto;transform:none;width:100%;display:flex;flex-direction:column;align-items:stretch;text-align:center;pointer-events:none;padding:8px 6px 0;min-width:0;z-index:4}
.hunt .actor-name{font:700 18px/1.2 var(--font-display);color:#f2e1b7;letter-spacing:-.02em;white-space:nowrap;text-shadow:0 2px 5px #0008}
.hunt .hp{position:relative;width:min(220px,100%);height:14px;flex:none;margin:5px auto 0;border:1px solid #c4ad6d55;border-radius:8px;background:#101a13;overflow:hidden;box-shadow:0 2px 5px #0005}
.hunt .hp>i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(#d59179,#a94f44);border-radius:7px;transition:width .2s}
.hunt .player .hp>i{background:linear-gradient(#bfd391,#83a45c)}
.hunt .hp>b{position:absolute;inset:0;text-align:center;font:800 10px/12px var(--font-ui);color:#fff4d7;letter-spacing:0;text-shadow:0 1px 2px #000c}
.hunt .hp-preview{position:absolute;top:0;bottom:0;width:0;left:0;background:repeating-linear-gradient(120deg,#ffdfa7bb 0 3px,#a8402690 3px 6px);transition:width .16s,left .16s}
.hunt .actor-flags{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:5px;min-height:14px;font:700 10px/1.1 var(--font-ui);color:#cec09d}
.hunt .actor-flags>span{display:inline-flex;align-items:center;gap:3px}.hunt .actor-flags svg{width:11px;height:11px}
.hunt .greed-pips{display:inline-flex;gap:5px}.hunt .greed-pips i{display:block;width:8px;height:8px;border:1px solid #cab174;transform:rotate(45deg);border-radius:1px;background:transparent}
.hunt .greed-pips i.on{background:#e4bd68}.hunt .greed-pips i.projected{background:#ead8a8;box-shadow:0 0 6px #f5d99b}
.hunt .trap-flag{color:#ffe0a0}.hunt .unit-preview{min-height:14px;color:#f7d294;font:800 11px/1.25 var(--font-ui);white-space:nowrap;margin-top:3px}
.hunt .projected-trap .intent{color:#f8d889;box-shadow:0 0 0 1px #e3c77555}.hunt .projected-trap .intent:before{content:'×';font-weight:900}
.hunt .unit.drop-target .ring{opacity:1;border-width:2px;border-color:#b9df98;box-shadow:0 0 15px #9fe59380}
.hunt .unit.drop-invalid .ring{opacity:1;border-color:#e78a74;box-shadow:0 0 14px #ee7d6d}
/* The inspector holds readable effects; the fan stays manipulable on small screens. */
.hunt .hand-zone{display:grid;grid-template-rows:var(--inspect-space) var(--fan-space) var(--mode-space);position:relative;min-height:0;z-index:6;width:min(1040px,calc(100% - 40px));margin:0 auto;isolation:isolate}
.hunt .inspect-slot{position:relative;min-height:0;align-self:stretch;z-index:7}
.hunt .selection-detail{position:relative;width:min(780px,100%);margin:auto;height:100%;padding:4px 15px;display:flex;flex-direction:column;justify-content:center;gap:4px;background:linear-gradient(90deg,transparent,#10241de6 18%,#10241de6 82%,transparent);text-align:center;animation:inspect-in .18s ease-out}
.hunt .selected-title{display:flex;gap:12px;align-items:center;justify-content:center;position:relative;min-height:23px}.hunt .selected-title h3,.hunt .selection-detail h3{font:700 19px/1.15 var(--font-display);margin:0;color:#f2deb1}
.hunt .selected-rarity{font:800 10px var(--font-ui);color:#c9b78b;letter-spacing:.07em;text-transform:uppercase}
.hunt .selection-detail .cancel-card{position:absolute;right:0;top:-4px;min-width:30px;min-height:30px;width:30px;height:30px;padding:6px}
.hunt .selection-detail p{font:600 13px/1.3 var(--font-ui);color:#e4d8bb;margin:0;padding:0 20px}
.hunt .action-preview{font:800 11px/1.2 var(--font-ui);margin:0;color:#c7d6b3}.hunt .action-preview.invalid{color:#f5c4a4}
.hunt .selection-detail.empty{gap:2px;background:none}.hunt .selection-detail.empty h3{font-size:18px}.hunt .selection-detail .eyebrow{font-size:10px}
.hunt .hand{position:relative;inset:auto;transform:none;display:block;padding:0;width:100%;height:var(--fan-space);min-height:0;margin:0;overflow:visible;isolation:isolate;touch-action:none;pointer-events:none;z-index:5}
.hunt .hand>.card{position:absolute;margin:0;left:0;top:0;pointer-events:auto;touch-action:none;transform:perspective(1100px) translateY(var(--hover-lift,0px)) rotate(var(--fan-angle,0deg)) rotateX(var(--tilt-rx,0deg)) rotateY(var(--tilt-ry,0deg)) scale(calc(var(--fan-scale,1) * var(--hover-scale,1)));transform-origin:50% 85%;transition:left .22s cubic-bezier(.2,.8,.2,1),top .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1),filter .17s;cursor:grab}
.hunt .hand>.card.selected{--hover-lift:-12px;--hover-scale:1.06;filter:drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 18px 20px rgba(0,0,0,.36));z-index:60}
.hunt .hand>.card.lesson-card{filter:drop-shadow(0 0 5px #f0cc7b)}
.hunt .hand.instant-layout>.card{transition:none}
.hunt .hand>.card .description{font-size:11px;line-height:1.23}.hunt .hand>.card .card-name{font-size:12px}
.hunt .card .card-key{bottom:-4px;font-size:9px;background:#172b23}
.hunt .mode-slot{display:flex;align-items:center;justify-content:center;position:relative;z-index:9}
.hunt .mode-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 74px;gap:8px;width:min(530px,100%);align-self:stretch;padding-bottom:4px}
.hunt .mode-controls.idle{display:flex;align-items:center;justify-content:center;font:italic 15px var(--font-display);color:#b5bc98}
.hunt .mode-button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;background:#203c30;color:#d5d7b9;border:0;border-radius:10px;padding:8px 10px;font:800 13px var(--font-ui);box-shadow:inset 0 1px #eff3ca14;transition:background .18s,transform .18s}
.hunt .mode-button svg{width:16px;height:16px}.hunt .mode-button.active{background:#d9ba76;color:#273022;box-shadow:inset 0 1px #ffedbf66}.hunt .mode-button.keep.active{background:#526f4c;color:#f7e9c7}
.hunt .mode-button:disabled{opacity:.4;cursor:not-allowed}.hunt .mode-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}
/* Persistent controls never share the same cell or flow as the inspector. */
.hunt .battle-toolbar{position:relative;inset:auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,330px) minmax(160px,1fr);align-items:center;gap:24px;width:100%;height:100%;padding:8px 28px;background:linear-gradient(#0c1b16f5,#0a1412);border:0;border-top:1px solid #e2c47936;border-radius:0;box-shadow:0 -12px 25px #08171260;z-index:10}
.hunt .energy-dock{display:flex;gap:22px;align-items:center;position:static;width:auto;min-width:0;padding:0;justify-self:start}
.hunt .energy-orb{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:60px;height:60px;border:2px solid #867045;border-radius:50%;background:radial-gradient(circle at 40% 20%,#f6e0a0,#c7994f);outline:1px solid #e8c17a;box-shadow:0 4px 9px #0005;color:#352a16;line-height:1;margin:0}
.hunt .energy-orb span{font:800 27px/1 var(--font-display)}.hunt .energy-orb small{font:800 8px var(--font-ui);margin-top:3px}
.hunt .piles{display:flex;gap:12px;align-items:center;margin:0}
.hunt .pile{display:block;position:relative;height:40px;width:32px;border:0;padding:0;background:transparent;flex:none}
.hunt .pile img{height:100%;width:100%;object-fit:contain}.hunt .pile b{position:absolute;bottom:7px;left:0;right:0;text-align:center;font:900 12px var(--font-ui);text-shadow:0 1px 3px #000;color:#fff0c9}
.hunt .pile small{position:absolute;top:100%;left:-4px;right:-4px;text-align:center;font:700 8px var(--font-ui);color:#bbad88}
.hunt .confirm-slot{min-width:0;align-self:center}
.hunt .confirm-card,.hunt .end-turn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:48px;min-height:44px;border:0;border-radius:11px;padding:7px 12px;white-space:nowrap;background:linear-gradient(#f3d598,#d1a759);color:#2b301f;box-shadow:inset 0 1px #fff1c7,0 3px 0 #796337;font:700 18px/1 var(--font-display)}
.hunt .confirm-card{flex-direction:column;gap:2px}.hunt .confirm-card b{font:800 15px/1.2 var(--font-ui);flex-shrink:0}.hunt .confirm-card small{font:600 11px/1.2 var(--font-ui);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hunt .end-turn{background:#20392e;color:#f0deb3;box-shadow:inset 0 1px #efd99b22,0 3px 0 #090f0c;font-size:18px}
.hunt .confirm-card:hover:not(:disabled),.hunt .end-turn:hover{filter:brightness(1.1)}
.hunt .confirm-card:disabled{opacity:.5;filter:saturate(.5);cursor:not-allowed}
.hunt .end-turn svg{width:16px;height:16px}
.hunt .end-dock{position:static;display:flex;flex-direction:column;gap:5px;width:160px;justify-self:end;align-items:stretch;margin:0}
.hunt .end-dock .end-turn{height:40px;min-height:40px}
.hunt .forecast{position:static;display:flex;align-items:center;justify-content:center;gap:5px;padding:0;background:none;border:0;box-shadow:none;white-space:nowrap;font:600 11px var(--font-ui);color:#c9b991;margin:0}
.hunt .forecast svg{width:12px;height:12px}.hunt .forecast b{font-weight:900;color:#f0c3a0}.hunt .forecast s{opacity:.55}
.hunt .turn-counter{text-align:center;color:#d5c096;font:800 12px var(--font-ui)}.hunt .turn-counter small{display:block;color:#a5b092;font:600 11px var(--font-ui);margin-top:5px}
.hunt .rig-guides{position:absolute;inset:0;pointer-events:none}.hunt .rig-guides svg{width:100%;height:100%;fill:none;stroke:#e3c77d;stroke-width:1}.hunt .rig-guides rect{stroke:#f18caf}
body:not(.rig-debug) .rig-guides{display:none}body.rig-debug .hunt .unit{outline:1px dashed #77d9ef}
.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.drag-ghost.card{pointer-events:none;position:fixed;z-index:130;width:150px;height:218px;transform:rotate(3deg) scale(.94);margin:0;opacity:.94;box-shadow:none}
body.dragging-card .hunt .selection-detail{opacity:.3}
body.busy .hunt .mode-button,body.busy .hunt .confirm-card,body.busy .hunt .end-turn,body.busy .hunt .hand,body.busy .hunt .unit{pointer-events:none}
body.busy .hunt .confirm-card,body.busy .hunt .end-turn{opacity:.48}
@keyframes inspect-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
/* Height, not device name, controls how much artwork fits. */
@media(max-height:800px) and (min-width:761px){
 .hunt{--cardW:142px;--cardH:206px;--fan-space:240px;--inspect-space:62px;--mode-space:44px;--hud-space:56px;--title-space:50px;--toolbar-space:78px}
 .hunt .arena{padding-block:7px;width:calc(100% - 100px)}.hunt .coach-slot{padding:7px 12px;margin-bottom:4px}.hunt .coach-copy p{font-size:11px}
 .hunt .encounter-heading h2{font-size:25px}.hunt .unit{grid-template-rows:26px minmax(0,1fr) 58px}
 .hunt .actor-name{font-size:16px}.hunt .unit-preview{font-size:10px}
}
@media(max-width:760px) and (orientation:portrait){
 .hunt{--cardW:110px;--cardH:160px;--fan-space:190px;--inspect-space:64px;--mode-space:46px;--hud-space:48px;--title-space:44px;--toolbar-space:64px;grid-template-rows:var(--hud-space) var(--title-space) auto minmax(100px,1fr) calc(var(--fan-space) + var(--inspect-space) + var(--mode-space)) var(--toolbar-space)}
 .hunt .hud{padding:7px 12px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.hunt .hud-left{gap:11px}.hunt .hud-right{grid-column:2}.hunt .hud-title,.hunt .hud-divider,.hunt .relics,.hunt .hud-right .optional{display:none}
 .hunt .brand{width:89px;min-width:89px;font-size:15px;gap:5px}.hunt .brand svg{width:17px;height:20px}
 .hunt .hud-stat{gap:3px}.hunt .hud-stat img{width:17px;height:20px;margin-right:1px}.hunt .hud-stat b{font-size:17px}.hunt .hud-stat small{font-size:10px}.hunt .round-button{height:34px;width:34px}
 .hunt .encounter-heading h2{font-size:22px}.hunt .encounter-heading p{font-size:11px;margin-top:2px}
 .hunt .coach-slot{gap:8px;width:calc(100% - 20px);padding:7px 9px;margin:3px auto 5px;border-radius:10px}
 .hunt .coach-count{font-size:9px;width:30px;line-height:1.4;text-align:center}.hunt .coach-copy strong{font-size:12px}.hunt .coach-copy p{font-size:11px;line-height:1.3;margin-top:2px}.hunt .coach-skip{min-width:30px;min-height:36px;width:30px;padding:7px}
 .hunt .arena{width:100%;padding:9px 8px 6px;gap:3px;align-items:stretch}
 .hunt .unit{grid-template-rows:24px minmax(0,1fr) 66px}
 .hunt .intent{height:22px;max-width:100%;font-size:11px;padding:3px 7px;gap:4px;border-radius:7px}.hunt .intent small{font-size:10px}.hunt .intent b{font-size:12px}.hunt .intent svg{width:12px;height:12px}
 .hunt .player-intent{font-size:8px;letter-spacing:0;gap:3px;height:22px;padding:3px 0}.hunt .player-intent svg{width:11px;height:11px}
 .hunt .actor-caption{padding:6px 2px 0}.hunt .actor-name{font-size:12px;line-height:1.2;white-space:normal;min-height:15px}
 .hunt .hp{height:12px;margin-top:4px}.hunt .hp>b{font-size:9px;line-height:10px}.hunt .actor-flags{font-size:8px;gap:4px;margin-top:4px;min-height:11px}
 .hunt .greed-pips{gap:3px}.hunt .greed-pips i{width:6px;height:6px}.hunt .unit-preview{font-size:9px;line-height:1.1;margin-top:2px;white-space:normal;min-height:12px}
 .hunt .hand-zone{width:calc(100% - 16px)}.hunt .selection-detail{padding:3px 5px;gap:3px;border-radius:10px;background:#0d231ddd}
 .hunt .selected-title{gap:7px;min-height:18px;padding:0 28px}.hunt .selected-title h3{font-size:16px}.hunt .selected-rarity{font-size:8px}.hunt .selection-detail .cancel-card{right:0;top:-2px;height:28px;min-height:28px;width:28px;min-width:28px}
 .hunt .selection-detail p{font-size:12px;line-height:1.25;padding:0 4px}.hunt .action-preview{font-size:10px}.hunt .selection-detail.empty h3{font-size:16px}.hunt .selection-detail .eyebrow{font-size:9px}
 .hunt .hand>.card .card-name{font-size:9px}.hunt .hand>.card .description{font-size:8px;line-height:1.13}.hunt .card .cost{font-size:17px}.hunt .card .rarity-text{font-size:6px}.hunt .card .family{font-size:5px}.hunt .card .card-key{display:none}
 .hunt .mode-controls{grid-template-columns:repeat(3,minmax(0,1fr)) 58px;gap:5px;padding-bottom:3px}.hunt .mode-button{min-height:43px;border-radius:8px;padding:6px;gap:5px;font-size:12px}.hunt .mode-button svg{width:14px;height:14px}.hunt .mode-controls.idle{font-size:14px}
 .hunt .battle-toolbar{grid-template-columns:112px minmax(0,1fr) 104px;padding:7px 10px;gap:8px;border-radius:0}
 .hunt .energy-dock{gap:9px}.hunt .energy-orb{width:42px;height:42px}.hunt .energy-orb span{font-size:22px}.hunt .energy-orb small{font-size:6px;margin-top:1px}
 .hunt .piles{gap:7px}.hunt .pile{width:24px;height:30px}.hunt .pile b{font-size:10px;bottom:5px}.hunt .pile small{font-size:6px;letter-spacing:0;left:-3px;right:-3px}
 .hunt .confirm-card{height:44px;min-height:44px;padding:5px;border-radius:9px}.hunt .confirm-card b{font-size:12px}.hunt .confirm-card small{font-size:9px}
 .hunt .end-dock{position:relative;width:104px;height:46px;gap:0}.hunt .end-dock .end-turn{min-height:46px;height:46px;font-size:14px;border-radius:8px;padding:3px 7px 16px;gap:4px}.hunt .end-turn svg{width:13px;height:13px}
 .hunt .forecast{position:absolute;bottom:4px;left:0;right:0;font-size:9px;gap:3px;pointer-events:none;z-index:1}.hunt .forecast svg{width:10px;height:10px}.hunt .forecast b{font-size:10px}.hunt .forecast small{font-size:8px}
 .hunt .turn-counter{font-size:10px}.hunt .turn-counter small{font-size:9px;line-height:1.2;margin-top:3px}
}
@media(max-width:760px) and (max-height:650px) and (orientation:portrait){
 .hunt{--cardW:96px;--cardH:140px;--fan-space:158px;--inspect-space:61px;--mode-space:43px;--hud-space:44px;--title-space:29px;--toolbar-space:60px}
 .hunt .encounter-heading h2{font-size:19px}.hunt .encounter-heading p{display:none}
 .hunt .coach-copy p{font-size:10px;line-height:1.25}.hunt .coach-copy strong{font-size:11px}.hunt .coach-slot{margin:1px auto 3px;padding:5px 7px}
 .hunt .unit{grid-template-rows:21px minmax(0,1fr) 46px}.hunt .unit-preview{display:none}.hunt .actor-name{font-size:11px}
 .hunt .selected-title h3{font-size:14px}.hunt .selection-detail p{font-size:11px}.hunt .action-preview{font-size:9px}.hunt .mode-button{min-height:40px}
}
@media(max-width:360px) and (orientation:portrait){
 .hunt .hud{padding-inline:8px}.hunt .hud-left{gap:8px}.hunt .hud-stat b{font-size:15px}.hunt .brand{font-size:13px;width:78px;min-width:78px}
 .hunt .battle-toolbar{grid-template-columns:96px minmax(0,1fr) 92px;gap:6px;padding-inline:8px}.hunt .energy-dock{gap:5px}.hunt .piles{gap:4px}.hunt .pile{width:20px}.hunt .end-dock{width:92px}
}
/* On a short landscape phone the hand and its readable inspector sit side by side. */
@media(max-height:500px) and (orientation:landscape){
 .hunt{--cardW:100px;--cardH:145px;--fan-space:164px;--inspect-space:0px;--mode-space:0px;--hud-space:40px;--title-space:26px;--toolbar-space:58px;grid-template-rows:40px 26px auto minmax(90px,1fr) 164px 58px}
 .hunt .hud{height:40px;padding:5px 14px;grid-template-columns:1fr auto}.hunt .hud-title{display:none}.hunt .hud-right{grid-column:2}.hunt .brand{font-size:15px;width:98px;min-width:98px}.hunt .hud-stat b{font-size:16px}.hunt .round-button{width:30px;height:30px}
 .hunt .encounter-heading h2{font-size:19px}.hunt .encounter-heading p{display:none}
 .hunt .coach-slot{width:calc(100% - 24px);padding:3px 10px;margin:0 12px 2px;gap:10px}.hunt .coach-copy{display:flex;gap:10px;align-items:center}.hunt .coach-copy p{font-size:10px;margin:0}.hunt .coach-copy strong{font-size:11px;white-space:nowrap}.hunt .coach-skip{min-height:28px;height:28px}
 .hunt .arena{width:88%;padding:2px 12px;gap:30px}.hunt .unit{grid-template-rows:22px minmax(0,1fr) 32px}.hunt .actor-caption{padding-top:3px}.hunt .actor-name{font-size:12px}.hunt .actor-flags{display:none}.hunt .hp{height:10px;margin-top:3px}.hunt .hp>b{font-size:8px;line-height:8px}.hunt .unit-preview{position:absolute;right:0;bottom:0;font-size:9px}.hunt .intent{height:22px;font-size:10px;padding:2px 8px}.hunt .intent b{font-size:12px}.hunt .intent small{font-size:10px}.hunt .player-intent{font-size:9px}
 .hunt .hand-zone{width:calc(100% - 24px);grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:112px 52px;gap:0 16px}.hunt .hand{grid-column:1;grid-row:1/3}.hunt .inspect-slot{grid-column:2;grid-row:1}.hunt .mode-slot{grid-column:2;grid-row:2}
 .hunt .selection-detail{padding:5px;background:#12271f}.hunt .selection-detail p{font-size:12px;padding:0 4px}.hunt .selected-title h3{font-size:15px}.hunt .selected-title{padding:0 20px}.hunt .selected-rarity{display:none}.hunt .action-preview{font-size:10px}
 .hunt .hand>.card .description{font-size:8px}.hunt .hand>.card .card-name{font-size:9px}.hunt .card .cost{font-size:17px}.hunt .card .family{font-size:5px}.hunt .card .card-key{display:none}
 .hunt .mode-controls{grid-template-columns:repeat(4,1fr);gap:5px;padding-block:4px}.hunt .mode-button{font-size:11px;gap:4px;padding:5px}.hunt .mode-button svg{width:12px;height:12px}
 .hunt .battle-toolbar{grid-template-columns:160px minmax(0,1fr) 132px;padding:5px 18px;gap:16px}.hunt .energy-orb{width:39px;height:39px}.hunt .energy-orb span{font-size:22px}.hunt .energy-orb small{font-size:6px}.hunt .energy-dock{gap:18px}.hunt .pile{height:30px;width:23px}.hunt .pile small{font-size:6px}.hunt .pile b{font-size:10px;bottom:5px}
 .hunt .confirm-card{height:42px;min-height:42px}.hunt .end-dock{width:132px;gap:1px}.hunt .end-dock .end-turn{height:30px;min-height:30px;font-size:14px}.hunt .forecast{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.hunt .selection-detail{animation:none}.hunt .hand>.card{transition:none}}
/* First-run reward: all choices visible; the selected effect has a readable inspector. */
.reward-stage{display:grid;grid-template-rows:70px minmax(0,1fr);position:relative;inset:auto;height:100%;overflow:hidden;background:linear-gradient(#0b171235,#0b1712da)}
.reward-stage .hud{position:relative;height:100%;inset:auto}
.reward-body{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(880px,calc(100% - 36px));margin:0 auto;padding:14px 8px 26px;overflow-y:auto;scrollbar-width:thin;min-height:0}
.reward-title{text-align:center;width:100%;min-width:0}.reward-title h1{font:700 38px/1.1 var(--font-display);color:#f3e3ba;margin:7px 0}.reward-title p{font:600 13px var(--font-ui);color:#d1c3a0}
.reward-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;width:100%;padding:8px 0 0;flex:none}
.reward-pick{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;--cardW:180px;--cardH:260px;padding:0 2px 9px;border:0;border-bottom:2px solid transparent;transition:border-color .18s}
.reward-pick .card,.reward-pick .card:hover,.reward-pick .card:focus{transform:none}
.reward-pick.active{border-bottom-color:#eacb82}.reward-pick.active .card{filter:drop-shadow(0 0 5px #efd8a373)}
.reward-name{max-width:100%;font:700 17px/1.2 var(--font-display);color:#e7d5ac;border:0;background:none;min-height:30px;padding:0 4px;cursor:pointer}
.reward-rarity{font:800 10px var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:#bfa87a}
.reward-inspector{min-height:78px;text-align:center;padding:12px 20px;border-radius:12px;background:#11291ed6;width:100%;flex:none}
.reward-inspector h2{font:700 22px var(--font-display);color:#f4dfb3;margin:0 0 6px}.reward-inspector p{font:600 15px/1.4 var(--font-ui);color:#eee2c3}.reward-inspector small{display:block;font:800 10px var(--font-ui);text-transform:uppercase;letter-spacing:.1em;color:#c3ca9b;margin-top:7px}
.reward-decisions{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;flex:none}.reward-decisions .wood-btn{min-width:300px;min-height:48px;font-size:18px}.reward-decisions .text-btn{font-size:11px;min-height:36px}
.risk-choice{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:12px 16px;background:#35251b99;border-radius:12px;width:100%;flex:none}
.risk-choice strong{font:700 19px var(--font-display);color:#ebd6ab}.risk-choice p{font:600 12px/1.5 var(--font-ui);color:#c7b999;margin-top:3px}.risk-choice .wood-btn{font-size:14px;min-height:42px;padding:8px 15px;white-space:nowrap}
@media(max-width:760px) and (orientation:portrait){
 .reward-stage{grid-template-rows:52px minmax(0,1fr)}.reward-body{width:calc(100% - 20px);gap:12px;padding:10px 0 20px}.reward-title h1{font-size:28px;margin:6px 0}.reward-title p{font-size:12px;line-height:1.35;padding:0 5px}
 .reward-options{gap:4px;padding-top:4px}.reward-pick{--cardW:100px;--cardH:145px;gap:4px;padding-bottom:6px}.reward-pick .card .card-name{font-size:9px}.reward-pick .card .description{font-size:8px}.reward-pick .card .cost{font-size:16px}
 .reward-name{font-size:12px;line-height:1.1;min-height:29px}.reward-rarity{font-size:7px;letter-spacing:.06em}.reward-inspector{padding:12px 14px;min-height:85px}.reward-inspector h2{font-size:20px}.reward-inspector p{font-size:14px}.reward-inspector small{font-size:9px}
 .reward-decisions .wood-btn{width:100%;min-width:0;font-size:17px}.reward-decisions .text-btn{font-size:10px;letter-spacing:.03em}.risk-choice{padding:12px;gap:10px}.risk-choice strong{font-size:16px}.risk-choice p{font-size:11px}.risk-choice .wood-btn{padding:8px 10px;font-size:12px;min-height:44px}
}
@media(max-width:350px) and (orientation:portrait){.reward-pick{--cardW:90px;--cardH:130px}}

@media(min-width:761px) and (max-width:1050px){
 .hunt .hud{grid-template-columns:minmax(0,1fr) auto}.hunt .hud-title{display:none}.hunt .hud-right{grid-column:2}
}
@media(max-height:440px) and (orientation:landscape){
 .hunt{--cardW:86px;--cardH:124px;--fan-space:144px;grid-template-rows:36px 0px auto minmax(80px,1fr) 144px 54px}
 .hunt .hud{height:36px;padding:3px 14px}.hunt .encounter-heading{display:none}
 .hunt .hand-zone{grid-template-rows:96px 48px}.hunt .selection-detail p{font-size:11px}.hunt .coach-copy p{font-size:10px}
 .hunt .battle-toolbar{height:54px}.hunt .unit-preview{display:none}
}

/* Desktop composition. It has its own height budget and never changes the phone grid.
   A larger monitor enlarges the controls/cards, not just the creatures. */
@media(min-width:761px) and (min-height:501px){
 .hunt{
  --cardW:clamp(150px,min(11.7vw,17.3vh),250px);--cardH:calc(var(--cardW)*1.45);
  --fan-space:calc(var(--cardH)*1.12 + 8px);--inspect-space:clamp(64px,7.2vh,90px);--mode-space:clamp(46px,4.9vh,62px);
  --hud-space:clamp(62px,6.7vh,88px);--title-space:clamp(64px,7.4vh,84px);--toolbar-space:clamp(82px,8.8vh,114px);
  --figure-cap:clamp(168px,26vh,360px);--unit-caption:clamp(72px,7.1vh,92px);--unit-intent:clamp(32px,3.4vh,46px);
  grid-template-rows:var(--hud-space) var(--title-space) auto minmax(100px,1fr) calc(var(--fan-space) + var(--inspect-space) + var(--mode-space)) var(--toolbar-space);
 }
 .hunt .hud{padding:12px clamp(24px,2.4vw,64px);border:0;background:#0b1812ea}
 .hunt .brand{width:auto;min-width:140px;font-size:clamp(21px,1.5vw,31px);gap:11px}
 .hunt .brand>svg{width:clamp(23px,1.8vw,34px);height:30px}
 .hunt .hud-left{gap:clamp(18px,1.8vw,38px)}.hunt .hud-divider{display:none}
 .hunt .hud-stat b{font-size:clamp(23px,1.75vw,35px)}.hunt .hud-stat small{font-size:clamp(12px,.95vw,18px);color:#d2c49f}
 .hunt .hud-stat img{width:clamp(23px,1.7vw,34px);height:32px}.hunt .hud-title{gap:6px}
 .hunt .hud-title small{font-size:clamp(10px,.78vw,14px);color:#e0c88e}.hunt .hud-title b{font-size:clamp(11px,.83vw,16px);color:#d3c8aa}
 .hunt .round-button{width:clamp(38px,3.4vw,54px);height:clamp(38px,3.4vw,54px);border-radius:11px}.hunt .round-button svg{width:21px;height:21px}
 .hunt .encounter-heading h2{font-size:clamp(26px,2.3vw,40px)}.hunt .encounter-heading p{font-size:clamp(12px,1vw,17px);color:#d6cdb3;margin-top:4px}
 .hunt .coach-slot{width:min(980px,calc(100% - 80px));padding:9px 16px;gap:16px;margin:4px auto 8px;background:#1b3228;box-shadow:none}
 .hunt .coach-count{font-size:clamp(11px,.9vw,15px)}.hunt .coach-copy strong{font-size:clamp(14px,1.05vw,19px)}.hunt .coach-copy p{font-size:clamp(12px,.9vw,16px);color:#e5dfc7}
 .hunt .arena{width:min(1680px,calc(100% - 88px));padding:8px 12px 4px;column-gap:clamp(20px,4.5vw,100px);align-items:center}
 .hunt .unit{height:min(100%,calc(var(--figure-cap) + var(--unit-caption) + var(--unit-intent) + 12px));max-height:100%;align-self:center;grid-template-rows:var(--unit-intent) minmax(0,1fr) var(--unit-caption);--sprite-contain-poses:1}
 .hunt .unit-visual{height:100%;max-height:var(--figure-cap);align-self:end}
 .hunt .unit-visual .ring,.hunt .unit-visual .shadow{left:50%;right:auto;width:var(--ground-width,150px);transform:translateX(-50%)}
 .hunt .actor-caption{padding:9px 4px 0}.hunt .actor-name{font-size:clamp(17px,1.32vw,24px)}
 .hunt .hp{height:clamp(14px,1.5vh,19px);width:min(280px,92%);margin-top:6px;border-color:#a8935c44;box-shadow:none}
 .hunt .hp>b{font-size:clamp(10px,.79vw,14px);line-height:1;display:grid;place-items:center}
 .hunt .actor-flags{font-size:clamp(10px,.81vw,14px);margin-top:6px;gap:8px;min-height:16px}.hunt .actor-flags svg{width:13px;height:13px}
 .hunt .unit-preview{font-size:clamp(11px,.87vw,16px);min-height:19px;margin-top:5px}
 .hunt .intent,.hunt .player-intent{height:calc(var(--unit-intent) - 4px);padding:6px 12px;font-size:clamp(12px,1vw,18px);gap:7px;background:#162a20;box-shadow:none}
 .hunt .intent b{font-size:clamp(15px,1.2vw,22px)}.hunt .intent small{font-size:clamp(12px,.93vw,17px)}.hunt .intent svg{width:clamp(15px,1.4vw,22px);height:22px}
 .hunt .player-intent{font-size:clamp(10px,.82vw,14px);background:none;color:#d0c3a2;letter-spacing:.06em}
 .hunt .hand-zone{width:min(1480px,calc(100% - 80px))}
 .hunt .selection-detail{width:min(960px,100%);padding:4px 18px;gap:4px;border-radius:14px;background:#11251ecc}
 .hunt .selection-detail.empty{background:none}.hunt .selection-detail.empty h3,.hunt .selected-title h3{font-size:clamp(18px,1.4vw,27px)}
 .hunt .selection-detail p{font-size:clamp(13px,1.02vw,19px);line-height:1.35;color:#ece3c9}.hunt .selection-detail .eyebrow{font-size:clamp(10px,.74vw,13px)}
 .hunt .selected-rarity{font-size:clamp(11px,.85vw,15px)}.hunt .action-preview{font-size:clamp(12px,.92vw,17px);line-height:1.25}
 .hunt .hand>.card .card-name{font-size:clamp(11px,.9vw,16px);line-height:1.15}.hunt .hand>.card .description{font-size:clamp(10.5px,.84vw,15px);line-height:1.23}
 .hunt .card .cost{font-size:clamp(23px,2vw,36px)}.hunt .card .family{font-size:clamp(7px,.54vw,10px)}.hunt .card .rarity-text{font-size:clamp(7px,.55vw,10px)}
 .hunt .card.frame-gold .card-name{font-size:clamp(10.5px,.83vw,15px)}.hunt .card.frame-gold .description{font-size:clamp(10px,.8vw,14px)}
 .hunt .mode-controls{width:min(680px,100%);gap:10px;grid-template-columns:repeat(3,minmax(0,1fr)) 86px}.hunt .mode-button{font-size:clamp(13px,1vw,18px);min-height:42px;border-radius:9px}
 .hunt .mode-controls.idle{font-size:clamp(14px,1.07vw,20px);color:#d1c7aa}.hunt .mode-button svg{width:18px;height:18px}
 .hunt .battle-toolbar{padding:12px clamp(24px,2.4vw,64px);grid-template-columns:clamp(190px,18vw,315px) minmax(0,1fr) clamp(165px,14vw,250px);background:#0c1e17;box-shadow:none;gap:24px}
 .hunt .energy-dock{gap:clamp(18px,1.8vw,34px)}.hunt .energy-orb{width:clamp(56px,4.7vw,80px);height:clamp(56px,4.7vw,80px)}.hunt .energy-orb span{font-size:clamp(27px,2.3vw,42px)}.hunt .energy-orb small{font-size:clamp(8px,.7vw,11px)}
 .hunt .piles{gap:18px}.hunt .pile{width:clamp(29px,2.6vw,43px);height:clamp(38px,3.5vw,55px)}.hunt .pile b{font-size:clamp(12px,1vw,18px)}.hunt .pile small{font-size:clamp(8px,.64vw,11px)}
 .hunt .turn-counter{font-size:clamp(12px,1vw,18px)}.hunt .turn-counter small{font-size:clamp(12px,.9vw,16px);color:#c8c7b2}
 .hunt .confirm-card{height:clamp(52px,6.6vh,72px);min-height:52px;max-width:480px;width:100%;justify-self:center}.hunt .confirm-card b{font-size:clamp(15px,1.1vw,22px)}.hunt .confirm-card small{font-size:clamp(11px,.85vw,15px)}
 .hunt .end-dock{width:100%;gap:6px}.hunt .end-dock .end-turn{height:clamp(43px,4.8vh,61px);min-height:43px;font-size:clamp(19px,1.6vw,29px);border-radius:10px}
 .hunt .forecast{font-size:clamp(11px,.87vw,16px);color:#d8c9a7}.hunt .forecast small{font-size:clamp(10px,.8vw,14px)}
}
@media(min-width:761px) and (min-height:501px) and (max-height:800px){
 .hunt{--cardW:136px;--cardH:198px;--fan-space:226px;--inspect-space:57px;--mode-space:43px;--hud-space:54px;--title-space:50px;--toolbar-space:72px;--unit-caption:62px;--unit-intent:28px;--figure-cap:190px}
 .hunt .hud{padding-block:7px}.hunt .hud-title{gap:3px}.hunt .brand{font-size:20px;min-width:124px}.hunt .hud-stat b{font-size:22px}
 .hunt .encounter-heading h2{font-size:25px}.hunt .encounter-heading p{font-size:12px;margin-top:2px}
 .hunt .coach-slot{padding:6px 12px;margin:2px auto 5px}.hunt .coach-copy strong{font-size:13px}.hunt .coach-copy p{font-size:11px;margin-top:2px}
 .hunt .arena{padding-block:3px}.hunt .intent,.hunt .player-intent{font-size:11px;padding:3px 10px}.hunt .intent small{font-size:11px}.hunt .intent b{font-size:14px}.hunt .actor-name{font-size:16px}.hunt .actor-flags{font-size:10px;margin-top:4px}.hunt .hp{margin-top:4px}.hunt .unit-preview{font-size:10px;min-height:13px;margin-top:3px}
 .hunt .selection-detail{gap:3px}.hunt .selection-detail p{font-size:12px}.hunt .selected-title h3,.hunt .selection-detail.empty h3{font-size:17px}.hunt .selected-rarity{font-size:10px}.hunt .action-preview{font-size:11px}
 .hunt .hand>.card .card-name{font-size:11px}.hunt .hand>.card .description{font-size:10px}.hunt .hand>.card.frame-gold .card-name{font-size:10px}.hunt .hand>.card.frame-gold .description{font-size:9px}.hunt .card .cost{font-size:20px}
 .hunt .mode-button{font-size:12px;min-height:39px}.hunt .mode-controls.idle{font-size:14px}.hunt .battle-toolbar{padding-block:7px}.hunt .energy-orb{width:50px;height:50px}.hunt .energy-orb span{font-size:28px}.hunt .energy-orb small{font-size:8px}.hunt .end-dock .end-turn{height:37px;min-height:37px;font-size:19px}.hunt .forecast{font-size:10px}
}


/* V21 desktop card motion */
.card{transform:perspective(900px) translateY(var(--hover-lift,0px)) rotateX(var(--tilt-rx,0deg)) rotateY(var(--tilt-ry,0deg)) scale(var(--hover-scale,1));transform-origin:50% 80%}
.hunt .hand>.card.lesson-card{filter:drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 10px 14px rgba(240,204,123,.28))}
.reward-pick.active .card{--hover-lift:-4px;--hover-scale:1.02;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22))}
@media (hover:hover) and (pointer:fine){
  .hunt .hand>.card.tilting,.hunt .hand>.card:hover{--hover-lift:-10px;--hover-scale:1.045}
  .hunt .hand>.card.selected.tilting,.hunt .hand>.card.selected:hover{--hover-lift:-16px;--hover-scale:1.08}
}
@media (hover:none),(pointer:coarse){
  .card,.hunt .hand>.card{transform:perspective(900px) translateY(var(--hover-lift,0px)) rotate(var(--fan-angle,0deg)) scale(calc(var(--fan-scale,1) * var(--hover-scale,1)))}
}
