:root{color:#e7eaf0;font-synthesis:none;text-rendering:optimizelegibility;background:#171b22;font-family:system-ui,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-width:280px;margin:0}main{max-width:760px;margin:0 auto;padding:48px 24px}h1,h2{line-height:1.25}h1{margin:8px 0 16px;font-size:2.5rem}h2{margin:0 0 12px;font-size:1.2rem}p{margin:0}.eyebrow{color:#b7c9e5}section{border-top:1px solid #454e5d;padding:24px 0}button,select{font:inherit;margin:12px 8px 12px 0;padding:8px 12px}button{cursor:pointer;color:#171b22;background:#dce8fa;border:1px solid #b7c9e5;border-radius:4px}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #ffce73}fieldset{border:1px solid #454e5d;margin:16px 0}.equipment-option{padding:6px 0;display:block}input[type=checkbox]{margin-right:12px}select{margin-left:12px}.validation{color:#ffce73}pre{background:#101319;max-width:100%;padding:12px;overflow:auto}footer{padding:24px 0}main{max-width:960px;padding:24px}header{margin-bottom:16px}header h1{margin:4px 0;font-size:1.6rem}details>summary{cursor:pointer;color:#b7c9e5;padding:8px 0}.active-shell{max-width:none;padding:0}.game-surface{background:#10171c;grid-template-rows:auto minmax(0,1fr);gap:12px;width:100%;height:100dvh;padding:16px 24px;line-height:1.4;display:grid;overflow:hidden}.game-surface section{border:0;padding:0}.game-surface h2{margin:0;font-size:1.12rem}.game-surface h3{margin:0 0 10px;font-size:1rem}.game-surface button,.game-surface select{color:#e7ede7;background:#26383f;border:1px solid #617776;border-radius:4px;margin:0;padding:8px 12px;font-size:.9rem}.game-surface button[aria-pressed=true],.game-surface button[aria-expanded=true]{color:#f5cf78;background:#35413c;border-color:#f5cf78}.game-surface button.confirm-action{color:#172127;background:#f5cf78;font-weight:700}.game-surface small{color:#b4c3c9;font-size:.8rem}.game-hud{gap:8px;display:grid}.party-hud{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.party-hud>div{background:#202b30;border:1px solid #46565d;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 14px;display:grid}.party-hud span{text-align:right;color:#d2dedb;font-size:.9rem}.party-hud meter{accent-color:#97c4aa;grid-column:1/-1;width:100%;height:8px}.resource-hud{color:#bdc9c8;gap:28px;font-size:.9rem;display:flex}.resource-hud strong{color:#f5cf78}.exploration-screen{min-width:0;min-height:0;position:relative}.game-surface .dungeon-stage{border:1px solid #435158;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%;padding:12px 16px;display:grid}.map-heading,.overlay-heading,.battle-heading,.ctb-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.map-heading nav,.travel-controls{align-items:center;gap:8px;display:flex}.map-space{justify-content:center;min-width:0;min-height:0;display:flex}.dungeon-map{background:#080c10;width:100%;height:100%;display:block}.exploration-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.map-legend{color:#a6b3b8;font-size:.78rem}.dungeon-stage [role=status]{color:#f5cf78;margin-top:4px;font-size:.85rem}.inspection-panel{z-index:3;background:#202b32;border:1px solid #80958f;flex-direction:column;width:40%;min-width:430px;display:flex;position:absolute;top:12px;bottom:12px;right:12px;box-shadow:0 12px 40px #0009}.overlay-heading{border-bottom:1px solid #526269;flex:none;padding:16px}.overlay-heading>strong{text-transform:capitalize}.panel-scroll,.loot-scroll{overscroll-behavior:contain;min-height:0;padding:16px;overflow-y:auto}.panel-scroll p{margin:12px 0}.panel-scroll ul{padding:0;list-style:none}.panel-scroll li{border-top:1px solid #4a5a61;padding:12px 0}.panel-scroll li button{margin:8px 8px 0 0}.reassessment-party>div{border-bottom:1px solid #4a5a61;padding:10px 0}.reassessment-party label{margin-top:6px;display:block}.reassessment-party select{margin-left:8px}.game-surface .loot-overlay{z-index:2;background:#202b32;border:1px solid #ab9b72;flex-direction:column;display:flex;position:absolute;inset:30px 5%;box-shadow:0 0 0 200vmax #060b1070}.loot-overlay .overlay-heading p{color:#d6dbc6;margin-top:8px;font-size:.9rem}.loot-scroll{flex:1}.loot-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.loot-cards>li{background:#172229;border:1px solid #4d6268;flex-direction:column;gap:16px;padding:16px;display:flex}.item-summary{gap:6px;font-size:.9rem;display:grid}.item-summary>strong{color:#f3e3b4;font-size:1.12rem}.unsecured{color:#f5cf78}.pickup-preview{background:#2b3b3c;gap:4px;padding:12px;font-size:.9rem;display:grid}.loot-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.overlay-footer{border-top:1px solid #526269;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:.85rem;display:flex}.exploration-screen:has(.inspection-panel) .loot-overlay{left:12px;right:calc(40% + 24px)}.exploration-screen:has(.inspection-panel) .loot-cards{grid-template-columns:1fr}.battle-screen{grid-template-rows:auto minmax(120px,1fr) 180px 210px;gap:12px;min-height:0;display:grid}.battle-heading>span{color:#aebfc3;font-size:.85rem}.battlefield{background:radial-gradient(#2c373a,#151e24);border:1px solid #435158;grid-template-columns:1fr 1fr;align-items:center;gap:40px;min-height:0;padding:12px 24px;display:grid}.party-field{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.combatant{background:#213138;border:1px solid #465b61;gap:3px;padding:10px 14px;font-size:.9rem;display:grid}.enemy-field{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.enemy-card{background:#342b2b;border:1px solid #846359;gap:6px;padding:14px;display:grid}.enemy-heading>strong{color:#f0c2aa;font-size:1.1rem}.enemy-card>span{font-size:.85rem}.enemy-card meter{width:100%;height:8px}.enemy-card p{color:#ffcf93;font-size:.9rem}.acting{outline-offset:2px;outline:2px solid #f5cf78}.incapacitated{opacity:.48}.ctb-panel{background:#18262c;border:1px solid #526468;grid-template-rows:26px minmax(0,1fr);min-height:0;padding:8px 14px;display:grid}.ctb-heading span{color:#b7c8c9;font-size:.8rem}.ctb-panel svg{width:100%;height:100%}.battle-command{background:#1e2c32;border:1px solid #526468;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;min-height:0;padding:14px;display:grid}.action-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.game-surface .action-cards button{text-align:left;gap:6px;padding:12px;display:grid}.action-cards span{font-size:.85rem}.target-preview{flex-direction:column;gap:10px;min-width:0;font-size:.9rem;display:flex}.target-preview label{align-items:center;gap:12px;display:flex}.target-preview select{flex:1;min-width:0}.target-preview [aria-label=Action\ preview]{flex:1}.target-preview .confirm-action{align-self:flex-end}.battle-outcome{text-align:center;grid-row:3/-1;align-self:center;padding:24px}.battle-outcome button{margin-top:16px}.developer-reports{max-width:1100px;margin:auto;padding:24px}@media (height<=820px){.game-surface{gap:8px;padding:10px 16px}.battle-screen{grid-template-rows:auto minmax(140px,1fr) 168px 202px;gap:8px}.battlefield{gap:24px;padding:10px 16px}.party-hud>div{padding:8px 12px}.game-surface .dungeon-stage{gap:8px;padding:10px}.combatant{padding:8px}}.game-surface{background:radial-gradient(at 50% 15%,#253033,#10171c 65%)}.game-surface h1{margin:0;font-size:2.2rem}.game-surface button.primary-button{color:#182327;background:#edcb82;border-color:#edcb82;padding:12px 24px;font-weight:750}.party-hud>div{background:#1d2a2d;border:0;border-bottom:2px solid #678781}.portrait-token{color:#e8f0df;background:#436762;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:inline-flex}.town-surface{grid-template-rows:minmax(0,1fr);padding:24px 32px}.town-screen{grid-template-rows:auto minmax(0,1fr) auto;gap:22px;min-height:0;display:grid}.town-heading{justify-content:space-between;align-items:end;display:flex}.town-heading>p{color:#bfcbc6}.town-columns{grid-template-columns:235px minmax(0,1.25fr) minmax(0,1fr);gap:26px;min-height:0;display:grid}.town-party{flex-direction:column;gap:12px;display:flex}.town-member{border-bottom:1px solid #43534f;grid-template-columns:34px 1fr;gap:10px;padding:12px 0;display:grid}.town-member>div{display:grid}.town-member label{grid-column:2;align-items:center;gap:12px;font-size:.85rem;display:flex}.town-loadout{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;display:grid}.town-storage{flex-direction:column;gap:8px;min-height:0;display:flex}.storage-scroll{flex:1;min-height:0;padding-right:8px;overflow-y:auto}.storage-option{cursor:pointer;border-bottom:1px solid #354640;align-items:center;gap:8px;padding:14px 8px;display:flex}.storage-option>span{flex:1;gap:5px;display:grid}.storage-option:has(input:checked){background:#2a3c38}.stored-valuable{justify-content:space-between;gap:12px;padding:10px 8px;display:flex}.storage-scroll h3{padding-top:20px}.preparation-footer{border-top:1px solid #708176;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:26px;padding-top:14px;display:grid}.preparation-footer label{align-items:center;gap:10px;display:flex}.preparation-validation ul{margin:0;padding:0;font-size:.85rem;list-style:none}.inventory-browser{grid-template-rows:auto minmax(80px,1fr) auto;gap:10px;height:100%;min-height:0;display:grid}.inventory-load{color:#e5d4a8;flex-wrap:wrap;gap:6px 18px;font-size:.85rem;display:flex}.inventory-groups{overscroll-behavior:contain;min-height:0;padding-right:8px;overflow-y:auto}.inventory-groups h3{text-transform:uppercase;letter-spacing:.07em;color:#a8bdb6;margin:0;padding:10px 0 6px;font-size:.8rem}.inventory-groups ul{margin:0;padding:0;list-style:none}.inventory-groups li,.panel-scroll .inventory-groups li{border:0;padding:0}.game-surface .inventory-row,.panel-scroll li button.inventory-row{text-align:left;background:#23312f;border:0;border-left:3px solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:100%;margin:0 0 4px;padding:8px 10px;display:grid}.game-surface .inventory-row[aria-pressed=true]{color:#f5cf78;background:#38453b;border-left-color:#f5cf78}.row-numbers{color:#bdcbc4;font-size:.75rem}.item-badges{grid-area:1/2/3;align-items:center;gap:6px;display:flex}.item-badges small{background:#34453e;padding:2px 5px;font-size:.7rem}.item-badges .unsecured{color:#f5cf78}.pinned-item{background:#182622;border-top:1px solid #768675;gap:8px;padding:12px;display:grid}.pinned-item .item-summary{gap:3px;font-size:.8rem}.pinned-item .item-summary>strong{font-size:1rem}.pinned-item>small{font-size:.72rem}.equipment-pips{gap:3px;font-size:.8rem;display:grid}.item-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-actions small{width:100%}.inventory-panel-body{flex:1;overflow:hidden}.ctb-panel{background:0 0;border:0;flex-direction:column;justify-content:center;gap:10px;padding:0 8px;display:flex}.initiative-row{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;display:grid}.initiative-row>strong{color:#d6ddc7;font-size:.8rem}.initiative-row>strong>small{font-size:.7rem;font-weight:400;display:block}.initiative-strip{gap:12px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.initiative-token{background:#263b38;border-radius:5px;flex:1;align-items:center;gap:10px;min-width:0;height:56px;padding:8px 12px;font-size:.82rem;display:flex}.initiative-token.enemy{background:#442f2d}.initiative-token.enemy .portrait-token{background:#845148}.initiative-token.current-token{color:#f5cf78;box-shadow:inset 0 -3px #f5cf78}.initiative-token.ghost-token{color:#f5cf78;background:#30392c;border:1px dashed #f5cf78}.battle-screen{grid-template-rows:auto minmax(140px,1fr) 150px 210px}.battlefield{background:radial-gradient(#34413b,#0000 70%);border:0}.combatant{background:#1b2c2780;border:0}.enemy-card{background:#352c2870;border:0;border-left:3px solid #a46f52;padding:20px}.enemy-heading>strong{font-size:1.3rem}.enemy-heading{align-items:center;gap:10px;display:flex}.enemy-glyph{color:#ffcf93;border:1px solid #a46f52;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.05rem;line-height:1;display:inline-flex}.battle-command{background:#1d2a26;border:0;border-top:1px solid #758473}.combat-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:0;display:flex}.victory-mark{color:#edcb82;font-size:4rem;line-height:1}.result-screen{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:24px;width:100%;max-width:1400px;height:100%;min-height:0;margin:auto;display:grid}.result-heading{text-align:center}.result-heading h1{color:#f1d294}.result-stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.result-stats>div{gap:6px;display:grid}.result-stats strong{font-size:1.6rem}.result-condition h2{text-align:center;margin-bottom:14px}.result-party{justify-content:center;gap:32px;display:flex}.result-party>div{justify-items:center;gap:6px;min-width:120px;font-size:.9rem;display:grid}.result-haul{flex-direction:column;gap:12px;min-height:0;display:flex}.result-items{grid-template-columns:repeat(4,1fr);align-content:start;gap:12px;min-height:0;display:grid;overflow-y:auto}.result-items>div{background:#27372e;gap:6px;padding:14px;display:grid}.result-actions{border-top:1px solid #687b6a;align-items:center;gap:16px;padding-top:16px;display:flex}.result-actions p{flex:1;font-size:.85rem}@media (height<=820px){.town-surface{padding:18px 24px}.town-screen{gap:16px}.town-member{padding:8px 0}.result-screen{gap:18px}.battle-screen{grid-template-rows:auto minmax(140px,1fr) 146px 202px}.town-party{gap:8px}.town-member{gap:4px 10px;padding:6px 0}.game-surface .town-member select{padding:4px 8px}}.inventory-browser{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px}.inventory-load{grid-column:1/-1}.game-surface .inventory-row,.panel-scroll li button.inventory-row{border-radius:8px;grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:8px;padding:9px}.item-name{gap:3px;min-width:0;display:grid}.item-name-heading{align-items:center;gap:6px;min-width:0;display:flex}.item-category-glyph{color:#d7e1d6;background:#34453e;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;line-height:1;display:inline-flex}.item-category-supply{color:#d9e8a8;background:#3d4b37}.item-category-valuable{color:#ffe29e;background:#514229}.item-name strong{font-size:.85rem}.item-name>small{color:#afc0b7;text-transform:capitalize;font-size:.67rem}.stat-chips{flex-wrap:wrap;gap:3px;display:flex}.stat-chips small{color:#d7e1d6;white-space:nowrap;background:#152520;border-radius:4px;padding:4px;font-size:.65rem}.item-badges{flex-wrap:wrap;grid-area:auto;gap:3px;max-width:76px}.item-badges small{border-radius:4px;font-size:.62rem}.item-badges .equipped{color:#f1efcf;background:#546b4a}.item-badges .carried{color:#aee1d2}.item-badges .stored{color:#c0c4c8;background:#343c42}.item-badges .unsecured{color:#ffe29e;background:#514229}.pinned-item{background:#22332e;border:0;border-radius:12px;align-content:start;gap:18px;min-height:0;padding:16px;overflow-y:auto}.detail-heading{gap:8px;display:grid}.detail-heading h3{margin:0;font-size:1.2rem}.detail-heading .item-badges{max-width:none}.detail-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.detail-stats>div{background:#182a24;border-radius:6px;padding:8px}.detail-stats dt{color:#b2c5b9;font-size:.7rem}.detail-stats dd{margin:4px 0 0;font-size:1.1rem;font-weight:700}.detail-effect{font-size:.82rem;line-height:1.45}.detail-effect p{margin:6px 0}.detail-effect small{color:#afc0b7}.load-impact{border-top:1px solid #425b4d;gap:5px;padding-top:12px;font-size:.78rem;display:grid}.load-impact small{color:#b7c8bc}.inventory-browser .item-actions button{border-radius:7px;font-size:.8rem}.town-inventory{grid-template-rows:auto minmax(90px,1fr) minmax(200px,.85fr);grid-template-columns:minmax(0,1fr);gap:10px}.town-inventory .pinned-item{grid-template-columns:1fr 1fr;gap:10px 18px;padding:12px;display:grid}.town-inventory .detail-heading h3{font-size:1rem}.town-inventory .load-impact{border:0;padding:0}.town-inventory .detail-stats{align-self:start}.town-inventory .item-actions{grid-column:1/-1}.storage-entry{align-items:center;gap:6px;display:flex}.storage-entry>label{flex:0 0 22px;padding:4px}.storage-entry .inventory-row{flex:1;min-width:0}.inspection-panel:has(.inventory-browser){width:62%}.exploration-screen:has(.inventory-browser) .loot-overlay{right:calc(62% + 24px)}.town-inventory{grid-template-rows:auto minmax(90px,1fr) minmax(280px,1fr)}
