:root{--color-board-dark:#5c1515;--color-board-light:#a85c3a;--color-board-border:#7a3030;--color-board-frame:#111;--color-board-env:#000;--color-accent:#5b2d8e;--color-accent-hover:#6d3aab;--color-accent-mid:#8b5cc8;--color-accent-light:#b08ed4;--color-accent-tint:#6b3aab1f;--color-accent-border:#6b3aab4d;--color-accent-glow:#6b3aab14;--color-rg-panel:#7a3030;--color-rg-panel-light:#8c3d3d;--color-rg-text:#c4837a;--color-rg-text-light:#dba89e;--color-rg-muted:#c4a09a;--color-rg-border:#c4837a4d;--color-rg-border-strong:#c4837a80;--color-rg-tint:#c4837a1f;--color-bg-page:#0a0a0a;--color-bg-page-deep:#050505;--color-bg-page-deeper:#020202;--font-title:"MedievalSharp", "Crimson Text", Georgia, serif;--font-ui:"Uncial Antiqua", "Crimson Text", Georgia, serif;--font-body:"Crimson Text", Georgia, serif;--color-text-primary:#f0ddd8;--color-text-muted:#c4a09a;--color-text-faint:#8c5a5a;--color-text-on-panel:#dba89e;--color-text-on-accent:#e8e0f5;--color-success:#2d6a4f;--color-danger:#8b1a1a;--color-shadow:#0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Josefin Sans,Arial,sans-serif}.font-display{font-family:Playfair Display,Georgia,serif}.font-body{font-family:Crimson Text,Georgia,serif}.font-ui{font-family:Josefin Sans,Arial,sans-serif}.game-screen{background:var(--color-bg-page);flex-direction:row;height:100vh;display:flex;overflow:hidden}.board-area{background-color:var(--color-board-env,#000);flex:1;justify-content:center;align-items:center;padding:6px;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.board-frame{background-color:var(--color-board-frame);border-radius:4px;padding:12px;position:relative;box-shadow:0 0 0 1px #c4837a4d,0 0 0 3px #111,0 0 0 4px #6b3aab33,0 20px 60px #000c}.board-corner{border:2px solid #c4837a;width:10px;height:10px;position:absolute}.player-panel{background:var(--color-rg-panel);border:1px solid #c4837a33;border-radius:6px;padding:10px 12px;transition:all .2s}.player-panel.eliminated{opacity:.4;filter:grayscale(.6)}.armoury-panel{background:var(--color-bg-page-deep);border-top:1px solid #c4837a33;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.unit-card{background:var(--color-rg-panel);text-align:center;cursor:pointer;border:1px solid #c4837a26;border-radius:5px;padding:6px 4px;transition:all .15s}.unit-card:hover:not(.disabled){border-color:#8b5cc8;transform:translateY(-1px)}.unit-card.disabled{opacity:.3;cursor:not-allowed}.action-log{background:var(--color-rg-panel);max-height:160px;color:var(--color-rg-muted);border:1px solid #c4837a33;border-radius:6px;padding:8px 10px;font-family:Crimson Text,serif;font-size:13px;line-height:1.5;overflow-y:auto}@keyframes waterRingFlow{0%{border-color:#5abfcf33}50%{border-color:#5abfcf99}to{border-color:#5abfcf33}}.water-ring-flow{animation:2s ease-in-out infinite waterRingFlow}@keyframes slowSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:4s linear infinite slowSpin}@keyframes burnOut{0%{opacity:1;filter:brightness()}50%{opacity:.8;filter:brightness(2)saturate(3)}to{opacity:0;filter:brightness(3)saturate(0)}}.burn-animation{animation:.2s forwards burnOut}@keyframes fillBar{0%{width:0}to{width:100%}}@keyframes zonePulse{0%,to{opacity:1;transform:scale(1.05)}50%{opacity:.7;transform:scale(1)}}.zone-active{animation:.8s infinite zonePulse}@keyframes modalEnter{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes badgeShimmer{0%{opacity:1;box-shadow:0 0}50%{opacity:.85;box-shadow:0 0 8px 2px}to{opacity:1;box-shadow:0 0}}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-rg-panel);border:2px solid #c4837a66;border-radius:10px;width:90vw;max-width:440px;padding:28px 32px;animation:.2s modalEnter;box-shadow:0 25px 80px #000c,0 0 0 1px #6b3aab26}@media (width<=768px){.game-screen{flex-direction:column}.board-area{flex:none;width:100%;padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dice-overlay{z-index:30;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:12px;padding:28px 32px 0 0;display:flex;position:absolute;inset:0}@keyframes diceScrimIn{0%{opacity:0}to{opacity:1}}.dice-round-label{letter-spacing:.3em;color:#f0ece473;text-transform:uppercase;font-family:Uncial Antiqua,serif;font-size:11px}.dice-row{align-items:center;gap:36px;display:flex}.die-scene{perspective:400px;width:84px;height:84px}.die-cube{width:84px;height:84px;transform-style:preserve-3d;animation:1.8s forwards diceRoll;position:relative}.die-face{backface-visibility:hidden;background:#1a1612eb;border:1.5px solid #f0ece42e;border-radius:10px;justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:absolute;box-shadow:inset 0 0 0 1px #f0ece40f,0 4px 24px #0009}.die-face-front{transform:rotateY(0)translateZ(42px)}.die-face-back{transform:rotateY(180deg)translateZ(42px)}.die-face-right{transform:rotateY(90deg)translateZ(42px)}.die-face-left{transform:rotateY(-90deg)translateZ(42px)}.die-face-top{transform:rotateX(90deg)translateZ(42px)}.die-face-bottom{transform:rotateX(-90deg)translateZ(42px)}.die-face-glyph{filter:drop-shadow(0 1px 4px #000c);font-size:28px;line-height:1}.die-face-name{letter-spacing:.1em;color:#f0ece48c;text-align:center;margin-top:3px;font-family:Uncial Antiqua,serif;font-size:7px}.die-face-inner{flex-direction:column;align-items:center;gap:2px;display:flex}.die-face[data-piece=checker]{background:#101c2af0}.die-face[data-piece=pawn]{background:#101e14f0}.die-face[data-piece=knight]{background:#241a0af0}.die-face[data-piece=bishop]{background:#1c1024f0}.die-face[data-piece=rook]{background:#260e0ef0}.die-face[data-piece=queen]{background:#26121af0}.die-pip-grid{width:48px;height:48px;padding:4px;display:grid}.die-pip{background:#f0ece4cc;border-radius:50%;place-self:center;width:8px;height:8px;box-shadow:0 1px 3px #0009}.die-pips-1{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.die-pips-1 .die-pip:first-child{grid-area:2/2}.die-pips-2{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.die-pips-2 .die-pip:first-child{grid-area:1/1}.die-pips-2 .die-pip:nth-child(2){grid-area:2/2}.die-pips-3{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.die-pips-3 .die-pip:first-child{grid-area:1/1}.die-pips-3 .die-pip:nth-child(2){grid-area:2/2}.die-pips-3 .die-pip:nth-child(3){grid-area:3/3}.die-pips-4{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.die-pips-5{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr)}.die-pips-5 .die-pip:first-child{grid-area:1/1}.die-pips-5 .die-pip:nth-child(2){grid-area:1/3}.die-pips-5 .die-pip:nth-child(3){grid-area:2/2}.die-pips-5 .die-pip:nth-child(4){grid-area:3/1}.die-pips-5 .die-pip:nth-child(5){grid-area:3/3}.die-pips-6{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr)}.die-face-multiplier{color:#f59e0b;text-shadow:0 0 16px #f59e0b99;font-family:MedievalSharp,Uncial Antiqua,serif;font-size:30px;line-height:1}.dice-result-label{letter-spacing:.18em;text-align:center;opacity:0;font-family:Uncial Antiqua,serif;font-size:14px;line-height:1.5;animation:.4s 3.6s forwards diceResultIn}.dice-result-label.supply{color:#f0ece4}.dice-result-label.multiplier{color:#f59e0b}.dice-result-sublabel{color:#f0ece473;letter-spacing:.06em;opacity:0;margin-top:4px;font-family:Crimson Text,serif;font-size:11px;font-style:italic;animation:.4s 3s forwards diceResultIn}@keyframes diceResultIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes diceRoll{0%{transform:rotateX(0)rotateY(0)rotate(0)}8%{transform:rotateX(140deg)rotateY(80deg)rotate(20deg)}18%{transform:rotateX(260deg)rotateY(200deg)rotate(55deg)}28%{transform:rotateX(410deg)rotateY(310deg)rotate(30deg)}38%{transform:rotateX(580deg)rotateY(460deg)rotate(80deg)}50%{transform:rotateX(720deg)rotateY(590deg)rotate(110deg)}62%{transform:rotateX(900deg)rotateY(740deg)rotate(145deg)}74%{transform:rotateX(1040deg)rotateY(900deg)rotate(160deg)}86%{transform:rotateX(1180deg)rotateY(1040deg)rotate(180deg)}to{transform:rotateX(1320deg)rotateY(1160deg)rotate(200deg)}}@keyframes diceSettle{0%{transform:rotateX(1320deg)rotateY(1160deg)rotate(200deg)}to{transform:rotateX(var(--settle-x)) rotateY(var(--settle-y)) rotateZ(0deg)}}.die-cube.settling{animation:1s cubic-bezier(.25,.46,.45,.94) forwards diceSettle}.dice-separator{letter-spacing:.14em;color:#f0ece447;font-family:Uncial Antiqua,serif;font-size:11px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes fireFlicker{0%,to{opacity:.88;transform:scale(1)}50%{opacity:.72;transform:scale(.92)}}@keyframes teleportPulse{0%,to{opacity:.62}50%{opacity:.3}}@keyframes kingCaptureIn{0%{opacity:0;transform:scale(.75)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes kingPulse{0%,to{opacity:.65}50%{opacity:.25}}
