#die.rolling{animation:rattle .3s 2}
.hand-zone{left:3%;width:94%;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:start;overflow:visible}.near-hand{top:84.5%;height:12.5%}.far-hand{top:.6%;height:10%}.character-pile{position:relative;width:100%;height:100%;min-height:55px}.pile-card{position:absolute;left:calc(4% + var(--offset)*13%);top:calc(var(--offset)*3px);width:34%;height:clamp(49px,8dvh,75px);padding:0;border:0;background:none;z-index:calc(1 + var(--offset))}.pile-card .game-card{width:100%;height:100%;padding:3px;justify-content:flex-start;aspect-ratio:auto}.pile-card .card-number{position:absolute;top:3px;left:3px;font-size:20px;line-height:1}.pile-card .battle-name{font-size:7px;line-height:1.1;position:absolute;bottom:3px;left:2px;right:2px}.pile-card .card-silhouette{position:absolute;top:27%;left:32%;width:38%;height:42%}.far-hand .character-pile{transform:rotate(180deg)}.far-hand .pile-card{height:clamp(42px,7dvh,65px)}
.game-card.battle .battle-name{font-size:14px;font-weight:bold;line-height:1.2}.card-silhouette{width:42%;height:24%;object-fit:contain;filter:brightness(0) invert(1)}.game-card.battle:not(.mini-card) .card-number{font-size:65px}.battle-card-row .battle-name,.battle-card-row .card-silhouette{display:none}.pile-card .game-card.battle .battle-name{font-size:7px}.pile-card .game-card.battle .card-number{font-size:20px}
#deck-counts{inset:0;width:100%;height:100%;display:block}.empty-deck{position:absolute;left:18%;font-size:clamp(28px,7vw,52px);line-height:1;color:#f23842;text-shadow:0 1px 3px white;background:#fffd;border-radius:50%;width:9%;aspect-ratio:1;text-align:center}.empty-deck.battle{top:33.5%}.empty-deck.six{top:41%}.empty-deck.med{top:49%}.blue-turn #deck-counts{inset:0}.blue-turn .empty-deck{left:74%}.blue-turn .empty-deck.battle{top:61%}.blue-turn .empty-deck.six{top:52%}.blue-turn .empty-deck.med{top:44%}
#match-score{font-size:12px;background:#11281fea;padding:5px 8px;border-radius:10px;white-space:nowrap;color:#eee}#version{display:none}#series-options h2{margin:10px 0 16px}
#opening-screen,#handy-screen{position:fixed;inset:0;z-index:8;display:grid;place-items:center;background:#071510de;backdrop-filter:blur(5px);padding:20px}#opening-dice,#handy-dice{display:flex;gap:14px;justify-content:center;margin:24px 0}#opening-dice.blue .battle-die,#handy-dice.blue .battle-die{background:linear-gradient(135deg,#447fe8,#2049b3);box-shadow:0 5px 0 #122d72,0 9px 14px #0005}#opening-roll.blue{background:#a9ceff}#opening-note{min-height:40px;font-size:16px}#handy-screen{z-index:23;background:#250b10f2}#handy-screen h1{font-size:clamp(40px,10vw,64px);color:#ff6276}#handy-note{font-size:20px;line-height:1.5}#series-result{color:#ffe2a0;font-size:18px;text-align:center}
#end-preview{display:flex;gap:3px;overflow-x:auto;justify-content:flex-start;margin:8px 0}#end-preview .mini-card{flex:0 0 32px;width:32px;height:42px}.timed-card{border:0;background:none;width:100px;min-width:100px;padding:2px;opacity:.45}.timed-card .game-card{padding:7px;gap:5px}.timed-card .card-number{font-size:42px}.timed-card .pair-number{font-size:20px}.timed-card .card-kind{font-size:10px}.timed-card .card-caption,.timed-card .card-instruction{font-size:12px}.timed-card:disabled{cursor:default}.timed-card.eligible-card{opacity:1;animation:cardEligible .7s ease-in-out infinite}.timed-card.eligible-card .game-card{border:3px solid #ffe378;box-shadow:0 0 14px #ffda78}
#recovery-card-options,#six-options{display:flex;overflow-x:auto;gap:9px;justify-content:flex-start;padding:10px 5px;max-width:100%}#recovery-panel{max-height:86dvh;overflow-y:auto}#recovery-result{height:95px}#recovery-total{font-size:70px}.choice-clock{display:block;width:86px;margin:8px auto;border-radius:20px;border:2px solid #ffe378;color:#ffe378;padding:7px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:bold;background:linear-gradient(to right,#ffffff25 calc(var(--remaining)*100%),transparent 0)}
#battle-firework .battle-burst{transform:scale(1.7)}#battle-firework .battle-burst span{font-size:30px}#battle-firework .rocket{width:6px;height:30px}.stow-card{animation-name:cardStow}.burn-card{animation-name:cardJourney}#burn-pile{position:fixed;right:0;top:49%;z-index:6;pointer-events:none;color:#d9c5a5;font-size:34px;line-height:1;text-shadow:0 2px 4px black;transform:rotate(12deg)}#burn-flight{position:fixed;inset:0;z-index:22;pointer-events:none}.burning-card{position:fixed;width:38px;height:53px;animation:burnCard 1s ease-in both}.burning-card .battle-name,.burning-card .card-silhouette{display:none}
@keyframes cardStow{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%) scale(.22);opacity:1}35%,62%{left:50%;top:45%;transform:translate(-50%,-50%) scale(1);opacity:1}84%{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) scale(.21);opacity:1}100%{left:var(--to-x);top:calc(var(--to-y) + var(--stow-y));transform:translate(-50%,-50%) scale(.12);opacity:0}}
@keyframes burnCard{to{transform:translate(var(--burn-x),var(--burn-y)) rotate(25deg);opacity:0}}@keyframes cardEligible{50%{filter:brightness(1.15) drop-shadow(0 0 9px #ffdf75)}}
@media(max-width:400px){#match-score{font-size:10px;padding:4px}#turn-badge{font-size:12px;padding:8px}header{left:7px;right:7px;gap:4px}#close{padding:6px 9px}}
@media(prefers-reduced-motion:reduce){#die.rolling,.timed-card.eligible-card{animation:none}.stow-card,.burning-card{animation-duration:.01s}}
