:root{--bg:#05090d;--panel:#0b1519e8;--panel2:#10212aee;--line:#47381f;--text:#f7ead1;--muted:#b8ad99;--accent:#19d9ff;--gold:#d4a24a;--danger:#f05151;--hp:#8f1f2e;--sp:#2ecc71;--mp:#1757c2;--xp:#67d8ff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#183948 0,#081116 45%,#020304 100%);color:var(--text);font-family:Georgia,'Times New Roman',serif;min-width:1180px}.topbar{height:78px;display:flex;align-items:center;gap:22px;padding:10px 24px 10px 22px;border-bottom:1px solid var(--line);background:#070b0dcc;position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(8px)}.brand{width:250px;display:flex;gap:13px;align-items:center}.sigil{font-size:34px;color:var(--gold);text-shadow:0 0 16px var(--gold)}.brand h1{font-size:35px;line-height:.8;margin:0;letter-spacing:2px;color:#ffe3a7}.brand span{display:block;text-align:center;letter-spacing:6px;color:#f4d59a;font-size:13px}.topnav{display:flex;align-items:center;gap:8px;flex:1}.toplink,.side-main,.sidebar button,.login-panel button,.card button{background:transparent;border:1px solid transparent;color:var(--text);padding:9px 12px;border-radius:6px;font-weight:700;cursor:pointer}.toplink.active,.toplink:hover,.side-main:hover,.side-main.active{background:#342713;border-color:#725a2b;color:#fff1c4}.topstats{display:flex;gap:8px}.topstats div{min-width:84px;border:1px solid #3c321f;background:#0b0e0f;padding:8px 10px;text-align:center}.topstats b{display:block;font-size:19px;color:#ffe0a0}.topstats small{color:var(--muted)}.top-actions{display:flex;gap:12px;align-items:center}.primary{background:linear-gradient(180deg,var(--accent),#0b7e92)!important;color:#041012!important;border:1px solid #93f6ff!important}.small{padding:9px 15px!important}.hamburger{width:44px;height:39px;background:#111915;border:1px solid #6d552a;border-radius:6px;display:grid;place-items:center;gap:4px;padding:9px;cursor:pointer}.hamburger span{display:block;width:20px;height:2px;background:var(--gold)}.locked{display:none!important}.sidebar{position:fixed;top:78px;bottom:0;left:0;width:250px;padding:12px;background:linear-gradient(180deg,#0b1111,#050607);border-right:1px solid var(--line);overflow:auto;z-index:9}.side-section{border-bottom:1px solid #342b1b;margin-bottom:10px;padding-bottom:10px}.side-main{display:block;width:100%;text-align:left;margin:4px 0;font-size:16px}.sidebar details{border-bottom:1px solid #2e2a1c;padding:9px 0}.sidebar summary{cursor:pointer;font-weight:800;color:#ffe7b0;padding:7px 8px}.sidebar details button{display:block;width:100%;text-align:left;color:#ded4bf;padding:8px 14px}.sidebar details button:hover{color:#fff;background:#20180c;border-color:#51401e}.side-tools{margin-top:14px}.side-tools h4{color:var(--gold);letter-spacing:1px}.main{margin-left:250px;padding:100px 20px 24px}.view{display:none}.view.show{display:block}.card{background:linear-gradient(180deg,var(--panel),#071012e8);border:1px solid #574323;border-radius:8px;box-shadow:0 0 0 1px #101b1b inset,0 12px 40px #0008;padding:18px}.home-hero{min-height:360px;background:linear-gradient(90deg,#101614ee,#0f333dcc),radial-gradient(circle at 75% 10%,#214e58,transparent 45%);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#e9c06c;font-weight:900;font-size:13px}.home-hero h2{font-size:58px;margin:6px 0;color:#ffe6b2}.home-hero p{max-width:760px;font-size:18px;line-height:1.55}.muted{color:var(--muted)}.smallnote{font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pill{padding:6px 10px;border-radius:999px;background:#1c531e;color:#baffb1;border:1px solid #367b35;font-size:12px;font-weight:900}.campaign-manager{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.campaign-list{display:grid;gap:10px}.campaign-card{display:block;text-align:left;border:1px solid #49381e!important;background:#0d1413!important;color:var(--text)!important;padding:16px!important}.campaign-card.active{outline:2px solid var(--accent)}label{display:block;margin:10px 0;color:#decfae}input,select,textarea{width:100%;background:#061012;border:1px solid #4f3e22;color:var(--text);border-radius:6px;padding:10px;font-family:inherit}textarea{min-height:120px;resize:vertical}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.danger{border-color:#7a2626!important;color:#ffabab!important}.outline{border-color:#66512b!important}.player-layout{display:grid;grid-template-columns:300px 1fr 300px;gap:16px}.portrait-row{display:flex;gap:14px}.portrait{width:115px;height:150px;border:1px solid #614a26;background:linear-gradient(135deg,#20160e,#273b43);display:grid;place-items:center;font-size:50px;border-radius:6px}.bar,.meter{height:8px;background:#21282b;border-radius:99px;overflow:hidden}.bar i,.meter i{display:block;height:100%;background:var(--xp);width:30%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.stats div{background:#0a1315;border:1px solid #2d342b;padding:8px;text-align:center}.stats b{display:block;font-size:22px}.resources label{display:flex;justify-content:space-between;margin:12px 0 4px}.hp i{background:var(--hp)}.sp i{background:var(--sp)}.mp i{background:var(--mp)}.xp i{background:var(--xp)}.quick-stats{list-style:none;padding:0;margin:18px 0}.quick-stats li{display:flex;justify-content:space-between;border-bottom:1px solid #283229;padding:9px 0}.campaign-banner{min-height:160px;background:linear-gradient(90deg,#071012aa,#071012),url('')}.campaign-banner h2{font-size:30px}.tabs{display:flex;gap:8px;margin:14px 0}.tab.active{border-color:var(--accent)!important;color:var(--accent)!important}.tabpane{display:none}.tabpane.show{display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.list article{border-bottom:1px solid #2c332a;padding:12px 0}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:10px}.equipment h3{grid-column:1/-1}.equipment button{border-color:#46381f!important;text-align:left;background:#091315!important}.equipment small{display:block;color:var(--muted)}.rightcol{display:grid;gap:16px;align-content:start}.wide{width:100%;margin:5px 0}.gm-layout{display:grid;grid-template-columns:280px 1fr;gap:16px}.roster{min-height:720px}.roster-btn{width:100%;text-align:left;margin:8px 0;padding:12px!important;border:1px solid #41351e!important;background:#0d1615!important}.roster-btn.active{outline:2px solid var(--accent)}.roster-btn b,.roster-btn small{display:block}.resource-stack{display:grid;gap:5px;margin-top:8px}.resource-line{display:grid;grid-template-columns:32px 1fr 66px;gap:7px;align-items:center;font-size:12px}.resource-line .mini-meter{height:6px;background:#263030;border-radius:20px;overflow:hidden}.mini-meter i{display:block;height:100%}.gm-main{display:grid;gap:16px}.gm-hero{display:flex;justify-content:space-between;align-items:center}.gm-hero h2{font-size:28px;margin:0}.gm-actions{display:flex;gap:8px}.gm-panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.active-encounter{grid-column:span 1}.encounter-art{height:190px;border:1px solid #43331d;border-radius:6px;background:linear-gradient(#0002,#0009),radial-gradient(circle at 30% 30%,#294531,#05100b 75%)}.encounter-mini{display:flex;justify-content:space-around;text-align:center;margin-top:12px}.initiative,.encounter{min-height:380px}.init-row,.enemy-row{display:grid;grid-template-columns:1fr 70px 32px;gap:8px;align-items:center;border-bottom:1px solid #2b3025;padding:9px 0}.init-row.active{background:#48330c}.enemy-row{grid-template-columns:1.1fr 80px .9fr 38px 38px 32px}.addline{display:flex;gap:8px;margin-top:12px}.addline input,.addline select{flex:1}.gm-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gm-tools h3{grid-column:1/-1}.gm-player-grid,.creature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.resource-edit{display:grid;grid-template-columns:60px 50px 1fr 50px;gap:8px;align-items:center;margin:10px 0}.creature-page h2{font-size:42px}.toast{position:fixed;right:22px;bottom:22px;background:#090d0d;border:1px solid var(--gold);color:#ffe3a7;padding:14px 18px;border-radius:8px;opacity:0;transform:translateY(12px);transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}.login-wrap{position:relative}.login-panel{display:none;position:absolute;right:0;top:48px;width:300px;background:#071012;border:1px solid var(--gold);border-radius:8px;padding:14px;z-index:30}.login-panel.open{display:block}.test-logins{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.test-logins small{grid-column:1/-1;color:var(--muted)}.settings-panel{position:fixed;right:-360px;top:0;bottom:0;width:340px;background:#071012;border-left:1px solid var(--gold);z-index:40;padding:18px;transition:.25s}.settings-panel.open{right:0}.settings-head{display:flex;justify-content:space-between}.settings-head button{background:none;border:0;color:var(--text);font-size:28px}.shade{display:none;position:fixed;inset:0;background:#0008;z-index:35}.shade.open{display:block}@media(max-width:1300px){.gm-panels{grid-template-columns:1fr 1fr}.player-layout{grid-template-columns:280px 1fr}.rightcol{display:none}}

body[data-role="player"] .gm-only{display:none!important}
body[data-role="gm"] .player-only.toplink{display:none!important}
body[data-role="guest"] .player-only,body[data-role="guest"] .gm-only{display:none!important}
.character-create{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.character-create h3{grid-column:1/-1}.quest-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #2b3025;padding:10px 0}.quest-row small{color:var(--muted);display:block}

.library-page h2,.rule-page h2{font-size:42px;margin:4px 0 8px;color:#ffe6b2}.library-search{max-width:360px}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.category-tabs button{border-color:#5c4624!important;background:#101716!important;color:#ffe3a7!important}.rule-cards{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.rule-card{min-height:160px;text-align:left!important;border:1px solid #564221!important;background:linear-gradient(180deg,#101817,#070d0d)!important;color:var(--text)!important;padding:16px!important;display:flex;flex-direction:column;gap:8px}.rule-card:hover{outline:2px solid var(--accent)}.rule-card small{color:var(--gold);text-transform:uppercase;letter-spacing:1px}.rule-card b{font-size:20px;color:#fff1c4}.rule-card span{color:var(--muted);line-height:1.4}.markdown-body{max-width:1050px;font-size:17px;line-height:1.6}.markdown-body h2{font-size:30px;color:#ffe6b2;margin-top:28px;border-bottom:1px solid #4e3c20;padding-bottom:6px}.markdown-body h3{font-size:24px;color:#f5d799;margin-top:22px}.markdown-body h4{font-size:20px;color:#e9c06c;margin-top:18px}.markdown-body blockquote{border-left:4px solid var(--accent);background:#081617;padding:10px 16px;margin:16px 0;color:#e6d7bc}.markdown-body code{background:#111b1a;border:1px solid #3b331e;padding:2px 5px;border-radius:4px;color:#aeefff}.markdown-body ul{padding-left:24px}.table-wrap{overflow:auto;margin:16px 0;border:1px solid #4d3d21;border-radius:8px}.markdown-body table{width:100%;border-collapse:collapse;background:#081110}.markdown-body th,.markdown-body td{border-bottom:1px solid #2c3025;padding:10px;text-align:left}.markdown-body th{color:#ffe3a7;background:#19160e}.markdown-body tr:hover td{background:#0d1716}.sidebar details[open] summary{color:var(--accent)}

.sidebar details details{margin-left:12px;border-left:1px solid rgba(114,224,255,.25);padding-left:8px}.sidebar details details summary{font-size:.92rem;color:#cfefff}.rule-card small{color:var(--accent)}

/* v1.1.1 Resource controls + characteristic formula */
.resource-block{border:1px solid rgba(212,162,74,.24);background:rgba(4,12,14,.55);border-radius:8px;padding:8px;margin:10px 0}.resource-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.resource-controls button,.custom-resource button,.resource-edit.full button{padding:6px 8px!important;border-color:#5a4524!important;background:#0b1515!important}.custom-resource{display:grid;grid-template-columns:80px 1fr 70px 70px;gap:6px;align-items:center;margin-top:12px}.resource-breakdown{margin:8px 0 0;border-top:1px solid rgba(212,162,74,.16);padding-top:6px}.resource-breakdown summary{cursor:pointer;color:var(--gold);font-size:12px}.break-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:4px 0;color:var(--muted);font-size:12px}.break-row b{color:#ffe6b2}.break-row.total{color:var(--text);font-weight:800}.resource-edit.full{grid-template-columns:44px 1fr 48px 48px 48px 48px}.xp-edit{margin-top:18px}.stats div span{display:block;color:var(--gold);font-weight:900;font-size:12px;letter-spacing:1px}.stats{grid-template-columns:repeat(3,1fr)}

/* v1.2.1 Condition System */
.condition-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.condition-chips span{font-size:11px;border:1px solid rgba(212,162,74,.45);background:rgba(20,16,10,.9);color:#ffe7b0;border-radius:999px;padding:3px 7px}.player-conditions{margin-top:12px;border-top:1px solid rgba(212,162,74,.22);padding-top:10px}.player-conditions h4{margin:0 0 6px;color:var(--gold)}.condition-row{display:grid;grid-template-columns:1fr 75px;gap:6px;border:1px solid rgba(212,162,74,.22);background:rgba(6,15,17,.6);border-radius:7px;padding:8px;margin:7px 0}.condition-row em{grid-column:1/-1;color:var(--muted);font-size:12px;font-style:normal}.condition-row button{grid-column:1/-1;border-color:#694424!important;color:#ffd0c8!important}.quick-conditions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:10px}.quick-conditions button{border-color:#5a4524!important;background:#0b1515!important}.condition-help{margin-top:12px;color:var(--muted);font-size:12px;border-top:1px solid rgba(212,162,74,.2);padding-top:10px}.condition-enemy-row{grid-template-columns:1.1fr 80px .9fr 38px 38px 32px!important}.enemy-condition-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 80px 150px;gap:8px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(212,162,74,.16)}.init-row{grid-template-columns:1fr 70px 32px!important}.init-row .condition-chips{margin-top:4px}.roster-btn .condition-chips{margin:6px 0}

/* v1.2.2 Roll System */
.roll-panel{position:fixed;right:18px;bottom:18px;width:340px;max-height:82vh;overflow:auto;z-index:70;background:rgba(13,18,31,.96);border:1px solid rgba(147,197,253,.24);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:14px;backdrop-filter:blur(14px)}
.roll-panel.collapsed{width:auto;max-height:70px;overflow:hidden}.roll-panel.collapsed .dice-stage,.roll-panel.collapsed .roll-modes,.roll-panel.collapsed .roll-box,.roll-panel.collapsed .roll-history-wrap{display:none}.roll-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.roll-head h3{margin:0}.roll-head button{width:42px;height:42px;border-radius:14px;font-size:20px}.dice-stage{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px;margin-bottom:10px}.dice-stage small{display:block;color:var(--muted);margin-top:3px}.dice-cube{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,rgba(59,130,246,.95),rgba(15,23,42,.95));font-size:24px;font-weight:900;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 24px rgba(255,255,255,.12),0 10px 25px rgba(0,0,0,.35)}.dice-cube.rolling{animation:diceRoll .65s ease-in-out infinite}.dice-cube.crit{background:linear-gradient(145deg,#f59e0b,#7c2d12);box-shadow:0 0 28px rgba(245,158,11,.55)}.dice-cube.fail{background:linear-gradient(145deg,#ef4444,#450a0a);animation:failShake .45s ease-in-out 2}@keyframes diceRoll{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(14deg) scale(1.08)}50%{transform:rotate(-18deg) scale(.96)}75%{transform:rotate(22deg) scale(1.05)}100%{transform:rotate(0deg) scale(1)}}@keyframes failShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.roll-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.roll-modes button.active{background:var(--accent);color:#06111f}.roll-box{display:none;gap:8px}.roll-box.show{display:grid}.roll-box label{font-size:12px;color:var(--muted);display:grid;gap:4px}.roll-box input,.roll-box select{width:100%;box-sizing:border-box}.roll-quick-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.physical-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.roll-history-wrap{margin-top:12px}.section-head.mini{margin-bottom:6px}.section-head.mini h4{margin:0}.roll-history{display:grid;gap:7px;max-height:240px;overflow:auto;padding-right:2px}.roll-entry{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:8px}.roll-entry small,.roll-entry span{color:var(--muted);font-size:11px}.roll-entry span{grid-column:1/3}.roll-entry strong{font-size:20px;color:#dbeafe}.roll-entry.crit{border-color:rgba(245,158,11,.55);box-shadow:0 0 18px rgba(245,158,11,.16)}.roll-entry.fail{border-color:rgba(239,68,68,.55);box-shadow:0 0 18px rgba(239,68,68,.16)}@media (max-width:900px){.roll-panel{right:10px;left:10px;bottom:10px;width:auto}}

/* v1.2.4 Inventory Interaction */
.inventory-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:16px}.inventory-list,.equipped-list{display:grid;gap:10px}.inventory-item,.equipped-item{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:14px;padding:12px;display:grid;gap:8px}.inventory-item header,.equipped-item header{display:flex;justify-content:space-between;gap:12px;align-items:start}.inventory-item b,.equipped-item b{color:#fff}.item-meta{display:flex;gap:8px;flex-wrap:wrap}.item-chip{font-size:11px;color:#cbd5e1;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 8px;background:rgba(0,0,0,.18)}.item-actions{display:flex;gap:8px;flex-wrap:wrap}.item-actions button,.quick-use-row button{padding:8px 10px!important;border-radius:10px}.empty-slot{border:1px dashed rgba(255,255,255,.16);border-radius:12px;padding:12px;color:#94a3b8}.inventory-change{animation:itemPulse .55s ease}@keyframes itemPulse{0%{box-shadow:0 0 0 rgba(125,211,252,0)}50%{box-shadow:0 0 22px rgba(125,211,252,.35)}100%{box-shadow:0 0 0 rgba(125,211,252,0)}}
@media(max-width:1000px){.inventory-layout{grid-template-columns:1fr}}

/* v1.2.7 Polish & Stability */
.feedback-stack{position:fixed;right:380px;bottom:28px;z-index:95;display:grid;gap:8px;pointer-events:none}.float-feedback{background:rgba(4,12,14,.94);border:1px solid var(--accent);color:#eaffff;border-radius:999px;padding:10px 15px;font-weight:900;box-shadow:0 12px 30px #0008;animation:floatUp 1.65s ease forwards}.float-feedback.good{border-color:var(--sp);color:#c8ffd9}.float-feedback.bad{border-color:var(--danger);color:#ffd0d0}.float-feedback.level{border-color:var(--gold);color:#ffe6b2;box-shadow:0 0 30px rgba(212,162,74,.25)}@keyframes floatUp{0%{opacity:0;transform:translateY(14px) scale(.96)}15%{opacity:1;transform:none}80%{opacity:1;transform:translateY(-10px)}100%{opacity:0;transform:translateY(-28px)}}
.combat-log-panel{position:fixed;right:18px;top:94px;width:340px;max-height:36vh;overflow:auto;z-index:60;background:rgba(7,16,18,.93);border:1px solid rgba(212,162,74,.35);border-radius:18px;padding:12px;box-shadow:0 20px 60px #0008}.combat-log-panel h4{margin:0}.combat-log-rows{display:grid;gap:7px}.combat-log-entry{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;padding:8px;font-size:12px}.combat-log-entry b{color:#ffe6b2}.combat-log-entry small{display:block;color:var(--muted);margin-top:2px}.combat-log-entry.important{border-color:rgba(212,162,74,.55)}
.level-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:120;place-items:center}.level-modal.show{display:grid}.level-card{position:relative;width:min(560px,92vw);background:radial-gradient(circle at top,#173044,#071012 65%);border:1px solid var(--gold);border-radius:22px;padding:30px;box-shadow:0 0 60px rgba(212,162,74,.26),0 30px 90px #000}.level-card h2{font-size:48px;margin:4px 0 12px;color:#ffe6b2}.level-card ul{line-height:1.8}.level-close{position:absolute;right:14px;top:14px;border:0!important;background:transparent!important;color:#ffe6b2!important;font-size:24px}.reward-chip{display:inline-block;border:1px solid rgba(212,162,74,.5);border-radius:999px;padding:6px 10px;margin:4px;background:rgba(212,162,74,.08);color:#ffe6b2}.resource-flash{animation:resourceFlash .7s ease}.target-highlight{outline:2px solid var(--accent);box-shadow:0 0 24px rgba(27,231,255,.20)}@keyframes resourceFlash{0%{filter:brightness(2)}50%{filter:brightness(1.5);box-shadow:0 0 20px rgba(255,255,255,.28)}100%{filter:none;box-shadow:none}}.init-row.active{outline:2px solid var(--accent);box-shadow:0 0 18px rgba(27,231,255,.18);background:linear-gradient(90deg,rgba(27,231,255,.16),rgba(72,51,12,.55))}.enemy-row.selected-target{outline:2px solid var(--danger);box-shadow:0 0 18px rgba(240,81,81,.18)}.version-badge{align-self:flex-start;border:1px solid var(--gold);color:#ffe6b2;background:#0006;border-radius:999px;padding:7px 12px;margin-bottom:12px;font-weight:900}.progression-summary{margin-top:18px;border-top:1px solid rgba(212,162,74,.22);padding-top:12px}.condition-chip{display:inline-block;margin:3px;border:1px solid rgba(212,162,74,.45);border-radius:999px;padding:4px 8px;color:#ffe6b2;background:#0004}
@media(max-width:1400px){.combat-log-panel{position:relative;right:auto;top:auto;width:auto;max-height:280px;margin-top:16px}.feedback-stack{right:20px;bottom:90px}}

/* v1.2.8 Player Dashboard Rework */
.player-shell.redesigned-player{display:grid;grid-template-columns:300px minmax(780px,1fr);gap:16px;align-items:start}.player-summary-panel{position:sticky;top:94px}.player-summary-panel h3,.player-main-panel h3{text-transform:uppercase;letter-spacing:.6px;color:var(--gold);margin-top:0}.summary-header{display:flex;gap:13px;align-items:flex-start;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.03)}.portrait.large{width:108px;height:136px;font-size:52px;flex:0 0 auto}.identity-block h2{margin:4px 0 5px;font-size:24px}.identity-block p{margin:3px 0}.initiative-card{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:12px 14px;border:1px solid rgba(212,162,74,.22);border-radius:10px;background:rgba(255,255,255,.035)}.initiative-card span{text-transform:uppercase;color:var(--gold);font-weight:900}.initiative-card b{font-size:28px;color:var(--xp)}.xp-card{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;margin-bottom:12px;background:rgba(255,255,255,.025)}.resource-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.resource-title span{color:var(--gold);font-weight:900;text-transform:uppercase}.player-summary-panel .resources{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;background:rgba(255,255,255,.025)}.player-summary-panel .resources h4,.characteristics-compact h4{margin:0 0 10px;color:var(--gold);text-transform:uppercase}.characteristics-compact{margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;background:rgba(255,255,255,.025)}.characteristics-compact .stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:0}.characteristics-compact .stats div{padding:7px 5px}.characteristics-compact .stats b{font-size:18px}.campaign-session-panel{display:grid;grid-template-columns:1fr 260px;gap:16px;align-items:center;min-height:110px;margin-bottom:12px}.campaign-session-panel h2{margin:3px 0;font-size:28px}.campaign-session-panel p{margin:4px 0;color:var(--muted);line-height:1.4}.small-label{text-transform:uppercase;font-size:11px;letter-spacing:1px;color:var(--gold);font-weight:900}.session-copy{border-left:1px solid rgba(212,162,74,.25);padding-left:16px}.session-copy b{display:block;font-size:20px;color:#ffe6b2}.player-menu-panel{display:grid;grid-template-columns:repeat(8,1fr);gap:0;padding:0;overflow:hidden;margin-bottom:14px}.player-menu-panel .tab{border-radius:0!important;border-left:0!important;border-top:0!important;border-bottom:0!important;padding:15px 8px!important;min-height:54px}.player-dashboard-grid{display:grid;grid-template-columns:1.1fr .6fr .8fr;gap:14px}.quick-actions-panel{grid-column:1/2}.equipped-weapons-panel{grid-column:2/3}.equipment-armor-panel{grid-column:3/4;grid-row:1/3}.talents-panel{grid-column:1/2}.skills-panel{grid-column:1/2}.conditions-panel{grid-column:2/3}.quick-items-panel{grid-column:3/4}.action-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action{min-height:108px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:18px;border-radius:12px!important}.action span{font-size:36px}.action.attack{background:linear-gradient(180deg,rgba(146,40,40,.55),rgba(42,10,10,.55))!important;border-color:#8f3333!important}.action.spell{background:linear-gradient(180deg,rgba(86,36,124,.55),rgba(22,10,35,.55))!important;border-color:#7843a1!important}.action.item{background:linear-gradient(180deg,rgba(35,100,45,.55),rgba(10,35,16,.55))!important;border-color:#3b8d43!important}.action.roll{background:linear-gradient(180deg,rgba(32,100,140,.55),rgba(10,26,42,.55))!important;border-color:#367da5!important}.weapon-card,.quick-items-panel button{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)!important;border-radius:12px!important;margin:8px 0;padding:13px!important;text-align:left!important;width:100%}.weapon-card span{font-size:33px;min-width:42px;text-align:center}.weapon-card small{display:block;color:var(--muted)}.armor-layout{display:grid;grid-template-columns:80px 1fr 80px;gap:14px;align-items:center}.armor-figure{height:295px;border:1px solid rgba(212,162,74,.22);border-radius:18px;background:radial-gradient(circle at center,rgba(212,162,74,.16),transparent 60%),linear-gradient(180deg,#121b1c,#071012);display:grid;place-items:center;font-size:145px;color:#8d7b5c;text-shadow:0 0 26px #000}.equip-slots{display:grid;gap:10px}.equip-slots button{height:55px;border-color:#5d3d72!important;background:#0b1016!important;color:#d7c7ff!important}.equip-slots.right button{border-color:#2d6187!important;color:#b9e3ff!important}.ac-shield{width:64px;height:70px;background:linear-gradient(180deg,#192532,#060b10);clip-path:polygon(50% 0,92% 16%,82% 75%,50% 100%,18% 75%,8% 16%);display:grid;place-items:center;border:1px solid var(--gold);filter:drop-shadow(0 0 8px rgba(212,162,74,.18))}.ac-shield span{font-size:11px;color:var(--gold);font-weight:900;align-self:end}.ac-shield b{font-size:24px;color:#fff3c7;align-self:start}.talents-panel article{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:10px;margin:8px 0;padding:10px}.talents-panel p{margin:4px 0;color:var(--muted)}.skill-row{display:grid;grid-template-columns:1fr 70px 90px;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0}.mini-bar{height:7px;background:#1d262b;border-radius:20px;overflow:hidden}.mini-bar i{display:block;height:100%;background:var(--xp)}.quick-items-panel button{justify-content:space-between}.quick-items-panel button b{margin-left:auto;color:#fff}.large-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.large-stat-grid .stat-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;padding:14px}.large-stat-grid .stat-card b{font-size:28px}.large-stat-grid .stat-card small{float:right;color:var(--gold);font-weight:900}.tabpane textarea{width:100%;min-height:300px}.conditions-panel .condition-chip{display:block;margin:8px 0;border-radius:12px}.player-conditions{display:none!important}@media(max-width:1450px){.player-shell.redesigned-player{grid-template-columns:280px 1fr}.player-dashboard-grid{grid-template-columns:1fr 1fr}.equipment-armor-panel{grid-column:1/3;grid-row:auto}.quick-items-panel{grid-column:2/3}.player-menu-panel{grid-template-columns:repeat(4,1fr)}}

/* =========================
   v1.2.9 Dashboard roll + bottom combat log
   ========================= */
.quick-roll-station{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;display:grid;gap:10px;}
.quick-roll-station .roll-head.inline{margin-bottom:0;}
.quick-roll-station .roll-head h4{margin:0;color:var(--gold);text-transform:uppercase;letter-spacing:.6px;}
.quick-roll-station .dice-stage{margin-bottom:0;}
.quick-roll-station .roll-history{max-height:180px;}
.roll-history.compact .roll-entry{font-size:12px;}
.dashboard-combat-log{margin-top:14px;position:relative;right:auto;top:auto;width:auto;max-height:none;z-index:auto;box-shadow:none;}
.dashboard-combat-log .combat-log-rows{max-height:230px;overflow:auto;padding-right:4px;display:grid;gap:7px;}
.dashboard-combat-log .combat-log-entry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;}
.dashboard-combat-log .combat-log-entry small{margin-top:0;white-space:nowrap;}
.pulse-panel{animation:pulsePanel .9s ease-in-out 1}@keyframes pulsePanel{0%{box-shadow:0 0 0 rgba(59,130,246,0)}45%{box-shadow:0 0 0 4px rgba(59,130,246,.24),0 0 30px rgba(59,130,246,.18)}100%{box-shadow:0 0 0 rgba(59,130,246,0)}}
@media(max-width:1450px){.quick-actions-panel{grid-column:1/3}.quick-roll-station .physical-grid{grid-template-columns:1fr}.dashboard-combat-log{margin-bottom:12px}}

/* v1.2.10 dashboard layout + interaction updates */
.topnav{gap:8px;flex-wrap:wrap}.toplink[data-view="map"],.toplink[data-view="crafting"]{border-color:rgba(212,162,74,.35)!important}
.resource-input-controls{display:grid;grid-template-columns:1fr 42px 42px;gap:6px;margin-top:8px}.resource-input-controls input{width:100%;min-width:0;text-align:center}.resource-input-controls button{padding:6px 8px!important;border-color:#5a4524!important;background:#0b1515!important;font-size:18px!important}
.player-dashboard-grid{grid-template-columns:1fr .72fr .98fr}.equipment-armor-panel{grid-column:2/4;grid-row:1/2}.equipped-weapons-panel{grid-column:2/4;grid-row:2/3}.armor-layout{grid-template-columns:120px 1fr 120px}.armor-figure{height:205px;font-size:105px}.equip-slots{grid-template-columns:1fr 1fr}.equip-slots button{height:46px}.quick-actions-panel{grid-column:1/2}.talents-panel{grid-column:1/2}.skills-panel{grid-column:1/2}.conditions-panel{grid-column:2/3}.quick-items-panel{grid-column:3/4}.action.roll{box-shadow:0 0 0 1px rgba(97,177,225,.22) inset}.dice-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:80;padding:28px}.dice-modal.show{display:flex}.dice-modal-card{width:min(760px,96vw);max-height:90vh;overflow:auto;border:1px solid rgba(212,162,74,.45);background:linear-gradient(180deg,#111b1d,#061012);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.6);padding:18px}.dice-modal-card .section-head button{font-size:24px;min-width:44px}.modal-roll-station{border-top:0;margin-top:0;padding-top:0}.cp-box,.tp-box{border:1px solid rgba(212,162,74,.3);background:rgba(212,162,74,.08);border-radius:12px;padding:10px 14px;text-align:right;color:var(--gold);font-weight:900}.cp-box b,.tp-box b{display:block;font-size:28px;color:#fff3c7}.cp-box small{display:block;color:var(--muted)}.cp-stat .cp-stepper{display:grid;grid-template-columns:38px 1fr 38px;gap:6px;align-items:center;margin-top:10px}.cp-stat .cp-stepper input{text-align:center;font-weight:900;color:#fff3c7;background:#071214;border:1px solid rgba(212,162,74,.28);border-radius:8px;padding:8px}.cp-stat .cp-stepper button{padding:8px!important;font-size:18px!important}.cp-stat em{display:block;margin-top:8px;color:var(--muted);font-size:12px}.placeholder-tree{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.placeholder-tree span{border:1px solid rgba(212,162,74,.25);border-radius:14px;background:rgba(255,255,255,.035);padding:30px;text-align:center;color:var(--gold);font-weight:900}.characteristics-manager .wide{margin-top:16px}.dashboard-combat-log{margin-top:14px}@media(max-width:1450px){.player-dashboard-grid{grid-template-columns:1fr 1fr}.equipment-armor-panel,.equipped-weapons-panel{grid-column:1/3}.quick-actions-panel{grid-column:1/3}.conditions-panel{grid-column:1/2}.quick-items-panel{grid-column:2/3}.placeholder-tree{grid-template-columns:1fr}}

/* v1.2.11 GM XP split panel */
.gm-xp-split{min-height:260px}
.xp-split-controls{display:flex;gap:10px;align-items:center;margin:12px 0}
.xp-split-controls input{max-width:180px;padding:12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-weight:800}
.xp-split-list{display:grid;gap:8px;margin-top:10px}
.xp-split-row{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}
.xp-split-row span{font-weight:800;color:var(--text)}
.xp-split-row b{color:var(--accent)}
.xp-split-row small{grid-column:1 / -1;color:var(--muted)}

/* v1.2.12 Class Talent Tree UI */
.talent-toolbar{display:flex;gap:12px;align-items:end;justify-content:space-between;margin:12px 0 16px;flex-wrap:wrap}
.talent-toolbar label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.85rem}.talent-toolbar select{min-width:220px}
.class-tree-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.class-tier-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:18px;padding:14px}.class-tier-card.locked-tier{opacity:.68;filter:saturate(.7)}
.tier-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.tier-head h4{margin:0}.tier-head span{font-size:.78rem;color:var(--muted);border:1px solid rgba(255,255,255,.12);padding:4px 8px;border-radius:999px}
.talent-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);padding:10px;border-radius:14px;margin:8px 0}.talent-card b{display:block}.talent-card small{display:block;color:var(--accent);margin-top:2px}.talent-card p{margin:.35rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.35}.talent-card.locked{background:rgba(0,0,0,.28)}
.talent-stepper{display:flex;align-items:center;gap:8px}.talent-stepper button{width:30px;height:30px;padding:0}.talent-stepper span{min-width:22px;text-align:center;font-weight:800}.tp-box small{display:block;color:var(--muted);font-weight:500;margin-top:3px}
@media(max-width:1100px){.class-tree-grid{grid-template-columns:1fr}}

/* v1.3 account + character select */
.player-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.player-home-hero{grid-column:1/-1}.character-creator{display:none}.character-creator.show{display:block}.creator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-character-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.account-character-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:18px;padding:16px;text-align:left}.account-character-card h3{margin:0 0 6px}.account-character-card .big-initial{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),rgba(255,255,255,.12));font-weight:800;font-size:1.6rem;margin-bottom:10px}.campaign-character-picker{display:grid;gap:8px;margin:8px 0 16px}.campaign-character-picker label{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);padding:8px 10px;border-radius:12px}.account-create{margin-top:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}.account-create summary{cursor:pointer;color:var(--accent)}

/* v1.3.1 visual talent tree system */
.visual-tree-shell{display:flex;flex-direction:column;gap:14px}
.talent-view-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.talent-view-tabs button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:var(--text);border-radius:999px;padding:9px 14px;cursor:pointer}.talent-view-tabs button.active{background:linear-gradient(135deg,var(--accent),rgba(255,255,255,.08));color:#041418;border-color:var(--accent);font-weight:800}.multi-class-note{padding:10px 12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:14px;color:var(--muted)}
.visual-tree-board{position:relative;min-height:670px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:radial-gradient(circle at 50% 45%,rgba(88,198,255,.18),transparent 22%),linear-gradient(135deg,rgba(0,0,0,.32),rgba(255,255,255,.025));overflow:hidden;padding:18px}.visual-tree-board.dual{display:grid;grid-template-columns:1fr 1fr;gap:16px}.visual-tree-board.dual:before{content:"";position:absolute;top:24px;bottom:24px;left:50%;width:1px;background:linear-gradient(transparent,rgba(255,215,120,.4),transparent);z-index:2}.tree-canvas{position:relative;min-height:630px;border-radius:18px;overflow:hidden;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.06)}.tree-title{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:4}.tree-title h3{margin:0;color:var(--gold);font-size:1rem}.tree-title small{color:var(--muted)}.tree-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}.tree-svg line{stroke:rgba(203,164,82,.38);stroke-width:2}.tree-svg line.active{stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 0 5px var(--accent))}.tree-node{position:absolute;z-index:3;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.25);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),rgba(4,10,16,.95));box-shadow:0 8px 18px rgba(0,0,0,.35);cursor:pointer;transition:.15s}.tree-node:hover{scale:1.08;border-color:var(--accent);box-shadow:0 0 0 4px rgba(76,216,255,.12),0 10px 22px rgba(0,0,0,.42)}.tree-node.locked{opacity:.42;filter:grayscale(.8)}.tree-node.ranked{border-color:var(--accent);box-shadow:0 0 14px rgba(76,216,255,.35),0 8px 18px rgba(0,0,0,.35)}.tree-node.capstone{border-color:var(--gold)}.tree-node .node-icon{font-size:1.25rem}.tree-node .rank-ring{position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(255,255,255,.13);background:conic-gradient(var(--accent) calc(var(--progress)*1%),transparent 0)}.tree-node .rank-label{position:absolute;bottom:-19px;font-size:.68rem;color:var(--muted);white-space:nowrap}.tree-tier-label{position:absolute;z-index:2;transform:translateX(-50%);top:58px;color:rgba(255,255,255,.58);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.tree-center-orb{position:absolute;z-index:3;left:50%;top:52%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,213,118,.28),rgba(0,0,0,.75));border:2px solid rgba(255,215,120,.55);color:var(--gold);font-weight:900;text-align:center;box-shadow:0 0 35px rgba(255,200,90,.15)}.talent-detail-panel{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(0,0,0,.22);padding:14px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.talent-detail-panel h4{margin:.1rem 0;color:var(--gold)}.talent-detail-panel p{margin:.25rem 0;color:var(--muted);max-width:900px}.talent-rank-controls{display:flex;align-items:center;gap:8px}.talent-rank-controls button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--text);cursor:pointer}.talent-rank-controls span{min-width:60px;text-align:center;font-weight:800;color:var(--accent)}.talent-rank-controls button:disabled{opacity:.35;cursor:not-allowed}.tree-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.tree-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-1px}.legend-unlocked{background:var(--accent)}.legend-locked{background:#777}.legend-capstone{background:var(--gold)}
@media(max-width:1300px){.visual-tree-board.dual{grid-template-columns:1fr}.visual-tree-board.dual:before{display:none}.talent-detail-panel{grid-template-columns:1fr}.tree-canvas{min-height:570px}}
/* v1.3.2 Bloodhunter rank buildout */
.bloodhunter-system-card{border:1px solid rgba(178,40,55,.55);background:linear-gradient(135deg,rgba(95,8,18,.35),rgba(12,18,24,.82));border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 0 24px rgba(120,0,20,.18)}
.bloodhunter-system-card h4{margin:0 0 8px;color:#ff7282}.bloodhunter-system-card ul{margin:8px 0 0 20px}.bloodhunter-system-card li{margin:6px 0;color:#dbe7f7}.rank-buildout{margin-top:14px;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.rank-buildout h5{margin:0 0 8px;color:#ffb3bd}.rank-buildout ol{margin:10px 0 0 20px;padding:0}.rank-buildout li{margin:8px 0;padding:8px;border-radius:10px;background:rgba(255,255,255,.035)}.rank-buildout li.current-rank{background:rgba(255,70,95,.16);border:1px solid rgba(255,70,95,.35)}.pathway-box{margin-top:12px;padding:10px;border-radius:12px;background:rgba(120,40,160,.12);border:1px solid rgba(190,110,255,.25)}.pathway-box h5{color:#d6a1ff}.pathway-box p{margin:6px 0}.tree-node .rank-label{font-size:10px;}

/* =========================
   v1.3.3 Inventory + Bag System Rebuild
   ========================= */
.coin-pouch-panel{grid-column:2/4}.coin-panel-rows{display:grid;gap:8px}.coin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;padding:10px}.coin-row b{display:block;color:#fff}.coin-row small{display:block;color:var(--muted)}.coin-controls{display:flex;align-items:center;gap:7px}.coin-controls input{width:70px}.coin-controls span{color:var(--muted);font-size:12px;min-width:70px;text-align:right}.web-equip-layout .inventory-slot-button{height:auto;min-height:48px;padding:8px!important;text-align:left!important;display:grid;gap:2px}.inventory-slot-button span{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800}.inventory-slot-button b{font-size:12px;color:#eaf6ff}.inventory-slot-button.filled{border-color:rgba(71,205,255,.35)!important;background:rgba(71,205,255,.06)!important}.dashboard-weapons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dashboard-weapons .weapon-card{margin:0!important;padding:10px!important}.dashboard-weapons .weapon-card span{font-size:26px;min-width:auto}.dashboard-weapons .weapon-card b{font-size:12px}.dashboard-weapons .weapon-card small{font-size:11px}.inventory-system-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr);gap:16px;align-items:start}.inventory-equipped-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inventory-equipped-grid h4{margin:0 0 8px;color:var(--gold);text-transform:uppercase;letter-spacing:.5px}.inventory-slot-list{display:grid;gap:8px}.inventory-slot-list .inventory-slot-button{width:100%;min-height:52px;text-align:left!important;display:grid;gap:3px;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important;border-radius:12px!important;padding:10px 12px!important}.inventory-slot-list .inventory-slot-button em{justify-self:end;color:var(--accent);font-style:normal;font-weight:900}.bag-box-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.bag-box{min-height:86px!important;text-align:left!important;display:grid!important;gap:4px;border-radius:14px!important;background:rgba(255,255,255,.035)!important}.bag-box.active{border-color:var(--accent)!important;box-shadow:0 0 0 1px rgba(71,205,255,.25),0 0 18px rgba(71,205,255,.12)}.bag-box b{color:#fff}.bag-box span{color:var(--gold);font-weight:900}.bag-box small{color:var(--muted)}.bag-grid-panel{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.bag-grid-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.bag-grid-head h3{margin:0;color:#fff!important}.bag-grid{display:grid;gap:8px}.bag-cell{min-height:88px!important;border-radius:12px!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.10)!important;display:grid!important;align-content:start;gap:3px;text-align:left!important;padding:8px!important}.bag-cell.filled{border-color:rgba(212,162,74,.45)!important;background:rgba(212,162,74,.075)!important}.bag-cell small{color:var(--muted);font-size:10px}.bag-cell b{font-size:12px;color:#fff}.bag-cell em{font-size:11px;color:var(--gold);font-style:normal}.bag-cell span{font-size:12px;color:var(--muted)}.item-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:90;padding:28px}.item-modal.show{display:flex}.item-modal-card{width:min(620px,94vw);border:1px solid rgba(212,162,74,.45);background:linear-gradient(180deg,#111b1d,#061012);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.6);padding:18px}.item-detail-grid{display:grid;gap:14px}.item-detail-grid p{line-height:1.55;color:#d6e1e7}.item-detail-grid button{justify-self:start}.resources + .characteristics-compact{margin-top:12px}@media(max-width:1450px){.coin-pouch-panel{grid-column:1/3}.dashboard-weapons{grid-template-columns:1fr 1fr}.inventory-system-layout{grid-template-columns:1fr}.bag-box-list{grid-template-columns:1fr 1fr}.inventory-equipped-grid{grid-template-columns:1fr}}@media(max-width:900px){.bag-box-list{grid-template-columns:1fr}.bag-grid{grid-template-columns:repeat(2,1fr)!important}.coin-row{grid-template-columns:1fr}.coin-controls{flex-wrap:wrap}.dashboard-weapons{grid-template-columns:1fr}}

/* v1.3.9.2 account login clarity */
.auth-hint{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);border-radius:10px;padding:8px 10px;margin:8px 0 10px;font-size:.82rem;line-height:1.25}.auth-hint.success{border-color:rgba(69,214,124,.55);color:#9ff0b8;background:rgba(69,214,124,.08)}.auth-hint.warn{border-color:rgba(255,190,83,.6);color:#ffd78a;background:rgba(255,190,83,.08)}.auth-hint.error{border-color:rgba(255,94,94,.65);color:#ffb0a8;background:rgba(255,94,94,.08)}.auth-actions-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.link-button{background:none;border:0;color:var(--accent);padding:8px 2px;margin-top:4px;cursor:pointer;text-align:left;font-size:.84rem}.link-button:hover{text-decoration:underline}.login-panel .outline{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04)}


/* v1.3.9.4 Account Creation + Username Login */
.account-create-page{max-width:980px;margin:0 auto;}
.account-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;}
.account-create-grid section{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px;}
.account-create-grid label{display:block;margin:10px 0;color:var(--muted);font-size:.9rem;}
.account-create-grid input,.login-panel input{width:100%;box-sizing:border-box;margin-top:6px;}
.auth-hint{padding:10px 12px;border-radius:12px;background:rgba(93,142,255,.12);border:1px solid rgba(93,142,255,.25);color:#dbe7ff;margin:10px 0;font-size:.92rem;}
.auth-hint.warn{background:rgba(255,195,90,.12);border-color:rgba(255,195,90,.35);color:#ffe1a6;}
.auth-hint.error{background:rgba(255,91,91,.12);border-color:rgba(255,91,91,.35);color:#ffb7b7;}
.auth-hint.success{background:rgba(75,214,126,.12);border-color:rgba(75,214,126,.35);color:#b9ffd0;}
.link-button{background:transparent;border:0;color:#91b8ff;text-decoration:underline;cursor:pointer;padding:8px 0;}
@media (max-width: 900px){.account-create-grid{grid-template-columns:1fr;}}

/* v1.7.0 Recovery Build additions */
.v170-panel,.v170-rest-panel,.v170-sync-panel{margin-top:14px;border:1px solid rgba(212,162,74,.28);background:rgba(212,162,74,.07);border-radius:16px;padding:14px}.v170-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v170-status-grid span,.v170-audit-grid div{border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);border-radius:14px;padding:10px}.v170-status-grid b,.v170-audit-grid b{display:block;color:#fff3c7;margin-top:4px}.devlog-page .v17-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.devlog-page .v17-grid section{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:16px;padding:16px}.v170-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.v170-audit-grid small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.v170-actions,.v170-rest-panel div,.v170-sync-panel div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.v170-calendar-panel{min-height:180px}.v170-calendar-list{display:grid;gap:8px}.v170-calendar-list>div{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:12px;padding:9px}.v170-calendar-list span{color:var(--muted)}@media(max-width:900px){.v170-status-grid,.v170-audit-grid,.devlog-page .v17-grid{grid-template-columns:1fr}.v170-calendar-list>div{grid-template-columns:1fr}}


/* v1.7.1.2 integrated GM/Player dashboard fix */
.gm-session-control,.gm-view-toggle,.gm-dice-log-panel,.gm-session-log-builder,.gm-placeholder-panel{border-color:rgba(255,215,128,.32)}
.gm-fast-controls{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.gm-fast-controls button{min-width:90px}
.gm-view-toggle button{margin-right:8px;margin-bottom:8px}.gm-session-log-builder textarea,.gm-placeholder-panel textarea{min-height:150px;width:100%;resize:vertical}
.roll-history.compact{max-height:260px;overflow:auto}.roll-history.compact .roll-entry{grid-template-columns:1fr auto;gap:8px;padding:8px;border-bottom:1px solid rgba(255,255,255,.08)}
body[data-gm-view-mode="player"] #gmQuestUpdates,body[data-gm-view-mode="player"] #gmEncounterUpdates{filter:blur(4px);opacity:.45;pointer-events:none}
body[data-gm-view-mode="player"] .gm-placeholder-panel::after{content:'GM-only information hidden in Player View Preview';display:block;margin-top:8px;color:var(--gold);font-size:12px}


/* v1.7.1.3 Session Log System Integration */
.session-log-system-panel{grid-column:span 2;border-color:rgba(0,229,255,.35)}
.session-control-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:12px 0}
.session-add-event{display:grid;grid-template-columns:150px 180px 1fr 110px;gap:10px;margin:12px 0}
.session-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.session-timeline{max-height:320px;overflow:auto;border:1px solid rgba(255,216,143,.16);border-radius:12px;padding:10px;background:rgba(0,0,0,.16)}
.session-event{border-left:3px solid rgba(0,229,255,.75);padding:9px 10px;margin:0 0 8px;background:rgba(255,255,255,.03);border-radius:10px}
.session-event div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.session-event p{margin:6px 0 0}.session-event small{color:#b9ad93}.gm-private{border-left-color:#d4a64a}.hidden-until{border-left-color:#8d6bd8;opacity:.85}
.public-label,.gm-only-label,.hidden-label{font-size:11px;padding:2px 7px;border-radius:999px;font-weight:800}.public-label{background:rgba(0,229,255,.14);color:#61f5ff}.gm-only-label{background:rgba(212,166,74,.18);color:#ffd88f}.hidden-label{background:rgba(141,107,216,.18);color:#d6c3ff}
.session-markdown-preview{min-height:260px;font-family:ui-monospace,Consolas,monospace;white-space:pre;line-height:1.35}.archive-row{display:flex;justify-content:space-between;border-top:1px solid rgba(255,216,143,.14);padding:8px 0;color:#f9edcf}
body[data-gm-view-mode="player"] .session-event.gm-private,body[data-gm-view-mode="player"] .session-event.hidden-until{display:none}
@media(max-width:1100px){.session-log-system-panel{grid-column:span 1}.session-control-grid{grid-template-columns:repeat(2,1fr)}.session-add-event{grid-template-columns:1fr}}

/* v1.7.1.4 Integrated Dice Engine System v1 */
.dice-engine-card{width:min(980px,96vw)}
.dice-engine-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:14px;align-items:start}
.dice-engine-stage-card,.dice-engine-controls-card,.dice-engine-history{border:1px solid rgba(212,162,74,.22);background:rgba(255,255,255,.035);border-radius:16px;padding:12px}
.dice-engine-history{grid-column:1/3}.dice-stage-advanced{min-height:132px;position:relative;overflow:hidden}.dice-stage-advanced .dice-cube{width:82px;height:82px;font-size:30px}.roll-outcome-badge{display:inline-block;margin-top:8px;border:1px solid rgba(97,177,225,.35);border-radius:999px;padding:4px 9px;color:#dbeafe;background:rgba(97,177,225,.08);font-size:11px;font-weight:900}.roll-outcome-badge.crit{border-color:rgba(245,158,11,.65);color:#fff3c7;background:rgba(245,158,11,.14)}.roll-outcome-badge.fail{border-color:rgba(239,68,68,.65);color:#fecaca;background:rgba(239,68,68,.14)}
.dice-engine-tabs{grid-template-columns:1fr 1fr}.dice-engine-form{gap:10px}.dice-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wide-quick{grid-template-columns:repeat(4,1fr)}.dice-tower-stage{display:none;margin-top:10px;text-align:center}.dice-tower-stage.active{display:block}.tower-roof{color:var(--gold);font-size:42px;line-height:.8}.tower-body{height:150px;margin:0 auto;width:110px;border:2px solid rgba(212,162,74,.45);border-top:0;border-radius:0 0 18px 18px;background:linear-gradient(180deg,rgba(44,31,15,.8),rgba(5,12,14,.92));display:grid;place-items:center;overflow:hidden;position:relative}.tower-body span{position:absolute;font-size:24px;color:#fff3c7;animation:towerDrop 1.2s ease-in-out infinite}.tower-body span:nth-child(2){animation-delay:.2s}.tower-body span:nth-child(3){animation-delay:.42s}.tower-tray{width:180px;margin:8px auto 0;padding:8px;border:1px solid rgba(212,162,74,.35);border-radius:16px;background:rgba(212,162,74,.08);color:#fff3c7;font-weight:900}@keyframes towerDrop{0%{top:-30px;transform:rotate(0deg)}70%{top:100px;transform:rotate(250deg)}100%{top:120px;opacity:.25;transform:rotate(320deg)}}.dice-cube.table-roll{animation:tableDiceRoll 1.1s ease-in-out infinite}@keyframes tableDiceRoll{0%{transform:translateX(-80px) rotate(0deg) scale(.85)}35%{transform:translateX(10px) translateY(-12px) rotate(210deg) scale(1.08)}70%{transform:translateX(90px) translateY(8px) rotate(430deg) scale(.96)}100%{transform:translateX(0) rotate(720deg) scale(1)}}.roll-entry.gm-hidden-roll{border-color:rgba(147,51,234,.55);background:rgba(88,28,135,.14)}.roll-entry.important{box-shadow:0 0 0 1px rgba(245,158,11,.6),0 0 22px rgba(245,158,11,.18)}.roll-entry em{color:#fff3c7;font-style:normal}.roll-entry button{font-size:11px;padding:5px 8px}.dice-engine-gm-panel{grid-column:span 2}.dice-gm-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dice-engine-gm-panel .roll-entry{grid-template-columns:1fr auto;align-items:center}.dice-engine-gm-panel .roll-entry button{margin-left:4px}@media(max-width:1100px){.dice-engine-grid{grid-template-columns:1fr}.dice-engine-history{grid-column:1}.dice-form-row,.physical-grid{grid-template-columns:1fr}.dice-gm-actions{grid-template-columns:1fr}.dice-engine-gm-panel{grid-column:auto}}

/* v1.7.1.5 Dice bounce + tower style update */
.dice-stage-advanced{min-height:260px;background:radial-gradient(circle at 50% 65%,rgba(212,162,74,.09),rgba(5,12,14,.72) 58%,rgba(0,0,0,.2));}
.dice-cube.screen-bounce-roll{position:relative;animation:screenDiceBounce 1.85s cubic-bezier(.2,.9,.2,1) infinite;transform-style:preserve-3d;box-shadow:0 18px 42px rgba(0,0,0,.45), inset 0 0 20px rgba(255,255,255,.16)}
@keyframes screenDiceBounce{
  0%{transform:translate(-190px,-52px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.82)}
  16%{transform:translate(105px,54px) rotateX(220deg) rotateY(160deg) rotateZ(80deg) scale(1.08)}
  31%{transform:translate(-132px,88px) rotateX(460deg) rotateY(340deg) rotateZ(190deg) scale(.92)}
  48%{transform:translate(var(--bounce-x,210px),-34px) rotateX(710deg) rotateY(540deg) rotateZ(290deg) scale(1.02)}
  63%{transform:translate(-44px,72px) rotateX(940deg) rotateY(760deg) rotateZ(410deg) scale(.95)}
  78%{transform:translate(68px,24px) rotateX(1110deg) rotateY(910deg) rotateZ(520deg) scale(.9)}
  100%{transform:translate(0,0) rotateX(1260deg) rotateY(1080deg) rotateZ(720deg) scale(1)}
}
.dice-tower-stage.active{display:block;min-height:250px;cursor:pointer;user-select:none}.tower-scene{position:relative;height:236px;display:grid;place-items:center}.tower-art{position:relative;width:180px;height:210px;filter:drop-shadow(0 20px 25px rgba(0,0,0,.48))}.tower-art .tower-roof{position:absolute;left:46px;top:0;width:88px;text-align:center;color:var(--gold);font-size:54px;text-shadow:0 0 18px rgba(212,162,74,.32)}.tower-art .tower-body{position:absolute;left:36px;top:44px;width:108px;height:150px;border:2px solid rgba(212,162,74,.55);border-radius:22px 22px 18px 18px;background:linear-gradient(180deg,rgba(85,62,37,.85),rgba(17,25,25,.95));box-shadow:inset 0 0 35px rgba(0,0,0,.34),0 0 0 6px rgba(212,162,74,.04)}.tower-body:before{content:"";position:absolute;inset:14px 28px;border-left:2px solid rgba(212,162,74,.35);border-right:2px solid rgba(212,162,74,.22);border-radius:12px}.tower-body span{opacity:0}.tower-click-die{position:absolute;top:18px;left:calc(50% - 20px);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#fff3c7,#9f6b27);color:#160d04;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.45);z-index:4}.tower-rolling .tower-click-die{animation:towerDieDrop 1.5s cubic-bezier(.2,.8,.28,1) forwards}.tower-tray{position:relative;z-index:5}.tower-dragon .tower-dragon{display:block}.tower-dragon .tower-art:after{content:"";position:absolute;left:26px;top:28px;width:126px;height:158px;border:9px solid rgba(61,180,116,.58);border-left-color:transparent;border-bottom-color:rgba(61,180,116,.25);border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 20px rgba(61,180,116,.24)}.tower-art .tower-dragon{display:none;position:absolute;right:0;top:44px;font-size:44px;z-index:3;filter:drop-shadow(0 0 12px rgba(61,180,116,.35))}.tower-tree .tower-roof{display:none}.tower-tree .tower-body{border-radius:55px 55px 18px 18px;background:linear-gradient(180deg,rgba(45,83,44,.9),rgba(76,46,25,.95));border-color:rgba(127,95,49,.75)}.tower-tree .tower-tree-crown{display:block}.tower-art .tower-tree-crown{display:none;position:absolute;left:18px;top:-20px;width:145px;text-align:center;font-size:88px;color:#7ca85c;text-shadow:0 0 18px rgba(124,168,92,.28);z-index:2}.tower-castle .tower-tree-crown,.tower-castle .tower-dragon{display:none!important}
@keyframes towerDieDrop{0%{top:10px;transform:rotate(0deg) scale(1)}20%{top:58px;left:calc(50% + 30px);transform:rotate(165deg) scale(.96)}42%{top:104px;left:calc(50% - 42px);transform:rotate(380deg) scale(1.04)}66%{top:152px;left:calc(50% + 22px);transform:rotate(610deg) scale(.9)}82%{top:190px;left:calc(50% - 6px);transform:rotate(760deg) scale(1.03)}100%{top:202px;left:calc(50% - 20px);transform:rotate(900deg) scale(1)}}


/* v1.7.1.6 Dice tower visual skin integration */
.dice-tower-stage.active{display:block;min-height:290px;cursor:pointer;user-select:none;position:relative;overflow:hidden;border:1px solid rgba(212,162,74,.22);border-radius:18px;background:radial-gradient(circle at 50% 18%,rgba(212,162,74,.13),rgba(4,11,13,.64) 48%,rgba(0,0,0,.28));}
.tower-scene{position:relative;height:270px;display:grid;place-items:center;}
.tower-image-art{position:relative;width:190px;height:225px;display:grid;place-items:center;filter:drop-shadow(0 22px 28px rgba(0,0,0,.55));}
.tower-image-art img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;transform-origin:center bottom;transition:transform .25s ease, filter .25s ease;}
.tower-rolling .tower-image-art img{animation:towerSkinRumble .28s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(212,162,74,.24));}
.tower-click-die{z-index:10;}
.tower-rolling .tower-click-die{animation:towerDieDropSkinned 1.72s cubic-bezier(.2,.8,.28,1) forwards;}
.tower-dragon .tower-click-die{animation-name:towerDieSpiral;}
.tower-tree .tower-click-die{animation-name:towerDieBranchDrop;}
.tower-mimic .tower-click-die{animation-name:mimicEatAndSpit;}
.tower-mouth-flash{position:absolute;left:50%;top:43%;width:70px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,216,118,.65),rgba(255,66,41,.22) 45%,transparent 70%);opacity:0;pointer-events:none;mix-blend-mode:screen;}
.tower-mimic.mimic-chomp .tower-mouth-flash{animation:mimicMouthGlow 1.85s ease-in-out forwards;}
.tower-mimic.mimic-chomp .tower-image-art img{animation:mimicChomp .42s ease-in-out infinite;}
.tower-tray{min-height:26px;text-align:center;font-weight:800;color:var(--gold);text-shadow:0 0 12px rgba(212,162,74,.25);}
@keyframes towerSkinRumble{0%,100%{transform:translateX(0) rotate(0deg)}35%{transform:translateX(-2px) rotate(-.8deg)}70%{transform:translateX(2px) rotate(.8deg)}}
@keyframes towerDieDropSkinned{0%{top:8px;left:calc(50% - 20px);transform:rotate(0deg) scale(1)}22%{top:64px;left:calc(50% + 28px);transform:rotate(175deg) scale(.95)}46%{top:124px;left:calc(50% - 38px);transform:rotate(390deg) scale(1.04)}70%{top:184px;left:calc(50% + 16px);transform:rotate(640deg) scale(.92)}100%{top:226px;left:calc(50% - 20px);transform:rotate(900deg) scale(1)}}
@keyframes towerDieSpiral{0%{top:6px;left:calc(50% - 20px);transform:rotate(0) scale(1)}18%{top:50px;left:calc(50% + 48px);transform:rotate(160deg) scale(.95)}38%{top:94px;left:calc(50% - 56px);transform:rotate(360deg) scale(1.04)}58%{top:142px;left:calc(50% + 42px);transform:rotate(560deg) scale(.9)}80%{top:198px;left:calc(50% - 28px);transform:rotate(760deg) scale(1.02)}100%{top:228px;left:calc(50% - 20px);transform:rotate(960deg) scale(1)}}
@keyframes towerDieBranchDrop{0%{top:0;left:calc(50% - 20px);transform:rotate(0) scale(1)}16%{top:38px;left:calc(50% - 46px);transform:rotate(-110deg) scale(.92)}34%{top:76px;left:calc(50% + 42px);transform:rotate(170deg) scale(1.05)}52%{top:126px;left:calc(50% - 20px);transform:rotate(420deg) scale(.9)}74%{top:184px;left:calc(50% + 30px);transform:rotate(690deg) scale(1.03)}100%{top:228px;left:calc(50% - 20px);transform:rotate(880deg) scale(1)}}
@keyframes mimicEatAndSpit{0%{top:0;left:calc(50% - 20px);opacity:1;transform:rotate(0) scale(1)}28%{top:94px;left:calc(50% - 6px);opacity:1;transform:rotate(360deg) scale(.8)}48%{top:104px;left:calc(50% - 6px);opacity:0;transform:rotate(520deg) scale(.25)}68%{top:104px;left:calc(50% - 6px);opacity:0;transform:rotate(520deg) scale(.25)}82%{top:154px;left:calc(50% + 30px);opacity:1;transform:rotate(720deg) scale(1.12)}100%{top:228px;left:calc(50% - 20px);opacity:1;transform:rotate(980deg) scale(1)}}
@keyframes mimicMouthGlow{0%,22%{opacity:0;transform:translate(-50%,-50%) scale(.6)}34%,62%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-50%) scale(.75)}}
@keyframes mimicChomp{0%,100%{transform:scale(1) rotate(0deg)}45%{transform:scale(1.04,.96) rotate(-1deg)}70%{transform:scale(.98,1.04) rotate(1deg)}}

/* =========================
   v1.7.1.7 Combat System v1 Integration
   Integrated into existing GM/player dashboards.
   ========================= */
.combat-system-panel,.player-combat-system-panel{border-color:rgba(255,211,124,.28)}
.combat-state-grid,.combat-control-grid,.player-combat-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0}
.combat-state-grid button,.combat-control-grid button,.player-combat-actions button{min-height:38px}
.combat-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:.75rem 0}
.combat-status-strip div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.65rem}
.combat-status-strip small{display:block;color:#bfae88;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.combat-status-strip b{color:#fff6d6}
.combat-target-row,.combat-form-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.55rem;align-items:end;margin:.65rem 0}.combat-form-row.two{grid-template-columns:1fr 1fr auto}
.combat-target-row select,.combat-target-row input,.combat-form-row input,.combat-form-row select{width:100%}
.combat-enemy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem;margin-top:.75rem}
.combat-enemy-card{background:linear-gradient(180deg,rgba(39,31,20,.82),rgba(9,15,18,.92));border:1px solid rgba(255,211,124,.22);border-radius:14px;padding:.75rem;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.combat-enemy-card.active-target{outline:2px solid var(--accent);box-shadow:0 0 24px rgba(0,231,255,.18)}
.combat-enemy-card h4{margin:.1rem 0 .35rem;color:#fff1bf}.combat-enemy-card .mini-line{display:flex;justify-content:space-between;font-size:.78rem;color:#cdbf98;margin:.25rem 0}.combat-enemy-card .enemy-card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.55rem}
.combat-turn-banner{border:1px solid rgba(0,231,255,.35);background:rgba(0,231,255,.08);border-radius:12px;padding:.65rem;margin:.65rem 0;color:#e8fbff}
.combat-log-full{max-height:330px;overflow:auto}.combat-log-full .combat-log-entry{display:grid;grid-template-columns:1fr auto;gap:.4rem}.combat-log-entry small{color:#baa77d}.combat-summary-box{min-height:160px;font-family:ui-monospace,Menlo,Consolas,monospace}.resource-cost-note{font-size:.78rem;color:#bfae88}.danger-soft{border-color:rgba(255,80,80,.35);color:#ffc8c8}
@media(max-width:1000px){.combat-state-grid,.combat-control-grid,.player-combat-actions,.combat-status-strip,.combat-target-row,.combat-form-row,.combat-form-row.two{grid-template-columns:1fr 1fr}}

/* =====================================================
   v1.7.1.8 GM Right Menu Panel Upgrade
   ===================================================== */
#gm .gm-layout{display:grid;grid-template-columns:300px minmax(620px,1fr) 250px;gap:18px;align-items:start;}
#gm .roster{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto;}
#gm .gm-right-menu{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto;border-color:rgba(199,161,91,.35);background:linear-gradient(180deg,rgba(35,25,20,.96),rgba(16,12,14,.98));}
.right-menu-head h2{margin:.2rem 0 .4rem;}
.gm-system-buttons{display:grid;gap:8px;margin-top:12px;}
.gm-system-btn{width:100%;text-align:left;display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(199,161,91,.22);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;}
.gm-system-btn b{font-size:.98rem;}
.gm-system-btn small{color:var(--muted);font-size:.72rem;line-height:1.2;}
.gm-system-btn:hover,.gm-system-btn.active{border-color:rgba(199,161,91,.8);background:rgba(199,161,91,.15);box-shadow:0 0 0 1px rgba(199,161,91,.12) inset;}
.gm-menu-footer{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);}
.gm-systems-content{align-content:start;}
.gm-system-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-color:rgba(199,161,91,.35);background:linear-gradient(135deg,rgba(93,45,35,.42),rgba(18,14,17,.92));}
.gm-system-hidden{display:none!important;}
@media(max-width:1100px){#gm .gm-layout{grid-template-columns:260px 1fr;}#gm .gm-right-menu{grid-column:1/-1;position:relative;top:auto;max-height:none;order:-1}.gm-system-buttons{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* =====================================================
   v1.7.1.9 GM Menu Layout Fix
   GM menu moved from right side to horizontal bar under campaign header.
   ===================================================== */
#gm .gm-layout{display:grid;grid-template-columns:300px minmax(720px,1fr);gap:18px;align-items:start;}
#gm .gm-main{min-width:0;}
#gm .gm-right-menu{display:none!important;}
#gm .gm-menu-bar{position:relative;top:auto;max-height:none;overflow:visible;margin:14px 0 16px;border-color:rgba(199,161,91,.35);background:linear-gradient(135deg,rgba(35,25,20,.9),rgba(11,19,22,.96));}
.gm-menu-bar-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:10px;}
.gm-menu-bar-head h2{margin:.1rem 0 .2rem;}
.gm-menu-bar-head .gm-menu-version{white-space:nowrap;align-self:center;}
#gm .gm-menu-bar .gm-system-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:0;}
#gm .gm-menu-bar .gm-system-btn{width:auto;min-width:132px;flex:1 1 132px;text-align:left;display:grid;gap:2px;padding:10px 12px;border-radius:12px;}
#gm .gm-menu-bar .gm-system-btn b{font-size:.92rem;}
#gm .gm-menu-bar .gm-system-btn small{font-size:.69rem;}
#gm .gm-menu-bar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);}
#gm .gm-panels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
#gm .gm-system-title{margin-bottom:0;}
@media(max-width:1100px){#gm .gm-layout{grid-template-columns:260px 1fr;}#gm .gm-menu-bar .gm-system-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.gm-menu-bar-head{display:block;}}


/* =====================================================
   Asteria v1.7.2.0 — Manual Roll Tracking Update
   Removes digital dice controls and turns combat into a tracker.
   ===================================================== */
.dice-modal,.dice-engine-gm-panel,#diceEngineGmPanel,.gm-dice-log-panel{display:none!important;}
.manual-roll-card,.manual-combat-entry{border-color:rgba(0,229,255,.35)!important;background:linear-gradient(135deg,rgba(0,229,255,.06),rgba(255,209,112,.04));}
.manual-entry-grid,.manual-combat-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;align-items:end;margin:12px 0;}
.manual-entry-grid label,.manual-combat-grid label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:#f3dca3;}
.manual-entry-grid input,.manual-entry-grid select,.manual-combat-grid input,.manual-combat-grid select{background:#071011;border:1px solid rgba(255,209,112,.25);color:#fff1cf;border-radius:7px;padding:8px;}
.manual-result-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;}
.manual-result-strip div{background:rgba(0,0,0,.25);border:1px solid rgba(255,209,112,.18);border-radius:9px;padding:8px;}
.manual-result-strip small{display:block;color:#c8b98f}.manual-result-strip b{font-size:1.1rem;color:#fff6d6;}
.gm-system-btn[onclick*="dice"],.dice-engine-panel,.dice-panel,.roll-history-wrap.dice-engine-history{display:none!important;}
@media(max-width:1000px){.manual-entry-grid,.manual-combat-grid{grid-template-columns:repeat(2,1fr)}.manual-result-strip{grid-template-columns:repeat(2,1fr)}}

/* v1.7.2.1 Resource Action Tracker */
.resource-action-panel{border-color:rgba(171,127,69,.45)}
.resource-action-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin:14px 0}
.resource-action-grid label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--muted,#b9ad9a)}
.resource-action-grid input{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#f4ead7;padding:10px}
.resource-action-grid .wide{grid-column:1/-1}
.resource-action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}
.modifier-reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.modifier-reference-grid>div{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px}
.modifier-reference-grid small{display:block;color:var(--muted,#b9ad9a);margin-bottom:4px}.modifier-reference-grid b{font-size:.86rem}
.action-history-list{display:grid;gap:8px}.action-history-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18);border-radius:12px}.action-history-row div{display:flex;flex-direction:column;gap:3px}.action-history-row small,.action-history-row span{color:var(--muted,#b9ad9a);font-size:.78rem}.action-history-row strong{white-space:nowrap;color:#d7b36a}
@media(max-width:1100px){.resource-action-grid,.modifier-reference-grid{grid-template-columns:1fr 1fr}}


/* =====================================================
   Asteria v1.7.2.2 — UI Identity Pass
   Full website rebuild: removes quick/resource action clutter,
   tightens equipment, splits talents/traits, and adds magic spell panel.
   ===================================================== */
#player .quick-actions-panel,#player .resource-action-panel,#playerActionPanel{display:none!important;}
.equipment-armor-panel{min-height:360px;overflow:hidden;}
.equipment-armor-panel .section-head{align-items:flex-start;}
.web-equip-layout{display:grid;grid-template-columns:minmax(150px,190px) 1fr minmax(150px,190px);gap:18px;align-items:center;min-height:220px;}
.web-equip-layout .equip-slots{display:grid;grid-template-columns:1fr;gap:10px;align-content:center;}
.web-equip-layout .inventory-slot-button{min-height:54px;text-align:left;border-radius:9px;}
.armor-figure{min-height:190px;max-height:210px;border:1px solid rgba(255,200,90,.28);border-radius:18px;background:radial-gradient(circle at 50% 35%,rgba(255,217,140,.13),rgba(6,18,19,.85) 62%);display:flex;align-items:center;justify-content:center;font-size:58px;color:rgba(255,218,154,.62);}
.equipped-weapons-panel{min-height:300px;}
.dashboard-weapons.weapon-layout-v1722{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;max-width:760px;}
.weapon-column-v1722{display:grid;gap:12px;}
.weapon-card.weapon-card-v1722{min-height:92px;padding:18px;border-radius:14px;display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,200,90,.18);}
.weapon-card.weapon-card-v1722 span{font-size:30px;min-width:36px;text-align:center;}
.weapon-card.weapon-card-v1722 small{color:#e8c46c;text-transform:uppercase;letter-spacing:.05em;}
.weapon-card.weapon-card-v1722 b{font-size:1.04rem;display:block;margin-top:4px;}
.class-talents-panel,.racial-traits-panel,.spell-panel-v1722{min-height:unset;}
.talent-list article,.class-talents-panel article,.racial-traits-panel article{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;margin:10px 0;}
.spell-panel-v1722{overflow:hidden;}
.spell-tabs-v1722{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px;}
.spell-tab-v1722{border:1px solid rgba(255,200,90,.25);background:rgba(0,0,0,.25);color:#f7e6ba;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:800;}
.spell-tab-v1722.active{outline:2px solid rgba(0,224,255,.7);background:rgba(0,224,255,.12);}
.spell-list-v1722{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-height:430px;overflow:auto;padding-right:6px;}
.spell-card-v1722{border-radius:14px;border:1px solid rgba(255,255,255,.15);padding:14px 15px;position:relative;overflow:hidden;min-height:112px;background:#111;color:#fff;box-shadow:inset 0 0 30px rgba(0,0,0,.35);}
.spell-card-v1722::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--spell-colour,rgba(255,255,255,.2)),rgba(0,0,0,.72));opacity:.74;z-index:0;}
.spell-card-v1722>*{position:relative;z-index:1;}
.spell-card-v1722 h4{margin:0 0 8px;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.65);}
.spell-card-v1722 p{margin:4px 0;color:#f8f1dd;}
.spell-card-v1722 small{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.38);font-weight:900;}
.magic-air{--spell-colour:#9fdcff}.magic-earth{--spell-colour:#2f8b4a}.magic-fire{--spell-colour:#d12e23}.magic-water{--spell-colour:#1e7fff}.magic-life{--spell-colour:#ffd84d}.magic-death{--spell-colour:#5b2c89}.magic-light{--spell-colour:#fff7de}.magic-dark{--spell-colour:#08080d}.magic-celestial{--spell-colour:#ffd86b}.magic-infernal{--spell-colour:#a30f16}.magic-blood{--spell-colour:#7b0000}.magic-chaos{--spell-colour:#8c8b86}.magic-eldritch{--spell-colour:#00543d}.magic-fae{--spell-colour:#ff8fc7}.magic-fate{--spell-colour:#7b1635}.magic-space{--spell-colour:#061a48}.magic-spirit{--spell-colour:#dfefff}.magic-time{--spell-colour:#b98b35}.magic-abyssal{--spell-colour:#020713}
@media(max-width:900px){.web-equip-layout{grid-template-columns:1fr}.dashboard-weapons.weapon-layout-v1722{grid-template-columns:1fr}.armor-figure{min-height:140px}}

/* =========================
   Asteria v1.7.2.3 — Data Sync Status
   ========================= */
.asteria-sync-status{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:.55rem;
  padding:.35rem .65rem;
  border-radius:999px;
  border:1px solid rgba(218,184,108,.28);
  background:rgba(15,12,18,.72);
  color:#d8c7a0;
  font-size:.78rem;
  letter-spacing:.02em;
}
.asteria-sync-status::before{content:'●';font-size:.7rem;color:#b89456;}
.asteria-sync-status[data-kind="success"]{border-color:rgba(91,173,119,.45);color:#bfe5ca;}
.asteria-sync-status[data-kind="success"]::before{color:#5bad77;}
.asteria-sync-status[data-kind="warn"]{border-color:rgba(220,157,63,.55);color:#ffd99d;}
.asteria-sync-status[data-kind="warn"]::before{color:#dc9d3f;}

/* v1.7.2.4 — Character Creation v1.1 Compendium Linking + Snapshot Logic */
.linked-creator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.comp-linked{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(178,139,76,.55);background:rgba(178,139,76,.12);color:#f0d29a;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}.comp-version{display:inline-flex;border:1px solid rgba(120,170,255,.35);background:rgba(120,170,255,.08);color:#b9d1ff;border-radius:999px;padding:4px 8px;margin:0 6px;font-size:.75rem}.creator-linked-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.creator-source-card,.snapshot-preview-panel,.snapshot-status-panel,.gm-snapshot-tools{border:1px solid rgba(178,139,76,.22);background:linear-gradient(180deg,rgba(32,25,22,.94),rgba(18,15,14,.96));border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.creator-source-card h4,.snapshot-preview-panel h4{margin:0 0 8px}.snapshot-box{border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18);border-radius:14px;padding:12px}.snapshot-status{border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.snapshot-status.locked{background:rgba(82,190,120,.13);border:1px solid rgba(82,190,120,.35);color:#a9f0bf}.snapshot-status.draft{background:rgba(239,196,100,.12);border:1px solid rgba(239,196,100,.35);color:#ffd786}.snapshot-ref-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.snapshot-ref-list li{display:grid;gap:2px;border-left:3px solid rgba(178,139,76,.55);padding:7px 9px;background:rgba(255,255,255,.035);border-radius:8px}.snapshot-ref-list small{color:#9c9388}.update-warning{border:1px solid rgba(255,190,80,.5);background:rgba(255,165,40,.14);color:#ffd27e;border-radius:12px;padding:10px;margin:10px 0;font-weight:800}.gm-snapshot-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.gm-snapshot-actions button,.creator-actions button{min-height:34px}.gm-snapshot-tools textarea{width:100%;min-height:90px;margin-top:8px}.creator-stat small{min-height:16px}@media(max-width:900px){.creator-linked-grid{grid-template-columns:1fr}.linked-creator-head{flex-direction:column}}

/* v1.7.2.5 XP Distribution + Level Progression System */
.xp-distribution-system-v1{border-color:rgba(93,143,255,.35);box-shadow:0 0 0 1px rgba(93,143,255,.08),0 16px 40px rgba(0,0,0,.25)}
.xp-system-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:12px 0}
.xp-system-grid.two{grid-template-columns:2fr 1fr}.xp-system-grid label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.xp-system-grid input,.xp-system-grid select,.xp-award-row input{background:rgba(5,8,16,.72);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px}
.xp-award-row{display:grid;grid-template-columns:26px 1fr 72px 76px 86px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);margin-bottom:8px}
.xp-award-row b{font-size:.9rem}.xp-award-row small{display:block;color:var(--muted);font-size:.72rem}.xp-award-row .xp-result{color:#c7d7ff;font-weight:800}.xp-award-row .level-preview{color:#f7d27e;font-size:.72rem}.xp-system-details textarea{width:100%;min-height:130px;margin-top:10px}
@media(max-width:980px){.xp-system-grid,.xp-system-grid.two{grid-template-columns:1fr 1fr}.xp-award-row{grid-template-columns:26px 1fr 80px}.xp-award-row .hide-sm{display:none}}

/* =========================
   v1.7.2.6 Notification + Sound System v1
   Integrated UI overlay, not standalone
========================= */
.asteria-notification-root{position:fixed;inset:0;pointer-events:none;z-index:99999;font-family:inherit}.asteria-notification-stack{position:absolute;right:22px;bottom:22px;display:flex;flex-direction:column;gap:12px;max-width:380px}.asteria-notification-stack.bottom-centre{left:50%;right:auto;transform:translateX(-50%)}.asteria-notification{pointer-events:auto;border:1px solid rgba(216,177,95,.42);background:linear-gradient(145deg,rgba(20,15,22,.96),rgba(48,30,32,.94));box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 22px rgba(216,177,95,.12);border-radius:16px;color:#f5e8cf;overflow:hidden;animation:asteriaNotifyIn .22s ease-out}.asteria-notification .notify-head{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 6px}.asteria-notification .notify-icon{font-size:1.35rem;filter:drop-shadow(0 0 8px rgba(255,215,128,.25))}.asteria-notification .notify-title{font-weight:800;letter-spacing:.02em}.asteria-notification .notify-body{padding:0 14px 12px;color:#d7c8ad;font-size:.9rem;line-height:1.35}.asteria-notification .notify-meta{display:flex;gap:8px;align-items:center;padding:0 14px 12px}.notify-chip{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#d5b66c;border:1px solid rgba(213,182,108,.28);border-radius:999px;padding:3px 7px}.notify-close{margin-left:auto;border:0;background:rgba(255,255,255,.08);color:#f4e6c8;border-radius:999px;width:26px;height:26px;cursor:pointer}.asteria-notification.small{width:320px}.asteria-notification.medium{width:380px;border-color:rgba(122,179,255,.5);box-shadow:0 18px 52px rgba(0,0,0,.55),0 0 25px rgba(122,179,255,.12)}.asteria-notification.major{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 44px));border-radius:24px;border:1px solid rgba(255,215,128,.72);background:radial-gradient(circle at top,rgba(125,76,28,.34),transparent 38%),linear-gradient(145deg,rgba(30,21,28,.98),rgba(71,35,35,.98));box-shadow:0 35px 100px rgba(0,0,0,.75),0 0 55px rgba(255,196,74,.2);text-align:left;animation:asteriaMajorNotifyIn .28s ease-out}.asteria-notification.major .notify-head{padding:22px 26px 8px}.asteria-notification.major .notify-icon{font-size:2.2rem}.asteria-notification.major .notify-title{font-size:1.55rem;color:#ffd889}.asteria-notification.major .notify-body{font-size:1rem;padding:0 26px 22px;color:#f0dec0}.asteria-notification.major .notify-close{width:34px;height:34px;font-size:1.1rem}.asteria-notification.level-up{border-color:rgba(255,217,108,.85)}.asteria-notification.warning{border-color:rgba(192,65,65,.75)}.notification-settings-panel{margin-top:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.notification-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.notification-settings-grid label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:#d8c59f;text-transform:uppercase;letter-spacing:.06em}.notification-settings-grid input[type='range']{width:100%}.notification-demo-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.notify-hidden{display:none!important}@keyframes asteriaNotifyIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes asteriaMajorNotifyIn{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:900px){.notification-settings-grid{grid-template-columns:1fr}.asteria-notification-stack{right:12px;bottom:12px}.asteria-notification.small,.asteria-notification.medium{width:min(340px,calc(100vw - 24px))}}

/* v1.7.2.7 Party Loot + Unified Transaction Pipeline */
.transaction-pipeline-panel,.transaction-approval-panel,.transaction-log-panel,.player-party-loot-panel,.unsorted-loot-panel{border-color:rgba(212,175,55,.28)!important;background:linear-gradient(180deg,rgba(34,22,12,.92),rgba(17,14,18,.96))!important;}
.tx-tool-grid,.currency-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;margin:12px 0;}
.tx-tool-grid label,.currency-entry-grid label{display:flex;flex-direction:column;gap:5px;color:#d9cdb6;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;}
.tx-tool-grid input,.tx-tool-grid select,.currency-entry-grid input{background:#100d12;border:1px solid rgba(212,175,55,.25);color:#f2e7ca;border-radius:10px;padding:9px;}
.tx-button-row,.loot-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.party-loot-list,.transaction-approval-panel,#transactionLogRows{display:grid;gap:10px;max-height:420px;overflow:auto;padding-right:4px;}
.loot-row,.approval-row,.player-loot-card{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:rgba(0,0,0,.22);}
.loot-row.gm-secret{border-color:rgba(154,90,255,.45);box-shadow:inset 0 0 18px rgba(85,44,140,.18);}
.loot-row small,.approval-row small,.player-loot-card small{display:block;color:#a99c89;margin-top:4px;}
.loot-actions select{background:#100d12;color:#f2e7ca;border:1px solid rgba(212,175,55,.25);border-radius:8px;padding:7px;}
.tx-log-row{display:grid;grid-template-columns:110px 1fr;gap:8px;border-left:3px solid rgba(212,175,55,.45);padding:8px 10px;background:rgba(0,0,0,.18);border-radius:10px;}
.tx-log-row small{grid-column:1/-1;color:#9d9385;}
.player-party-loot-panel{min-height:160px;}
.player-loot-card{display:grid;grid-template-columns:1fr auto;margin-top:8px;}
@media(max-width:1000px){.tx-tool-grid,.currency-entry-grid{grid-template-columns:1fr 1fr}.loot-row,.approval-row{align-items:flex-start;flex-direction:column;}.tx-log-row{grid-template-columns:1fr}}

/* =====================================================
   v1.7.2.8 Crafting UI Pipeline
   ===================================================== */
.crafting-panel,.gm-crafting-panel{border-color:rgba(184,134,73,.35);background:linear-gradient(180deg,rgba(39,28,20,.92),rgba(17,16,20,.95));}
.craft-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.craft-tabs button.active{border-color:#d6a85f;box-shadow:0 0 0 1px rgba(214,168,95,.25) inset}.crafting-player-actions,.craft-button-row,.craft-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.craft-inline-form{display:none;margin-top:10px}.craft-inline-form.show{display:block}.craft-form-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;margin:12px 0}.craft-form-grid.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.craft-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:#d8c5a8}.craft-form-grid input,.craft-form-grid select,.craft-form-grid textarea{background:#11131a;border:1px solid rgba(214,168,95,.25);border-radius:10px;color:#f3eadc;padding:8px}.craft-form-grid textarea{min-height:62px;resize:vertical}.checkline{flex-direction:row!important;align-items:center;margin-top:22px}.craft-preview{border:1px solid rgba(214,168,95,.22);border-radius:14px;padding:12px;background:rgba(0,0,0,.22);margin:12px 0}.craft-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.craft-preview-grid>div{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.035)}.craft-preview-grid small,.craft-project-card small,.craft-log-row small{display:block;color:#a99b89}.craft-preview-grid b{font-size:1.25rem;color:#ffd996}.craft-preview-grid span{display:block;color:#d8c5a8;font-size:.82rem}.craft-project-card{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(214,168,95,.18);border-radius:14px;background:rgba(255,255,255,.035);margin:8px 0}.craft-project-card.approved{border-color:rgba(99,200,132,.4)}.craft-mini-stats{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.craft-mini-stats span{border:1px solid rgba(214,168,95,.25);border-radius:999px;padding:5px 8px;background:#17120d;color:#ffd996;font-size:.78rem}.craft-gm-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.craft-log-row{display:grid;grid-template-columns:160px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.gm-system-btn[onclick*="crafting"].active{background:linear-gradient(135deg,rgba(127,83,36,.7),rgba(71,46,23,.9));border-color:#d6a85f}@media(max-width:900px){.craft-form-grid,.craft-form-grid.compact,.craft-preview-grid,.craft-gm-grid,.craft-project-card{grid-template-columns:1fr}.craft-log-row{grid-template-columns:1fr}}

/* =====================================================
   v1.7.2.9 Material System v1
   ===================================================== */
.material-compendium-panel,.gm-materials-panel,.player-materials-panel{border:1px solid rgba(214,173,82,.25);background:linear-gradient(180deg,rgba(31,23,18,.96),rgba(13,12,15,.96));}
.material-filter-grid,.gm-material-tools,.material-gm-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:12px 0;}
.material-gm-form textarea{min-height:70px;}
.material-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px;}
.material-list.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:420px;overflow:auto;padding-right:6px;}
.material-card{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;background:rgba(8,8,12,.65);box-shadow:0 10px 30px rgba(0,0,0,.25);}
.material-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.material-card h4{margin:0;color:#f7e4b2;}
.material-card small,.material-card p{color:#bdb4a4;}
.material-class-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--class-color);color:#fff;background:color-mix(in srgb,var(--class-color) 28%,#08080c);border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:700;text-shadow:0 1px 2px #000;}
.material-stat-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.material-stat-row span{border:1px solid rgba(214,173,82,.22);background:rgba(255,255,255,.04);border-radius:999px;padding:4px 8px;font-size:.75rem;color:#e7dcc8;}
.material-affinities{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0;}
.material-affinities em{font-style:normal;background:rgba(120,70,180,.24);border:1px solid rgba(170,120,255,.22);border-radius:999px;padding:3px 7px;color:#ddd0ff;font-size:.72rem;}
.material-detail-panel{margin-top:14px;}
.material-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin:12px 0;}
.material-detail-grid section,.material-impact-card{border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:10px;background:rgba(255,255,255,.035);}
.material-detail-panel blockquote{border-left:3px solid #d6ad52;margin:12px 0;padding:8px 12px;color:#f3dfb7;background:rgba(214,173,82,.06);}
.material-mini-list,.craft-log-row-list{display:grid;gap:8px;max-height:260px;overflow:auto;}
.material-inventory-row{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px;background:rgba(0,0,0,.28);display:flex;justify-content:space-between;gap:10px;}
.material-inventory-row small{color:#bdb4a4;}
.material-craft-preview{margin:10px 0;}
.checkline{display:flex!important;align-items:center;gap:8px;}
@media(max-width:1050px){.material-filter-grid,.gm-material-tools,.material-gm-form,.material-detail-grid{grid-template-columns:repeat(2,minmax(140px,1fr));}}

/* Asteria v1.7.3.0 — Enchantment System v1 UI */
.enchant-panel,.gm-enchant-panel,.spell-enchant-compat-panel{border-color:rgba(147,91,255,.35);box-shadow:0 0 0 1px rgba(147,91,255,.08),0 18px 45px rgba(0,0,0,.28)}
.spell-compat-scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;max-height:420px;overflow:auto;padding-right:4px}
.spell-compat-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(20,16,32,.92),rgba(10,8,15,.96));border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px}
.spell-compat-card h4{margin:0;color:#f4e6c2}.spell-compat-card p{margin:0;color:#cfc5b4}.spell-compat-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.spell-compat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.82rem}.spell-compat-grid span{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px;background:rgba(255,255,255,.04)}
.magic-chip{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:4px 8px;border:1px solid rgba(255,255,255,.15);background:#35303d}.magic-chip.fire{background:#692315;color:#ffd7c2}.magic-chip.light{background:#e7dbb7;color:#231c0d}.magic-chip.dark{background:#130d1f;color:#cdb7ff}.magic-chip.blood{background:#531019;color:#ffd1d5}.magic-chip.fate{background:#4b1228;color:#ffc2de}
.enchant-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.enchant-form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.enchant-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#b9ad99}.enchant-form-grid input,.enchant-form-grid select,.enchant-form-grid textarea{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);color:#f4e6c2;border-radius:10px;padding:8px}.enchant-form-grid textarea{min-height:72px;resize:vertical}
.enchant-preview{margin-top:12px}.enchant-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.enchant-preview-grid>div{border:1px solid rgba(147,91,255,.22);background:rgba(147,91,255,.06);border-radius:14px;padding:10px}.enchant-preview-grid small{display:block;color:#a99cc2;text-transform:uppercase;letter-spacing:.08em}.enchant-preview-grid b{display:block;color:#fff2cf;font-size:1.05rem}.enchant-preview-grid span{display:block;color:#c7bca8;font-size:.82rem}.enchant-warning{margin-top:10px;border:1px solid rgba(244,180,65,.35);background:rgba(244,180,65,.08);border-radius:14px;padding:10px}.enchant-warning p{margin:4px 0;color:#f4d9a0}.risk-stable{color:#a9f0c0}.risk-strained{color:#f0d18a}.risk-unstable{color:#ffb36f}.risk-volatile{color:#ff7474}.risk-catastrophic{color:#ff4d8a;text-shadow:0 0 12px rgba(255,77,138,.35)}
.enchant-button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.enchant-project-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:14px;padding:10px;margin:8px 0}.enchant-project-card div:first-child{display:flex;flex-direction:column;gap:2px}.enchant-project-card small,.enchant-project-card span{color:#bfb4a2}.enchant-project-card div:last-child{display:flex;gap:6px;flex-wrap:wrap}.ench-inventory-badge{margin-top:8px;border-top:1px solid rgba(147,91,255,.25);padding-top:8px;display:grid;gap:3px;color:#e8dcff}.ench-inventory-badge span,.ench-inventory-badge small{color:#c8bde0}.craft-add-enchantment-step{margin-top:12px;border:1px dashed rgba(147,91,255,.35);border-radius:14px;padding:12px;background:rgba(147,91,255,.06)}
@media(max-width:900px){.enchant-project-card{align-items:flex-start;flex-direction:column}.spell-compat-scroll{grid-template-columns:1fr}}

/* v1.7.3.1 World Economy System */
.economy-dashboard-panel,.player-economy-panel,.economy-shop-panel,.material-economy-panel{border-color:rgba(204,164,88,.35)}
.economy-control-grid,.economy-calc-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:12px 0}.economy-control-grid label,.economy-calc-grid label{display:flex;flex-direction:column;gap:6px}.economy-control-grid input,.economy-control-grid select,.economy-control-grid textarea,.economy-calc-grid input,.economy-calc-grid select{background:#120d13;border:1px solid rgba(204,164,88,.28);color:#f3e7d2;border-radius:10px;padding:9px}.economy-region-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.economy-region-card,.economy-price-card,.trade-route-row,.economy-event-row,.player-economy-hint{background:linear-gradient(135deg,rgba(31,21,28,.95),rgba(18,13,19,.95));border:1px solid rgba(204,164,88,.22);border-radius:14px;padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.25)}.eco-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.eco-tags span,.eco-tag,.player-economy-hint span{font-size:.72rem;border:1px solid rgba(204,164,88,.28);border-radius:999px;padding:3px 8px;background:rgba(204,164,88,.08)}.economy-price-list,.trade-route-list,.economy-log-list,.player-economy-list{display:grid;gap:10px;margin-top:10px}.economy-price-card,.trade-route-row,.economy-event-row,.player-economy-hint{display:grid;grid-template-columns:1.4fr auto auto auto;align-items:center;gap:10px}.economy-price-card strong{font-size:1.25rem;color:#f2c76b}.economy-price-card details{grid-column:1/-1}.economy-price-card summary{cursor:pointer;color:#caa76a}.economy-price-card ul{columns:2;margin:8px 0 0;color:#cdbf9e}.trade-route-row small,.economy-event-row small,.player-economy-hint small{color:#a99b86}.economy-event-row.gm-only{border-color:rgba(157,95,255,.45)}.economy-region-editor{margin:12px 0;padding:12px;border:1px dashed rgba(204,164,88,.3);border-radius:14px}.panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.craft-economy-note{margin-top:14px;padding:12px;border:1px solid rgba(204,164,88,.18);border-radius:14px;background:rgba(204,164,88,.05)}@media(max-width:1100px){.economy-control-grid,.economy-calc-grid,.economy-region-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.economy-price-card,.trade-route-row,.economy-event-row,.player-economy-hint{grid-template-columns:1fr}}


/* v1.7.3.3 Public Logo Cleanup */
.brand{width:280px}.brand-logo{width:64px;height:64px;object-fit:contain;object-position:center;border-radius:0;border:0;background:transparent;box-shadow:none}.brand-wordmark h1{font-size:30px}.brand-wordmark span{letter-spacing:3px;font-size:11px}.side-logo-block{display:flex;align-items:center;gap:12px;border:0;background:transparent;border-radius:0;padding:4px 2px 12px;margin-bottom:10px;border-bottom:1px solid #342b1b}.side-logo-block img{width:58px;height:58px;object-fit:contain;object-position:center;border-radius:0;background:transparent;box-shadow:none}.side-logo-block span{font-weight:900;color:#ffe4aa;letter-spacing:1px}.portal-buttons .side-main{border:1px solid #322817;background:#071012;margin:7px 0}.side-note{font-size:13px;color:var(--muted);line-height:1.45;padding:8px}.public-home-grid{display:grid;grid-template-columns:1fr;gap:18px}.public-hero{min-height:330px;display:grid;grid-template-columns:230px 1fr;align-items:center;gap:26px}.public-hero .hero-logo{width:250px;height:250px;object-fit:contain;object-position:center;border-radius:0;border:0;background:transparent;box-shadow:none}.public-hero h2{font-size:72px;margin:0;color:#ffe6b2}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.world-map-preview{min-height:340px}.map-placeholder{height:255px;border:1px solid #5a4324;border-radius:10px;background:radial-gradient(circle at 50% 45%,#194a5a,#081315 65%,#040607 100%);display:grid;place-items:center;text-align:center;color:#ffe0a2;box-shadow:inset 0 0 80px #000}.map-placeholder span{font-size:42px;font-weight:900;letter-spacing:3px}.map-placeholder small{display:block;color:var(--muted);margin-top:-70px}.hub-page h2{font-size:44px;margin:.2em 0}.hub-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}.hub-card-grid button{min-height:86px;text-align:left;border:1px solid #604821!important;background:linear-gradient(180deg,#111b1d,#071012)!important;color:var(--text)!important;border-radius:10px;padding:14px!important;font-size:16px}.hub-card-grid button:hover{outline:2px solid var(--accent);color:#fff8d6!important}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.home-account-actions,.version-badge,#v170RecoveryPanel{display:none!important}

/* Core v2 static shell consolidation */
:root{--core-header-height:122px;--core-sidebar-width:250px}
html,body{min-height:100%}
body{display:block!important;visibility:visible!important;opacity:1!important;overflow-x:hidden}
.topbar.core-v2-topbar,.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1200!important;min-height:var(--core-header-height)!important;height:var(--core-header-height)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 28px 0 0!important;overflow:visible!important;background:rgba(0,0,0,.58)!important;border-bottom:1px solid rgba(31,125,255,.42)!important;backdrop-filter:blur(8px)}
.topbar .brand{width:var(--core-sidebar-width)!important;min-width:var(--core-sidebar-width)!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important}
.topbar .brand-logo{width:185px!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;display:block!important;border:0!important;background:transparent!important;box-shadow:none!important}
.topbar .brand-wordmark,.topbar .topnav,.topbar .topstats,.login-wrap .login-panel{display:none!important}
.top-actions{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;justify-self:end!important}
#loginToggle,#createAccountTop,.account-top-btn{min-height:40px!important;height:40px!important;padding:0 16px!important;font-weight:800!important}
#createAccountTop,.account-top-btn{background:linear-gradient(180deg,#20d7ef,#129bb0)!important;border:1px solid #7ee7ff!important;color:#001014!important;text-shadow:none!important;box-shadow:0 0 18px rgba(32,215,239,.18)!important}
.sidebar,.public-sidebar{top:var(--core-header-height)!important;height:calc(100vh - var(--core-header-height))!important;background:rgba(0,0,0,.64)!important;border-right:1px solid rgba(31,125,255,.32)!important;backdrop-filter:blur(6px)}
.main,main.main{padding-top:calc(var(--core-header-height) + 22px)!important}
.public-sidebar .side-logo-block img,.public-sidebar [data-view="factionsHub"],.public-sidebar [data-view="creaturesHub"],.public-sidebar .side-note,.test-logins,.offline-logins{display:none!important}
.public-sidebar .side-logo-block{display:block!important;padding:16px 12px 12px!important;margin:8px 0!important;border-top:1px solid rgba(31,125,255,.24)!important;border-bottom:1px solid rgba(31,125,255,.24)!important;background:transparent!important;box-shadow:none!important}
.public-sidebar .side-logo-block span{display:block!important;font-size:1.12rem!important;line-height:1.1!important;letter-spacing:.09em!important;color:#dff5ff!important;text-transform:uppercase!important;font-family:var(--font-title,Georgia,serif)!important}
#settingsToggle,.hamburger{display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important}
#settingsToggle span,.hamburger span{display:block!important;width:24px!important;height:2px!important;margin:0!important;border-radius:999px!important}
#forgotPassword label{display:grid;gap:8px;margin:12px 0}
.clean-rarity-tag{font-weight:900!important;border-width:1px!important}
.clean-rarity-common .clean-rarity-tag{color:#d8d8d8;border-color:#8f8f8f;background:rgba(143,143,143,.16)}
.clean-rarity-uncommon .clean-rarity-tag{color:#bfffd0;border-color:#3fbf65;background:rgba(63,191,101,.16)}
.clean-rarity-unusual .clean-rarity-tag{color:#c9e7ff;border-color:#3da8ff;background:rgba(61,168,255,.16)}
.clean-rarity-rare .clean-rarity-tag{color:#ffd0d0;border-color:#d44848;background:rgba(212,72,72,.16)}
.clean-rarity-epic .clean-rarity-tag{color:#ffe0bd;border-color:#ff9b2f;background:rgba(255,155,47,.16)}
.clean-rarity-mythic .clean-rarity-tag{color:#ecd2ff;border-color:#b45cff;background:rgba(180,92,255,.16)}
.clean-rarity-legendary .clean-rarity-tag{color:#fff0a6;border-color:#ffd24a;background:rgba(255,210,74,.18)}
.clean-rarity-relic .clean-rarity-tag{color:#eaffff;border-color:#dff8ff;background:rgba(148,224,255,.18)}
@media(max-width:900px){:root{--core-header-height:104px;--core-sidebar-width:220px}.topbar .brand-logo{width:150px!important}#loginToggle,#createAccountTop,.account-top-btn{min-height:36px!important;height:36px!important;padding:0 10px!important;font-size:.82rem!important}}

/* Asteria Flora wiki architecture */
.flora-wiki-page{border-color:rgba(31,125,255,.34)!important;background:rgba(4,14,16,.78)!important;backdrop-filter:blur(2px)}
.flora-filter-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(150px,1fr));gap:12px;margin:18px 0}
.flora-filter-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.flora-filter-grid input,.flora-filter-grid select{min-height:40px;border:1px solid rgba(31,125,255,.28);border-radius:8px;background:rgba(0,0,0,.38);color:var(--text);padding:9px 10px}
.flora-route-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 18px}
.flora-route-groups section{border:1px solid rgba(31,125,255,.18);border-radius:8px;background:rgba(0,0,0,.18);padding:12px}
.flora-route-groups h3{margin:0 0 10px;color:#dff5ff;font-size:1rem}
.flora-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.flora-chip-row button{min-height:34px;border-color:rgba(31,125,255,.3)!important;background:rgba(0,0,0,.3)!important;color:#e8f9ff!important;border-radius:999px!important;padding:6px 11px!important}
.flora-result-summary{margin:12px 0;color:var(--muted);font-size:.88rem}
.flora-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:12px}
.flora-card{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;min-height:112px;text-align:left;border:1px solid rgba(31,125,255,.24)!important;border-radius:8px!important;background:linear-gradient(135deg,rgba(8,18,20,.88),rgba(0,0,0,.42))!important;color:var(--text)!important;padding:12px!important;overflow:hidden}
.flora-card:hover{outline:2px solid var(--asteria-accent,var(--accent));box-shadow:0 0 18px rgba(31,125,255,.16)}
.flora-image-frame{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:radial-gradient(circle at 50% 35%,rgba(31,125,255,.12),rgba(0,0,0,.45))}
.flora-image-frame img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.flora-missing-image .flora-image-frame,.flora-item-image.flora-missing-image{background:repeating-linear-gradient(135deg,rgba(31,125,255,.08),rgba(31,125,255,.08) 8px,rgba(0,0,0,.22) 8px,rgba(0,0,0,.22) 16px)}
.flora-card-copy{display:grid;gap:5px;min-width:0}
.flora-card-copy small{color:#90dfff;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.flora-card-copy b{font-size:1.08rem;color:#fff4d6}
.flora-card-copy em{font-style:normal;color:var(--muted);font-size:.82rem;line-height:1.25}
.flora-class-common{border-color:rgba(210,210,210,.28)!important}
.flora-class-uncommon{border-color:rgba(92,210,120,.28)!important}
.flora-class-unusual{border-color:rgba(80,174,255,.3)!important}
.flora-class-rare{border-color:rgba(215,72,72,.34)!important}
.flora-class-epic{border-color:rgba(255,155,47,.34)!important}
.flora-class-mythic{border-color:rgba(180,92,255,.34)!important}
.flora-class-legendary{border-color:rgba(255,210,74,.38)!important}
.flora-class-relic{border-color:rgba(215,248,255,.4)!important}
.flora-item-layout{display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:22px;align-items:start}
.flora-item-aside{position:sticky;top:calc(var(--core-header-height) + 20px);display:grid;gap:14px}
.flora-item-image{min-height:260px;border:1px solid rgba(31,125,255,.28);border-radius:8px;background:radial-gradient(circle at 50% 35%,rgba(31,125,255,.14),rgba(0,0,0,.48));overflow:hidden}
.flora-item-image img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}
.flora-meta-grid{display:grid;gap:8px}
.flora-meta-grid span{display:grid;gap:3px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(0,0,0,.22);padding:9px;color:#e7f8ff}
.flora-meta-grid b{color:#8fdfff;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.flora-affinity-row{display:flex;flex-wrap:wrap;gap:7px}
.flora-affinity-row em{font-style:normal;border:1px solid rgba(31,125,255,.3);border-radius:999px;background:rgba(31,125,255,.1);color:#dff5ff;padding:5px 9px;font-size:.78rem}
.flora-item-body{min-width:0}
@media(max-width:980px){.flora-filter-grid,.flora-route-groups,.flora-item-layout{grid-template-columns:1fr}.flora-item-aside{position:static}.flora-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.flora-card-grid{grid-template-columns:1fr}.flora-card{grid-template-columns:74px 1fr}.flora-image-frame{width:74px;height:74px}}

/* Prevent the fixed top logo from covering the sidebar Home button. */
.topbar .brand{overflow:hidden!important;pointer-events:none!important}
.topbar .brand-logo{max-height:calc(var(--core-header-height,122px) - 18px)!important;width:auto!important;pointer-events:none!important}
.topbar .top-actions{pointer-events:auto!important}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

/* Player dashboard tidy pass */
.player-menu-panel{grid-template-columns:repeat(9,minmax(0,1fr))!important}
.player-menu-panel .tab{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:12px 6px!important;font-size:.82rem!important;line-height:1.15!important;white-space:normal!important}
.tab-icon{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid rgba(31,125,255,.28);border-radius:6px;background:rgba(31,125,255,.08);color:var(--asteria-accent,var(--accent));font-size:.82rem;flex:0 0 auto}
.player-dashboard-grid{display:grid!important;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.12fr) minmax(260px,.78fr)!important;grid-template-areas:"weapons armor armor" "talents talents conditions" "quick coin conditions"!important;gap:14px!important;align-items:start!important}
.equipped-weapons-panel{grid-area:weapons!important;min-height:360px!important}
.equipment-armor-panel{grid-area:armor!important;min-height:360px!important}
.class-talents-panel{grid-area:talents!important;min-height:300px!important}
.conditions-panel{grid-area:conditions!important}
.quick-items-panel{grid-area:quick!important}
.coin-pouch-panel{grid-area:coin!important}
.dashboard-weapons.weapon-layout-v1722{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;max-width:none!important}
.weapon-card.weapon-card-v1722{min-height:82px!important;padding:14px!important;border-radius:8px!important;background:rgba(7,16,18,.72)!important;border-color:rgba(31,125,255,.18)!important}
.weapon-card.weapon-card-v1722 span{display:grid;place-items:center;width:46px;height:46px;min-width:46px;border:1px solid rgba(212,162,74,.18);border-radius:8px;background:radial-gradient(circle at 50% 35%,rgba(212,162,74,.14),rgba(0,0,0,.32));color:#d5c19b;font-size:1.25rem}
.web-equip-layout{grid-template-columns:minmax(78px,96px) minmax(220px,1fr) minmax(78px,96px)!important;gap:16px!important;min-height:276px!important}
.web-equip-layout .equip-slots{grid-template-columns:1fr!important;gap:10px!important}
.web-equip-layout .inventory-slot-button{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto;place-items:center!important;min-height:58px!important;padding:7px!important;text-align:center!important;border-radius:8px!important}
.web-equip-layout .inventory-slot-button .slot-glyph{font-size:1.35rem;color:#d7c7ff;line-height:1}
.web-equip-layout .inventory-slot-button .slot-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#84dfff}
.web-equip-layout .inventory-slot-button b{font-size:.62rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.armor-figure{min-height:250px!important;max-height:none!important;font-size:6rem!important;border-radius:8px!important}
.unlocked-talent-list{display:grid;gap:12px;max-height:390px;overflow:auto;padding-right:6px}
.talent-tier-summary{display:grid;gap:8px;border-top:1px solid rgba(31,125,255,.16);padding-top:10px}
.talent-tier-summary:first-child{border-top:0;padding-top:0}
.talent-tier-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#ffe6b2;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}
.talent-tier-heading span{color:#8fdfff;border:1px solid rgba(31,125,255,.26);border-radius:999px;padding:3px 8px;background:rgba(31,125,255,.08);text-transform:none;letter-spacing:0}
.unlocked-talent-card{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;border:1px solid rgba(31,125,255,.18);background:rgba(0,0,0,.2);border-radius:8px;padding:10px}
.talent-card-image{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(212,162,74,.24);border-radius:8px;background:radial-gradient(circle at 50% 35%,rgba(31,125,255,.22),rgba(0,0,0,.42));color:#dff7ff;font-size:1.55rem;box-shadow:inset 0 0 22px rgba(31,125,255,.08)}
.unlocked-talent-card b{display:block;color:#fff4d6}
.unlocked-talent-card small{display:block;color:#8fdfff;margin-top:2px}
.unlocked-talent-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem;line-height:1.35}
.character-tab-grid,.party-dashboard-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:14px;align-items:start}
.character-profile-panel{min-height:160px}
#characterTraitsDock,.player-tab-dock{display:grid;gap:14px}
#characterTraitsDock .racial-traits-panel,#skillsPane .skills-panel,#spells .spell-panel-v1722,#partyLootDock .player-party-loot-panel{grid-column:auto!important;grid-row:auto!important;width:100%}
#spells .spell-panel-v1722{margin-bottom:14px}
.party-dashboard-grid #partyLootDock{display:grid;gap:14px}
.party-guild-panel{min-height:150px}
@media(max-width:1450px){.player-menu-panel{grid-template-columns:repeat(5,minmax(0,1fr))!important}.player-dashboard-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"weapons armor" "talents talents" "conditions quick" "coin coin"!important}.equipment-armor-panel,.equipped-weapons-panel,.class-talents-panel,.conditions-panel,.quick-items-panel,.coin-pouch-panel{grid-column:auto!important}.character-tab-grid,.party-dashboard-grid{grid-template-columns:1fr}.web-equip-layout{grid-template-columns:78px 1fr 78px!important}}
@media(max-width:900px){.player-menu-panel{grid-template-columns:repeat(3,minmax(0,1fr))!important}.player-dashboard-grid{grid-template-columns:1fr!important;grid-template-areas:"weapons" "armor" "talents" "conditions" "quick" "coin"!important}.web-equip-layout{grid-template-columns:1fr!important}.armor-figure{min-height:160px!important}.unlocked-talent-card{grid-template-columns:54px 1fr}.talent-card-image{width:48px;height:48px}}

/* Player dashboard requested panel order */
.player-dashboard-grid{grid-template-columns:minmax(260px,.82fr) minmax(260px,.78fr) minmax(240px,.7fr) minmax(240px,.7fr)!important;grid-template-areas:"talents weapons armor armor" "spells quick conditions quickaction" "skills skills coin coin" "log log log log"!important}
.class-talents-panel{grid-area:talents!important}
.equipped-weapons-panel{grid-area:weapons!important}
.equipment-armor-panel{grid-area:armor!important}
.spell-panel-v1722{grid-area:spells!important}
.quick-items-panel{grid-area:quick!important}
.conditions-panel{grid-area:conditions!important}
.quick-actions-panel{grid-area:quickaction!important;display:grid!important}
.skills-panel{grid-area:skills!important}
.coin-pouch-panel{grid-area:coin!important}
#combatLogPanel.dashboard-combat-log{grid-area:log!important;margin-top:0!important}
.quick-actions-panel .action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quick-actions-panel .action{min-height:86px!important;font-size:.92rem!important}
.quick-actions-panel .action span{font-size:1.45rem!important}
@media(max-width:1450px){.player-dashboard-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"talents weapons" "armor armor" "spells quick" "conditions quickaction" "skills coin" "log log"!important}.quick-actions-panel{grid-column:auto!important}.skills-panel{grid-column:auto!important}#combatLogPanel.dashboard-combat-log{grid-column:auto!important}}
@media(max-width:900px){.player-dashboard-grid{grid-template-columns:1fr!important;grid-template-areas:"talents" "weapons" "armor" "spells" "quick" "conditions" "quickaction" "skills" "coin" "log"!important}}

/* Character dashboard polish */
.player-dashboard-grid{grid-template-columns:minmax(420px,1.6fr) minmax(300px,1fr) minmax(300px,.95fr) minmax(230px,.75fr)!important;grid-template-areas:"talents talents weapons armor" "spells spells quick conditions" "spells spells . quickaction" "skills skills coin coin" "log log log log"!important;align-items:stretch!important}
.class-talents-panel,.equipped-weapons-panel,.equipment-armor-panel,.spell-panel-v1722{height:400px!important;min-height:400px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.class-talents-panel .unlocked-talent-list,.spell-panel-v1722 .spell-list-v1722{flex:1;max-height:none!important;overflow:auto}
.class-talents-panel .talent-tier-summary{display:grid!important;grid-template-columns:repeat(4,minmax(112px,1fr));gap:10px!important;align-content:start}
.class-talents-panel .talent-tier-heading{grid-column:1/-1}
.class-talents-panel .unlocked-talent-card{grid-template-columns:48px 1fr!important;gap:8px!important;min-height:96px;padding:9px!important}
.class-talents-panel .talent-card-image{width:44px!important;height:44px!important;font-size:1.15rem!important}
.class-talents-panel .unlocked-talent-card p{display:none}
.dashboard-weapons.weapon-layout-v1722{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-areas:"main secondary" "off quiver" "shield ."!important;gap:12px!important;align-content:start!important;max-width:none!important}
.weapon-slot-main{grid-area:main}.weapon-slot-secondary{grid-area:secondary}.weapon-slot-off{grid-area:off}.weapon-slot-quiver{grid-area:quiver}.weapon-slot-shield{grid-area:shield}
.weapon-card.weapon-card-v1722{min-height:86px!important;padding:13px!important}
.equipment-armor-panel .section-head{margin-bottom:6px!important}
.web-equip-layout{grid-template-columns:minmax(62px,76px) minmax(135px,.75fr) minmax(62px,76px)!important;gap:10px!important;min-height:0!important;align-items:center!important}
.armor-figure{height:218px!important;min-height:218px!important;max-height:218px!important;font-size:4.6rem!important}
.web-equip-layout .equip-slots{gap:8px!important}
.web-equip-layout .inventory-slot-button{min-height:45px!important;padding:7px!important}
.web-equip-layout .inventory-slot-button .slot-glyph{font-size:1rem!important}
.web-equip-layout .inventory-slot-button .slot-label{font-size:.6rem!important}
.conditions-panel{min-height:190px!important}
.quick-actions-panel{min-height:190px!important;display:flex!important;flex-direction:column!important}
.recovery-buttons{display:grid;grid-template-columns:1fr;gap:10px;flex:1}
.recovery{min-height:46px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 12px!important;color:#f7ead1!important;background:rgba(255,255,255,.04)!important}
.recovery span{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 0 16px currentColor}
.recovery.short-rest{border-color:#2fc4ff!important;color:#8fe6ff!important}.recovery.short-rest span{background:#2fc4ff}
.recovery.long-rest{border-color:#45d67c!important;color:#adffc7!important}.recovery.long-rest span{background:#45d67c}
.recovery.recover{border-color:#d4a24a!important;color:#ffe0a0!important}.recovery.recover span{background:#d4a24a}
.skills-panel,.coin-pouch-panel{height:420px!important;min-height:420px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.dashboard-skill-card-list{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;overflow:auto;padding-right:4px}
.dashboard-skill-card{min-height:96px;border:1px solid rgba(31,125,255,.2);border-radius:8px;background:linear-gradient(135deg,rgba(31,125,255,.14),rgba(0,0,0,.26));display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center;padding:10px}
.dashboard-skill-card b{display:block;color:#fff4d6;line-height:1.15}.dashboard-skill-card span{display:block;color:#8fdfff;font-weight:900;margin-top:3px}.dashboard-skill-card small{display:block;color:var(--muted);margin-top:2px}
.skill-card-icon{width:44px;height:44px;border:1px solid rgba(212,162,74,.22);border-radius:8px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(31,125,255,.2),rgba(0,0,0,.36));color:#dff7ff;font-size:1.15rem}
.dashboard-skill-card.rank-novice{border-color:rgba(180,180,180,.24)}.dashboard-skill-card.rank-initiate{border-color:rgba(69,214,124,.24)}.dashboard-skill-card.rank-apprentice{border-color:rgba(47,196,255,.24)}.dashboard-skill-card.rank-journeyman{border-color:rgba(147,112,219,.28)}.dashboard-skill-card.rank-adept{border-color:rgba(212,162,74,.35)}.dashboard-skill-card.rank-master{border-color:rgba(239,95,95,.34)}.dashboard-skill-card.rank-grandmaster{border-color:rgba(255,241,180,.42)}
.coin-panel-rows{flex:1;overflow:auto}
@media(max-width:1450px){.player-dashboard-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"talents talents" "weapons armor" "spells spells" "quick conditions" ". quickaction" "skills coin" "log log"!important}.class-talents-panel .talent-tier-summary,.dashboard-skill-card-list{grid-template-columns:repeat(2,minmax(140px,1fr))}.class-talents-panel,.equipped-weapons-panel,.equipment-armor-panel,.spell-panel-v1722{height:auto!important;min-height:360px!important}.skills-panel,.coin-pouch-panel{height:auto!important;min-height:360px!important}}
@media(max-width:900px){.player-dashboard-grid{grid-template-columns:1fr!important;grid-template-areas:"talents" "weapons" "armor" "spells" "quick" "conditions" "quickaction" "skills" "coin" "log"!important}.class-talents-panel .talent-tier-summary,.dashboard-skill-card-list,.dashboard-weapons.weapon-layout-v1722{grid-template-columns:1fr!important;grid-template-areas:none!important}.weapon-card.weapon-card-v1722{grid-area:auto!important}.web-equip-layout{grid-template-columns:1fr!important}.armor-figure{height:160px!important;min-height:160px!important}}

/* Character dashboard fit pass */
.player-shell.redesigned-player{grid-template-columns:300px minmax(0,1fr)!important}
.player-main-panel,.player-dashboard-grid,.player-dashboard-grid>.card{min-width:0!important}
.player-menu-panel{grid-template-columns:repeat(9,minmax(0,1fr))!important}
.player-menu-panel .tab{min-width:0!important;font-size:.76rem!important;padding:10px 4px!important}
.player-dashboard-grid{grid-template-columns:minmax(360px,.95fr) minmax(340px,.9fr) minmax(480px,1.25fr)!important;grid-template-areas:"talents weapons armor" "spells quick conditions" "spells quick quickaction" "skills skills coin" "log log log"!important;gap:14px!important;align-items:stretch!important}
.class-talents-panel,.equipped-weapons-panel,.equipment-armor-panel{height:360px!important;min-height:360px!important}
.spell-panel-v1722{height:360px!important;min-height:360px!important}
.quick-items-panel,.conditions-panel,.quick-actions-panel{min-height:170px!important}
.quick-items-panel{max-height:360px!important;overflow:auto!important}
.class-talents-panel .talent-tier-summary{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))!important}
.class-talents-panel .unlocked-talent-list,.spell-panel-v1722 .spell-list-v1722{overflow-y:auto!important;overflow-x:hidden!important}
.class-talents-panel .unlocked-talent-card{grid-template-columns:38px 1fr!important;min-height:78px!important}
.class-talents-panel .talent-card-image{width:36px!important;height:36px!important}
.dashboard-weapons.weapon-layout-v1722{grid-template-columns:1fr 1fr!important;gap:10px!important;overflow:visible!important}
.weapon-card.weapon-card-v1722{min-width:0!important;min-height:74px!important;padding:10px!important;gap:9px!important}
.weapon-card.weapon-card-v1722 span{width:38px!important;height:38px!important;min-width:38px!important}
.weapon-card.weapon-card-v1722 div{min-width:0!important}
.weapon-card.weapon-card-v1722 small{font-size:.62rem!important;line-height:1.1!important;white-space:normal!important}
.weapon-card.weapon-card-v1722 b{font-size:.88rem!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:anywhere!important}
.web-equip-layout{grid-template-columns:minmax(88px,112px) minmax(190px,1fr) minmax(88px,112px)!important;gap:12px!important;height:100%!important}
.equipment-armor-panel .section-head h3{font-size:1.05rem!important;line-height:1.05!important;max-width:70%!important}
.armor-figure{height:230px!important;min-height:230px!important;max-height:230px!important;font-size:4.8rem!important}
.web-equip-layout .inventory-slot-button{min-width:0!important;min-height:48px!important;padding:7px 6px!important;overflow:visible!important}
.web-equip-layout .inventory-slot-button .slot-label{font-size:.58rem!important;line-height:1.05!important;white-space:normal!important}
.web-equip-layout .inventory-slot-button b{font-size:.62rem!important;line-height:1.05!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
.recovery-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-content:start!important}
.recovery{min-height:56px!important;justify-content:center!important;gap:8px!important;text-align:center!important}
.recovery b{font-size:.82rem!important;line-height:1.1!important;white-space:normal!important}
.dashboard-skill-card-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important}
.dashboard-skill-card{min-width:0!important;grid-template-columns:40px minmax(0,1fr)!important;min-height:78px!important;padding:9px!important}
.skill-card-icon{width:36px!important;height:36px!important}
.dashboard-skill-card b,.dashboard-skill-card span,.dashboard-skill-card small{white-space:normal!important;overflow-wrap:anywhere!important}
.coin-row{grid-template-columns:minmax(120px,1fr) minmax(180px,auto)!important;min-width:0!important}
.coin-controls{min-width:0!important;gap:6px!important}
.coin-controls input{width:56px!important}
.coin-controls span{min-width:54px!important}
@media(max-width:1700px){.player-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"talents weapons" "armor armor" "spells quick" "conditions quickaction" "skills coin" "log log"!important}.equipment-armor-panel{min-height:360px!important}.web-equip-layout{grid-template-columns:minmax(92px,120px) minmax(240px,1fr) minmax(92px,120px)!important}.dashboard-skill-card-list{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important}}
@media(max-width:1450px){.player-dashboard-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"talents weapons" "armor armor" "spells quick" "conditions quickaction" "skills coin" "log log"!important}.equipment-armor-panel{min-height:360px!important}.recovery-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.class-talents-panel{grid-area:talents!important}.equipped-weapons-panel{grid-area:weapons!important}.equipment-armor-panel{grid-area:armor!important}.spell-panel-v1722{grid-area:spells!important}.quick-items-panel{grid-area:quick!important}.conditions-panel{grid-area:conditions!important}.quick-actions-panel{grid-area:quickaction!important}.skills-panel{grid-area:skills!important}.coin-pouch-panel{grid-area:coin!important}#combatLogPanel.dashboard-combat-log{grid-area:log!important;grid-column:1/-1!important}

/* Coin pouch compact fit: all currencies visible without scrolling */
.coin-pouch-panel{height:420px!important;min-height:420px!important;overflow:hidden!important}
.coin-pouch-panel .section-head.mini{margin-bottom:6px!important}
.coin-pouch-panel .section-head.mini h3{font-size:1.05rem!important;line-height:1!important;margin:0!important}
.coin-pouch-panel .pill{padding:4px 8px!important;font-size:.72rem!important}
.coin-panel-rows{display:grid!important;gap:5px!important;overflow:visible!important;flex:0 0 auto!important;padding-right:0!important}
.coin-row{grid-template-columns:minmax(96px,1fr) minmax(170px,auto)!important;gap:8px!important;min-height:44px!important;padding:6px 8px!important;border-radius:9px!important}
.coin-row b{font-size:.92rem!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important}
.coin-row small{font-size:.72rem!important;line-height:1!important}
.coin-controls{gap:5px!important;justify-content:flex-end!important}
.coin-controls input{width:48px!important;height:30px!important;padding:4px 6px!important}
.coin-controls button{width:26px!important;height:30px!important;min-width:26px!important;padding:0!important;display:grid!important;place-items:center!important}
.coin-controls span{min-width:46px!important;font-size:.68rem!important;line-height:1.05!important}
#coinCopperTotal{font-size:.72rem!important;line-height:1.1!important;margin-top:5px!important}

/* GM dashboard restore: integrated workspace, party roster, system menu */
#gm .gm-layout{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
#gm .roster{position:sticky!important;top:96px!important;max-height:calc(100vh - 116px)!important;overflow:auto!important;background:rgba(4,14,16,.82)!important;border-color:rgba(212,162,74,.42)!important}
#gm .gm-main{display:grid!important;gap:18px!important;min-width:0!important}
#gm .gm-dashboard-hero-v1{display:grid!important;grid-template-columns:minmax(360px,1fr) minmax(260px,330px) auto!important;gap:22px!important;align-items:start!important;min-height:150px!important;background:rgba(4,14,16,.78)!important;border-color:rgba(212,162,74,.46)!important;backdrop-filter:blur(2px)!important}
#gm .gm-dashboard-hero-v1 h2{font-size:2rem!important;margin:.1rem 0 .45rem!important;color:#fff1cf!important}
#gm .gm-actions{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:start!important;min-width:0!important;margin-top:22px!important}
#gm .gm-actions button{min-height:42px!important;white-space:normal!important;line-height:1.05!important}
.gm-sync-card{width:300px;border:1px solid rgba(212,162,74,.34);border-radius:14px;background:rgba(13,17,14,.82);padding:14px;display:grid;gap:9px;box-shadow:0 0 0 1px rgba(255,255,255,.04) inset}
#gm .gm-dashboard-hero-v1 .gm-sync-card{grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:start!important}
.gm-sync-card b{display:block;color:#fff3d5;line-height:1.15}.gm-sync-card small{display:block;color:#d8c397}.gm-sync-card button{text-align:left!important}
#gm .gm-menu-bar{margin:0!important;background:rgba(16,15,14,.82)!important;border-color:rgba(212,162,74,.42)!important;backdrop-filter:blur(2px)!important}
#gm .gm-menu-bar-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:14px!important}
#gm .gm-menu-bar .gm-system-buttons{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(148px,1fr))!important;gap:10px!important}
#gm .gm-menu-bar .gm-system-buttons{grid-template-columns:repeat(6,minmax(130px,1fr))!important}
#gm .gm-menu-bar .gm-system-btn{min-width:0!important;width:100%!important;min-height:68px!important;padding:11px 13px!important;border-radius:9px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(212,162,74,.23)!important}
#gm .gm-menu-bar .gm-system-btn b{font-size:1rem!important;line-height:1.05!important;color:#fff4d6!important}
#gm .gm-menu-bar .gm-system-btn small{font-size:.72rem!important;line-height:1.15!important;color:#cbbda1!important}
#gm .gm-menu-bar .gm-system-btn.active{background:rgba(212,162,74,.18)!important;border-color:rgba(212,162,74,.72)!important;box-shadow:0 0 0 1px rgba(212,162,74,.14) inset!important}
#gm .gm-menu-bar-actions{display:none!important}
#gm .gm-panels{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;gap:18px!important;align-items:start!important}
#gm .gm-system-title{grid-column:1/-1!important;background:linear-gradient(135deg,rgba(70,30,28,.42),rgba(8,13,15,.92))!important;border-color:rgba(212,162,74,.42)!important}
#gm .gm-system-title h2{margin:.2rem 0 .4rem!important;color:#fff1cf!important}
#gm .gm-system-hidden{display:none!important}
#gm .resource-action-panel,#gm .gm-materials-panel,#gm .gm-crafting-panel,#gm .gm-enchant-panel,#gm .economy-dashboard-panel{grid-column:1/-1!important}

/* GM Main encounter workspace */
#gmCampaignCharacterPanel,#gmEncounterWorkspace{grid-column:1/-1!important}
.gm-campaign-character-panel,.gm-encounter-workspace{background:rgba(4,14,16,.78)!important;border-color:rgba(31,125,255,.46)!important;backdrop-filter:blur(2px)!important}
.gm-campaign-character-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:10px!important}
.gm-campaign-character-card{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:8px 10px!important;align-items:center!important;padding:10px!important;border:1px solid rgba(31,125,255,.28)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;cursor:pointer!important}
.gm-campaign-character-card.active{border-color:rgba(36,224,255,.85)!important;box-shadow:0 0 0 1px rgba(36,224,255,.22),0 0 18px rgba(36,224,255,.16)!important}
.gm-character-avatar{grid-row:span 4;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(212,162,74,.55);border-radius:6px;background:linear-gradient(135deg,rgba(212,162,74,.16),rgba(31,125,255,.1));font-size:1.45rem;font-weight:800;color:#fff1cf}
.gm-campaign-character-card b,.gm-campaign-character-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-mini-resource{grid-column:2;display:grid;grid-template-columns:28px minmax(54px,1fr) 54px;gap:6px;align-items:center;font-size:.72rem;color:#f6ead0}
.gm-mini-resource i{height:6px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.gm-mini-resource i b{display:block;height:100%;border-radius:inherit}.gm-mini-resource.hp i b{background:#bf2747}.gm-mini-resource.sp i b{background:#35dd86}.gm-mini-resource.mp i b{background:#1f7dff}
.gm-encounter-toolbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-bottom:12px!important}.gm-encounter-toolbar button{min-height:38px!important}
.gm-encounter-summary{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:8px!important;margin-bottom:14px!important}
.gm-encounter-summary div{border:1px solid rgba(31,125,255,.26);border-radius:8px;background:rgba(0,0,0,.22);padding:8px 10px}.gm-encounter-summary small{display:block;color:#d4a24a;text-transform:uppercase;font-size:.68rem;font-weight:800}.gm-encounter-summary b{display:block;color:#fff1cf;font-size:.95rem}
.gm-encounter-builder-grid{display:grid!important;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr)!important;gap:14px!important;align-items:start!important}
.gm-encounter-search-panel,.gm-enemy-board-wrap{border:1px solid rgba(212,162,74,.24);border-radius:8px;background:rgba(0,0,0,.18);padding:12px}
.gm-enemy-search-controls,.gm-manual-enemy-grid{display:grid!important;grid-template-columns:2fr minmax(80px,.5fr) minmax(120px,.7fr)!important;gap:8px!important;align-items:end!important}
.gm-manual-enemy-grid{grid-template-columns:repeat(5,minmax(96px,1fr))!important}
.gm-enemy-search-results{display:grid!important;gap:8px!important;max-height:260px!important;overflow:auto!important;margin-top:10px!important;padding-right:4px!important}
.gm-enemy-search-results button{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;text-align:left!important;gap:2px 8px!important;border-color:rgba(31,125,255,.28)!important;background:rgba(255,255,255,.035)!important}
.gm-enemy-search-results button b,.gm-enemy-search-results button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gm-enemy-search-results button span{grid-column:2;grid-row:1/span 2;color:#9bd9ff;font-weight:800;align-self:center}
.gm-add-initiative-row{display:grid!important;grid-template-columns:minmax(160px,1fr) 90px auto!important;gap:8px!important;margin-bottom:10px!important}
.gm-unified-initiative-rows{display:grid!important;gap:8px!important;max-height:360px!important;overflow:auto!important;padding-right:4px!important}
.gm-init-row{display:grid!important;grid-template-columns:30px minmax(150px,1fr) 72px repeat(3,68px)!important;gap:7px!important;align-items:center!important;padding:8px!important;border:1px solid rgba(31,125,255,.25);border-radius:8px;background:rgba(255,255,255,.035)}
.gm-init-row.active{border-color:rgba(36,224,255,.9);background:rgba(36,224,255,.1)}.gm-init-row.defeated{opacity:.48;filter:grayscale(.8)}.gm-init-row input{height:32px!important;padding:4px 6px!important}.gm-init-row button{min-height:32px!important;padding:4px 6px!important}
.gm-enemy-board-wrap{margin-top:14px!important}.gm-unified-enemy-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:10px!important}
.gm-enemy-card{display:grid!important;gap:8px!important;padding:12px!important;border:1px solid rgba(31,125,255,.3)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;cursor:pointer!important}
.gm-enemy-card.defeated{opacity:.5;filter:grayscale(.9);border-color:rgba(180,60,80,.42)!important}.gm-enemy-card-head{display:flex!important;justify-content:space-between!important;gap:10px!important}.gm-enemy-card-head b{display:block;color:#fff1cf}.gm-enemy-card-head small{display:block;color:#d7c9aa;font-size:.75rem}.gm-enemy-card-head span{color:#9bd9ff;font-weight:800;white-space:nowrap}
.gm-enemy-meter{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.gm-enemy-meter i{display:block;height:100%;border-radius:inherit;background:#bf2747}
.gm-enemy-statline{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.gm-enemy-statline span{border:1px solid rgba(212,162,74,.22);border-radius:999px;padding:3px 8px;font-size:.76rem;color:#f6ead0}
.gm-enemy-card p{min-height:34px;margin:0;color:#d7c9aa;font-size:.78rem;line-height:1.25}.gm-enemy-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}.gm-enemy-actions button{min-height:32px!important;padding:4px 6px!important}
@media(max-width:1500px){.gm-encounter-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gm-encounter-builder-grid{grid-template-columns:1fr!important}.gm-init-row{grid-template-columns:26px minmax(120px,1fr) 64px repeat(3,58px)!important}.gm-enemy-search-controls,.gm-manual-enemy-grid{grid-template-columns:1fr 1fr!important}.gm-enemy-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1500px){#gm .gm-dashboard-hero-v1{grid-template-columns:1fr!important}#gm .gm-actions{grid-column:auto!important;grid-row:auto!important;margin-top:0!important;grid-template-columns:1fr 1fr!important}.gm-sync-card{width:100%}#gm .gm-dashboard-hero-v1 .gm-sync-card{grid-column:auto!important;grid-row:auto!important;justify-self:stretch!important}#gm .gm-menu-bar .gm-system-buttons{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Race Compendium v1 */
.race-compendium-shell{display:grid!important;gap:14px!important;min-width:0!important}.race-compendium-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:end!important;padding:18px!important;border:1px solid rgba(31,125,255,.42)!important;border-radius:8px!important;background:rgba(4,14,16,.78)!important;backdrop-filter:blur(2px)!important;box-shadow:0 0 28px rgba(31,125,255,.12)!important}.race-compendium-header h1{margin:.15rem 0 .35rem!important;color:#fff1cf!important;font-size:2.25rem!important}.race-compendium-header p{margin:0!important;color:#d7c9aa!important}.race-breadcrumbs,.race-detail-breadcrumb{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;color:#9bd9ff!important;font-size:.82rem!important}.race-breadcrumbs button,.race-detail-breadcrumb button{border:1px solid rgba(31,125,255,.25)!important;background:rgba(31,125,255,.08)!important;color:#dff8ff!important;border-radius:999px!important;padding:5px 9px!important}.race-search-filter-bar{display:grid!important;grid-template-columns:repeat(5,minmax(140px,1fr))!important;gap:10px!important;padding:14px!important;border:1px solid rgba(31,125,255,.32)!important;border-radius:8px!important;background:rgba(4,14,16,.72)!important;backdrop-filter:blur(2px)!important}.race-search-filter-bar label{margin:0!important;font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#d8c59f!important}.race-search-filter-bar input,.race-search-filter-bar select{margin-top:5px!important;min-height:38px!important}.race-toggle-label{display:flex!important;align-items:center!important;gap:8px!important;padding-top:20px!important}.race-toggle-label input{width:auto!important;margin:0!important}.race-compendium-body{display:grid!important;grid-template-columns:310px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}.race-category-tree,.race-main-display{border:1px solid rgba(31,125,255,.36)!important;border-radius:8px!important;background:rgba(4,14,16,.78)!important;backdrop-filter:blur(2px)!important;min-width:0!important}.race-category-tree{position:sticky!important;top:96px!important;max-height:calc(100vh - 116px)!important;overflow:hidden!important}.race-tree-head{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:12px!important;border-bottom:1px solid rgba(212,162,74,.22)!important}.race-tree-head h3{margin:0!important;color:#fff1cf!important}.race-tree-head button{padding:6px 10px!important;min-height:32px!important}.race-tree-scroll{padding:8px!important;overflow:auto!important;max-height:calc(100vh - 172px)!important}.race-tree-node{display:grid!important;gap:3px!important}.race-tree-category,.race-tree-entry{width:100%!important;display:grid!important;grid-template-columns:18px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;text-align:left!important;margin:2px 0!important;padding:8px 9px 8px calc(9px + var(--depth,0) * 14px)!important;border:1px solid rgba(212,162,74,.18)!important;border-radius:6px!important;background:rgba(255,255,255,.025)!important;color:#f7ead1!important}.race-tree-category.active{border-color:rgba(36,224,255,.78)!important;background:rgba(36,224,255,.1)!important}.race-tree-category small{color:#9bd9ff!important}.race-tree-caret{color:#d4a24a!important;font-weight:900!important;text-align:center!important}.race-tree-entry{grid-template-columns:minmax(0,1fr)!important;margin-left:18px!important;color:#d7c9aa!important;border-color:rgba(31,125,255,.18)!important}.race-tree-entry:hover,.race-tree-category:hover{border-color:rgba(36,224,255,.65)!important;box-shadow:0 0 14px rgba(36,224,255,.14)!important}.race-main-display{min-height:640px!important;padding:16px!important}.race-display-status{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important;color:#d8c59f!important}.race-display-status b{color:#9bd9ff!important}.race-card-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:14px!important}.race-card{display:grid!important;grid-template-rows:190px auto!important;gap:10px!important;padding:10px!important;border:1px solid rgba(31,125,255,.32)!important;border-radius:8px!important;background:linear-gradient(180deg,rgba(11,22,24,.78),rgba(3,8,10,.88))!important;cursor:pointer!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.race-card:hover,.race-card:focus{transform:translateY(-4px) scale(1.015)!important;border-color:rgba(36,224,255,.86)!important;box-shadow:0 0 0 1px rgba(36,224,255,.18),0 18px 34px rgba(0,0,0,.42),0 0 22px rgba(36,224,255,.12)!important;outline:none!important}.race-card-art,.race-detail-art,.race-gallery-slot{display:grid!important;place-items:center!important;border:1px solid rgba(212,162,74,.3)!important;border-radius:6px!important;background:radial-gradient(circle at 50% 25%,rgba(31,125,255,.16),rgba(4,14,16,.45) 52%,rgba(0,0,0,.42)),linear-gradient(135deg,rgba(212,162,74,.08),rgba(31,125,255,.08))!important;overflow:hidden!important}.race-card-art img,.race-detail-art img,.race-gallery-slot img{width:100%!important;height:100%!important;object-fit:cover!important}.race-card-art span,.race-detail-art span,.race-gallery-slot span{font-size:2.5rem!important;font-weight:900!important;color:#fff1cf!important;text-shadow:0 0 18px rgba(31,125,255,.45)!important}.race-card h3{text-align:center!important;margin:0!important;color:#fff1cf!important;font-size:1.05rem!important;line-height:1.2!important}.race-empty{grid-column:1/-1!important;min-height:260px!important;display:grid!important;place-items:center!important;text-align:center!important;color:#d7c9aa!important}.race-detail-page{display:grid!important;gap:14px!important}.race-return{justify-self:start!important}.race-detail-head{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;border-bottom:1px solid rgba(212,162,74,.24)!important;padding-bottom:14px!important}.race-detail-art{height:150px!important}.race-detail-head h2{font-size:2.4rem!important;margin:.1rem 0 .45rem!important;color:#fff1cf!important}.race-detail-tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.race-detail-tabs button{border:1px solid rgba(31,125,255,.3)!important;background:rgba(31,125,255,.06)!important;color:#f7ead1!important;border-radius:6px!important;padding:8px 10px!important}.race-detail-tabs button.active{border-color:rgba(36,224,255,.82)!important;background:rgba(36,224,255,.12)!important;color:#dff8ff!important}.race-tab-window{display:grid!important;gap:14px!important}.race-overview-grid{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr)!important;gap:14px!important}.race-summary-panel,.race-stats-panel,.race-lore-unlocks,.gm-notes-block,.relationship-matrix,.race-gallery-panel,.race-placeholder-sections article{border:1px solid rgba(31,125,255,.28)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;padding:14px!important}.race-quick-reference,.race-stats-panel div{display:grid!important;gap:8px!important}.race-quick-reference p,.race-stats-panel p{display:flex!important;justify-content:space-between!important;gap:10px!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:6px 0!important}.race-quick-reference span,.race-stats-panel span{color:#d8c59f!important}.race-quick-reference b,.race-stats-panel b{color:#f7ead1!important;text-align:right!important}.race-lore-unlocks{grid-column:1/-1!important;display:grid!important;gap:8px!important}.race-lore-unlocks article{border:1px solid rgba(212,162,74,.2)!important;border-radius:8px!important;padding:10px!important;background:rgba(0,0,0,.18)!important}.race-lore-unlocks article.locked{filter:blur(.7px);opacity:.58!important}.race-lore-unlocks span{color:#9bd9ff!important;font-weight:900!important}.gm-notes-block.locked{opacity:.65!important}.race-placeholder-sections{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:12px!important}.relationship-matrix{overflow:auto!important}.relationship-matrix table{width:100%!important;border-collapse:collapse!important;min-width:760px!important}.relationship-matrix th,.relationship-matrix td{border-bottom:1px solid rgba(255,255,255,.1)!important;padding:10px!important;text-align:left!important}.relationship-matrix th{color:#fff1cf!important;background:rgba(212,162,74,.1)!important}.race-gallery-slot{height:320px!important;margin-bottom:12px!important}.race-gallery-slot span{font-size:4rem!important}@media(max-width:1300px){.race-search-filter-bar{grid-template-columns:repeat(3,minmax(140px,1fr))!important}.race-compendium-body{grid-template-columns:260px minmax(0,1fr)!important}.race-card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important}.race-card{grid-template-rows:160px auto!important}.race-overview-grid{grid-template-columns:1fr!important}}@media(max-width:900px){.race-compendium-header{grid-template-columns:1fr!important}.race-search-filter-bar{grid-template-columns:1fr!important}.race-compendium-body{grid-template-columns:1fr!important}.race-category-tree{position:relative!important;top:auto!important;max-height:420px!important}.race-detail-head{grid-template-columns:1fr!important}.race-detail-art{height:220px!important}}

/* Unified Class + Creature Compendium v1 */
.race-sidebar-breadcrumb,.codex-sidebar-breadcrumb,.codex-breadcrumbs,.codex-detail-breadcrumb{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;padding:10px 12px!important;color:#9bd9ff!important;font-size:.78rem!important}
.race-sidebar-breadcrumb button,.codex-sidebar-breadcrumb button,.codex-breadcrumbs button,.codex-detail-breadcrumb button{border:1px solid rgba(31,125,255,.24)!important;background:rgba(31,125,255,.08)!important;color:#dff8ff!important;border-radius:999px!important;padding:5px 9px!important}
.race-sidebar-actions,.codex-sidebar-actions{display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px 10px!important;color:#d7c9aa!important;font-size:.74rem!important}
.race-sidebar-actions button,.codex-sidebar-actions button{min-height:30px!important;padding:5px 9px!important}
.race-sidebar-actions button:disabled,.codex-sidebar-actions button:disabled{opacity:.45!important;cursor:not-allowed!important}
.race-tree-category{grid-template-columns:minmax(0,1fr) auto!important;padding:9px 10px!important}
.race-tree-entry{margin-left:0!important}
.race-empty-small,.codex-empty-small{padding:12px!important;color:#d7c9aa!important;text-align:center!important;border:1px dashed rgba(31,125,255,.22)!important;border-radius:8px!important;background:rgba(255,255,255,.025)!important}
.codex-compendium-shell{display:grid!important;gap:14px!important;min-width:0!important}
.codex-compendium-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:end!important;padding:18px!important;border:1px solid rgba(31,125,255,.42)!important;border-radius:8px!important;background:rgba(4,14,16,.78)!important;backdrop-filter:blur(2px)!important;box-shadow:0 0 28px rgba(31,125,255,.12)!important}
.codex-compendium-header h1{margin:.15rem 0 .35rem!important;color:#fff1cf!important;font-size:2.25rem!important}
.codex-compendium-header p{margin:0!important;color:#d7c9aa!important}
.codex-search-filter-bar{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:10px!important;padding:14px!important;border:1px solid rgba(31,125,255,.32)!important;border-radius:8px!important;background:rgba(4,14,16,.72)!important;backdrop-filter:blur(2px)!important}
.codex-search-filter-bar label{margin:0!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#d8c59f!important}
.codex-search-filter-bar input,.codex-search-filter-bar select{margin-top:5px!important;min-height:38px!important;width:100%!important}
.codex-toggle-label{display:flex!important;align-items:center!important;gap:8px!important;padding-top:20px!important}
.codex-toggle-label input{width:auto!important;margin:0!important}
.codex-compendium-body{display:grid!important;grid-template-columns:310px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.codex-sidebar,.codex-main-display{border:1px solid rgba(31,125,255,.36)!important;border-radius:8px!important;background:rgba(4,14,16,.78)!important;backdrop-filter:blur(2px)!important;min-width:0!important}
.codex-sidebar{position:sticky!important;top:96px!important;max-height:calc(100vh - 116px)!important;overflow:hidden!important}
.codex-sidebar-head{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:12px!important;border-bottom:1px solid rgba(212,162,74,.22)!important}
.codex-sidebar-head h3{margin:0!important;color:#fff1cf!important}
.codex-tree-list{display:grid!important;gap:5px!important;padding:8px!important;overflow:auto!important;max-height:calc(100vh - 222px)!important}
.codex-tree-category,.codex-tree-entry{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;text-align:left!important;margin:0!important;padding:9px 10px!important;border:1px solid rgba(212,162,74,.18)!important;border-radius:6px!important;background:rgba(255,255,255,.025)!important;color:#f7ead1!important}
.codex-tree-entry{grid-template-columns:minmax(0,1fr)!important;color:#d7c9aa!important;border-color:rgba(31,125,255,.18)!important}
.codex-tree-category.active{border-color:rgba(36,224,255,.78)!important;background:rgba(36,224,255,.1)!important}
.codex-tree-category small{color:#9bd9ff!important}
.codex-tree-category:hover,.codex-tree-entry:hover{border-color:rgba(36,224,255,.65)!important;box-shadow:0 0 14px rgba(36,224,255,.14)!important}
.codex-main-display{min-height:640px!important;padding:16px!important}
.codex-display-status{display:flex!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important;color:#d8c59f!important}
.codex-display-status b{color:#9bd9ff!important}
.codex-card-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:14px!important}
.codex-card{display:grid!important;gap:10px!important;align-content:start!important;min-height:238px!important;padding:10px!important;border:1px solid rgba(31,125,255,.32)!important;border-radius:8px!important;background:linear-gradient(180deg,rgba(11,22,24,.78),rgba(3,8,10,.88))!important;cursor:pointer!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.codex-card:hover,.codex-card:focus{transform:translateY(-4px) scale(1.015)!important;border-color:rgba(36,224,255,.86)!important;box-shadow:0 0 0 1px rgba(36,224,255,.18),0 18px 34px rgba(0,0,0,.42),0 0 22px rgba(36,224,255,.12)!important;outline:none!important}
.codex-card h3{text-align:center!important;margin:0!important;color:#fff1cf!important;font-size:1.05rem!important;line-height:1.2!important}
.codex-class-symbol,.codex-detail-symbol,.codex-card-art,.codex-detail-art,.codex-gallery-slot{display:grid!important;place-items:center!important;border:1px solid rgba(212,162,74,.3)!important;border-radius:6px!important;background:radial-gradient(circle at 50% 25%,rgba(31,125,255,.16),rgba(4,14,16,.45) 52%,rgba(0,0,0,.42)),linear-gradient(135deg,rgba(212,162,74,.08),rgba(31,125,255,.08))!important;overflow:hidden!important}
.codex-class-symbol{height:166px!important;color:#fff1cf!important;font-size:4rem!important;font-weight:900!important;border-color:rgba(36,224,255,.46)!important;box-shadow:inset 0 0 28px rgba(31,125,255,.18)!important}
.codex-detail-symbol{height:150px!important;width:150px!important;color:#fff1cf!important;font-size:4rem!important;font-weight:900!important;border-color:rgba(36,224,255,.46)!important}
.codex-card-art{height:190px!important}
.codex-card-art img,.codex-detail-art img,.codex-gallery-slot img{width:100%!important;height:100%!important;object-fit:cover!important}
.codex-card-art span,.codex-detail-art span,.codex-gallery-slot span{font-size:2.5rem!important;font-weight:900!important;color:#fff1cf!important;text-shadow:0 0 18px rgba(31,125,255,.45)!important}
.codex-empty{grid-column:1/-1!important;min-height:260px!important;display:grid!important;place-items:center!important;text-align:center!important;color:#d7c9aa!important}
.codex-detail-page{display:grid!important;gap:14px!important}
.codex-return{justify-self:start!important}
.codex-detail-head{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;border-bottom:1px solid rgba(212,162,74,.24)!important;padding-bottom:14px!important}
.codex-detail-art{height:150px!important}
.codex-detail-head h2{font-size:2.4rem!important;margin:.1rem 0 .45rem!important;color:#fff1cf!important}
.codex-detail-tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.codex-detail-tabs button{border:1px solid rgba(31,125,255,.3)!important;background:rgba(31,125,255,.06)!important;color:#f7ead1!important;border-radius:6px!important;padding:8px 10px!important}
.codex-detail-tabs button.active{border-color:rgba(36,224,255,.82)!important;background:rgba(36,224,255,.12)!important;color:#dff8ff!important}
.codex-tab-window{display:grid!important;gap:14px!important}
.codex-overview-grid,.codex-placeholder-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:14px!important}
.codex-info-panel,.codex-lore-visibility,.codex-gm-notes,.codex-gallery-panel,.codex-talent-tree,.codex-talent-detail{border:1px solid rgba(31,125,255,.28)!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;padding:14px!important}
.codex-kv-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:8px!important;margin-top:10px!important}
.codex-kv-grid p{display:flex!important;justify-content:space-between!important;gap:10px!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:6px 0!important}
.codex-kv-grid span{color:#d8c59f!important}.codex-kv-grid b{color:#f7ead1!important;text-align:right!important}
.codex-lore-visibility{display:grid!important;gap:8px!important}.codex-lore-visibility article{border:1px solid rgba(212,162,74,.2)!important;border-radius:8px!important;padding:10px!important;background:rgba(0,0,0,.18)!important}.codex-lore-visibility article.locked,.codex-gm-notes.locked{filter:blur(.4px);opacity:.62!important}.codex-lore-visibility span{color:#9bd9ff!important;font-weight:900!important}
.codex-talent-tree{display:grid!important;gap:12px!important}.codex-talent-tier{display:grid!important;gap:8px!important}.codex-talent-tier>div{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:10px!important}.codex-talent-card{min-height:74px!important;display:grid!important;align-content:center!important;text-align:left!important;border-color:rgba(31,125,255,.34)!important;background:linear-gradient(135deg,rgba(31,125,255,.16),rgba(212,162,74,.06))!important}.codex-talent-card b{color:#fff1cf!important}.codex-talent-card span{color:#9bd9ff!important}
.codex-gallery-slot{height:320px!important;margin-bottom:12px!important}.codex-gallery-slot span{font-size:4rem!important}
@media(max-width:1300px){.codex-compendium-body{grid-template-columns:260px minmax(0,1fr)!important}.codex-card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important}.codex-card-art,.codex-class-symbol{height:160px!important}}
@media(max-width:900px){.codex-compendium-header{grid-template-columns:1fr!important}.codex-compendium-body{grid-template-columns:1fr!important}.codex-sidebar{position:relative!important;top:auto!important;max-height:420px!important}.codex-detail-head{grid-template-columns:1fr!important}.codex-detail-art,.codex-detail-symbol{height:220px!important;width:auto!important}}

/* Item-style category panels for Race, Class, and Creature compendiums */
.race-category-tree,.codex-sidebar{padding:12px!important;border:1px solid color-mix(in srgb,var(--asteria-accent,#19d9ff) 24%,transparent)!important;border-radius:8px!important;background:rgba(0,0,0,.24)!important}
.race-tree-head,.codex-sidebar-head{padding:0!important;margin-bottom:8px!important;border-bottom:0!important}
.race-tree-head h3,.codex-sidebar-head h3{margin:0!important;color:#dff5ff!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-size:.86rem!important}
.race-tree-head button,.codex-sidebar-head button,.race-sidebar-actions button,.codex-sidebar-actions button{border:1px solid color-mix(in srgb,var(--asteria-accent,#19d9ff) 36%,transparent)!important;background:rgba(0,0,0,.32)!important;color:#dff5ff!important;border-radius:8px!important;padding:6px 10px!important;font-size:.78rem!important;font-weight:900!important;min-height:auto!important}
.race-sidebar-breadcrumb,.codex-sidebar-breadcrumb{color:rgba(255,239,211,.72)!important;font-size:.86rem!important;line-height:1.35!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:0 0 9px!important;margin-bottom:10px!important}
.race-sidebar-breadcrumb button,.codex-sidebar-breadcrumb button{padding:0!important;border:0!important;background:transparent!important;color:rgba(255,239,211,.78)!important;border-radius:0!important}
.race-sidebar-actions,.codex-sidebar-actions{padding:0 0 10px!important;color:rgba(255,239,211,.64)!important;font-size:.78rem!important}
.race-tree-scroll,.codex-tree-list{padding:0!important;display:grid!important;gap:0!important;max-height:calc(100vh - var(--core-header-height,122px) - 180px)!important}
.race-tree-category,.race-tree-entry,.codex-tree-category,.codex-tree-entry{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;text-align:left!important;margin:0 0 7px!important;min-height:40px!important;padding:10px 11px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(7,18,20,.66)!important;color:#cfe8ff!important;font-size:.92rem!important;font-weight:900!important;line-height:1.18!important;letter-spacing:0!important}
.race-tree-category:hover,.race-tree-category.active,.race-tree-entry:hover,.codex-tree-category:hover,.codex-tree-category.active,.codex-tree-entry:hover{border-color:var(--asteria-accent,#19d9ff)!important;background:color-mix(in srgb,var(--asteria-accent,#19d9ff) 12%,rgba(0,0,0,.42))!important;color:#fff8d6!important;box-shadow:none!important}
.race-tree-category small,.codex-tree-category small{color:var(--asteria-accent,#19d9ff)!important;font-size:.76rem!important;font-weight:900!important}
.race-gender-switch{display:flex!important;justify-content:center!important;gap:8px!important;margin:-2px 0 0!important}
.race-detail-head .race-gender-switch{justify-content:flex-start!important;margin:4px 0 8px!important}
.race-gender-switch button{width:34px!important;height:30px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(31,125,255,.36)!important;border-radius:8px!important;background:rgba(0,0,0,.32)!important;color:#cfe8ff!important;font-size:1rem!important;font-weight:900!important}
.race-gender-switch button:hover,.race-gender-switch button.active{border-color:var(--asteria-accent,#19d9ff)!important;background:rgba(31,125,255,.18)!important;color:#fff8d6!important}
