/* Dreaded Descent keeps the combat grid fixed while its rules change. */
.stage-combat .dread-combat .combat-head h1{font-size:clamp(17px,5.4vw,25px);letter-spacing:1px}
.stage-combat .dread-combat .rune-board-controls{width:min(302px,calc(100vw - 100px))}
.stage-combat .dread-combat .guess-row>.tile{min-width:0}
.dread-ability{position:absolute;left:0;bottom:7px;display:flex;align-items:center;gap:7px;max-width:205px;padding:5px 8px;background:#152327ed;border:1px solid #88a0a44a;color:#dddebe;text-align:left;z-index:3;cursor:pointer}
.dread-ability i{font-style:normal;font-size:23px;color:#8ac6d9}.dread-ability>span{font:15px/1.1 'Knightle Herald';text-transform:uppercase}.dread-ability small{display:block;font:6px/1.7 'Knightle Quill';color:#9aafa9;letter-spacing:.3px}.dread-ability:disabled{opacity:.65}
.dread-intro-seal{font:60px/1 Georgia;color:#aed7d8;text-shadow:3px 3px #173e4e,0 0 24px #82c6dc55;padding:10px}
.dread-combat .encounter-rule p{max-width:280px;margin:7px auto 12px;line-height:1.35}
.stage-combat .dread-combat .slime-boards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:14px;height:100%;isolation:isolate}
.slime-half{min-height:0;display:grid;grid-template-rows:25px minmax(0,1fr);gap:3px;position:relative;opacity:.66;transition:opacity .18s}
.slime-half.active-half,.slime-half.half-solved{opacity:1}
.slime-half>button{font:6px/1.2 'Knightle Quill';padding:2px 0;color:#d2d3c1;background:#172e39;border:1px solid #668593;cursor:pointer;letter-spacing:.3px;min-height:25px}
.slime-half>button small{font-size:4px;display:block;color:#97abb2;margin-top:3px}
.slime-half.active-half>button{border-color:#87d1e3;box-shadow:inset 0 -2px #69accb;color:#e4f3ee}
.slime-half.half-solved>button{color:#c9eab2;border-color:#66884d;background:#253a2c}
.stage-combat .slime-boards .guess-row{gap:3px}.stage-combat .slime-boards .row-damage{display:none}
.stage-combat .slime-boards .guess-row:not(.current):not(.last-attack){opacity:.8}
.stage-combat .slime-half:not(.active-half) .row-seat{transform:none;filter:none}
.stage-combat .dread-combat .crushed-row{position:relative;align-items:center;justify-content:center;overflow:visible;background:linear-gradient(0deg,#47352840,transparent)}
.crushed-row small{font:5px/1.2 'Knightle Quill';letter-spacing:.5px;color:#bb9f7c;z-index:1}
.crushed-fragments{position:absolute;inset:0;display:flex;gap:4px;overflow:hidden;pointer-events:none}
.crushed-fragments i{flex:1;background:#8d8260;clip-path:polygon(3% 78%,28% 88%,40% 65%,65% 80%,91% 68%,100% 100%,0 100%);opacity:.45}
.crushing-now .crushed-fragments i{animation:row-collapse 1.2s calc(.4s + var(--tile-index)*.035s) both}
@keyframes row-collapse{0%,10%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translateY(0)}45%{transform:translate(2px,6px) rotate(8deg)}100%{opacity:.45;transform:translateY(16px) rotate(-9deg)}}
.megaStomp{animation:mega-quake 1.3s .5s both}.dread-combat.room-2.enemyAttack{animation:mega-quake 1.3s .45s both}
@keyframes mega-quake{0%,100%{translate:0 0}5%{translate:-9px 5px}12%{translate:8px -6px}20%{translate:-7px -2px}28%{translate:6px 5px}36%{translate:-6px 1px}44%{translate:5px -4px}56%{translate:-4px 3px}70%{translate:3px -2px}85%{translate:-1px 1px}}
.stomp-announcement,.baron-arrival{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);width:max-content;max-width:100%;padding:12px 15px;color:#f0deb9;background:#141a16d9;border-block:1px solid #ac8d58;z-index:5;text-align:center;font:27px/1.1 'Knightle Herald';pointer-events:none;animation:dread-arrival .4s ease-out both}
.stomp-announcement small,.baron-arrival small{display:block;font:6px/1.6 'Knightle Quill';letter-spacing:1px;color:#b6ab8c}.baron-arrival strong{display:block;font:25px/1.3 'Knightle Herald';text-transform:none}.baron-arrival p{font:13px Georgia;margin:5px 0 0;color:#c7b2d4}
@keyframes dread-arrival{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.stage-combat .baron-combat .combat-head h1{text-transform:none;font-size:22px;letter-spacing:.5px}
.stage-combat .dread-combat .eight-runes .guess-row{gap:2px}.stage-combat .dread-combat .eight-runes .tile{font-size:16px}
.charred-row .tile,.charred-row .tile.crit,.charred-row .tile.hit{background:#262323!important;border-color:#584d43!important;box-shadow:inset 2px 2px #121414!important;color:#d2c6ac!important;filter:none!important}
.charred-row .tile:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(145deg,transparent 0 9px,#070a0b66 9px 11px);pointer-events:none}.charred-row .tile-letter{z-index:1;opacity:1!important;color:#d8cab0!important}
.light-tile:after{content:'';position:absolute;inset:-2px;border:2px solid #fff0b1;box-shadow:0 0 10px #f0d87e,inset 0 0 12px #ffe7a052;pointer-events:none;animation:judgment-glow 1.7s ease-in-out infinite}
@keyframes judgment-glow{50%{box-shadow:0 0 18px #f6e7a4,inset 0 0 12px #fff4c77a}}
.backstabbed-tile:after{content:'†';position:absolute;left:45%;top:-13px;color:#c9c6e0;text-shadow:2px 2px #29212f;font:34px Georgia;z-index:7;animation:rogue-dagger .8s .3s both}
@keyframes rogue-dagger{0%{transform:translateY(-25px) rotate(-20deg);opacity:0}30%{transform:translateY(8px) rotate(-20deg);opacity:1}70%{transform:translateY(8px) rotate(-20deg);opacity:1}100%{transform:translateY(10px) rotate(-20deg);opacity:0}}
.frozen-row .tile:after,.ice-released .tile:after{content:'';position:absolute;inset:-1px;background:linear-gradient(135deg,#dcffffc2 0 12%,#70badba9 12% 48%,#ddffffc9 49% 52%,#609ec8c9 53% 83%,#c4f4f9b0 84%);border:1px solid #b2f1fc;box-shadow:0 0 8px #79c1dd88;z-index:4;pointer-events:none}
.frozen-row .tile:after{animation:ice-grow .55s both;animation-delay:calc(var(--tile-index)*.07s)}
@keyframes ice-grow{from{scale:.5;opacity:0}to{scale:1;opacity:1}}
.ice-released.iceShatter .tile:after{animation:ice-fall 1.2s calc(var(--tile-index)*.06s) both}
@keyframes ice-fall{0%{transform:translate(0,0) rotate(0);opacity:1}18%{transform:translate(2px,-8px) rotate(12deg)}100%{transform:translate(12px,170px) rotate(85deg);opacity:0}}
.ice-released.iceBurst .tile:after{animation:ice-erupt 1.25s calc(var(--tile-index)*.025s) both}
@keyframes ice-erupt{0%,10%,20%,30%{transform:translateX(-2px);opacity:1}5%,15%,25%{transform:translateX(2px)}40%{transform:scale(1.15);filter:brightness(2)}100%{transform:translate(calc((var(--tile-index) - 2)*32px),-60px) rotate(65deg) scale(.3);opacity:0}}
.iceBurst .knight-status{animation:ice-health-hit 1.3s both}@keyframes ice-health-hit{35%{color:#ff988a;filter:drop-shadow(0 0 10px #ec5d61);scale:1.12}}
.ice-focus .critical-window{width:min(92vw,430px);padding:18px 20px 14px;border-color:#8db0b5;background:radial-gradient(ellipse at 50% 25%,#223b47,#101e25 72%);max-height:calc(100dvh - 30px);overflow-y:auto}
.ice-focus #timing-title{font-family:'Knightle Herald';font-size:31px;line-height:1.15;white-space:nowrap;word-break:normal;letter-spacing:1px;margin:8px 0;color:#dcf2ec}
.ice-focus .ice-art{height:115px;display:grid;place-items:center;margin:0 auto 5px}.ice-pick-art{width:115px;height:115px;overflow:visible;filter:drop-shadow(0 6px 10px #0006)}
.ice-crack{opacity:0}.ice-focus[data-cracks='1'] .crack-one,.ice-focus[data-cracks='2'] .ice-crack,.ice-focus[data-cracks='3'] .ice-crack{opacity:1}
.ice-hit .icepick{transform-origin:65px 18px;animation:icepick-strike .45s cubic-bezier(.3,0,.8,1) both}.ice-hit .ice-art{animation:pick-impact .45s both}
@keyframes icepick-strike{0%{rotate:-50deg}58%{rotate:16deg}75%{rotate:-8deg}100%{rotate:0deg}}
@keyframes pick-impact{55%{translate:0 0}65%{translate:3px 2px}78%{translate:-2px -1px}100%{translate:0 0}}
.ice-progress{display:flex;justify-content:space-between;font:7px/1.6 'Knightle Quill';color:#a2bac0;gap:14px;margin:8px 0 14px}.ice-progress b{color:#ecedc8;display:block;font-size:11px}
.ice-focus .ice-gauge{height:36px;margin-top:10px}.ice-focus .gauge-zones{background:linear-gradient(90deg,#3c4247 0 40%,#72ac69 40% 60%,#3c4247 60% 100%)!important}
.ice-focus .timing-copy{min-height:34px;margin:12px auto;font:14px/1.3 Georgia;color:#c4d7d7;max-width:280px}.ice-focus .timing-strike{min-width:225px;min-height:49px;margin-top:4px}.ice-focus .timing-controls{margin-top:9px}
.ice-test-controls{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;font:5px 'Knightle Quill';color:#94a7a8}.ice-test-controls button{font:6px 'Knightle Quill';padding:7px;background:#1e343b;border:1px solid #647b7f;color:#bcd9d2;cursor:pointer}
@media(orientation:landscape) and (max-height:500px){
 .stage-combat .dread-combat .rune-board-controls{width:calc(100% - 39px)}
 .stage-combat .dread-combat .combat-head h1{font-size:14px;letter-spacing:.4px}
 .stage-combat .slime-boards{gap:6px}.slime-half>button{font-size:4px}.slime-half>button small{font-size:3px}
 .dread-ability{max-width:160px;bottom:2px;padding:3px 5px}.dread-ability>span{font-size:12px}.dread-ability small{font-size:4px}.dread-ability i{font-size:17px}
 .ice-focus .critical-window{width:min(620px,94vw);padding:12px 18px;display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:20px}
 .ice-focus .eyebrow,.ice-focus #timing-title,.ice-focus .ice-art,.ice-focus .ice-progress{grid-column:1}.ice-focus .eyebrow{grid-row:1;font-size:5px}.ice-focus #timing-title{grid-row:2;font-size:20px;white-space:normal}.ice-focus .ice-art{grid-row:3/6;height:94px}.ice-focus .ice-pick-art{width:94px;height:94px}.ice-focus .ice-progress{grid-row:6;margin:0;font-size:5px}.ice-focus .ice-gauge{grid-column:2;grid-row:2}.ice-focus .timing-copy{grid-column:2;grid-row:3;margin:6px 0;font-size:12px;min-height:0}.ice-focus .timing-strike{grid-column:2;grid-row:4;margin:0;min-height:45px;min-width:0}.ice-focus .timing-controls{grid-column:2;grid-row:5;margin:8px 0 0}.ice-test-controls{grid-column:2;grid-row:6;margin:6px 0 0}
}
@media(prefers-reduced-motion:reduce){.megaStomp,.dread-combat.room-2.enemyAttack,.light-tile:after,.crushing-now .crushed-fragments i,.ice-hit .icepick,.ice-hit .ice-art{animation:none}.ice-released .tile:after{animation-duration:.15s!important}.baron-arrival,.stomp-announcement{animation:none}}
.stage-combat .combat.dread-combat .rune-board-controls{width:min(410px,calc(100vw - 32px));grid-template-columns:minmax(0,1fr) 8px 38px}
.stage-combat .combat.dread-combat .rune-board-controls>.guess-board{grid-column:1;max-width:310px}
.stage-combat .combat.dread-combat .rune-board-controls .slime-boards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:14px}
.stage-combat .combat.dread-combat .slime-half{height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:25px minmax(0,1fr)}
.stage-combat .combat.dread-combat .rune-board-controls .slime-half>.guess-board{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(var(--guess-rows,6),minmax(0,1fr));--rune-small:15px;--rune-large:19px}
.stage-combat .combat.dread-combat .slime-half>.guess-board>.guess-row{height:100%;min-height:0}
.stage-combat .combat.dread-combat .rune-board-controls>.consumable-belt{grid-column:3}
@media(orientation:landscape) and (max-height:500px){.stage-combat .combat.dread-combat .rune-board-controls{width:100%;grid-template-columns:minmax(0,1fr) 5px 32px}.stage-combat .combat.dread-combat .rune-board-controls .slime-boards{gap:6px}.stage-combat .combat.dread-combat .rune-board-controls .slime-half>.guess-board{--rune-small:11px;--rune-large:13px}}
.ice-focus .critical-window{box-sizing:border-box;overflow-x:hidden}
.stage-combat .combat.dread-combat .rune-board-controls .slime-half>.guess-board{grid-template-columns:minmax(0,1fr);justify-content:stretch}
.stage-combat .combat.dread-combat .rune-board-controls .eight-runes>.guess-row{width:100%;gap:2px}
.stage-combat .combat.dread-combat .rune-board-controls .eight-runes>.guess-row>.tile{width:auto;min-width:0;flex:1 1 0;font-size:clamp(12px,4vw,20px)}
.stage-combat .combat.dread-combat .rune-board-controls .guess-board>.guess-row:not(.ash-row):not(.crushed-row){grid-template-columns:repeat(var(--word-length),minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
.stage-combat .combat.dread-combat .guess-row.crushed-row{display:flex}

/* Leave the miniature second-phase dragon's whole silhouette visible. */
.baron-combat .dread-ability{top:43px;bottom:auto;max-width:205px}
@media(max-height:560px) and (orientation:landscape){.baron-combat .dread-ability{top:35px;max-width:145px}}
