:root{color-scheme:dark;--ink:#e8dcc2;--muted:#af9d7b;--gold:#baa16a;--brass:#8e713b;--wood:#3c2515;--deep:#120b07;--card-w:clamp(36px,5.15vw,75px);--font:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--ink)}body{background:#100b08;background-image:radial-gradient(ellipse at 50% 35%,#402b1a77 0,transparent 60%),repeating-linear-gradient(92deg,#181009 0,#181009 2px,#100b07 3px,#21150c 5px,#130d09 8px);overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ecd699}button{color:var(--ink)}.tavern-glow{pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 0 35%,#b56f2822,transparent 40%),radial-gradient(ellipse at 100% 75%,#dfad3520,transparent 40%);z-index:-1}.game-header{height:64px;max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #a0844726}.home-link{color:#baab8e;text-decoration:none;font-size:22px}.home-link span{font-size:15px;margin-left:4px}.wordmark{font-size:27px;letter-spacing:.15em;text-shadow:0 2px #000;color:#d2bc83}.wordmark span{font-size:10px;letter-spacing:.17em;text-transform:uppercase;display:block;color:#8e7d5e;text-align:center;margin-top:3px}.game-header nav{display:flex;gap:7px}.quiet-button{border:1px solid #8b71373d;background:#21150d99;border-radius:2px;padding:7px 12px;color:#b6a685;font-size:13px}.quiet-button:hover{color:#f1ddb0;border-color:#9c844b}.game-main{width:100%;max-width:1480px;margin:auto;padding:18px 26px 12px}.board-shell{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;display:grid;grid-template-columns:24% 58% 18%;padding:3.5% 0 5%;background-color:#382112;background-image:radial-gradient(ellipse at 50% 60%,#a2713040,transparent 63%),linear-gradient(90deg,#170d08bb,transparent 24%,transparent 77%,#160d08bb),repeating-linear-gradient(0deg,transparent 0,transparent 42px,#0c070533 43px,#6a412533 44px,transparent 46px),repeating-linear-gradient(87deg,#4f311a33 0,#291b1066 2px,#69462733 4px,transparent 7px,#160e0522 9px,transparent 15px);border:2px solid #51402a;outline:1px solid #100904;box-shadow:0 20px 45px #0009,inset 0 0 25px 13px #080401b3,inset 0 0 0 5px #291a0d,inset 0 0 0 7px #4f3b23;user-select:none}.board-shell:before{content:'';position:absolute;inset:7px;pointer-events:none;border:1px solid #a187483b;box-shadow:inset 0 0 15px #000}.board-shell:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.2;mix-blend-mode:screen;background-image:repeating-linear-gradient(5deg,transparent 0,transparent 17px,#96714617 18px,transparent 19px),repeating-linear-gradient(176deg,transparent 0,transparent 23px,#130a0566 24px,transparent 25px);z-index:8}.side-panel{display:grid;grid-template-rows:1.12fr .75fr 1.05fr .8fr 1.14fr;position:relative;border-right:4px ridge #634a2d;padding-right:7%;margin-top:-11%;margin-bottom:-10%}.side-panel:after{content:'';position:absolute;right:2px;top:0;bottom:0;width:2px;background:linear-gradient(#9e835166,#ac865922,#9e835166);box-shadow:3px 0 4px #0009}.leader-slot{display:flex;align-items:center;justify-content:center;position:relative}.leader-slot .game-card{height:80%;max-height:100px;width:auto;aspect-ratio:410/590;filter:sepia(.07);border:3px ridge #715432;box-shadow:0 0 0 3px #21170d,0 3px 12px #000c}.leader-slot .game-card.used{filter:grayscale(.75) brightness(.55)}.leader-used-mark{position:absolute;left:calc(50% + 43px);top:42%;font-size:18px;color:#7a2920;border:2px solid #754032;border-radius:50%;height:25px;width:25px;text-align:center;line-height:20px;background:#301812;box-shadow:0 1px 3px #000}.player-status{display:flex;align-items:center;padding:0 8% 0 12%;gap:7%;position:relative;min-width:0;background:linear-gradient(90deg,#110d0bee,#1b1712a6,#2a1b0bb3);box-shadow:0 -2px 0 #79634455,0 2px 0 #79634455,inset 0 8px 12px #0007,inset 0 -4px 8px #0007}.player-portrait{height:77%;aspect-ratio:1;border-radius:50%;border:3px solid #a39575;background:#291e13;box-shadow:0 0 0 2px #080806,inset 0 0 9px #000;position:relative;flex:none;overflow:visible}.player-portrait .avatar-symbol{height:100%;display:grid;place-items:center;color:#c9b27f;font-size:clamp(21px,3vw,43px);background:radial-gradient(circle at 50% 40%,#a7916766,#25221f);border-radius:50%}.player-portrait .avatar-image{height:100%;width:100%;object-fit:cover;object-position:center 15%;border-radius:50%}.crest-small{position:absolute;bottom:-6%;left:-8%;width:42%;aspect-ratio:1;display:grid;place-items:center;border:1px solid #b7a173;border-radius:0 0 50% 50%;background:var(--faction-color,#31446b);color:#e4d8b3;font-size:clamp(10px,1.1vw,16px);text-shadow:1px 1px #000}.status-copy{min-width:0;flex:1}.player-name{font-size:clamp(11px,1.25vw,18px);font-weight:bold;color:#e0c995;white-space:nowrap}.faction-name{color:#968769;font-size:clamp(8px,.88vw,13px);white-space:nowrap;margin-top:1px}.status-counters{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:clamp(11px,1.2vw,17px);color:#b7a37a}.hand-count{display:flex;align-items:center;gap:4px;margin-right:auto}.hand-glyph{display:inline-block;transform:rotate(-15deg);font-size:1.25em;color:#c1ad75}.life-gem{height:clamp(9px,1.45vw,20px);width:clamp(9px,1.45vw,20px);display:inline-block;clip-path:polygon(25% 0,75% 0,100% 27%,93% 75%,70% 100%,26% 93%,0 69%,0 25%);background:conic-gradient(from 20deg,#ef7081,#a92b49,#e76b78,#6a1830,#ee506b,#e79092);box-shadow:inset 0 0 4px #fff8;filter:drop-shadow(0 0 2px #000)}.life-gem.lost{background:#392c28;filter:brightness(.75)}.total-score{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:clamp(30px,4.1vw,59px);aspect-ratio:1;display:grid;place-items:center;font-size:clamp(16px,2.1vw,30px);font-weight:bold;background:radial-gradient(circle,#b8d1c8 0,#9ab8b6 53%,#303d3a 58%,#b7c2a2 62%,#463922 69%,transparent 72%);color:#111c18;z-index:3;text-shadow:0 1px #f7ffe0}.own-status .total-score{background:radial-gradient(circle,#dac886 0,#b7a369 53%,#584328 58%,#d0ba75 62%,#463922 69%,transparent 72%);color:#251a08}.total-score.leading:after{content:'❧';position:absolute;inset:-9px -10px;color:#c4ae6d;font-size:clamp(29px,4.7vw,67px);line-height:1.1;z-index:-1}.passed-indicator{position:absolute;right:14%;bottom:-13px;font-size:9px;letter-spacing:.12em;color:#d5bd82;text-transform:uppercase;background:#241910;padding:2px 7px;border:1px solid #6d5431;z-index:2}.weather-frame{position:relative;margin:9% 6% 7% 24%;border:6px ridge #5d442c;box-shadow:0 0 0 3px #26180e,0 2px 0 5px #6c4e2c55,inset 0 5px 17px #080503;background:#1a110abf;display:flex;align-items:center;justify-content:center}.weather-label{position:absolute;bottom:-18px;letter-spacing:.2em;text-transform:uppercase;font-size:8px;color:#8f7553}.weather-cards{display:flex;align-items:center;justify-content:center;gap:3px;height:84%;width:96%}.weather-cards .game-card{height:100%;width:auto;aspect-ratio:410/580;max-width:40%}.weather-placeholder{font-size:clamp(22px,4vw,56px);color:#98784635}.table-panel{margin-left:9%;display:grid;grid-template-rows:1fr 15%;gap:1.5%;min-width:0;position:relative}.battlefield{display:grid;grid-template-rows:repeat(6,1fr);gap:1.9%;min-height:0}.combat-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;border:2px ridge #805d35;background:linear-gradient(0deg,#281609a3,#74532c48 25%,#8a62314d 80%,#3926134d);box-shadow:inset 0 0 13px #080401a8,0 1px 4px #0a0503b3}.combat-row.enemy{background:linear-gradient(0deg,#301909a3,#55321755 30%,#79553466 85%,#2d1a0d55)}.combat-row[data-row="melee"][data-player="0"]:before{content:'';position:absolute;left:-13%;right:-4%;top:-10%;height:2px;background:#b5955666;box-shadow:0 2px 3px #0009;pointer-events:none}.row-hit{position:absolute;inset:0;width:100%;border:0;background:transparent;z-index:1}.row-hit:disabled{opacity:1}.combat-row.playable{border-color:#d1b575;box-shadow:inset 0 0 15px #d5b25755,0 0 6px #d5b25755}.combat-row.playable .row-hit:hover{background:#d2b16320}.row-icon{position:absolute;left:49%;top:50%;transform:translate(-50%,-50%);font-size:clamp(23px,3.1vw,47px);opacity:.13;color:#a58b57;text-shadow:0 2px #000;pointer-events:none}.row-icon.siege{font-size:clamp(19px,2.4vw,36px)}.row-score{position:absolute;left:-7.5%;top:50%;transform:translateY(-50%);width:clamp(22px,2.9vw,42px);aspect-ratio:1;display:grid;place-items:center;background:radial-gradient(ellipse,#bbcdc6 0,#a5b9b1 56%,#2e3d34 63%,#b1c6b2 70%,#635c38 75%);font-size:clamp(11px,1.42vw,21px);color:#23342d;font-weight:bold;text-shadow:0 1px #dde9d0;border-radius:50%;box-shadow:0 2px 4px #000a;z-index:3}.combat-row.own .row-score{background:radial-gradient(ellipse,#d0c28b 0,#c4b378 56%,#65552d 63%,#b7a87a 70%,#635c38 75%);color:#443611}.row-score:before{content:'';position:absolute;right:-7%;top:-40%;bottom:-40%;width:7%;border-radius:50%;background:linear-gradient(#b1af8d,#625439 15%,#746244 85%,#a09c81);z-index:-1;box-shadow:1px 0 3px #000}.row-special-slot{position:absolute;left:2%;top:10%;bottom:10%;width:9.5%;display:grid;place-items:center;border:1px solid #6b4b295c;box-shadow:inset 0 0 8px #1a0c0955;border-radius:2px;color:#80674377;font-size:clamp(18px,2.3vw,33px);z-index:2}.row-special-slot .game-card{height:100%;width:100%}.row-cards{display:flex;justify-content:center;align-items:center;height:96%;gap:3px;position:relative;max-width:87%;margin-left:9%;z-index:2;min-width:0}.game-card{display:block;position:relative;padding:0;border:1px solid #a1956c;background:#312920;width:var(--card-w);height:100%;aspect-ratio:410/580;overflow:hidden;flex-shrink:0;box-shadow:0 2px 4px #000a;transition:transform .13s,filter .13s,box-shadow .13s;border-radius:0;text-align:left;color:#eee}.game-card img{display:block;width:100%;height:auto;position:absolute;top:0;left:0;pointer-events:none}.game-card:hover{filter:brightness(1.13);z-index:4;box-shadow:0 0 0 2px #bca77488,0 4px 11px #000b}.game-card:focus-visible{z-index:5;outline-offset:1px}.game-card.selected{transform:translateY(-8%);box-shadow:0 0 0 2px #d7be7f,0 0 15px #e6c77688;z-index:5}.game-card.targetable{box-shadow:0 0 0 2px #dcbd68,0 0 11px #e9c96a7a}.game-card.targetable:hover{transform:translateY(-4%)}.strength-badge{position:absolute;top:1%;left:1%;min-width:25%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f8f6de 0,#e4ddc2 61%,#8b896b 72%,#e4dbb6 83%);color:#2b281b;display:grid;place-items:center;font-size:clamp(8px,1vw,15px);font-weight:bold;z-index:1;border:1px solid #7b7761;text-shadow:0 1px #fff}.hero .strength-badge{background:radial-gradient(circle,#383225 0,#363327 59%,#c8aa56 65%,#a1853f 85%);color:#f5dd8c}.strength-badge.modified{background:radial-gradient(circle,#e3c34e,#b29e38);color:#231a07}.strength-badge.weakened{background:radial-gradient(circle,#dde5e1,#829699);color:#263b3e}.card-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse,#88744a,#2f2418);padding:12% 5%;text-align:center;border:2px solid #77603a}.card-fallback .fallback-symbol{font-size:clamp(15px,3vw,46px);color:#b9a377}.card-fallback .fallback-name{font-size:clamp(6px,.6vw,10px);margin-top:auto;color:#dbc89a}.hand-frame{position:relative;margin-top:0;border:3px ridge #a17e3e;background:linear-gradient(0deg,#71502255,#553d2077);box-shadow:inset 0 4px 8px #160c04a3,0 0 0 2px #211206;min-height:0;display:flex;justify-content:center;align-items:center}.hand-cards{height:96%;display:flex;align-items:center;justify-content:center;width:99%;gap:3px;min-width:0}.hand-cards .game-card{height:100%;width:auto;max-width:var(--card-w);aspect-ratio:410/580}.hand-label{position:absolute;bottom:-17px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#aa8853}.pile-panel{position:relative;margin-left:8%;margin-right:12%;display:grid;grid-template-rows:1fr 1fr 1fr}.pile-group{display:flex;align-items:flex-start;justify-content:space-between;gap:16%;min-width:0}.own-piles{align-items:flex-end}.pile-button{position:relative;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;width:42%;height:auto;aspect-ratio:410/610}.pile-button.deck-pile{border:3px ridge #b6974b;box-shadow:0 2px 5px #0009;background:var(--faction-color,#284772)}.pile-button.discard-pile{border:2px solid #2b190d;box-shadow:inset 0 0 10px #110805;background:#26170977;margin-top:3px}.pile-button .game-card{height:100%;width:100%;pointer-events:none;border:0}.deck-face{position:absolute;inset:5%;border:1px solid #dbc37188;background:radial-gradient(ellipse at center,#ebe1b650,transparent 60%),repeating-linear-gradient(45deg,transparent 0,transparent 3px,#eee3bb09 4px,#eee3bb09 5px);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.deck-face:before,.deck-face:after{content:'';position:absolute;height:8%;width:110%;background:#ceb479;box-shadow:0 0 2px #000}.deck-face:before{top:3%;transform:rotate(6deg)}.deck-face:after{bottom:3%;transform:rotate(-6deg)}.deck-crest{width:85%;aspect-ratio:1;display:grid;place-items:center;border:2px solid #d0be83;border-radius:50%;color:#ddd1a0;text-shadow:0 2px 2px #000;font-size:clamp(20px,3vw,44px)}.pile-count{position:absolute;bottom:-2%;left:14%;right:14%;border:1px solid #73603c;background:#1e1d17ed;font-size:clamp(11px,1.3vw,19px);color:#e9dcae;line-height:1.1;z-index:3}.pile-label{position:absolute;bottom:-18px;left:-30%;right:-30%;color:#927a52;letter-spacing:.14em;font-size:8px;text-align:center;text-transform:uppercase}.discard-symbol{font-size:clamp(18px,2.7vw,40px);color:#60472977}.table-ornament{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.19;gap:15px;color:#bb9a59;font-size:26px}.table-ornament i{height:40%;width:1px;background:linear-gradient(transparent,#b6a16a,transparent)}.game-actionbar{display:flex;align-items:center;margin-top:13px;gap:18px;height:42px}.round-marker{color:#b39a68;font-size:12px;font-weight:bold;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.game-message{color:#c0af8e;font-size:14px;text-align:center;flex:1}.brass-button{border:1px solid #b9a16a;box-shadow:inset 0 0 0 2px #2f2112,inset 0 0 0 3px #8f753b66,0 2px 5px #0006;background:linear-gradient(#78572b,#4b311b);padding:12px 24px;color:#f0ddb0;border-radius:1px;letter-spacing:.03em;text-shadow:0 1px 2px #000;font-weight:bold}.brass-button:hover:not(:disabled){background:linear-gradient(#97723a,#664622);border-color:#dfc992}.pass-button{padding:10px 24px;min-width:120px;font-size:13px}.pass-button kbd{margin-left:9px;color:#a78d57;font-size:9px;font-weight:normal;letter-spacing:.04em}.selection-strip{min-height:35px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:#aa9b7f;text-align:center}.selection-strip strong{color:#ddc89b}.selection-strip button{border:1px solid #816d45;background:#2c2115;padding:5px 10px;font-size:11px}.selection-strip .selection-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%,20px);background:#302416;border:1px solid #9b804d;color:#ead6a9;padding:11px 20px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:30;box-shadow:0 3px 15px #000b}.toast.visible{opacity:1;transform:translate(-50%,0)}

/* The dialogs use the same carved brass and parchment as the table. */
dialog{color:var(--ink)}dialog::backdrop{background:#070503c9;backdrop-filter:blur(3px)}.parchment-dialog{border:2px solid #9c7d45;outline:1px solid #221508;box-shadow:0 0 0 5px #312215,0 0 0 6px #625032,0 20px 70px #000b,inset 0 0 28px #100901;max-height:90vh;background-color:#2b2116;background-image:radial-gradient(ellipse at 40% 20%,#9371442b,transparent 75%),repeating-linear-gradient(3deg,transparent 0,transparent 3px,#bca77705 4px,#c5a97308 5px);padding:32px;border-radius:0}.dialog-close{position:absolute;right:14px;top:9px;background:transparent;border:0;font-size:29px;line-height:1;color:#bba379;padding:4px 7px;z-index:10}.dialog-close:hover{color:#f0d5a2}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#b79b68;margin:0 0 9px}h1,h2,h3,p{margin-top:0}h2{font-size:28px;font-weight:normal;color:#e6cea0;margin-bottom:17px}h3{font-size:16px;color:#dcc397;font-weight:normal}.outline-button{border:1px solid #93784c;background:#21180e88;padding:11px 18px;color:#ceb88d;border-radius:1px}.outline-button:hover{background:#42311b;border-color:#ccb17a}.text-button{border:0;background:transparent;color:#ad9568;padding:10px 15px;font-size:12px}.text-button:hover{color:#efd49f}.menu-dialog{width:460px;text-align:center;padding:35px 45px 25px}.dialog-ornament{font-size:27px;color:#b09456;text-align:center;margin-bottom:14px;text-shadow:0 2px #000}.menu-dialog h1{font-size:76px;letter-spacing:.11em;color:#d6bd82;line-height:1;margin:14px 0 12px;text-shadow:0 3px #080500,0 0 20px #b5a16722}.menu-tagline{color:#b6a17b;font-size:14px}.menu-rule{height:1px;background:linear-gradient(90deg,transparent,#8e713c,transparent);margin:23px 0}.menu-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;text-align:left;margin-bottom:21px}.menu-fields label:last-child{grid-column:1/-1}label{font-size:11px;letter-spacing:.04em;color:#ad9872}select,input{display:block;width:100%;padding:9px 10px;border:1px solid #78633f;background:#19140edb;color:#decaa5;border-radius:1px;margin-top:6px;font-size:13px;min-height:36px}select{cursor:pointer}.primary-button{width:100%;font-size:16px}.primary-button span{float:right;color:#c6af77;font-size:11px;margin-top:3px}.menu-dialog>.outline-button{width:100%;margin-top:10px}.menu-footnote{font-size:10px;margin:15px 0;color:#8f7c5b;letter-spacing:.08em}.fan-credit{font-size:9px;line-height:1.65;color:#756a56;margin:24px 0 0}.builder-dialog{width:1160px;max-width:95vw;padding:27px 30px 20px;overflow-y:auto}.builder-heading{display:flex;justify-content:space-between;align-items:center;margin-right:25px}.builder-heading h2{margin-bottom:16px}.builder-heading .outline-button{font-size:12px}.faction-tabs{display:flex;border-bottom:1px solid #8d734744;margin-bottom:15px;gap:3px}.faction-tab{background:#19130d;border:1px solid #705b3b;border-bottom:0;padding:11px 14px;flex:1;font-size:12px;color:#a3906e}.faction-tab.active{background:linear-gradient(#5d4727,#382c1e);color:#e6d2a8;border-color:#bea168;box-shadow:inset 0 3px var(--faction-color)}.faction-tab span{margin-right:5px}.builder-summary{display:grid;grid-template-columns:1fr 1.2fr auto;gap:25px;align-items:center;margin-bottom:19px}.builder-summary label select{font-size:12px}.faction-perk{font-size:12px;line-height:1.6;color:#a89775}.faction-perk strong{display:block;color:#d6bf93;font-weight:normal}.deck-counts{display:flex;gap:17px;text-align:center}.deck-counts strong{display:block;font-size:25px;font-weight:normal;color:#ddc796}.deck-counts span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#a48b60}.builder-columns{display:grid;grid-template-columns:1fr 280px;gap:24px;min-height:0}.collection-controls{display:grid;grid-template-columns:1fr 150px;gap:12px;margin-bottom:14px}.collection-controls input,.collection-controls select{margin:0;font-size:12px}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px 9px;overflow:auto;height:clamp(240px,41vh,430px);padding:4px 5px 10px 1px;scrollbar-width:thin;scrollbar-color:#907748 #23180e}.collection-entry{min-width:0;text-align:center}.collection-entry .collection-card{display:block;width:100%;aspect-ratio:410/775;position:relative;background:#271b10;border:1px solid #8c7850;padding:0;overflow:hidden;box-shadow:0 2px 5px #0009}.collection-card img{height:100%;width:100%;object-fit:contain}.collection-name{height:26px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#c1ad87;margin:5px 0 0;line-height:1.3}.copy-controls{display:flex;align-items:center;justify-content:space-between;border:1px solid #6d5835;background:#1c160e;color:#bca778;font-size:11px;margin-top:5px;height:24px}.copy-controls button{border:0;background:#403019;color:#ddc18e;width:27px;height:100%;padding:0}.copy-controls button:hover:not(:disabled){background:#75592f}.collection-entry.maxed .collection-card{opacity:.58}.chosen-panel{border-left:1px solid #80653c66;padding-left:19px}.chosen-panel h3{display:flex;justify-content:space-between;margin-bottom:12px}.chosen-panel h3 span{font-size:13px;color:#a99366}.chosen-list{height:clamp(286px,calc(41vh + 50px),480px);overflow:auto;scrollbar-width:thin;scrollbar-color:#907748 #23180e}.chosen-entry{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #80653c30;color:#c4af85;font-size:11px}.chosen-entry .chosen-name{background:transparent;border:0;text-align:left;flex:1;color:inherit;padding:0}.chosen-entry .chosen-strength{color:#d9c396;width:17px;text-align:center}.chosen-entry .chosen-copy{color:#977e55;font-size:10px;white-space:nowrap}.chosen-entry .remove-card{background:transparent;border:1px solid #7b613b;color:#c4a36d;width:21px;height:21px;padding:0}.empty-deck{color:#8f7c5b;font-size:12px;line-height:1.8;padding-top:16px}.builder-footer{margin-top:17px;padding-top:17px;border-top:1px solid #80653c55;display:flex;align-items:center;justify-content:space-between;gap:20px}#deck-validation{font-size:11px;color:#ae946b;line-height:1.5}.valid-deck{color:#c5d19b!important}.builder-actions{display:flex;gap:9px;flex:none;font-size:12px}.inspect-dialog{width:690px;max-width:94vw;display:none;grid-template-columns:245px 1fr;gap:27px;padding:30px}.inspect-dialog[open]{display:grid}.inspect-art{width:100%;aspect-ratio:410/775;box-shadow:0 8px 15px #0009;border:2px ridge #b09763;background:#20170e}.inspect-art img{width:100%;height:100%;object-fit:contain;display:block}.inspect-copy{padding:25px 0 12px;align-self:center}.inspect-copy h2{font-size:30px;line-height:1.1;margin-bottom:16px}.inspect-copy p{font-size:13px;line-height:1.7;color:#bba582}.inspect-copy .eyebrow{font-size:9px;color:#b79b68}.inspect-stats{border-top:1px solid #7f663f;border-bottom:1px solid #7f663f;padding:11px 0;color:#e0c798!important}.ability-tag{display:inline-block;margin:0 5px 7px 0;padding:5px 8px;border:1px solid #796442;background:#20170f;font-size:10px;color:#cab185}.inspect-actions{margin-top:15px}.inspect-actions button{margin-top:9px;width:100%;font-size:12px;padding:10px 12px}.mulligan-dialog{width:1050px;max-width:95vw;text-align:center;padding:35px}.mulligan-dialog>p:not(.eyebrow){font-size:13px;color:#b49c73}.mulligan-cards{display:flex;align-items:center;justify-content:center;gap:7px;margin:25px 0 28px;flex-wrap:wrap}.mulligan-card{width:calc((100% - 63px)/10);min-width:60px;max-width:95px;aspect-ratio:410/775;border:1px solid #957b4b;position:relative;padding:0;background:#211509}.mulligan-card img{width:100%;height:100%;object-fit:contain;display:block}.mulligan-card:hover{transform:translateY(-5px);box-shadow:0 0 0 2px #c3a66b}.mulligan-card:after{content:'↻';position:absolute;bottom:-9px;left:calc(50% - 11px);width:22px;height:22px;border-radius:50%;border:1px solid #a78b50;background:#342415;color:#dbc08a}.dialog-footer{display:flex;justify-content:center;gap:12px}.choice-dialog{width:900px;max-width:94vw;text-align:center}.choice-dialog p{font-size:13px;color:#b49c73}.choice-options{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:24px}.choice-option{width:100px;display:flex;flex-direction:column;gap:7px}.choice-option .collection-card{width:100%;aspect-ratio:410/775;border:1px solid #957b4b;background:#211509;padding:0}.choice-option .collection-card img{width:100%;height:100%;object-fit:contain}.choice-option span{font-size:11px;line-height:1.4;color:#cab28b}.choice-option .outline-button{padding:7px;font-size:10px}.starter-options{display:flex;gap:20px;justify-content:center;padding:20px}.result-dialog{width:440px;max-width:92vw;text-align:center;padding:33px}.result-dialog h2{font-size:38px;margin-bottom:18px}.result-dialog>p{font-size:13px;line-height:1.6;color:#ac9772}.result-dialog .eyebrow{font-size:10px}.result-scores{display:flex;gap:20px;justify-content:center;align-items:center;padding:20px 0;margin-bottom:17px;border-top:1px solid #80653c66;border-bottom:1px solid #80653c66}.result-scores>div{flex:1;font-size:11px;color:#b6a07a}.result-scores strong{display:block;font-size:44px;font-weight:normal;color:#e0c996;margin-bottom:5px}.result-scores>span{font-size:14px;color:#88734c}.pile-dialog{width:930px;max-width:93vw}.pile-dialog h2{text-align:center}.help-dialog{width:680px;max-width:94vw;padding:35px}.help-dialog p,.help-dialog li{font-size:13px;color:#c2ad87;line-height:1.8}.help-dialog ol{padding-left:23px;margin:20px 0}.help-dialog li{margin-bottom:12px;padding-left:5px}.help-dialog strong{color:#e2c89c}.keyboard-help{padding-top:18px;border-top:1px solid #816a4444}.faction-rules{font-size:11px!important;color:#a7916a!important}.help-dialog>.brass-button{display:block;margin:20px auto 0}kbd{font-family:inherit;border:1px solid #846d4144;padding:1px 4px;font-size:.86em;color:#d3ba87}.fixture-mode .game-header{height:44px}.fixture-mode .game-main{padding-top:10px}.fixture-mode .game-actionbar{margin-top:8px}.no-motion *{transition:none!important;animation:none!important}.empty-hand{color:#a18550;font-size:12px;letter-spacing:.09em}.hidden{display:none!important}

@media(min-width:701px){
  .board-shell{display:block;padding:0;border:0;outline:1px solid #3d2b1b;background:#2c190c url('./assets/board.webp') center/100% 100% no-repeat;box-shadow:0 17px 45px #000b,inset 0 0 10px #08040155}
  .board-shell:before,.board-shell:after{display:none}
  .side-panel{position:absolute;left:0;top:0;width:23.6%;height:100%;margin:0;padding:0;border:0;display:block}.side-panel:after{display:none}
  .leader-slot{position:absolute;left:29.5%;width:25.7%;height:13.8%}.opponent-leader{top:6.7%}.own-leader{top:76.5%}
  .leader-slot .game-card{height:100%;width:100%;max-height:none;max-width:none;border:1px solid #9d8d6466;box-shadow:0 1px 5px #000b;aspect-ratio:410/580}.leader-used-mark{left:115%;top:42%;width:19px;height:19px;font-size:13px;line-height:15px}
  .player-status{position:absolute;left:0;width:100%;height:12.4%;padding:0 12% 0 23%;gap:6%;background:linear-gradient(90deg,#0c0c0cdd,#1c1a1799,#21170b77);box-shadow:0 -2px 0 #9b835355,0 2px 0 #9b835344,inset 0 7px 10px #0005,inset 0 -4px 8px #0005}
  .opponent-status{top:25.7%}.own-status{top:62.6%}.player-portrait{height:86%;border-width:2px}.player-name{font-size:clamp(10px,1.15vw,17px)}.faction-name{font-size:clamp(8px,.8vw,12px)}.status-counters{margin-top:4px;font-size:clamp(10px,1.1vw,16px);gap:5px}.life-gem{height:clamp(9px,1.5vw,21px);width:clamp(9px,1.5vw,21px)}
  .total-score{right:-6.6%;width:13.2%;font-size:clamp(16px,2vw,30px)}.total-score.leading:after{font-size:clamp(29px,4.5vw,67px);inset:-8px -10px}
  .weather-frame{position:absolute;left:27.1%;top:40.4%;width:65.4%;height:15.4%;margin:0;border:0;background:transparent;box-shadow:none}.weather-label{bottom:-11px;font-size:7px;opacity:.6}.weather-cards{height:77%;width:88%}.weather-cards .game-card{height:100%;max-width:33%;width:auto}
  .table-panel{position:absolute;left:29.8%;top:0;width:49.3%;height:90.2%;margin:0;display:block}.battlefield{position:absolute;left:0;top:0;width:100%;height:85%;display:block}
  .combat-row{position:absolute;left:0;width:100%;border:0!important;background:transparent!important;box-shadow:none}.combat-row:nth-child(1){top:0;height:16.5%}.combat-row:nth-child(2){top:17.8%;height:14.7%}.combat-row:nth-child(3){top:35.0%;height:14.4%}.combat-row:nth-child(4){top:52.8%;height:14.5%}.combat-row:nth-child(5){top:68.8%;height:14.5%}.combat-row:nth-child(6){top:85.5%;height:14.5%}
  .combat-row[data-row="melee"][data-player="0"]:before,.row-icon{display:none}.combat-row.playable .row-hit{background:#d2b16312;outline:1px solid #d6b46788;box-shadow:inset 0 0 20px #dbbe5a25}.combat-row.playable .row-hit:hover{background:#d2b16328}
  .row-special-slot{left:0;top:4%;bottom:4%;width:13.5%;border:0;box-shadow:none;background:transparent;color:transparent}.row-special-slot .game-card{width:85%;height:98%}
  .row-score{left:-6.7%;width:5.7%;font-size:clamp(12px,1.5vw,23px);box-shadow:none;background:transparent!important;border:0;border-radius:0;text-shadow:0 1px #eef1df}.row-score:before{display:none}
  .row-cards{height:98%;max-width:83%;margin-left:14%;gap:3px}.row-cards .game-card{height:100%;width:auto;aspect-ratio:410/580;max-width:var(--card-w)}
  .hand-frame{position:absolute;left:0;top:85.8%;height:14.2%;width:100%;border:0;background:transparent;box-shadow:none}.hand-cards{height:98%;width:98%;gap:3px}.hand-label{bottom:-13px;opacity:.7}
  .pile-panel{position:absolute;left:80.4%;top:6.4%;width:15.3%;height:83.8%;margin:0;display:block}.pile-group{position:absolute;left:0;width:100%;height:16.4%;display:flex;justify-content:space-between;gap:0;align-items:stretch}.opponent-piles{top:0}.own-piles{bottom:0}.pile-button{width:38%;height:100%;aspect-ratio:410/580}.pile-button.discard-pile{margin:0;border:0;background:transparent;box-shadow:none}.pile-button.deck-pile{border-width:2px}.discard-symbol{display:none}.table-ornament{display:none}.pile-label{bottom:-13px;font-size:7px;opacity:.6}
}
@media(min-width:1500px){:root{--card-w:75px}.game-main{padding-top:22px}.board-shell{max-height:calc(100vh - 170px);max-width:calc((100vh - 170px)*16/9);margin:auto}.game-actionbar,.selection-strip{max-width:calc((100vh - 170px)*16/9);margin-left:auto;margin-right:auto}.hand-cards .game-card{max-width:70px}.row-cards .game-card{max-width:70px}.game-header{max-width:1428px}}
@media(max-width:1050px){.game-header{height:53px;padding:0 20px}.game-main{padding:15px 15px 8px}.wordmark{font-size:23px}.game-card .strength-badge{font-size:11px}.player-status{gap:5%;padding-left:9%;padding-right:5%}.status-counters{margin-top:3px;gap:4px}.leader-used-mark{left:calc(50% + 33px);width:20px;height:20px;font-size:14px;line-height:16px}.game-message{font-size:12px}.builder-dialog{padding:24px}.builder-columns{grid-template-columns:1fr 220px;gap:18px}.collection-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.builder-summary{gap:16px;grid-template-columns:1fr 1fr auto}.deck-counts{gap:10px}.faction-tab{font-size:11px;padding:10px 7px}.faction-tab span{display:none}.leader-slot .game-card{max-height:86px}.collection-entry .collection-name{font-size:9px}.pile-panel{margin-right:15%}.pile-label{font-size:7px}.hand-label{bottom:-15px;font-size:8px}.selection-strip .selection-description{max-width:40%}}
@media(max-width:700px){:root{--card-w:clamp(35px,7vw,56px)}.game-header{padding:0 12px;height:49px}.wordmark{font-size:21px;letter-spacing:.13em}.wordmark span{display:none}.home-link{font-size:21px}.home-link span{font-size:12px}.quiet-button{padding:6px 8px;font-size:11px}.game-header nav{gap:5px}.game-main{padding:12px 7px 16px}.board-shell{aspect-ratio:4/4.35;grid-template-columns:23% 66% 11%;padding:7% 0 8%;box-shadow:0 12px 24px #0009,inset 0 0 14px 7px #080401b3}.side-panel{padding-right:8%;margin-top:-18%;margin-bottom:-21%;grid-template-rows:1.1fr .85fr 1.05fr .85fr 1.1fr;border-right-width:3px}.leader-slot .game-card{height:70%;max-height:91px;max-width:62%;border-width:2px}.leader-used-mark{left:auto;right:6%;top:43%;height:17px;width:17px;line-height:13px;font-size:12px}.player-status{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:4px 0 4px 0}.player-portrait{height:37%;min-height:28px;max-height:36px;border-width:2px;margin-right:9px}.player-name{font-size:10px;text-align:center}.faction-name{font-size:7px;text-align:center;margin-top:2px;max-width:80px;overflow:hidden;text-overflow:ellipsis}.status-copy{flex:none;width:88%}.status-counters{margin-top:4px;justify-content:center;gap:3px;font-size:11px}.hand-count{margin-right:6px;gap:2px}.life-gem{height:10px;width:10px}.total-score{width:28px;right:-15%;font-size:16px;top:46%}.total-score.leading:after{font-size:36px;inset:-7px -8px}.crest-small{font-size:10px}.passed-indicator{font-size:7px;bottom:-7px;right:auto;padding:1px 3px}.weather-frame{margin:17% 13% 12% 14%;border-width:3px}.weather-cards{gap:1px;height:80%;flex-wrap:wrap}.weather-cards .game-card{height:60%;max-width:48%;aspect-ratio:410/580}.weather-cards:has(.game-card:only-child) .game-card{height:89%;max-width:90%}.weather-label{font-size:6px;bottom:-13px;letter-spacing:.1em}.table-panel{margin-left:10%;grid-template-rows:1fr 15%;gap:2%}.combat-row{border-width:1px}.battlefield{gap:1.8%}.row-score{left:-9%;width:22px;font-size:12px}.row-icon{font-size:27px}.row-icon.siege{font-size:25px}.row-special-slot{width:12%;left:1%;font-size:20px}.row-cards{gap:1px;max-width:87%;margin-left:12%;height:95%}.row-cards .game-card{max-width:var(--card-w);width:auto;aspect-ratio:410/580}.game-card .strength-badge{font-size:8px}.hand-frame{border-width:2px;overflow:visible}.hand-cards{gap:1px;flex-wrap:nowrap;justify-content:center}.hand-cards .game-card{max-width:40px;height:85%}.hand-label{font-size:7px;bottom:-15px}.pile-panel{margin:0 22% 0 12%;grid-template-rows:1fr 1fr 1fr}.pile-group{flex-direction:column;justify-content:flex-start;align-items:center;gap:25px}.pile-button{width:100%;min-width:23px}.pile-button.deck-pile{border-width:2px}.pile-button.discard-pile{order:2}.own-piles{justify-content:flex-end;flex-direction:column-reverse}.pile-count{font-size:10px;left:0;right:0}.deck-crest{font-size:16px;border-width:1px}.pile-label{font-size:6px;bottom:-12px;letter-spacing:0}.table-ornament{font-size:17px;gap:4px}.game-actionbar{gap:7px;height:auto;min-height:42px;margin-top:12px}.round-marker{font-size:9px;letter-spacing:.06em}.game-message{font-size:11px;line-height:1.5}.pass-button{padding:9px 12px;min-width:64px;font-size:11px}.pass-button kbd{display:none}.selection-strip{font-size:11px;min-height:38px;flex-wrap:wrap;gap:5px;padding-top:5px}.selection-strip .selection-description{display:none}.selection-strip button{font-size:10px;padding:4px 8px}.menu-dialog{width:390px;max-width:90vw;padding:28px 25px 22px}.menu-dialog h1{font-size:64px}.menu-tagline{font-size:12px}.menu-fields{gap:10px}.menu-rule{margin:19px 0}.fan-credit{margin-top:17px}.builder-dialog{max-width:97vw;padding:23px 14px 14px;max-height:93vh;overflow:auto}.builder-heading{margin-right:10px;gap:10px}.builder-heading h2{font-size:23px}.builder-heading .outline-button{font-size:10px;padding:8px}.faction-tabs{gap:1px}.faction-tab{font-size:9px;padding:9px 3px;line-height:1.2;min-height:38px}.builder-summary{grid-template-columns:1fr 1fr;gap:10px}.faction-perk{grid-column:1/-1;grid-row:2;font-size:10px;line-height:1.4}.faction-perk strong{display:inline;margin-right:5px}.deck-counts{justify-content:flex-end}.deck-counts strong{font-size:22px}.deck-counts span{font-size:7px}.builder-summary label{font-size:9px}.builder-summary label select{font-size:10px;padding:8px 4px}.builder-columns{grid-template-columns:1fr 110px;gap:10px}.collection-controls{grid-template-columns:1fr;gap:6px;margin-bottom:8px}.collection-controls select,.collection-controls input{font-size:10px;padding:7px;min-height:30px}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 5px;height:37vh}.collection-name{font-size:8px!important;height:24px}.copy-controls{font-size:9px;height:22px;margin-top:3px}.copy-controls button{width:21px}.chosen-panel{padding-left:9px}.chosen-panel h3{font-size:12px;margin-top:3px;line-height:1.4}.chosen-list{height:calc(37vh + 68px)}.chosen-entry{font-size:9px;gap:3px;padding:6px 0}.chosen-entry .chosen-strength{display:none}.chosen-entry .remove-card{width:17px;height:19px}.chosen-entry .chosen-copy{font-size:8px}.builder-footer{flex-direction:column;align-items:stretch;gap:9px;margin-top:10px;padding-top:10px}.builder-actions{justify-content:space-between;font-size:11px}.builder-actions button{flex:1;padding:10px 12px}#deck-validation{font-size:10px}.inspect-dialog{width:460px;grid-template-columns:40% 1fr;gap:18px;padding:25px 18px}.inspect-copy{padding:13px 0 4px}.inspect-copy h2{font-size:21px;margin-bottom:10px}.inspect-copy p{font-size:11px;line-height:1.5}.inspect-copy .eyebrow{font-size:8px}.inspect-stats{padding:8px 0;margin-bottom:10px}.ability-tag{font-size:8px;padding:3px 5px;margin:0 3px 4px 0}.inspect-actions button{font-size:10px;padding:8px;margin-top:5px}.mulligan-dialog{padding:27px 17px;max-width:95vw}.mulligan-dialog h2{font-size:24px}.mulligan-dialog>p:not(.eyebrow){font-size:11px}.mulligan-cards{gap:8px;margin:21px 0 25px}.mulligan-card{width:calc((100% - 32px)/5);min-width:45px;max-width:73px}.dialog-footer button{font-size:11px;padding:11px}.choice-dialog{padding:27px 18px}.choice-dialog h2{font-size:24px}.choice-options{gap:14px 10px}.choice-option{width:76px}.choice-option span{font-size:10px}.starter-options{gap:10px;padding:15px 0}.starter-options button{font-size:12px;padding:12px}.result-dialog{padding:26px}.result-dialog h2{font-size:32px}.help-dialog{padding:28px 22px}.help-dialog p,.help-dialog li{font-size:12px;line-height:1.7}.help-dialog li{margin-bottom:9px}.pile-dialog{padding:25px 15px}.toast{max-width:90%;font-size:11px;bottom:14px;white-space:nowrap}.fixture-mode .game-header{height:45px}.fixture-mode .game-main{padding-top:10px}}
@media(max-height:670px) and (min-width:701px){.game-header{height:44px}.game-main{padding-top:10px;max-width:calc((100vh - 122px)*16/9 + 45px)}.game-actionbar{margin-top:8px;height:34px}.selection-strip{min-height:26px;font-size:11px}.pass-button{padding:8px 16px}.menu-dialog{padding-top:22px;padding-bottom:19px}.menu-dialog h1{font-size:59px;margin:10px 0}.menu-dialog .dialog-ornament{margin-bottom:9px}.menu-rule{margin:16px 0}.menu-fields{margin-bottom:15px;gap:8px}.menu-footnote{margin:10px 0}.fan-credit{margin-top:14px}.builder-dialog{padding-top:21px}.builder-heading h2{margin-bottom:11px}.faction-tabs{margin-bottom:10px}.builder-summary{margin-bottom:12px}.collection-grid{height:35vh}.chosen-list{height:calc(35vh + 50px)}}
.weather-overlay{position:absolute;inset:0;background-size:100% 100%;opacity:.7;pointer-events:none;z-index:0}.authentic-deck{width:100%;height:100%;object-fit:fill;display:block}.own-status .avatar-image{object-position:45% 12%;object-fit:cover}.opponent-status .avatar-image{object-position:center}
.builder-leader-field>.text-button{font-size:10px;padding:5px 0 0;text-align:left}
.total-score{background:url('./assets/icons/score_total_op.png') center/contain no-repeat}.own-status .total-score{background:url('./assets/icons/score_total_me.png') center/contain no-repeat}.total-score.leading:after{content:'';inset:-21% -38% -18%;background:url('./assets/icons/icon_high_score.png') center/100% auto no-repeat}.life-gem{background:url('./assets/icons/icon_gem_on.png') center/contain no-repeat;clip-path:none;box-shadow:none}.life-gem.lost{background:url('./assets/icons/icon_gem_off.png') center/contain no-repeat}.crest-small:has(img){background:transparent;border:0;border-radius:0}.crest-small img{width:100%;height:100%;object-fit:contain}
@media(max-width:480px){.sound-button{font-size:0;padding:6px}.sound-button:after{content:'♪';font-size:13px}.sound-button[aria-pressed="false"]:after{opacity:.5}}
@media(min-width:701px){.hand-cards .game-card{width:min(var(--card-w),calc((100% - (var(--hand-count) - 1)*3px)/var(--hand-count)));height:auto;max-height:100%;flex:0 1 auto}}
@media(max-width:700px){.hand-cards{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 2px}.hand-cards::-webkit-scrollbar{display:none}.hand-cards .game-card{height:auto;max-height:95%;width:calc((100% - var(--hand-count)*1px)/var(--hand-count));max-width:40px;min-width:25px;aspect-ratio:410/580;flex:0 0 auto!important}.hand-cards:has(.game-card:nth-child(10)){justify-content:flex-start}.hand-frame{overflow:hidden}}
@media(min-width:701px) and (max-width:1050px){.player-status{padding-left:23%;padding-right:12%;gap:6%}.leader-slot .game-card{max-height:none}.pile-panel{margin:0}.leader-used-mark{left:115%;width:18px;height:18px;line-height:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.row-special-slot .game-card{width:auto;max-width:90%;height:98%;aspect-ratio:410/580}
