/* Shared game materials, deliberately scoped away from playing fields and combat targets. */
:root{--panel:#1c241e;--panel2:#253026;--line:#665838;--muted:#b7b6a4;--radius:12px}
body{background-color:#101612;background-image:radial-gradient(ellipse at 50% 0,#483b262e,transparent 900px)}
.ui-art{display:inline-block;width:27px;height:27px;flex:0 0 27px;background:url('/assets/art/utilities-022.webp') var(--ui-x) var(--ui-y)/400% 400% no-repeat;vertical-align:middle;filter:drop-shadow(0 2px 2px #0007);pointer-events:none}
.game-button{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:8px;vertical-align:middle;isolation:isolate;border-radius:7px;border-color:#897345;background:#1e3027 url('/assets/art/materials-022.webp') 50% 33.3333%/100% 400%;box-shadow:inset 0 1px 0 #e6d5a126,inset 0 -2px 2px #0006,0 3px 7px #0003;color:#f4e7c9;line-height:1.3;min-height:48px;transition:filter .16s,box-shadow .16s,transform .16s}
.game-button.primary{background-color:#ba8f45;background-position:50% 0;color:#23180e;border-color:#d4af64;text-shadow:0 1px #fff4c155;font-weight:750}
.game-button .game-button-label{min-width:0;overflow-wrap:anywhere}.game-button:hover:not(:disabled){filter:brightness(1.13);box-shadow:inset 0 1px #f2ddb04d,0 0 12px #d4a75c28}.game-button:active:not(:disabled){transform:translateY(1px);filter:brightness(.95)}
.game-button.danger{background-color:#452924;background-position:50% 66.6667%;border-color:#906149;color:#f7ddcd}
.game-button.text-button{background:#13211a55;border:1px solid #85704955;box-shadow:none;color:#d9c58e}.game-button.text-button .ui-art{width:22px;height:22px;flex-basis:22px}
.game-button:disabled{opacity:.53;filter:saturate(.5);box-shadow:none}.game-button:focus-visible{outline:2px solid #fff0ad;outline-offset:3px}
.panel:not(.battle-stage):not(.map-wrap){background:radial-gradient(ellipse at 0 0,#76613d15,transparent 70%),linear-gradient(125deg,#222b22,#151d19);border-color:#65583c;box-shadow:inset 0 1px #c6ac6a20,0 7px 20px #0003}
.panel.soft{border-color:#77664055!important;box-shadow:none!important}.panel.gold{border-color:#ad8e53!important}.page-head{border-bottom:1px solid #8d744640;padding-bottom:18px}.page-head .eyebrow{margin-bottom:9px}.page-head h1{color:#f3e2bd}.page-head .pill{background:#302a19;border-color:#b6975c;box-shadow:inset 0 0 8px #0004}
.game-section-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px}.game-section-heading>.ui-art{width:40px;height:40px;flex-basis:40px}.game-section-heading h2{font-size:1.55rem;margin:0}.game-section-heading small{display:block;margin-top:5px}
input:not([type=range]):not([type=checkbox]),select{border-color:#83734e;border-radius:6px;box-shadow:inset 0 2px 7px #0007,0 1px #d0b77c20;background-color:#111d18;color:#f0e4ca}input[type=checkbox]{accent-color:#bd9957;min-height:20px;width:20px;vertical-align:middle}input[type=range]{accent-color:#caa86a;background:transparent;border:0;box-shadow:none;padding:4px}
.pill{border-radius:6px;background:#141c16}.result{background:linear-gradient(140deg,#34442b,#17271f);border:1px solid #a49158;box-shadow:inset 0 0 20px #d9b9770c}.result.failed{background:linear-gradient(140deg,#352a24,#211c1a)}.loot>span{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #9c7c4466;background:#382c1980;border-radius:6px}
.hero-stats .stat{position:relative;background:linear-gradient(140deg,#322f22,#18241d);border:1px solid #7e6b414d;border-radius:5px;box-shadow:inset 0 1px #e5c87815}.hero-stats .stat b{font-family:Georgia,serif;color:#f1d59a}.hero-resists{display:flex;flex-wrap:wrap;gap:7px}.hero-resists>span{display:flex;align-items:center;gap:6px;border:1px solid #72634477;background:#101b17;padding:6px 9px;border-radius:5px;font-size:.76rem}
.hero-dossier{border-top:3px double #b8995b!important}.hero-identity .portrait-large{box-shadow:0 0 0 3px #171f18,0 0 0 4px #9b7b42,0 6px 20px #0005}.hero-tabs{border-radius:8px;border-color:#9d7b41;box-shadow:0 6px 14px #0005}.hero-tabs button.active{background:linear-gradient(#b79553,#7e6435);color:#fff1cf;border-color:#d8ba78;box-shadow:inset 0 1px #ecd09366}.talent-controls button{border-color:#a18046;background:linear-gradient(#4d4a2c,#263126);border-radius:5px}.skill-detail{border-color:#967e4f;background:linear-gradient(130deg,#2e3224,#121e18)}
.class-card{border-radius:10px;border-color:#80704b;box-shadow:0 5px 12px #0005}.class-card.selected{border-color:#ebc883;box-shadow:0 0 0 1px #e7bc7c,0 0 15px #e1a34828}.member{border-bottom-color:#a68b4e3d}.member .portrait{box-shadow:0 0 0 2px #111d17,0 0 0 3px #877044}
.lobby-scene,.pause-scene,.ending-scene{width:100%;height:190px;border:1px solid #b89a5b;border-radius:10px;margin-bottom:18px;overflow:hidden}.pause-scene .map-landmark{height:190px;width:190px;margin:auto}.pause-scene{background:radial-gradient(ellipse at bottom,#a668254a,#17251d 70%);box-shadow:inset 0 -10px 24px #0005}.ending-scene{height:220px}
.party-camp-banner{height:130px;margin-bottom:20px;border:1px solid #a2864d;border-radius:9px;background:linear-gradient(90deg,#14201818,#14201866),url('/assets/art/taverns-021.webp') 0 0/200% 200%;box-shadow:inset 0 -30px 40px #121a18b8;display:flex;align-items:end;padding:16px}.party-camp-banner strong{font:1.5rem Georgia;color:#f7dfac;text-shadow:0 2px 6px #000}
.more-stack>section{border-top:3px double #927747}.how-to-play summary{padding:12px 4px}.setting{display:flex;align-items:center;gap:12px}.setting input{flex-shrink:0}.lab-game{border-color:#8d7547;border-radius:8px;background:linear-gradient(140deg,#45402c,#17251c);box-shadow:inset 0 1px #e6c58120,0 4px 10px #0004}.lab-game:hover{background:linear-gradient(140deg,#5c4b2a,#203426)}.lab-ribbon{border-style:double;border-width:3px}
.mini-intro-body>.game-button{margin-top:8px}.mini-result{border:2px solid #9c804b;background:radial-gradient(ellipse at top,#3c3c24,#14221a)!important;box-shadow:inset 0 0 0 3px #131e17,0 15px 45px #000a}.mini-result.won{border-color:#dfc178}.mini-top{border-bottom:2px solid #8b7347}.mini-clock{border:1px solid #b1965a;background:#302719;border-radius:6px;padding:5px 8px;color:#f2d997}.mini-controls button.primary:not([hidden]){background:#b8904d url('/assets/art/materials-022.webp') 50% 0/100% 400%;border-color:#d4af64;border-radius:6px;color:#271a0d;box-shadow:0 3px 7px #0005;font-weight:700}
.trade-panel,.preparation-screen,.pending-loot{border-color:#a88a51}.trade-tray{background:linear-gradient(140deg,#343527,#18241c);border:1px solid #846f45}.retreat-panel{border-style:double;border-width:3px}.tavern-shop-tabs .game-button{min-width:0}.quest-tabs .game-button{flex-wrap:wrap;padding:10px 8px}.quest-tabs .ui-art{display:none}
@media(max-width:450px){.game-button{font-size:.85rem;padding:11px 12px;gap:6px}.game-button .ui-art{width:23px;height:23px;flex-basis:23px}.page-head h1{font-size:1.95rem}.page-head{gap:10px}.page-head .pill{font-size:.69rem;padding:5px 8px}.lobby-scene{height:145px}.ending-scene{height:180px}}
.game-button.primary{color:#fff1ce;text-shadow:0 1px 2px #1c120b;background-image:linear-gradient(#1b10084d,#1b10084d),url('/assets/art/materials-022.webp');background-size:100% 100%,100% 400%;background-position:0 0,50% 0}
.hero-resists .element-badge{width:24px;height:24px;flex:0 0 24px}.figure-info-popup,.item-popup{border-color:#b39559;box-shadow:inset 0 1px #e5cd8d33,0 20px 70px #000a}
.hero-stats .stat{display:grid;grid-template-columns:32px minmax(0,1fr);text-align:left;gap:1px 8px;padding:12px 9px}.hero-stats .stat>.action-art,.hero-stats .stat>.ui-art,.hero-stats .stat>.element-badge{grid-row:1/3;align-self:center;width:32px;height:32px}.hero-stats .stat>span:last-child{font-size:.68rem}.gear-slot .slot-empty{position:relative;display:grid;place-items:center;width:52px;height:52px;margin:auto}.gear-slot .slot-empty .item-art{width:50px;height:50px;filter:grayscale(1) sepia(.55);opacity:.26;box-shadow:none;border:0;background-color:transparent}.slot-empty .element-badge{display:none}.slot-empty>i{position:absolute;inset:0;display:grid;place-items:center;font:24px Georgia;color:#e5c278}.formation-slot.empty{background:linear-gradient(#352d1d66,#14251d);border:1px solid #8d754c66;border-radius:7px;box-shadow:inset 0 0 15px #0004}.formation-slot.chosen{box-shadow:0 0 0 1px #e2c276,inset 0 0 15px #cfb36b1a}.gear-slot{border-radius:6px;background:linear-gradient(140deg,#353224,#17221c);box-shadow:inset 0 1px #e4c7831c}.talent-controls .game-button{min-width:40px;min-height:40px;padding:6px}
@media(prefers-reduced-motion:reduce){.game-button{transition:none}}
.event-choice{display:grid;grid-template-columns:1fr;gap:9px}.event-choice.with-decision{grid-template-columns:minmax(0,1fr) 100px}.event-choice .game-button{min-width:0;padding:10px 8px}.event-choice [data-action="vote"]{justify-content:flex-start;text-align:left}.event-choice [data-action="event"] .ui-art{width:21px;height:21px;flex-basis:21px}
.hero-resists .element-badge{padding:0;border:0;border-radius:50%;background:url('/assets/art/elements-018.webp') var(--element-x) var(--element-y)/400% 200% no-repeat}
.game-button.trade-invite{display:flex;width:100%;margin-top:12px}
.game-button .game-button-label{overflow-wrap:normal;word-break:normal}.inventory:has(>[data-action="sell"]){display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center}.inventory:has(>[data-action="sell"])>[data-action="sell"]{grid-column:2;justify-self:end;min-width:115px}.inventory:has(>[data-action="sell"])>.item-art{width:48px;height:48px}.shop-purchase .game-button{min-width:96px}.game-button.danger{background-image:linear-gradient(#170b0738,#170b0738),url('/assets/art/materials-022.webp');background-size:100% 100%,100% 400%;background-position:0 0,50% 66.6667%;color:#ffe8ca}
