:root{font-family:Arial,sans-serif;color:#e9e2cf;background:#142723;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #857147;background:#254238;color:#f5ead1;border-radius:5px;padding:10px 14px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#365447;border-color:#d8b96d}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f5d780;outline-offset:3px}button:disabled{cursor:default;opacity:.55}main{max-width:1600px;margin:auto;padding:22px 32px}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:36px;margin:2px 0}h2{font-size:25px;margin:8px 0}h3{font-size:18px;margin:12px 0}small{font-size:11px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#ccb680;font-weight:700}.masthead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #6b684b;padding-bottom:20px}.brand{display:flex;gap:14px;align-items:center}.brand>img{height:64px;width:64px;border-radius:50%;object-fit:cover}.masthead nav{display:flex;gap:10px;align-items:center}.masthead nav button{border:0;background:transparent;font-size:12px}.mode-tag{font-size:11px;border:1px solid #727653;border-radius:20px;padding:8px 13px;color:#d9c895}.match-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.match-bar h2{font-size:30px}.match-bar h2 span{font-size:17px;color:#8fa396}.rounds>span,.turn-order>span{font-size:10px;letter-spacing:2px;color:#b9c3b5}.rounds>div{display:flex;gap:7px;margin-top:12px}.rounds i{width:22px;height:5px;background:#3e5546}.rounds .filled{background:#d5b86f}.turn-order p{display:flex;gap:7px;margin:8px 0}.turn-order b{font-size:11px;border:1px solid #4f685a;border-radius:50%;padding:8px}.turn-order .active{background:#dac185;color:#1d3028}.cat-status{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1px}.cat-status img{width:55px;height:64px;object-fit:contain}.cat-status b{font-size:13px;letter-spacing:0;line-height:2}.cat-status small{display:block;color:#b5bba6}.decrees{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.decrees article{background:#eee6d3;color:#343d32;padding:15px 18px;border:1px solid #c7b685;border-top:3px solid #ab914c;border-radius:3px;position:relative;min-height:126px}.decrees strong{font-family:Georgia,serif;font-size:17px}.decrees p{font-size:12px;margin:8px 0;color:#536052}.decrees p:last-child{font-size:10px;font-weight:700;color:#6e602f}.game-layout{display:grid;grid-template-columns:215px minmax(360px,1fr) 235px;gap:20px;margin-top:22px}.roster{display:flex;flex-direction:column;gap:12px}.player-card{padding:12px;text-align:left;background:#20372e;border:1px solid #4b5e48;border-left:4px solid;overflow:hidden}.player-card.selected{background:#2b4437;border-top-color:#bca366}.player-card.eliminated{opacity:.6}.seat{display:flex;justify-content:space-between;font-size:10px;color:#c8c9b1}.seat span{font-size:9px}.portrait{width:100%;height:104px;margin-top:8px;border-radius:3px}.player-card h3{font-size:19px;margin:8px 0}.resources{display:flex;justify-content:space-between}.resource{display:flex;gap:4px;align-items:center;font-size:16px}.resource img{width:26px;height:26px;border-radius:50%;object-fit:cover}.stats,.trackers{display:flex;justify-content:space-between;font-size:10px;margin-top:10px;padding-top:8px;border-top:1px solid #526349}.stats b{font-size:13px}.ability{font-size:11px;color:#cbd1be;line-height:1.45;margin:10px 0}.trackers{font-size:9px;color:#cfbf98}.arena-column{min-width:0}.turn-banner{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#243d31;border:1px solid #68724e}.turn-banner h2{font-size:23px}.action-count{font-size:11px;color:#e8d297;border:1px solid #7e8356;border-radius:20px;padding:8px}.arena-board{background:radial-gradient(ellipse at center,#43543a 0,#253a2b 65%,#203529);border:1px solid #4f654b;border-top:0}.arena-board>svg{width:100%;max-height:620px;display:block;padding:15px}.tile-base{fill:#b59e72}.tile-outline{fill:transparent;stroke:#554a31;stroke-width:.6}.tile-outline.legal{stroke:#f6db80;stroke-width:2;filter:drop-shadow(0 0 2px #f2d27c);cursor:pointer}.tile-outline.target{stroke:#ec8164}.arena-board g[role=button]:focus{outline:none}.arena-board g[role=button]:focus .tile-outline,.arena-board g[role=button]:hover .legal{stroke:#fff8d5;stroke-width:3}.arena-board text{fill:#fff5d8;font-size:6px;font-family:Arial;pointer-events:none;font-weight:700}.tile-label{paint-order:stroke;stroke:#2c2921;stroke-width:2}.movement-path{fill:none;stroke:#fff5c2;stroke-width:2;stroke-dasharray:3;pointer-events:none;opacity:.8}.rat-token{transition:transform .35s ease}.board-legend{display:flex;justify-content:center;gap:14px;font-size:9px;color:#d0c598;padding:12px;border-top:1px solid #536547}.side-panel{padding:18px;background:#1d332b;border:1px solid #495d47;align-self:start}.side-panel h2{font-size:22px}.side-panel>p{font-size:12px;color:#bcc8b4}.side-panel h3{padding-top:15px;border-top:1px solid #4b6049}.inventory-card{padding:10px;background:#efe6d3;color:#394132;border:1px solid #bfa878;margin-bottom:10px;border-radius:3px}.inventory-card .item-art{height:90px;width:100%}.inventory-card p{font-size:11px}.inventory-card strong{font-family:Georgia;font-size:15px}.empty-slot{border:1px dashed #6a7657;padding:20px 8px;text-align:center;font-size:12px;color:#b3bea6}.chronicle p{font-size:11px;padding:8px 0;border-bottom:1px solid #40553f;margin:0;animation:reveal .3s ease}details{font-size:11px;margin-top:15px}summary{cursor:pointer;color:#d7c494}pre{font-family:inherit;white-space:pre-wrap;max-height:300px;overflow:auto;line-height:1.5;font-size:11px}.decision-panel{background:#e9e2cf;color:#343e31;padding:16px 20px;border:1px solid #b5a67f;min-height:70px}.decision-panel p{font-size:12px}.decision-panel:has(.combat){border-top:3px solid #b44f36}.countdown:empty{display:none}.countdown{margin:0 0 12px;color:#5e6248}.decision-panel button{margin:4px;font-size:12px}.decision-panel .end-turn{display:block;margin:12px 0 0 auto;background:#284737;min-width:135px}.combat h2{font-size:23px}.combat h3{font-size:13px}.dice{display:flex;gap:8px;flex-wrap:wrap}.dice button{width:46px;height:46px;background:#fffaf0;color:#384531;border:1px solid #a6956f;font-size:24px;font-family:Georgia;box-shadow:0 3px #b4a98e;animation:roll-in .3s ease}.dice button:disabled{opacity:1}.item-action{display:inline-flex;align-items:center;max-width:210px;text-align:left;background:#f6efdd;color:#3d4938}.item-art{width:48px;height:42px;flex-shrink:0}.error{background:#853e32;padding:12px}footer{display:flex;justify-content:space-between;padding-top:25px;margin-top:25px;border-top:1px solid #506049;font-size:9px;letter-spacing:1.3px;color:#9ca991}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#081710d9;display:grid;place-items:center;padding:20px}.modal{position:relative;background:#f1e8d5;color:#334032;border:2px solid #bea365;width:min(520px,100%);padding:35px;box-shadow:0 20px 80px #0008;max-height:90vh;overflow:auto}.modal .eyebrow{color:#857344}.modal label{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-size:13px}.modal input,.modal select{padding:9px;width:190px;background:#fff9eb;border:1px solid #a89f7c;color:#334032}.modal p,.modal li{font-size:13px;line-height:1.6}.modal li{margin-bottom:8px}.close{position:absolute;right:12px;top:10px;background:transparent;color:#394b38;border:0;font-size:23px}.primary{width:100%;margin-top:12px}.modal .close:hover{background:#d1c6a5}.decision-panel section[aria-label="Cards and effects"]>h2{font-size:16px}main>section[aria-label="Cards and effects"]>h2{font-family:Arial;font-size:10px;letter-spacing:2px;margin:0 0 12px;color:#d1bb85}main>section[aria-label="Cards and effects"]>p{font-size:9px;text-align:right;margin:6px 0;color:#95a68c}@keyframes reveal{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes roll-in{0%{transform:rotate(-15deg) scale(.8)}to{transform:none}}@media(min-width:1350px){.game-layout{grid-template-columns:230px minmax(360px,1fr) 255px}}@media(max-width:1050px){main{padding:18px}.game-layout{grid-template-columns:180px minmax(0,1fr)}.side-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.side-panel>*{margin:0}.decrees article{padding:12px}.decrees strong{font-size:15px}}@media(max-width:650px){main{padding:12px}.masthead{align-items:start}.brand>img{width:40px;height:40px}.brand{gap:8px}.brand .eyebrow{font-size:7px}h1{font-size:25px}.masthead nav{flex-direction:column;gap:2px;align-items:end}.masthead nav button{padding:5px;font-size:10px}.mode-tag{display:none}.match-bar{gap:10px;padding:12px 0}.match-bar h2{font-size:23px}.match-bar .eyebrow{font-size:7px;letter-spacing:1px}.rounds i{width:12px}.rounds>span{font-size:9px;letter-spacing:0}.turn-order{display:none}.cat-status img{width:36px;height:42px}.cat-status{font-size:8px;gap:3px}.cat-status b{font-size:10px}.decrees{grid-template-columns:1fr 1fr;gap:6px}.decrees article{min-height:120px;padding:10px}.decrees strong{font-size:14px}.decrees p{font-size:10px}.game-layout{display:flex;flex-direction:column;gap:12px;margin-top:12px}.roster{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;order:2}.arena-column{order:1}.side-panel{order:3;display:block}.player-card .portrait{height:85px}.side-panel h3{margin-top:15px}.board-legend{font-size:8px;gap:9px}.arena-board>svg{padding:0;min-height:310px}.turn-banner{padding:10px}.turn-banner h2{font-size:20px}.decision-panel{padding:12px}.modal{padding:25px}.modal input,.modal select{width:160px}footer{font-size:8px;gap:15px}.item-action{max-width:160px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.favor-icon{display:inline-block;aspect-ratio:1;width:28px;height:28px;overflow:hidden;border-radius:50%;flex-shrink:0}.brand>.favor-icon{width:62px;height:62px;filter:drop-shadow(0 2px 4px #0007)}.resource>.favor-icon{width:26px;height:26px}.decree-art{width:68px;height:70px;float:right;margin:0 0 6px 10px;border-radius:4px;opacity:.9}.decree-reward{display:flex;align-items:center;gap:5px;clear:both}.decree-reward>.favor-icon{width:21px;height:21px}.decrees article{min-height:145px}.placement-base{fill:#314533}.placement-base+g{opacity:.4}.arena-board g:has(.placement-base) .legal{stroke-dasharray:3 2;filter:none}.decision-panel .action-button{font-weight:700}.side-panel{position:sticky;top:12px}.arena-board>svg{max-height:540px}.roster .portrait{height:90px}.combat .dice{margin-bottom:14px}.combat .dice button{border-radius:8px}.combat .dice button:not(:disabled){border:2px solid #b28a34}.combat .dice button:disabled{background:#f6efdc}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:650px){.brand>.favor-icon{width:42px;height:42px}.decree-art{width:46px;height:50px;margin-left:5px}.decrees article{min-height:150px}.side-panel{position:static}.arena-board>svg{max-height:none}}.rat-token{transition:transform .9s cubic-bezier(.25,.7,.3,1)}.combat-winner{filter:drop-shadow(0 0 7px #ffd85e) drop-shadow(0 0 3px #ffe69a)}.arena-board .winner-crown{font-size:20px;fill:#ffdf6a;stroke:#755520;stroke-width:.5;paint-order:stroke;animation:crown-arrive .35s ease}.arena-board .combat-swords text{font-size:22px;fill:#fff4d6;stroke:#53392b;stroke-width:1;paint-order:stroke;animation:sword-clash .7s ease-in-out infinite}.activity-bars{margin-top:14px;border-top:1px solid #65704e;padding-top:3px}.activity{margin-top:10px}.activity-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px}.activity-label b{color:#edcf85}.activity-steps{display:flex;gap:3px;margin-top:5px;padding-bottom:15px}.activity-steps>span{flex:1;position:relative;height:5px;background:#15291f;border-radius:3px}.activity-steps i{display:block;background:linear-gradient(90deg,#a48744,#ebcc80);height:100%;width:0;border-radius:3px;transition:width .6s ease}.activity-steps .earned i{width:100%}.activity-steps small{position:absolute;right:0;top:8px;white-space:nowrap;font-size:6px;color:#b7bd9b}.activity-steps .earned small{color:#f2d68f}.claim-notices{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:35;max-width:90vw;pointer-events:none}.claim-notices p{display:flex;align-items:center;gap:8px;padding:13px 20px;background:#293e2cf5;color:#ffdf87;border:1px solid #e7c260;border-radius:6px;box-shadow:0 0 22px #b8943b66;font-size:12px}.flying-decree{position:fixed;width:170px;padding:14px;background:#f8edcc;border:2px solid #efc859;border-radius:5px;color:#544622;z-index:30;pointer-events:none;box-shadow:0 0 25px #ffd65f;animation:decree-flight 2s ease-in-out forwards}.flying-decree .decree-art{float:none;width:100%;height:75px}.flying-decree strong{display:block;font-family:Georgia;margin:6px 0}.flying-decree .favor-icon{width:20px;height:20px}@keyframes decree-flight{0%{transform:scale(1);opacity:1}25%{transform:scale(1.12);opacity:1}80%{transform:translate(var(--fly-x),var(--fly-y)) scale(.25);opacity:1}to{transform:translate(var(--fly-x),var(--fly-y)) scale(.15);opacity:0}}@keyframes crown-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes sword-clash{0%,to{opacity:.75;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.flying-decree{display:none}.combat-winner{filter:drop-shadow(0 0 3px #ffd85e)}}.activity-steps small{font-size:8px}.activity-bars:after{content:"F · Fervor     DF · Divine Favor";display:block;font-size:8px;color:#c3bc99;margin-top:8px;white-space:pre}.combat-overlay{position:fixed;inset:0;z-index:24;display:grid;place-items:center;padding:80px 16px 16px;background:#10271b66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.combat-dialog{width:min(680px,100%);max-height:calc(100dvh - 100px);overflow:auto;background:#efe5cedf;border:1px solid #d6bd7d;box-shadow:0 15px 70px #0007;border-radius:12px;padding:20px 26px;color:#354332}.combat-dialog .combat{margin:0}.combat-dialog .combat>div{display:inline-block;vertical-align:top;width:50%}.combat-dialog h2{font-size:23px;margin:0 0 12px}.combat-dialog h3{font-size:12px;margin:10px 0}.combat-dialog p{font-size:12px;margin:7px 0}.combat-dialog button{font-size:12px;margin:3px}.combat-dialog .dice button{font-size:24px;margin:0}.combat-dialog .combat-notifications{border-top:1px solid #a79a78;margin-top:12px;padding-top:8px;max-height:120px;overflow:auto}.combat-notifications p{font-size:11px}.result-summary{font-weight:700;color:#795b14}.combat-dialog .pushback-options button{padding:7px 10px}.claim-notices{z-index:40;top:8px}.claim-notices p{margin:3px 0}.flying-decree{z-index:38}.dice .die-success,.dice button.die-success:disabled{background:#ffedaf;color:#634812;border-color:#b28c29;box-shadow:0 0 12px #e7b738aa,0 3px #a38748}.dice .die-six,.dice button.die-six:disabled{border:2px solid #bd8f1b;box-shadow:0 0 18px #edbd3bcc,0 3px #a38748}.dice .die-ember{outline:2px solid #dc6326;outline-offset:3px;animation:ember-pulse 1.1s ease-in-out infinite}.dice .die-rolling{animation:dice-tumble .2s ease-in-out infinite!important;color:#8b784c!important}.combat-dialog .item-action{max-width:190px}.combat-dialog .item-art{width:30px;height:30px}@keyframes dice-tumble{0%,to{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(12deg) translateY(-4px)}}@keyframes ember-pulse{0%,to{outline-color:#c86529;filter:drop-shadow(0 0 2px #f77721)}50%{outline-color:#f9a452;filter:drop-shadow(0 -3px 4px #f77721)}}@media(max-width:650px){.combat-overlay{padding:75px 8px 8px}.combat-dialog{padding:14px;max-height:calc(100dvh - 85px)}.combat-dialog .dice button{width:36px;height:38px;font-size:20px}.combat-dialog .dice{gap:6px}.combat-dialog h2{font-size:19px}.combat-dialog .combat-notifications{max-height:95px}.claim-notices p{font-size:10px;padding:8px}.combat-dialog .combat>div{width:50%}}@media(prefers-reduced-motion:reduce){.dice .die-rolling{animation:none!important}.dice .die-ember{animation:none}}.elimination-notice{padding:1rem 1.4rem;border:1px solid #bda366;background:#263d32;color:#f4e7c4;border-radius:8px}.token-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:100%}.coin{position:relative;display:block;width:30px;height:30px;perspective:200px}.coin-inner{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .45s ease,opacity .25s;transition-delay:inherit}.coin img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;backface-visibility:hidden}.coin-back,.coin.fervor .coin-inner,.coin.spent .coin-inner{transform:rotateY(180deg)}.coin.spent{opacity:.18;filter:grayscale(1)}.coin.bonus .coin-front{display:none}.coin.bonus i{position:absolute;right:-2px;bottom:-3px;font:700 12px sans-serif;color:#ffe49b}.resources{flex-wrap:wrap}.player-card .resources .token-row{flex:1}.player-card .ability{line-height:1.5}@media(max-width:700px){.coin{width:28px;height:28px}.masthead nav{flex-wrap:wrap}.match-bar{gap:12px}.side-panel{min-width:0}}@media(prefers-reduced-motion:reduce){.coin-inner{transition:none!important}}.profile-backdrop{z-index:500}.profile-panel{max-height:90dvh;overflow:auto;width:min(520px,94vw)}.profile-panel label{display:block;margin:14px 0}.profile-panel input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;padding:10px;margin-top:6px}.profile-panel .consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.consent input{flex:none;margin-top:5px}.profile-panel details{font-size:13px;line-height:1.5;margin:16px 0}.profile-panel button{margin:6px 8px 6px 0}.profile-panel .consent{display:flex;align-items:flex-start;gap:10px}.profile-panel .consent input[type=checkbox]{width:18px;min-width:18px;max-width:18px;flex:0 0 18px;margin:2px 0 0;padding:0}.profile-panel details summary{color:#635326;cursor:pointer}.profile-panel details p{color:#344638}.tile-face{animation:tile-reveal .32s ease-out;transform-origin:center;transform-box:fill-box}@keyframes tile-reveal{0%{transform:scaleX(.05)}to{transform:scaleX(1)}}.brutal-reminder{display:flex;flex-wrap:wrap;gap:8px 24px;padding:14px 20px;margin:14px 0;background:#392c1d;border:1px solid #d3a34e;border-left:5px solid #e9b556;color:#ffe7ab;border-radius:8px;font-size:14px;line-height:1.5}.brutal-reminder strong{letter-spacing:.8px}.brutal-reminder small{flex-basis:100%;color:#e7d8b4}.feedback-panel{margin:24px auto;padding:24px;max-width:850px;border:1px solid #b59b64;border-radius:12px;background:#f0e7cf;color:#24392f}.feedback-panel .eyebrow{color:#655126}.feedback-panel p{line-height:1.6}.feedback-panel label,.feedback-panel small{display:block;margin:10px 0}.feedback-panel textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:140px;padding:14px;font:inherit;line-height:1.5;color:#21342b;background:#fffcf3;border:1px solid #8c805f;border-radius:6px}.feedback-panel textarea:focus-visible{outline:3px solid #a96e24;outline-offset:2px}.feedback-panel [role=alert]{color:#922f21}.arena-column>.feedback-panel{max-width:none;width:100%;box-sizing:border-box;margin:28px 0 0}.rat-roster-status{display:grid;gap:5px;margin:10px 0;font-size:.7rem}.rat-roster-status span{padding:5px;border:1px solid #66745a;border-radius:4px}.rat-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.rat-selection-grid button{text-align:left;padding:12px}.rat-selection-grid img{width:100%;max-height:160px;object-fit:cover}.bomb-warning{border-left:3px solid #b96831;padding:.55rem .8rem;background:#bc78391a;color:#73411f;font-size:.9rem}.bomb-burst{fill:#ffe6a3;stroke:#df7935;stroke-width:3;animation:bomb-burst .9s ease-out forwards;transform-box:fill-box;transform-origin:center}.bomb-damage{fill:#ffe9b8;stroke:#422317;stroke-width:.6;paint-order:stroke;font-size:11px;font-weight:700;animation:bomb-fade .9s ease-out forwards}@keyframes bomb-burst{0%{opacity:.95;transform:scale(.4)}to{opacity:0;transform:scale(2)}}@keyframes bomb-fade{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.bomb-burst{animation:bomb-fade .9s linear forwards}}:root{--page: #eee2ca;--board: #59634d;--panel: #f8efd9;--elevated: #fff8e9;--accent: #943d2b;--secondary: #385440;--ink: #352b21;--muted: #6a573e;--line: #c4aa77;--success: #355637;--warning: #805311;--danger: #983424;--favor: #99630e;--fervor: #b0491d;--health: #a32f32;--inactive: #ddd3be;--shadow: 0 5px 14px #49392016;color:var(--ink);background:var(--page);font-family:Trebuchet MS,Arial,sans-serif}body{background:var(--page);min-width:320px}main{max-width:1700px;padding:20px clamp(12px,2vw,32px)}h1,h2,h3{color:inherit;text-shadow:none;line-height:1.18}h1{font-size:clamp(28px,3vw,43px);font-weight:700;letter-spacing:-.04em}h2{font-size:25px}h3{font-size:20px}p{line-height:1.5}small{font-size:12px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:.18em}button,input,select,textarea{font:inherit}button{min-height:42px;padding:9px 14px;border:1px solid #29432e;border-radius:7px;background:var(--secondary);color:#fff7df;box-shadow:0 2px #263c2b;transition:background .15s,transform .15s,box-shadow .15s;touch-action:manipulation}button:hover:not(:disabled){background:#45674d;border-color:#29432e}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}button:disabled{opacity:1;background:var(--inactive);color:#756b5b;border-color:#b8ab92;box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b501c;outline-offset:3px}.primary,.decision-panel .end-turn{background:var(--accent);border-color:#6e2e20;box-shadow:0 2px #6e2e20;color:#fff8e9}.primary:hover:not(:disabled),.decision-panel .end-turn:hover:not(:disabled){background:#ab4b35}input,select,textarea{color:var(--ink);background:var(--elevated);border:1px solid var(--line);border-radius:6px;min-height:42px;max-width:100%}input[type=checkbox]{min-height:18px;accent-color:var(--secondary)}.masthead{gap:20px;border-bottom:2px solid var(--line);padding:0 0 17px}.brand{gap:12px}.brand>.favor-icon{width:58px;height:58px;filter:none}.masthead nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}.masthead nav button{color:var(--ink);background:var(--panel);border:1px solid var(--line);font-size:12px;box-shadow:none}.masthead nav button:hover:not(:disabled){background:#fff8e9}.mode-tag{color:var(--muted);border-color:var(--line);font-size:11px}.match-bar{padding:16px 0;gap:18px}.match-bar h2{font-size:29px}.match-bar h2 span,.rounds>span,.turn-order>span,.cat-status small{color:var(--muted)}.rounds i{background:#d2c4a5}.rounds .filled{background:var(--accent)}.turn-order b{border-color:var(--line);color:var(--muted)}.turn-order .active{color:#fff8e9;background:var(--accent);border-color:var(--accent)}.cat-status{color:var(--ink)}.cat-status b{font-size:13px}.cat-status img{width:42px;height:52px}main>section[aria-label="Cards and effects"]>h2{color:var(--muted);font-size:11px}main>section[aria-label="Cards and effects"]>p{color:var(--muted);font-size:11px}.decrees{gap:10px}.decrees article{display:grid;grid-template-columns:minmax(0,1fr) 66px;grid-template-rows:auto 1fr auto;gap:7px 10px;min-height:156px;padding:12px;border:1px solid var(--line);border-top:4px solid #b38c3b;border-radius:9px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);animation:card-arrive .22s ease-out}.decrees strong{grid-column:1;font-size:17px;line-height:1.18}.decrees .decree-art{grid-column:2;grid-row:1 / 3;width:66px;height:82px;margin:0;object-fit:cover;border-radius:5px;float:none;opacity:1}.decrees p{grid-column:1;font-size:12px;line-height:1.4;margin:0;color:var(--muted)}.decrees p.decree-reward{grid-column:1 / -1;grid-row:3;color:#79501a;font-size:11px;border-top:1px solid #d7c59d;padding-top:7px;margin:0}.game-layout{grid-template-columns:224px minmax(0,1fr) 228px;align-items:start;gap:16px;margin-top:17px}.roster{min-width:0;gap:12px}.player-card{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left:5px solid;border-radius:9px;box-shadow:var(--shadow);padding:12px}.player-card:hover:not(:disabled),.player-card.selected{color:var(--ink);background:#fff7e4;border-top-color:#ac812d}.player-card.active-turn{outline:2px solid #a96320;outline-offset:2px}.player-card.eliminated{opacity:1;background:#e4dccb}.player-card.eliminated .portrait{filter:saturate(.35)}.player-card:not(.selected):not(.active-turn) .rat-roster-status,.player-card:not(.selected):not(.active-turn) .ability,.player-card:not(.selected):not(.active-turn) .activity-bars{display:none}.player-card:not(.selected):not(.active-turn) .portrait{height:64px}.seat{color:var(--muted);font-size:11px;gap:6px;align-items:center}.seat span{font-size:10px}.active-turn .seat span{padding:3px 6px;border-radius:4px;background:#8c3929;color:#fff7df}.portrait{display:block;object-fit:cover;background:#dfceb0;border-radius:6px}.player-card .portrait{height:104px;width:100%}.player-card h3{color:var(--ink);font-size:21px;margin:9px 0}.rat-roster-status{font-size:10px;gap:3px;margin:8px 0}.rat-roster-status span{border-color:#d7c5a3;padding:4px 5px;border-radius:4px;background:#eadfc7}.resources{gap:8px;align-items:center}.resource{color:#805617;font-size:21px;gap:5px}.resource .favor-icon{width:29px;height:29px}.favor-score{position:relative;flex-shrink:0;border-radius:8px}.favor-score[data-gained]{animation:favor-award 1.1s ease-out}.favor-gain{position:absolute;right:0;top:-15px;color:#714311;font-weight:700;background:#ffe4a1;padding:2px 5px;border-radius:5px;animation:card-arrive .2s ease-out}.coin{width:28px;height:28px}.coin.fervor .coin-back{filter:drop-shadow(0 0 2px #d47627)}.coin.spent{opacity:.32}.coin.bonus i{color:#843717;text-shadow:0 1px #fff3d0}.stats{color:var(--ink);border-color:#d4bf97;font-size:12px;gap:6px}.stats b{font-size:16px}.ability{color:var(--muted);font-size:12px;line-height:1.45}.activity-bars{border-color:#d4bf97;margin-top:12px}.activity-label{font-size:11px;color:var(--muted)}.activity-label b{color:var(--ink)}.activity-steps>span{height:6px;background:#d9ceb7}.activity-steps i{background:#9e772b}.activity-steps small,.activity-steps .earned small,.activity-bars:after{color:#715632;font-size:9px}.activity-steps .earned small{color:#4a622f;font-weight:700}.turn-banner{border:1px solid #7b5030;border-radius:10px 10px 0 0;background:#883c2c;color:#fff4db;padding:14px 18px;gap:12px}.turn-banner .eyebrow{color:#ffe0a1}.turn-banner h2{margin:5px 0 0;font-size:24px}.action-count{flex-shrink:0;background:#fff0cc;color:#613b20;border-color:#f0cb82;font-weight:700;font-size:12px;padding:8px 10px}.arena-column{position:relative}.arena-board{background:var(--board);border-color:#62644c}.arena-board>svg{min-height:350px;max-height:630px;padding:16px 8px}.tile-outline{stroke:#6b492b;stroke-width:.55}.tile-outline.legal{stroke:#fff0a9;stroke-width:1.65;filter:none}.tile-outline.target{stroke:#a22c18;stroke-width:2.3}.arena-board g[role=button]:focus-visible .tile-outline{stroke:#fff;stroke-width:3;stroke-dasharray:3 1}.board-legend{color:#fff0cc;background:#46513d;border-color:#6d765b;font-size:11px;flex-wrap:wrap;gap:7px 14px;padding:10px}.rat-token{transition:transform .38s ease-out}.movement-path{stroke:#fff2b8;stroke-width:2.5}.tile-flip{transform-origin:0 0;animation:arena-tile-flip .5s ease-out}.decision-panel{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:16px}.decision-panel h2,.decision-panel h3{color:var(--ink);text-shadow:none}.decision-panel p{font-size:13px;color:var(--muted)}.decision-panel button{font-size:13px}.decision-panel section[aria-label="Last combat dice"]{border-top:1px solid var(--line);margin-top:12px;padding-top:3px}.decision-panel section[aria-label="Last combat dice"] h3{font-size:17px}.countdown{color:var(--ink)}.side-panel{position:static;border:1px solid var(--line);border-radius:9px;padding:15px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.side-panel>p,.side-panel .empty-slot{color:var(--muted);font-size:13px}.side-panel h3{border-color:var(--line)}.inventory-card{background:var(--elevated);color:var(--ink);border-color:var(--line);border-radius:7px;animation:card-arrive .22s ease-out}.inventory-card .item-art{object-fit:cover;border-radius:4px;height:100px}.inventory-card p{font-size:12px}.empty-slot{background:#eee3ca;border-color:#b59d71;padding:17px 8px;border-radius:7px}.chronicle p{font-size:12px;color:var(--muted);border-color:#dbcbaa}details{font-size:12px}summary{color:#745022;padding:7px 0;min-height:34px}pre{font-size:12px;overflow-wrap:anywhere}.modal-backdrop,.combat-overlay{background:#29281ed1;-webkit-backdrop-filter:none;backdrop-filter:none;padding:18px}.modal,.combat-dialog{color:var(--ink);background:var(--elevated);border:2px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 15px 45px #201a1744;animation:dialog-arrive .18s ease-out}.modal{width:min(720px,100%);max-height:calc(100dvh - 36px)}.profile-panel{width:min(540px,100%)}.modal h2,.modal h3,.combat-dialog h2,.combat-dialog h3{color:var(--ink)}.modal .eyebrow{color:var(--accent)}.modal input,.modal select{color:var(--ink);background:#fffaf0;border-color:var(--line)}.modal .close{box-shadow:none;color:var(--ink);min-width:40px}.modal .close:hover{background:#e8d5b3}.rat-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rat-selection-grid button{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:0 3px #bc9a62;padding:10px}.rat-selection-grid button:hover:not(:disabled){background:#ffecc7;border-color:#a26625}.rat-selection-grid .portrait{height:118px;max-height:none;margin:0 0 10px}.rat-selection-grid strong{font:700 18px Georgia,serif}.rat-selection-grid p{font-size:12px;line-height:1.4;margin-bottom:0}.combat-overlay{z-index:24}.combat-dialog{width:min(710px,100%);max-height:calc(100dvh - 36px)}.combat-dialog .combat-arena-label{color:var(--accent);font-size:11px;letter-spacing:.08em;font-weight:700}.combat-dialog .combat>.combatants{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.combatant{display:flex;align-items:center;gap:10px;border-radius:8px;background:#efdfc2;overflow:hidden;border-left:4px solid #a3452e}.combatant.dodging{background:#e6e9d6;border-left-color:#496246}.combatant .portrait,.combat-cat{width:74px;height:58px;object-fit:cover;margin:0;border-radius:0}.combat-cat{object-fit:contain}.combatant small{display:block;color:var(--muted);font-size:9px;letter-spacing:.08em}.combatant strong{display:block;font-size:16px;margin-top:3px}.combat-dialog .dice-lane{padding:10px 8px 10px 0}.combat-dialog .dice-lane h3{font-size:13px;margin:0 0 10px}.combat-dialog p{font-size:13px;color:var(--muted)}.combat-dialog .dice button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:52px;min-height:52px;padding:2px;font-size:26px;border-radius:8px;background:#fffaf0;color:var(--ink);animation:none}.dice button small{font:700 8px Arial,sans-serif;display:block;color:inherit}.dice .die-success,.dice button.die-success:disabled{background:#ffe9aa;color:#614211;box-shadow:0 3px #ae8c45}.dice .die-six,.dice button.die-six:disabled{background:#ffdfa0;border-color:#ad6d1d;box-shadow:0 3px #9c6428}.combat-dialog .dice button:not(:disabled){outline:2px solid #a96927;outline-offset:2px}.combat-dialog .combat-notifications{color:var(--ink);border-color:var(--line);max-height:100px}.combat-dialog .result-summary{color:var(--success);padding:10px;background:#e4ecd6;border-radius:7px}.combat-dialog .item-action,.item-action{background:#fff8e8;color:var(--ink);border-color:var(--line);box-shadow:0 2px #c0a777}.item-action:hover:not(:disabled){color:var(--ink);background:#f1dfb9}.brutal-reminder,.combat-dialog .brutal-reminder{display:block;background:#ffedc4;color:#593c20;border:1px solid #cfad63;border-left:4px solid #b5652c;border-radius:7px;padding:12px 14px;box-shadow:none}.brutal-reminder strong{color:#6e351c;letter-spacing:.02em}.brutal-reminder span{display:inline-block;margin:3px 12px 3px 0}.brutal-reminder small{display:block;color:#68502f;font-size:12px}.arena-notices{height:52px;display:flex;align-items:center;padding:5px 10px;background:var(--board);border-inline:1px solid #62644c}.arena-notice{width:100%;margin:0;padding:7px 10px;font-size:12px;line-height:1.3;color:#5c3d23;background:#fff0cb;border-radius:6px;animation:card-arrive .2s ease-out}.notice-finish{color:var(--danger)}.claim-notices{top:auto;bottom:14px;width:min(480px,calc(100vw - 28px));max-width:none;z-index:23}.claim-notices p{background:#fff0bf;color:#553d17;border:1px solid #b38c38;border-radius:9px;box-shadow:var(--shadow);font-size:13px;padding:12px}.claim-notices p:nth-last-child(n+3){display:none}.flying-decree{z-index:23}.arena-board .board-feedback{fill:#fff2d2;stroke:#642e1e;stroke-width:1.5;paint-order:stroke;font-size:10px;font-weight:700;animation:feedback-rise 2.6s ease-out forwards}.arena-board .board-feedback.finish{font-size:8px;fill:#fff}.arena-board .combat-swords text{animation:sword-clash .65s ease-in-out 2}.dice .die-ember{animation:ember-pulse .7s ease-in-out 2}.elimination-notice,.error{border-radius:7px;padding:12px 15px;color:#722e22;background:#f7dcca;border:1px solid #be896d;font-size:13px}.network-notice{padding:10px 14px;background:#ffedc4;color:#593c20;border:1px solid #cfad63;border-radius:7px;font-size:13px}.feedback-panel{background:var(--panel);border-color:var(--line);color:var(--ink)}.feedback-panel textarea{color:var(--ink)}footer{color:var(--muted);border-color:var(--line);font-size:10px;gap:15px;flex-wrap:wrap;letter-spacing:.06em}@keyframes card-arrive{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes arena-tile-flip{0%{transform:scaleX(1)}45%{transform:scaleX(.06)}to{transform:scaleX(1)}}@keyframes favor-award{20%{transform:scale(1.18);background:#ffdb80}to{transform:scale(1);background:transparent}}@keyframes feedback-rise{0%{opacity:0;transform:translateY(5px)}15%,70%{opacity:1}to{opacity:0;transform:translateY(-12px)}}@media(min-width:1600px){.game-layout{grid-template-columns:240px minmax(0,1fr) 250px}}@media(max-width:1150px){.game-layout{grid-template-columns:208px minmax(0,1fr)}.side-panel{grid-column:1 / -1;display:block}.decrees article{grid-template-columns:minmax(0,1fr)}.decrees .decree-art{display:none}.decrees p,.decrees strong,.decrees p.decree-reward{grid-column:1}.masthead{align-items:flex-start}}@media(max-width:800px){main{padding:14px}.game-layout{display:flex;flex-direction:column;gap:16px}.arena-column{order:1;width:100%}.roster{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px}.side-panel{order:3;width:100%}.decrees{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.decrees article{min-height:138px}.player-card .portrait{height:110px}.arena-board>svg{max-height:580px}.mode-tag{display:none}}@media(max-width:520px){main{padding:12px 10px}.masthead{display:block;padding-bottom:12px}.brand{gap:9px}.brand>.favor-icon{width:44px;height:44px}.brand .eyebrow{font-size:9px}.masthead nav{flex-direction:row;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:12px}.masthead nav button{width:100%;padding:6px 5px;min-height:42px;font-size:11px;overflow-wrap:anywhere}.match-bar{gap:10px;padding:14px 0}.match-bar h2{font-size:23px}.match-bar .eyebrow{font-size:8px;letter-spacing:.1em}.rounds>span{font-size:10px;letter-spacing:.03em}.rounds i{width:12px}.cat-status img{width:29px;height:40px}.cat-status{gap:4px;font-size:8px}.cat-status b{font-size:10px}.cat-status small{font-size:9px}.decrees article{padding:10px;min-height:156px}.decrees strong{font-size:16px}.decrees p{font-size:12px}.decrees p.decree-reward{font-size:10px;flex-wrap:wrap}.turn-banner{padding:12px}.turn-banner h2{font-size:21px}.turn-banner .eyebrow{font-size:9px}.action-count{font-size:11px;padding:6px 8px}.arena-board>svg{padding:12px 0;min-height:310px}.board-legend{font-size:10px;gap:6px 10px}.decision-panel{padding:12px}.roster{gap:10px}.player-card{padding:9px}.player-card h3{font-size:18px}.player-card .portrait{height:88px}.seat{font-size:10px;flex-wrap:wrap}.seat span{font-size:9px}.stats{flex-wrap:wrap;gap:4px 8px;font-size:11px}.stats b{font-size:13px}.ability{font-size:12px}.activity-label{font-size:10px}.activity-steps small,.activity-bars:after{font-size:8px}.resources .token-row{flex-basis:100%}.coin{width:25px;height:25px}.resources .resource{font-size:19px}.rat-roster-status{font-size:9px}.modal-backdrop,.combat-overlay{padding:8px}.modal,.combat-dialog{padding:17px 13px;border-radius:10px;max-height:calc(100dvh - 16px)}.modal h2{font-size:23px;padding-right:24px}.modal label{gap:8px}.modal input,.modal select{width:min(160px,55vw)}.rat-selection-grid{grid-template-columns:1fr;gap:10px}.rat-selection-grid button{display:grid;grid-template-columns:76px minmax(0,1fr);gap:5px 10px;padding:9px}.rat-selection-grid .portrait{grid-column:1;grid-row:1 / 4;width:76px;height:100%;min-height:95px;margin:0}.rat-selection-grid strong,.rat-selection-grid p{grid-column:2;margin:0}.rat-selection-grid strong{font-size:17px}.combat-dialog .combat h2{font-size:22px}.combat-dialog .combatants{gap:7px}.combatant{gap:6px}.combatant .portrait,.combat-cat{width:49px;height:45px}.combatant strong{font-size:14px}.combatant small{font-size:8px}.combat-dialog .brutal-reminder{font-size:12px;padding:9px;line-height:1.4}.combat-dialog .dice-lane{padding:8px 3px 8px 0}.combat-dialog .dice{gap:5px}.combat-dialog .dice button{width:42px;height:48px;min-height:48px;font-size:25px}.combat-dialog button{min-height:42px;font-size:12px}.combat-dialog .combat-notifications{max-height:70px}.feedback-panel{padding:16px}}.player-card .rat-subtitle{margin:-3px 0 10px;font-size:12px;line-height:1.4;font-style:italic;color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tile-flip{transform:none}.favor-score[data-gained]{background:#ffdf98}.board-feedback{opacity:1}.flying-decree{display:none}}
