@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(./cinzel-latin-ext-400-normal-XQK_CSAr.woff2) format("woff2"),url(./cinzel-latin-ext-400-normal-DJ0Lq8y-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(./cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(./cinzel-latin-400-normal-C8jUSQqm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(./cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(./cinzel-latin-ext-900-normal-CWXxiu5r.woff2) format("woff2"),url(./cinzel-latin-ext-900-normal-BlZZvP7K.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(./cinzel-latin-900-normal-BI3z7Tow.woff2) format("woff2"),url(./cinzel-latin-900-normal-t_fSDEbn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(./nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(./nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(./nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(./nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(./nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(./nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(./nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(./nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(./nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(./nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--oak: #3a2416;--oak2: #4c3121;--oak3: #6a4528;--oak-hi: #8f6139;--parch: #efe1bf;--parch2: #e3d0a1;--parch3: #cbb27b;--ink: #2b1d12;--ink2: #5a4634;--felt: #2f5b3b;--felt2: #23452c;--brass: #d9a441;--brass-hi: #f1d283;--brass-dk: #8a6220;--gold: #d9a441;--gold-dk: #a67a2a;--ruby: #b33a3a;--taupe: #9b8a6e;--plate: #1b120c;--good: #4e9a4a;--bad: #b33a3a;--xp: #4f7fc2;--cream: #f0e7d0;--text: var(--parch);--dim: #b7a37c;--display: "Cinzel", "Trajan Pro", "Cormorant SC", "Palatino Linotype", Georgia, serif;--body: "Nunito", "Avenir Next", "Segoe UI", system-ui, sans-serif;--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .16' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#1a110b;color:var(--text);font-family:var(--body);font-size:15px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{height:100%}#app{position:relative;max-width:520px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--oak);box-shadow:0 0 60px #000c}#app:before{content:"";position:absolute;inset:0;background:var(--noise);opacity:.28;mix-blend-mode:multiply;pointer-events:none;z-index:120}button{font:inherit;color:inherit;cursor:pointer}.ico{display:inline-block;vertical-align:-.22em;flex:none}h1,h2,.display{font-family:var(--display);font-weight:700;letter-spacing:.04em}.rule{display:flex;align-items:center;gap:10px;margin:8px 0 10px;color:var(--gold)}.rule:before,.rule:after{content:"";flex:1;height:max(1px,.035em);background:linear-gradient(90deg,transparent,currentColor)}.rule:after{background:linear-gradient(90deg,currentColor,transparent)}.rule.plain{gap:0;margin:2px 0 10px;opacity:.8}.crest{display:block;flex:none}.star{display:inline-block;width:.55em;height:.55em;margin:0 .35em;vertical-align:.05em;background:var(--ruby);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.wood{background-color:var(--oak2);background-image:var(--grain),linear-gradient(90deg,rgba(0,0,0,.25),transparent 18%,transparent 82%,rgba(0,0,0,.25))}.hdr{position:relative;z-index:35;display:flex;align-items:center;gap:8px;padding:8px 10px 7px;padding-top:calc(8px + env(safe-area-inset-top));background-color:var(--oak2);background-image:var(--grain),linear-gradient(180deg,rgba(255,255,255,.06),transparent 40%,rgba(0,0,0,.25));border-bottom:3px solid #23150c;box-shadow:0 2px #ffffff0f}.hdr-left{min-width:70px}.hdr .hdr-day{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.03em;line-height:1;color:var(--cream);text-shadow:0 2px 0 rgba(0,0,0,.5)}.hdr .hdr-of{color:var(--dim);font-size:12px;font-weight:400}.hdr .hdr-phase{font-family:var(--display);font-size:10px;color:var(--gold);letter-spacing:.26em;text-transform:uppercase;margin-top:3px}.hdr-res{display:flex;gap:6px;flex:1;justify-content:center;white-space:nowrap}.hdr-res-tag{display:inline-flex;align-items:center;gap:3px;background:var(--parch);color:var(--ink);border-radius:4px;padding:2px 7px 2px 4px;font-family:var(--display);font-weight:700;font-size:14px;line-height:1.1;box-shadow:inset 0 -2px 0 var(--parch3),0 2px #23150c}.hdr-res .hdr-upkeep{font-family:var(--body);font-size:10px;color:var(--bad);font-weight:800;margin-left:2px}.hdr-lvl{text-align:right;font-size:12px;min-width:64px;line-height:1.15;color:var(--cream);font-family:var(--display);font-weight:700;letter-spacing:.04em}.hdr-xpbar{height:6px;background:#23150c;border-radius:3px;overflow:hidden;margin:3px 0;box-shadow:inset 0 1px 2px #0009}.hdr-xpbar i{display:block;height:100%;background:linear-gradient(var(--brass-hi),var(--brass));transition:width .3s}.hdr-lvl .hdr-xp{font-size:10px;color:var(--dim);font-family:var(--body);font-weight:700}.hdr-help{width:34px;height:34px;border-radius:50%;border:0;background:transparent;padding:0;filter:drop-shadow(0 2px 0 #23150c)}.wave{position:relative;background:var(--parch2);color:var(--ink);padding:6px 12px 7px;cursor:pointer;border-bottom:2px solid var(--parch3);box-shadow:inset 0 -6px 12px -8px #0006,0 3px #23150c;z-index:2}.wave:before{content:"";position:absolute;left:0;right:0;bottom:-7px;height:7px;background:linear-gradient(135deg,var(--parch2) 50%,transparent 50%) 0 0 / 8px 8px,linear-gradient(225deg,var(--parch2) 50%,transparent 50%) 0 0 / 8px 8px}.wave-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:26px}.wave-label{font-family:var(--display);font-size:10px;color:var(--ink2);letter-spacing:.22em;text-transform:uppercase;margin-right:2px}.wave-chip{display:inline-flex;gap:3px;align-items:center;font-family:var(--display);font-weight:700;font-size:15px;line-height:1}.wave-chip.boss{color:var(--bad)}.wave-chip.from{background:var(--ink);color:var(--parch);border-radius:4px;padding:3px 8px 3px 6px;font-size:13px;box-shadow:0 2px #00000059;gap:5px}.wave-chip.from small{font-family:var(--body);font-weight:700;font-size:11px;color:var(--parch3);display:inline-flex;align-items:center;gap:2px}.wave-dir{filter:drop-shadow(0 1px 0 rgba(0,0,0,.5))}.wave-caret{margin-left:auto;color:var(--ink2)}.wave-detail{position:absolute;left:8px;right:8px;top:calc(100% + 6px);z-index:33;padding:10px;background:var(--parch);border:2px solid var(--ink2);border-radius:6px;box-shadow:inset 0 0 0 3px var(--parch),inset 0 0 0 4px var(--parch3),0 12px 24px #00000080;cursor:default}.wave-line{display:flex;flex-direction:column;font-size:13px}.dim{color:var(--ink2);font-size:12px}.board-wrap{flex:1 1 auto;width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:6px 3px;overflow:hidden;position:relative;background-size:62px 62px;background-repeat:repeat;background-color:var(--oak);background-image:var(--grain),radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.06),transparent 70%)}.board{position:relative;overflow:hidden;border-radius:4px;transition:filter .8s;box-shadow:0 0 0 2px var(--parch3),0 0 0 5px var(--oak3),0 0 0 6px #23150c,0 10px 24px #0009}.board.night{filter:none}.board-layer.board-night{z-index:2;background:#1c28606b;mix-blend-mode:multiply;transition:opacity .8s}.board:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 36px #140c0473}.board-tiles{position:absolute;inset:0;display:grid}.board-tile{position:relative;background-size:100% 100%;background-color:#6a9a4f;transition:box-shadow .15s,filter .15s}.board-tile.node{cursor:pointer}.board-tile.used{filter:brightness(.8) saturate(.7)}.board-tile.bare{filter:brightness(.93) saturate(.8);cursor:default}.board-tile .board-stock{position:absolute;top:1px;right:3px;font-family:var(--display);font-weight:700;font-size:11px;color:var(--cream);text-shadow:0 1px 0 var(--ink),0 0 3px var(--ink);line-height:1}.board-tile .board-bld-die{z-index:2}.board-tile.dz-invalid{filter:brightness(.6) saturate(.6)}.board-tile.dz-active{box-shadow:inset 0 0 0 3px var(--brass-hi),inset 0 0 0 4px var(--ink);filter:brightness(1.08)}.board-tile.dz-synergy{z-index:3;box-shadow:inset 0 0 0 3px #fff0b8,inset 0 0 0 6px var(--ink),inset 0 0 22px 5px #ffc94ab8,0 0 14px 4px #ffc94ab3;animation:synergy 1s infinite alternate ease-in-out}.board-tile.dz-hover{box-shadow:inset 0 0 0 4px var(--cream),inset 0 0 0 5px var(--ink);filter:brightness(1.18)}.board-tile.place-ok{box-shadow:inset 0 0 0 100px #efc96c4d,inset 0 0 0 3px var(--brass-hi);cursor:pointer;animation:tilePulse .9s infinite alternate}.board-tile.place-no{filter:brightness(.6) saturate(.6)}@keyframes tilePulse{0%{box-shadow:inset 0 0 0 100px #efc96ca6,inset 0 0 0 2px var(--brass-dk)}to{box-shadow:inset 0 0 0 100px #efc96cd9,inset 0 0 0 4px var(--cream)}}.board-layer{position:absolute;inset:0;pointer-events:none}.board-layer.board-roads{z-index:1;width:100%;height:100%;overflow:visible}.road-edge{fill:none;stroke:#5a3a1e;stroke-width:.92;stroke-linecap:round;stroke-linejoin:round}.road-fill{fill:none;stroke:#b08a5a;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}.road-light{fill:none;stroke:#c9a06b;stroke-width:.4;stroke-linecap:round;stroke-linejoin:round;opacity:.45}.road-ruts{fill:none;stroke:#8a6a44;stroke-width:.05;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.22 .16;opacity:.7}.board-layer.board-buildings{z-index:2}.board-layer.board-sprites{z-index:3}.board-layer.board-combat{z-index:4}.board-bld{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;border-radius:18%;font-size:calc(var(--tile) * .62);line-height:1;cursor:pointer;background:var(--parch);border:1.5px solid var(--ink);box-shadow:0 2px 0 var(--ink),inset 0 -3px 0 var(--parch3);transition:background .15s,transform .15s,opacity .15s}.board-bld-icon{display:flex;filter:none}.board-bld.towncenter{font-size:calc(var(--tile) * .72);background:var(--brass-hi);box-shadow:0 2px 0 var(--ink),inset 0 -3px 0 var(--brass)}.board-bld.tower{background:#d9c7a3}.board-bld.used{background:var(--parch3);box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.board-bld.used .board-bld-icon{opacity:.6}.board-bld .hpbar{position:absolute;bottom:2px;left:15%;width:70%;height:3px;margin:0}.board-bld.towncenter .board-bld-icon{transform:translateY(-3px)}.board-bld.towncenter .hpbar{bottom:2px;left:5%;width:90%;height:6px;border-radius:4px;background:#2b1d12cc;border:1.5px solid var(--ink);box-shadow:0 1px #00000073,inset 0 1px 1px #00000080}.board-bld.towncenter .hpbar i{background:linear-gradient(180deg,#8fd47e,var(--good) 60%,#3f8040);border-radius:2px}.board-bld.towncenter .hpbar.low i{background:linear-gradient(180deg,#e0665a,var(--bad) 60%,#7e2a24)}.board-bld-dmg.bld-xp{top:auto;bottom:-6px;right:-6px;background:var(--brass-dk);color:var(--parch);font-size:9px;letter-spacing:.04em}.drop-hint{position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);background:var(--ink);color:var(--parch);font-family:var(--display);font-size:11px;line-height:1.2;padding:2px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;z-index:8;box-shadow:0 2px #00000059;animation:hintIn .15s ease-out;font-weight:700}.drop-hint.on{background:var(--brass-hi);color:var(--ink);font-size:12px;transform:translate(-50%,-100%) scale(1.1)}@keyframes hintIn{0%{opacity:0;transform:translate(-50%,-80%)}}.board-bld-lvl{position:absolute;top:1px;left:1px;height:13px;padding:0 3.5px;border-radius:7px;background:var(--parch);color:var(--ink);border:1px solid var(--ink);font-family:var(--display);font-weight:700;font-size:9px;line-height:11px}.menu-picks.two{grid-template-columns:1fr 1fr}.menu-picks.two .menu-pick{flex-direction:column;align-items:flex-start}.board-bld-dmg{position:absolute;top:-6px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--ink);color:var(--brass-hi);font-family:var(--display);font-weight:700;font-size:11px;line-height:16px;text-align:center}.board-bld-die{position:absolute;left:-5px;bottom:-5px}.board-bld.dz-active{border-color:var(--brass-hi);box-shadow:0 0 0 2px var(--brass-hi),0 2px 0 var(--ink),inset 0 -3px 0 var(--parch3)}.board-bld.dz-synergy{z-index:2;border-color:#fff0b8;box-shadow:0 0 0 3px #fff0b8,0 0 16px 4px #ffc94ad9,0 2px 0 var(--ink),inset 0 -3px 0 var(--parch3);animation:synergy 1s infinite alternate ease-in-out}@keyframes synergy{0%{filter:brightness(1.16) saturate(1.1)}to{filter:brightness(1.42) saturate(1.35)}}.board-bld.dz-invalid{opacity:.5}.board-bld.dz-hover{transform:scale(1.15);border-color:var(--cream);box-shadow:0 0 0 3px var(--cream),0 2px 0 var(--ink);z-index:1}.board-bld.tower.dz-hover:before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--tile) * 5);height:calc(var(--tile) * 5);margin:calc(var(--tile) * -2.5) 0 0 calc(var(--tile) * -2.5);border-radius:50%;border:2px dashed rgba(43,29,18,.7);pointer-events:none}.board-bld.scarred .board-bld-icon{filter:grayscale(.3) brightness(.9)}.board-bld.destroyed .board-bld-icon{filter:grayscale(1) brightness(.55)}.board-bld-ruin{position:absolute;top:-6px;right:-5px;width:17px;height:17px;border-radius:9px;background:var(--brass-hi, #e2b04a);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:11px;box-shadow:0 1px #00000080}.board-bld.destroyed{opacity:.75}.board-bld.burning .board-bld-icon{animation:scorch .5s ease-in-out infinite alternate}@keyframes scorch{0%{filter:none}to{filter:drop-shadow(0 0 5px #e2704a) saturate(1.5)}}.board-front{position:absolute;z-index:6;width:30px;height:30px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);appearance:none;font:inherit;color:inherit;cursor:pointer;background:var(--bad);border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);animation:frontPulse 1s infinite alternate ease-in-out}.board-front:hover,.board-front:focus-visible{animation:none;opacity:1;outline:none;box-shadow:0 2px 0 var(--ink),0 0 0 3px #e2b04abf}.board-front.raid{background:#d2603c}.board-front-N{top:4px;left:50%;transform:translate(-50%)}.board-front-S{bottom:4px;left:50%;transform:translate(-50%)}.board-front-W{left:4px;top:50%;transform:translateY(-50%)}.board-front-E{right:4px;top:50%;transform:translateY(-50%)}@keyframes frontPulse{0%{opacity:.55}to{opacity:1}}.hpbar{width:40px;height:5px;background:#0009;border-radius:3px;overflow:hidden;margin-top:3px;box-shadow:0 0 0 1px #0006}.hpbar i{display:block;height:100%;background:var(--good);transition:width .15s}.hpbar.low i{background:var(--bad)}.board-enemy{position:absolute;transform:translate(-50%,-60%);display:flex;flex-direction:column;align-items:center;font-size:calc(var(--tile) * .62);line-height:1}.board-enemy .board-enemy-icon{display:inline-flex;filter:drop-shadow(0 2px 1px rgba(0,0,0,.5))}.board-enemy.walking .board-enemy-icon{animation:bob .45s infinite alternate ease-in-out}.board-enemy.boss{font-size:calc(var(--tile) * 1.05)}.board-enemy .hpbar{width:22px;height:3px;margin-top:1px}.board-enemy.boss .hpbar{width:40px;height:5px}@keyframes bob{0%{transform:translateY(0) rotate(-7deg)}to{transform:translateY(-3px) rotate(7deg)}}.shot{position:absolute;height:2px;transform-origin:0 50%;pointer-events:none}.shot .dot{position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#ffe9a8;box-shadow:0 0 6px #ffd166;animation:shotFwd .22s linear forwards}.shot.enemyArrow .dot{background:#ff8a80;box-shadow:0 0 6px #ff5252}.shot.cannon .dot{width:10px;height:10px;top:-5px;background:#2b2f3a;box-shadow:0 0 0 2px #00000040;animation-duration:.3s}.board-splash{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,209,102,.85),rgba(255,120,60,.4) 55%,transparent 70%);animation:splash .35s ease-out forwards;pointer-events:none}@keyframes splash{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.board-unit{position:absolute;transform:translate(-50%,-60%);filter:drop-shadow(0 2px 1px rgba(0,0,0,.5))}.board-unit .die{border-radius:25%}.board-unit .die-pip.die-eye{animation:none}.board-unit-badge{position:absolute;top:-40%;right:-45%}.board-unit.militia{animation:bob .4s infinite alternate ease-in-out}.shot.bolt .dot{width:11px;height:11px;top:-5px;background:#b388ff;box-shadow:0 0 12px #7c4dff;animation-duration:.32s}@keyframes shotFwd{0%{left:0}to{left:100%}}.board-hit{position:absolute;margin:-30px 0 0 -11px;animation:flash .32s ease-out forwards;pointer-events:none}@keyframes flash{0%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(.6) translateY(-10px)}}.board-hud{position:absolute;top:8px;left:8px;transform:rotate(-1.5deg);background:var(--parch);color:var(--ink);padding:2px 12px;border-radius:3px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.03em;white-space:nowrap;z-index:6;box-shadow:0 2px 0 var(--ink)}.villager-sprite{position:absolute;transform:translate(-50%,-60%);transition-property:left,top;transition-timing-function:linear;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45))}.villager-id{position:absolute;left:50%;bottom:-14px;transform:translate(-50%);font-family:var(--display);font-weight:700;font-size:10px;color:var(--cream);text-shadow:0 1px 0 var(--ink),0 0 3px var(--ink)}.villager{position:relative;transform-origin:50% 80%}.villager .die{position:relative;z-index:1}.villager-limb{position:absolute;width:3px;background:var(--die-ink, var(--ink));border-radius:2px;transform-origin:50% 0}.villager-limb:after{content:"";position:absolute;left:-2px;bottom:-2px;width:7px;height:4px;border-radius:3px;background:var(--die-ink, var(--ink))}.villager-arm{height:42%;top:38%}.villager-arm.l{left:-2px;transform:rotate(38deg)}.villager-arm.r{right:-2px;transform:rotate(-38deg)}.villager.d8 .villager-arm{top:45%}.villager.d8 .villager-arm.l{left:-4%}.villager.d8 .villager-arm.r{right:-4%}.villager.d12 .villager-arm{top:42%}.villager.d12 .villager-arm.l{left:-2%}.villager.d12 .villager-arm.r{right:-2%}.villager-leg{height:34%;bottom:-32%}.villager-leg.l{left:26%;transform:rotate(6deg)}.villager-leg.r{right:26%;transform:rotate(-6deg)}.villager-sprite:not(.walking):not(.hop) .villager{animation:sway 2.6s infinite ease-in-out}.villager-sprite:not(.walking):not(.hop) .villager-arm.l{animation:armIdleL 2.6s infinite ease-in-out}.villager-sprite:not(.walking):not(.hop) .villager-arm.r{animation:armIdleR 2.6s infinite ease-in-out}.villager-sprite.walking .villager{animation:hobble .34s infinite ease-in-out}.villager-sprite.walking .villager-leg.l{animation:stepL .34s infinite ease-in-out}.villager-sprite.walking .villager-leg.r{animation:stepR .34s infinite ease-in-out}.villager-sprite.walking .villager-arm.l{animation:swingL .34s infinite ease-in-out}.villager-sprite.walking .villager-arm.r{animation:swingR .34s infinite ease-in-out}.villager-sprite.hop .die{animation:hop .85s ease-out}.villager-sprite.hop .villager-limb{animation:flail .85s ease-out}@keyframes sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg) translateY(-1px)}}@keyframes armIdleL{0%,to{transform:rotate(38deg)}50%{transform:rotate(26deg)}}@keyframes armIdleR{0%,to{transform:rotate(-38deg)}50%{transform:rotate(-26deg)}}@keyframes hobble{0%{transform:rotate(-7deg) translateY(0)}25%{transform:rotate(0) translateY(-3px)}50%{transform:rotate(7deg) translateY(0)}75%{transform:rotate(0) translateY(-3px)}to{transform:rotate(-7deg) translateY(0)}}@keyframes stepL{0%{transform:rotate(-32deg)}50%{transform:rotate(32deg)}to{transform:rotate(-32deg)}}@keyframes stepR{0%{transform:rotate(32deg)}50%{transform:rotate(-32deg)}to{transform:rotate(32deg)}}@keyframes swingL{0%{transform:rotate(70deg)}50%{transform:rotate(10deg)}to{transform:rotate(70deg)}}@keyframes swingR{0%{transform:rotate(-10deg)}50%{transform:rotate(-70deg)}to{transform:rotate(-10deg)}}@keyframes flail{0%,to{transform:rotate(0)}20%{transform:rotate(80deg)}40%{transform:rotate(-80deg)}60%{transform:rotate(60deg)}80%{transform:rotate(-40deg)}}@keyframes hop{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-20px) rotate(180deg)}60%{transform:translateY(0) rotate(360deg)}78%{transform:translateY(-7px) rotate(380deg)}to{transform:translateY(0) rotate(360deg)}}.die{position:relative;background:var(--die-bg, var(--cream));border-radius:18%;color:var(--die-ink, var(--ink));flex:none;box-shadow:inset 0 0 0 .04em var(--die-edge, transparent),inset 0 -.08em #00000029,inset 0 .04em #ffffff8c,0 .05em .1em #00000073}.die.shaped{background:transparent;box-shadow:none;border-radius:0}.die-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.die-shape path{fill:var(--die-bg, var(--cream));stroke:var(--die-edge, var(--ink));stroke-width:4;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 .05em .08em rgba(0,0,0,.45))}.die.d4:not([class*=facet-]){--die-bg: #f3d6a8}.die.d8:not([class*=facet-]){--die-bg: #cfe8ff}.die.d12:not([class*=facet-]){--die-bg: #e6ccff}.die.d4 .die-num{top:30%}.die.d4 .die-digit{font-size:.42em}.die.d12 .die-digit{font-size:.46em}.die.d8 .die-digit{font-size:.5em}.die.d8 .die-pips{inset:24%}.die.d12 .die-pips{inset:20% 18% 14%}.odd{position:relative;--odd-bg: #4a2472;--odd-ink: #ffd166;--odd-edge: #1b0d2e}.odd.odd-grunt{--odd-bg: #4a2472;--odd-ink: #ffd166;--odd-edge: #1b0d2e}.odd.odd-runner{--odd-bg: #6b3fa0;--odd-ink: #ffd166;--odd-edge: #1b0d2e}.odd.odd-brute{--odd-bg: #3a1a5e;--odd-ink: #ffd166;--odd-edge: #14071f}.odd.odd-boss{--odd-bg: #2e1148;--odd-ink: #ffd75e;--odd-edge: #12061d}.odd.odd-archer{--odd-bg: #2f6b34;--odd-ink: #ffe14f;--odd-edge: #0f2a12}.odd.odd-raider{--odd-bg: #a32a22;--odd-ink: #ffd75e;--odd-edge: #3d0c08}.odd.odd-mage{--odd-bg: #1d2a6b;--odd-ink: #ff9ad5;--odd-edge: #0a0f2e}.odd .die.d4,.odd .die.d6,.odd .die.d8,.odd .die.d12{--die-bg: var(--odd-bg);--die-ink: var(--odd-ink);--die-edge: var(--odd-edge)}.odd .die-eye{background:var(--die-ink);border-color:var(--die-edge)}.odd .die-pupil{background:var(--die-edge)}.odd .die-shape path{stroke:var(--die-edge)}.odd-body{position:relative;display:block}.odd-body .die{position:relative;z-index:1}.board-enemy .odd-body.d4 .villager-arm{display:block;top:54%;height:30%}.board-enemy .odd-body.d4 .villager-arm.l{left:7%}.board-enemy .odd-body.d4 .villager-arm.r{right:7%}.odd-body .villager-arm.r{z-index:2}.board-enemy.walking .odd-body .villager-leg.l{animation:stepL .42s infinite ease-in-out}.board-enemy.walking .odd-body .villager-leg.r{animation:stepR .42s infinite ease-in-out}.board-enemy.walking .odd-body .villager-arm.l{animation:swingL .42s infinite ease-in-out}.board-enemy.walking .odd-body .villager-arm.r{animation:swingR .42s infinite ease-in-out}.board-enemy.stopped .odd-body .villager-arm.r{animation:oddSwing .5s infinite alternate ease-in-out}@keyframes oddSwing{0%{transform:rotate(-26deg)}to{transform:rotate(-68deg)}}.odd-prop{position:absolute;left:50%;top:82%;width:1px;height:1px;font-size:.72em}.odd-prop .ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(26deg);filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.odd-body .villager-limb,.odd-body .villager-limb:after{background:var(--odd-ink)}.odd .die-hat{font-size:.66em;top:-.5em}.odd .die.d4 .die-hat{top:-.3em}.odd-crown{position:absolute;left:50%;bottom:74%;transform:translate(-50%);font-size:.6em;z-index:2;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6));pointer-events:none}.die.d4 .die-hat{top:-.2em}.die-pips{position:absolute;inset:11%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center}.die-pip{width:.17em;height:.17em;border-radius:50%;background:var(--die-ink, var(--ink))}.die-pip.blank{visibility:hidden}.die-pip.die-eye{width:.25em;height:.25em;background:#fff;border:.02em solid var(--die-ink, var(--ink));display:flex;align-items:center;justify-content:center;animation:blink 5s infinite;box-sizing:border-box}.die-pupil{width:.11em;height:.11em;border-radius:50%;background:var(--die-ink, var(--ink))}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.die-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700}.die-digit{font-size:.46em}.die-hat{position:absolute;top:-.36em;left:50%;transform:translate(-50%) rotate(-12deg);font-size:.46em;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.die-hat .ico{vertical-align:top}.die-wound{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);font-size:.82em;line-height:1;pointer-events:none;opacity:.8;filter:drop-shadow(0 .02em .02em rgba(0,0,0,.4))}.die-wound .ico{vertical-align:top}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.size-tag{position:absolute;top:-.14em;right:-.16em;font-size:.19em;background:var(--ink);color:#fff;border-radius:.6em;padding:.05em .4em;font-family:var(--display);font-weight:700;line-height:1.3}.die[class*=facet-] .die-pip:not(.die-eye){width:.21em;height:.21em}.die.facet-woodworker .die-pip:not(.die-eye){border-radius:0 65%;transform:rotate(-45deg)}.die.facet-mason .die-pip:not(.die-eye){border-radius:14%;width:.2em;height:.2em;box-shadow:inset -.03em -.03em #ffffff59}.die.facet-farmer .die-pip:not(.die-eye){border-radius:50%;width:.15em;height:.24em;transform:rotate(35deg)}.die.facet-sentinel .die-pip:not(.die-eye){border-radius:0;width:.23em;height:.25em;clip-path:polygon(50% 0,100% 18%,92% 66%,50% 100%,8% 66%,0 18%)}.die.facet-scholar .die-pip:not(.die-eye){border-radius:0;width:.27em;height:.27em;clip-path:polygon(50% 0,62% 35%,98% 35%,69% 57%,80% 92%,50% 71%,20% 92%,31% 57%,2% 35%,38% 35%)}.die.facet-nurse .die-pip:not(.die-eye){border-radius:0;width:.24em;height:.24em;clip-path:polygon(38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%,0 38%,38% 38%)}.die.facet-smith .die-pip:not(.die-eye){border-radius:0;width:.26em;height:.26em;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.die.facet-priest .die-pip:not(.die-eye){border-radius:50% 50% 50% 0;width:.21em;height:.21em;transform:rotate(45deg)}.die.facet-captain .die-pip:not(.die-eye){border-radius:0;width:.26em;height:.22em;clip-path:polygon(50% 0,100% 45%,100% 78%,50% 33%,0 78%,0 45%)}.die[class*=facet-] .die-hat{top:-.42em}.tray{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;padding:6px 12px;background-color:var(--oak2, #3a2415);background-image:var(--noise);box-shadow:inset 0 1px #ffffff0f,0 -2px 8px #00000059;border-top:2px solid #23150c}.tray-head{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:0;font-size:12px}.tray-shops{display:flex;gap:4px;flex:1 1 auto;min-width:0;justify-content:flex-end}.tray-shops.framed,.tray-relics.framed{position:relative;align-self:stretch;align-items:center;border:1.5px solid var(--brass-dk);border-radius:7px;padding:5px;margin-top:5px;background:#00000029}.tray-shops.framed:before,.tray-relics.framed:before{position:absolute;left:9px;top:0;transform:translateY(-52%);padding:0 5px;background:var(--oak);color:var(--gold);font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;line-height:1}.tray-shops.framed:before{content:"Build"}.tray-relics.framed:before{content:"Relics"}.tray-notes{color:#cfe2c6;flex:1;line-height:1.25;font-weight:700}.tray-banner{flex:1;min-width:0;color:var(--gold);font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.04em;display:flex;align-items:center;gap:8px}.tray-banner button{background:linear-gradient(var(--brass-hi),var(--brass));color:var(--ink);border:1px solid var(--brass-dk);border-radius:4px;padding:3px 12px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.06em;box-shadow:0 2px 0 var(--brass-dk)}.tray-relics{display:flex;gap:4px;flex:none;order:-1;margin-right:4px}.tray-relics button,.tray-relics span,.tray-shops button{display:inline-flex;align-items:center;gap:3px;background:var(--parch);color:var(--ink);border:1px solid var(--ink);border-radius:4px;padding:3px 7px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.03em;line-height:1.3;box-shadow:0 2px 0 var(--ink)}.tray-relics button:disabled,.tray-shops button:disabled{opacity:.45;cursor:default}.tray-relics button,.tray-relics>span{width:30px;padding:6px 0;justify-content:center}.tray-relics .relic-chip.ready{box-shadow:0 0 0 2px var(--brass-hi),0 2px 0 var(--ink)}.tray-relics .relic-slot{width:30px;padding:0;background:#0000003d;border:1.5px dashed rgba(240,228,198,.35);box-shadow:inset 0 1px 2px #00000059;position:relative}.tray-relics .relic-slot:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:1.3px solid rgba(240,228,198,.3);border-radius:1.5px;transform:translate(-50%,-50%) rotate(45deg)}.tray-shops .tray-build{flex:1 1 0;min-width:0;justify-content:center;gap:3px;padding:6px 5px;font-size:12.5px;letter-spacing:.01em;border-radius:5px;border-width:1.5px;box-shadow:0 3px 0 var(--ink)}.tray-shops .tray-build-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:459px){.tray-shops .tray-build>svg{display:none}.tray-shops .tray-build{font-size:11.5px;letter-spacing:0;padding:6px 3px}.tray-relics button,.tray-relics>span{width:25px}.tray-shops.framed,.tray-relics.framed{padding:4px 3px}.tray-relics{gap:3px;margin-right:2px}}@media(max-width:339px){.tray-shops .tray-build{font-size:10.5px;padding:6px 2px}}.tray-shops .tray-build.can{background:linear-gradient(var(--brass-hi),var(--brass));border-color:var(--brass-dk);box-shadow:0 3px 0 var(--brass-dk)}.tray-shops .tray-build.open{background:linear-gradient(var(--brass),var(--brass-dk));border-color:var(--brass-dk);box-shadow:inset 0 2px 3px #0006}.tray-shops .tray-build:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.tray-shops .tray-build.can:active:not(:disabled){box-shadow:0 1px 0 var(--brass-dk)}@keyframes pulse{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes roll{0%{transform:rotate(0) scale(1.05)}to{transform:rotate(360deg) scale(1.05)}}.tray-empty{color:#cfe2c6;font-size:13px;align-self:center;padding:14px 4px;font-style:italic}#app.coaching .popup-layer{top:27.5%}.popup-layer{position:absolute;left:50%;top:21%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:57}.popup{font-family:var(--display);font-weight:700;font-size:19px;color:var(--cream);text-shadow:0 1px 0 var(--ink),0 0 4px var(--ink),0 0 10px rgba(0,0,0,.75);animation:rise 1.25s ease-out forwards;pointer-events:none;white-space:nowrap}.popup.good{color:#d2f2a8}.popup.xp{color:#bcd6ff}.popup.bad{color:#ffb4a8}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.9)}14%{opacity:1;transform:translateY(0) scale(1.14)}32%{transform:translateY(0) scale(1)}78%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.shop-tabs{display:flex;gap:6px;margin:2px 0 10px}.shop-tabs .shop-tab{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 4px;border:1.5px solid var(--gold-dk);border-radius:4px;white-space:nowrap;overflow:hidden;background:#4a2f1c1a;color:var(--ink);font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.02em;opacity:.62}.shop-tabs .shop-tab.on{background:linear-gradient(var(--brass-hi),var(--brass));border-color:var(--brass-dk);box-shadow:0 2px 0 var(--brass-dk);opacity:1}.coach{position:absolute;left:50%;top:8px;transform:translate(-50%);z-index:31;pointer-events:none;max-width:84%;text-align:center;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.03em;line-height:1.3;color:#ffeec2;padding:8px 16px;border-radius:6px;border:1.5px solid rgba(239,201,108,.55);background:linear-gradient(#26160cf0,#1a0f08f0);animation:coachIn .45s ease-out both,coachGlow 2.4s ease-in-out .45s infinite}.coach.done{color:#ffd9a8;border-color:#efc96cd9}html.autoplay .coach{top:32px}.spotlight{position:relative;z-index:3}.board-tile.spotlight{animation:spotlightTile 1.3s ease-in-out infinite}.board-bld.spotlight,.menu-pick.spotlight,.tray-build.spotlight{animation:spotlightBox 1.3s ease-in-out infinite}@keyframes spotlightTile{0%,to{box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 5px var(--brass-hi),inset 0 0 16px #f0c86280;filter:brightness(1)}50%{box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 5px #ffe9a8,inset 0 0 22px #ffe08cd9;filter:brightness(1.16)}}@keyframes spotlightBox{0%,to{box-shadow:0 0 0 3px var(--brass-hi),0 0 12px #f0c86299;filter:brightness(1)}50%{box-shadow:0 0 0 4px #ffe9a8,0 0 20px #ffe08ce6;filter:brightness(1.14)}}.coach.coach-step{border-color:#efc96ce6;box-shadow:0 0 18px #e2b04a47}html.noanim .spotlight{animation:none}@keyframes coachIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes coachGlow{0%,to{box-shadow:0 3px 14px #0009,0 0 #efc96c4d;border-color:#efc96c73}50%{box-shadow:0 3px 14px #0009,0 0 16px 3px #efc96c57;border-color:#efc96cf2}}.phase-btn.urge{animation:urge 1.5s ease-in-out infinite}@keyframes urge{0%,to{box-shadow:0 4px 0 var(--brass-dk),0 6px 10px #00000080,inset 0 1px #ffffff80}50%{box-shadow:0 4px 0 var(--brass-dk),0 6px 22px #efc96cbf,inset 0 1px #ffffff80}}.phase-btn{flex:0 0 auto;margin:8px 12px calc(10px + env(safe-area-inset-bottom));height:56px;border-radius:6px;position:relative;border:2px solid var(--brass-dk);background:linear-gradient(180deg,var(--brass-hi),var(--brass) 55%,#b07f2e);color:var(--ink);font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 4px 0 var(--brass-dk),0 6px 10px #00000080,inset 0 1px #ffffff80;text-shadow:0 1px 0 rgba(255,255,255,.35)}.phase-btn:before,.phase-btn:after{content:"";position:absolute;top:50%;width:9px;height:9px;border-radius:1.5px;transform:translateY(-50%) rotate(45deg);border:1.5px solid var(--brass-dk);background:radial-gradient(circle,var(--ruby) 0 1.6px,transparent 2px)}.phase-btn:before{left:9px}.phase-btn:after{right:9px}.phase-btn>span{display:inline-flex;align-items:center;gap:6px}.phase-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--brass-dk)}.phase-btn small{font-family:var(--body);font-size:11px;font-weight:800;opacity:.7;letter-spacing:0;text-transform:none}.phase-btn:disabled{opacity:.5}.phase-btn.dusk{background:linear-gradient(180deg,#5a4a7a,#3f3358);color:var(--parch);border-color:#23193a;box-shadow:0 4px #23193a,0 6px 10px #00000080;text-shadow:0 1px 0 rgba(0,0,0,.4)}.phase-btn.dusk:before,.phase-btn.dusk:after{border-color:#23193a}.dragline{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60;overflow:visible}.dragline-shadow{fill:none;stroke:#00000073;stroke-width:7;stroke-linecap:round}.dragline-path{fill:none;stroke:var(--brass-hi);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:10 8;animation:march .5s linear infinite}.dragline .dragline-reticle{fill:#efc96c2e;stroke:var(--brass-hi);stroke-width:3;transition:r .12s}.dragline .dragline-dot{fill:var(--brass-hi)}.dragline.on .dragline-reticle{fill:#efc96c59}.dragline.bad .dragline-reticle{stroke:var(--bad)}.dragline.bad .dragline-dot{fill:var(--bad)}@keyframes march{to{stroke-dashoffset:-18}}.drag-badge{position:fixed;left:0;top:0;pointer-events:none;z-index:61;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5))}.drag-badge.bad{animation:shake .22s}.drag-hint{position:fixed;left:0;top:0;pointer-events:none;z-index:61;background:var(--brass-hi);color:var(--ink);border:1.5px solid var(--ink);border-radius:4px;padding:3px 8px;font-family:var(--display);font-weight:700;font-size:13px;line-height:1.2;white-space:nowrap;box-shadow:0 2px 0 var(--ink)}.drag-hint.bad{background:var(--bad);color:var(--parch)}@keyframes shake{25%{margin-left:-4px}75%{margin-left:4px}}.toast{position:absolute;left:50%;top:15.5%;transform:translate(-50%) rotate(-1deg);z-index:56;background:var(--parch);color:var(--ink);border:1.5px solid var(--ink);padding:8px 14px;border-radius:3px;font-size:13px;font-weight:700;max-width:88%;text-align:center;animation:toastIn .2s ease-out;box-shadow:0 3px 0 var(--ink),0 8px 20px #00000080}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px) rotate(-1deg)}}.overlay{position:absolute;inset:0;background:#140c06b8;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.overlay.sheet{align-items:flex-end;padding-bottom:8px}.overlay.sheet .card{max-height:100%;padding:14px 16px}.card{background:var(--parch);background-image:var(--noise);color:var(--ink);border:1px solid var(--gold-dk);border-radius:3px;padding:20px 18px;width:100%;max-width:380px;max-height:92%;overflow-y:auto;box-shadow:inset 0 0 0 3px var(--parch),inset 0 0 0 4px var(--gold),0 20px 40px #0009}.card.dark{background-color:var(--plate);background-image:var(--noise),radial-gradient(ellipse at 50% 12%,rgba(217,164,65,.16),transparent 60%);color:var(--cream);border-color:var(--gold-dk);box-shadow:inset 0 0 0 3px var(--plate),inset 0 0 0 4px var(--gold),0 20px 40px #000000b3}.card.dark h1,.card.dark h2{color:var(--cream)}.card.dark p{color:#cdbf9c}.card.dark .tagline{color:var(--cream)}.card.dark .dim{color:var(--taupe)}.card.dark .seed-row input{background:#2a1d14;color:var(--cream);border-color:var(--gold-dk)}.card.dark .seed-row input::placeholder{color:var(--taupe)}.card.dark .btn.secondary{background:transparent;color:var(--gold);border-color:var(--gold-dk);box-shadow:none}.card.dark .end-unlocked span{color:var(--gold)}.card.title{text-align:center}.card.title p:not(.tagline){text-align:left;font-size:13px}.card h1{margin:0 0 4px;font-size:22px;color:var(--ink);line-height:1.2;text-align:center}.logo-wrap{display:flex;justify-content:center;margin:2px 0 -4px}.logo{max-width:100%;display:flex;flex-direction:column;align-items:center;line-height:1;font-family:var(--display);text-transform:uppercase;filter:drop-shadow(0 8px 18px rgba(0,0,0,.55));-webkit-user-drag:none;user-select:none}.logo .rule{width:74%;margin-bottom:.3em}.logo-kicker{font-size:1.02em;font-weight:900;letter-spacing:.2em;text-indent:.2em;color:var(--gold)}.logo-word{font-size:1.46em;font-weight:900;letter-spacing:.015em;color:var(--cream);margin-top:.06em}.logo-tag{display:flex;align-items:center;gap:.5em;margin-top:.4em;font-size:.225em;font-weight:700;letter-spacing:.3em;text-indent:.3em;color:#b9a887}.logo-pip{width:.5em;height:.5em;background:var(--ruby);transform:rotate(45deg);border-radius:.06em}.card h2{margin:0 0 8px;font-size:18px;line-height:1.2}.card p{margin:6px 0;font-size:14px;line-height:1.45;color:var(--ink2)}.card .tagline{color:var(--ink);font-weight:700}.sheet-head{display:flex;gap:12px;align-items:center;margin-bottom:4px}.sheet-head h2{margin:0}.btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:10px;padding:12px;border-radius:6px;border:2px solid var(--brass-dk);background:linear-gradient(180deg,var(--brass-hi),var(--brass));color:var(--ink);font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 3px 0 var(--brass-dk)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--brass-dk)}.btn.secondary{background:var(--parch2);border-color:var(--ink2);box-shadow:0 3px 0 var(--ink2)}.btn:disabled{opacity:.45}.seed-row{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:13px;font-weight:700}.seed-row input{flex:1;padding:8px;border-radius:4px;border:1.5px solid var(--ink2);background:#fff8e6;color:var(--ink);font:inherit;min-width:0}.menu-picks{display:grid;gap:6px;margin:8px 0}.menu-pick{text-align:left;background:var(--parch2);color:var(--ink);border:1.5px solid var(--ink2);border-radius:6px;padding:7px 10px;display:flex;gap:10px;align-items:center;min-height:44px;box-shadow:0 2px 0 var(--ink2)}.menu-pick:active{background:var(--brass-hi)}.menu-pick .menu-pick-icon{display:flex;flex:none}.menu-pick .die-icon{display:flex}.menu-pick.disabled{opacity:.45}.menu-pick.locked{opacity:.6;background:var(--parch3)}.end-unlocked{display:grid;gap:6px;margin:8px 0}.end-unlocked span{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:14px;color:var(--brass-dk)}.menu-pick b{display:block;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.03em;line-height:1.2}.menu-pick .cost{font-family:var(--body);font-weight:800;color:var(--brass-dk);font-size:12px;margin-left:6px}.menu-pick>div>span{font-size:12px;line-height:1.28;color:var(--ink2)}.loot-summary{display:flex;gap:14px;font-family:var(--display);font-weight:700;font-size:15px;margin:6px 0 10px}.loot-summary span{display:inline-flex;align-items:center;gap:4px}.help ul{list-style:none;padding-left:18px;margin:6px 0;font-size:13px;line-height:1.45;color:var(--ink2)}.help li{margin-bottom:5px;position:relative}.help li:not(.facet-legend):before{content:"";position:absolute;left:-17px;top:.5em;width:7px;height:7px;border:1.2px solid var(--gold-dk);border-radius:1.5px;transform:rotate(45deg);background:radial-gradient(circle,var(--ruby) 0 1.3px,transparent 1.7px)}.help li b{color:var(--ink)}.facet-legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;margin:6px 0 6px -18px!important}.facet-legend>span{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:12px;color:var(--ink)}.facet-legend .die{flex:none}.end-score{font-family:var(--display);font-weight:900;font-size:54px;color:var(--gold);margin:6px 0;line-height:1;text-align:center}.noanim *{transition-duration:0s!important;animation:none!important}html.autoplay .board-wrap:after{content:"DEMO · bot is playing";position:absolute;top:6px;left:50%;transform:translate(-50%) rotate(-1.5deg);background:var(--parch);color:var(--ink);font-family:var(--display);font-size:12px;letter-spacing:.06em;padding:3px 10px;border-radius:3px;border:1.5px solid var(--ink);z-index:25;pointer-events:none}.drag-badge .villager{animation:hobble .34s infinite ease-in-out}.drag-badge .villager-leg.l{animation:stepL .34s infinite ease-in-out}.drag-badge .villager-leg.r{animation:stepR .34s infinite ease-in-out}.drag-badge .villager-arm.l{animation:swingL .34s infinite ease-in-out}.drag-badge .villager-arm.r{animation:swingR .34s infinite ease-in-out}.villager-sprite.carried{visibility:hidden}.menu-pick-body{flex:1;min-width:0}.cost-pills{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:none}.cost-pill{display:inline-flex;align-items:center;gap:3px;background:var(--parch);border:1px solid var(--ink2);border-radius:10px;padding:1px 7px 1px 5px;font-family:var(--display);font-weight:700;font-size:12px;line-height:1.3;color:var(--ink);box-shadow:0 1px 0 var(--ink2)}.cost-pill.short{color:var(--bad);border-color:var(--bad)}.menu-pick.locked .cost-pill{opacity:.8}.board-proj{position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:25%;background:var(--cream);border:1.5px solid var(--ink);box-shadow:0 1px 0 var(--ink);pointer-events:none;animation:spinDie .3s linear infinite}.board-proj:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:var(--ink)}.board-proj.cannon{width:15px;height:15px;background:#4a4a52;border-color:#1a1a20;animation-duration:.5s}.board-proj.cannon:after{background:#1a1a20;width:4px;height:4px;margin:-2px 0 0 -2px}.board-proj.bolt{width:12px;height:12px;background:#b388ff;border-color:#3d1f7a;box-shadow:0 0 8px #7c4dff}.board-proj.bolt:after{background:#3d1f7a}.board-proj.enemyArrow{background:#e07a70;border-color:#5a1a12}.board-proj.enemyArrow:after{background:#5a1a12}@keyframes spinDie{to{transform:translate(-50%,-50%) rotate(360deg)}}.die .die-num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.03em}.die .die-num .die-digit{line-height:1}.die .die-num .die-pip.die-eye{width:.25em;height:.25em}.die.d4 .die-num{inset:28% 0 0}.villager.d4 .villager-arm{display:none}.overlay.peek{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-end;padding-bottom:8px}.info-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon head stats" "body body body";gap:6px 12px;padding:14px 16px;position:relative}.info-icon{grid-area:icon;display:flex;align-items:center}.info-head{grid-area:head;min-width:0;align-self:center}.info-head h2{margin:0;font-size:15px;line-height:1.15}.info-sub{font-family:var(--body);font-weight:800;font-size:12px;color:var(--ink2)}.info-stats{grid-area:stats;display:grid;grid-template-columns:auto auto;gap:2px 8px;align-content:start;align-items:baseline;font-size:12px;padding-right:26px}.info-stats>div{display:contents}.info-stats span{color:var(--ink2);font-weight:700}.info-stats b{font-family:var(--display);font-weight:700;font-size:14px;text-align:right}.info-body{grid-area:body}.info-body p{margin:2px 0 6px}.info-bar{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--ink2);margin:4px 0}.info-bar-track{flex:1;height:8px;background:#2b1d122e;border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 2px #00000040}.info-bar-track i{display:block;height:100%;background:linear-gradient(var(--brass-hi),var(--brass))}.info-bar.tone-hp .info-bar-track i{background:var(--good)}.info-close{position:absolute;top:6px;right:8px;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink2);background:var(--parch2);font-size:18px;line-height:1;padding:0}.board-range{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(43,29,18,.75);background:#efc96c24;pointer-events:none;z-index:1}.board-bonus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--ink);color:var(--brass-hi);font-family:var(--display);font-weight:700;font-size:12px;padding:1px 6px;border-radius:4px;pointer-events:none}.wave{z-index:32}.wave-cards{display:grid;gap:8px}.wave-card{display:flex;gap:10px;align-items:center;background:var(--parch2);border:1.5px solid var(--ink2);border-radius:6px;padding:8px 10px;box-shadow:0 2px 0 var(--ink2)}.wave-card.boss{border-color:var(--bad);box-shadow:0 2px 0 var(--bad)}.wave-card-icon{flex:none;display:flex}.wave-card-body{display:flex;flex-direction:column;min-width:0}.wave-card-body b{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.03em}.wave-card-count{color:var(--brass-dk)}.wave-card-stats{font-size:12px;font-weight:800;color:var(--ink2)}.wave-card-text{font-size:12px;color:var(--ink2)}.wave-foot{margin-top:8px;font-size:11px;color:var(--ink2)}html.god .hdr:after{content:"GOD";position:absolute;left:50%;top:2px;transform:translate(-50%) rotate(-3deg);background:var(--bad);color:var(--parch);font-family:var(--display);font-size:11px;letter-spacing:.12em;padding:1px 8px;border-radius:3px;border:1.5px solid var(--ink)}.loot-wounds{display:flex;gap:6px;align-items:flex-start;color:var(--bad)!important;font-weight:700}.die.d4 .die-d4-num{position:absolute;top:68%;left:50%;transform:translate(-50%,-50%);font-family:var(--display);font-weight:700;font-size:.38em;line-height:1;color:var(--die-ink, var(--ink))}.die.d4 .die-d4-eye{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);width:.22em;height:.22em}.die-hunger{position:absolute;right:-.08em;bottom:-.06em;font-size:.38em;line-height:1;pointer-events:none;filter:grayscale(1) opacity(.7) drop-shadow(0 .04em 0 rgba(0,0,0,.35))}.die-hunger .ico{vertical-align:top}.die.d4 .die-wound{top:64%;font-size:.56em}.die.d4 .die-hunger{right:.02em;bottom:0}.wave-chip.from.raid{background:#e2704a29;border-color:#e2704a8c;gap:3px}.hdr-mute{margin-right:4px}.hdr-mute.off{opacity:.55}.welcome{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#5d8a45}.welcome-scene{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0}.welcome-turf{position:absolute;inset:0;display:grid}.welcome-turf span{display:block;background-size:100% 100%}.welcome-road{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.welcome:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(76% 42% at 50% 46%,#140c06f2,#140c06db 34%,#140c0680 70% 100%)}.welcome-crowd{position:absolute;inset:0;z-index:1}.welcome-crowd .villager-id{display:none}.welcome-fore{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 24px}.welcome-fore .logo{filter:drop-shadow(0 2px 3px rgba(0,0,0,.9)) drop-shadow(0 6px 20px rgba(0,0,0,.7))}.welcome-crest{color:var(--gold);opacity:.8;margin-top:-8px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}.welcome-line{max-width:26ch;margin-top:-4px;text-align:center;color:#f0e2c4;font-size:15px;font-weight:700;line-height:1.4;text-shadow:0 2px 6px rgba(0,0,0,.9)}.welcome-seed{width:min(258px,72vw);margin-top:12px;gap:7px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#e2b04ab8;text-shadow:0 1px 3px rgba(0,0,0,.8)}.welcome-seed input{padding:6px 9px;background:#e2b04a1a;color:#f3e6cdeb;border:1px solid rgba(226,176,74,.34);border-radius:5px;font-size:13px;letter-spacing:normal;text-transform:none;transition:border-color .15s,background .15s}.welcome-seed input::placeholder{color:#e2b04a73}.welcome-seed input:focus{outline:none;background:#e2b04a29;border-color:#e2b04ab3}.welcome-play{width:auto;min-width:250px;margin-top:2px;font-size:22px;padding:15px 58px;letter-spacing:.1em;box-shadow:0 4px 0 var(--brass-dk),0 10px 26px #0000008c}@media(max-height:620px){.welcome-fore{transform:scale(.85)}}.info-effects{grid-column:1 / -1;margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.info-effects li{padding:7px 9px;border-radius:6px;background:#2b1d1212;border-left:3px solid var(--brass-dk);font-size:14px;line-height:1.35}.info-effects b{display:block;font-family:var(--display);letter-spacing:.04em}.bursts{position:fixed;inset:0;z-index:55;pointer-events:none}.burst{position:fixed;margin:-12px 0 0 -12px;display:block;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.65))}.burst.fly{animation:burstFly 1.5s forwards}.burst.fade{animation:burstFade 1.25s forwards}@keyframes burstFly{0%{transform:translate(0) scale(.2);opacity:0;animation-timing-function:cubic-bezier(.1,.9,.25,1)}10%{opacity:1}40%{transform:translate(var(--ex),var(--ey)) scale(1.45);opacity:1;animation-timing-function:cubic-bezier(.4,0,.7,.55)}94%{transform:translate(var(--dx),var(--dy)) scale(.6);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.42);opacity:0}}@keyframes burstFade{0%{transform:translate(0) scale(.2);opacity:0;animation-timing-function:cubic-bezier(.1,.9,.25,1)}10%{opacity:1}46%{transform:translate(var(--ex),var(--ey)) scale(1.45);opacity:1;animation-timing-function:ease-in}to{transform:translate(calc(var(--ex) * 1.15),calc(var(--ey) - 34px)) scale(1.1);opacity:0}}@media(prefers-reduced-motion:reduce){.bursts{display:none}}.villager-sprite{pointer-events:auto;touch-action:none}.villager-sprite.grabbable{cursor:grab}.villager-sprite:not(.grabbable){cursor:pointer}.villager-sprite.ready .die.shaped .die-shape path{stroke:var(--brass-hi);stroke-width:7;paint-order:stroke fill}.villager-sprite.ready .die:not(.shaped){box-shadow:0 0 0 2.5px var(--brass-hi),0 .12em .2em #0000008c}.villager-sprite.ready .die{filter:drop-shadow(0 0 5px rgba(226,176,74,.6))}.ready-arrow{position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:2px;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));animation:readyBob 1.15s ease-in-out infinite}@keyframes readyBob{0%,to{transform:translate(-50%) translateY(-2px)}50%{transform:translate(-50%) translateY(3px)}}.villager-sprite.lifted .villager{filter:brightness(1.15)}.villager-sprite.rolling .die{animation:roll .45s linear infinite}.villager-sprite.selectable{animation:pulse .8s infinite alternate ease-in-out}.villager-sprite.selected .die{outline:3px solid var(--brass-hi);outline-offset:2px}@media(prefers-reduced-motion:reduce){.ready-arrow{animation:none}}.board-wrap:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(120% 80% at 50% 50%,#160e0759,#160e079e 62%,#160e07d1)}.board-wrap>.board{z-index:2}.board-roads-out{position:absolute;left:0;top:0;z-index:0;pointer-events:none}.villager-sprite.done .villager{filter:grayscale(.7) brightness(.82) contrast(.95)}.villager-sprite.done{opacity:.82}.villager-sprite.done .villager-id{opacity:.7}.villager-sprite.shrunk .villager{scale:.56;opacity:.5;transition:scale .18s ease,opacity .18s ease}.villager-sprite:not(.shrunk) .villager{transition:scale .18s ease,opacity .18s ease}.villager-sprite.shrunk .ready-arrow,.villager-sprite.shrunk .villager-id{opacity:0;transition:opacity .15s ease}.upkeep-warn{display:flex;align-items:center;gap:7px;padding:5px 14px;background:linear-gradient(180deg,#6d2f22,#55231a);color:#ffe6c4;font-size:12.5px;font-weight:700;border-bottom:1px solid rgba(0,0,0,.5);box-shadow:0 2px 6px #00000059;animation:warnIn .22s ease-out}.upkeep-warn b{font-family:var(--display);font-size:15px;color:var(--brass-hi)}@keyframes warnIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hdr-res-tag.warn{box-shadow:0 0 0 2px var(--bad),0 2px 0 var(--ink);animation:warnPulse 1.4s ease-in-out infinite}@keyframes warnPulse{0%,to{box-shadow:0 0 0 2px #b3382ca6,0 2px 0 var(--ink)}50%{box-shadow:0 0 0 3px var(--bad),0 0 9px #b3382cb3,0 2px 0 var(--ink)}}.tray-spacer{flex:1}
