Active play and the Watchtower Depths dungeon

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-10-24 12:05:23 +01:00
parent db1a00e8aa
commit 9d61de2012
9 changed files with 790 additions and 56 deletions

View file

@ -559,6 +559,7 @@ button.sheet-skill:hover { background: var(--panel-2); }
/* Packs, casts and abilities */
.pack { display: grid; gap: 12px; }
.fighter.out { opacity: .4; }
.fighter[hidden] { display: none; }
.traits-inline { display: inline-flex; gap: 2px; margin-left: 6px; vertical-align: middle; }
.traits-inline .v-res { display: inline-flex; gap: 2px; margin-left: 4px; }
.traits-inline .dmg .gi { width: 13px; height: 13px; }
@ -570,10 +571,22 @@ button.sheet-skill:hover { background: var(--panel-2); }
.foe-unit .cast { color: var(--bad); }
.foe-unit .cast .bar > span { background: var(--bad); }
.ability-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ab { position: relative; width: 38px; height: 38px; border-radius: 9px; display: grid; place-items: center; font-size: 20px;
background: var(--panel-2); border: 1px solid var(--line); overflow: hidden; }
.ab { position: relative; width: 42px; height: 52px; display: grid; grid-template-rows: 42px 10px; gap: 0; }
.ab-press { position: relative; width: 42px; height: 42px; border-radius: 9px; display: grid; place-items: center; padding: 0;
font-size: 20px; color: inherit; background: var(--panel-2); border: 1px solid var(--line); overflow: hidden; cursor: pointer; }
.ab.auto .ab-press { cursor: default; }
.ab.manual .ab-press { border-color: var(--gold); }
.ab.queued .ab-press { box-shadow: 0 0 0 2px var(--good); }
.ab-mode { justify-self: center; margin-top: -6px; z-index: 1; font-size: 8.5px; font-weight: 800; letter-spacing: .04em; line-height: 1;
padding: 2px 4px; border-radius: 5px; border: 1px solid var(--line); background: var(--panel); color: var(--muted); cursor: pointer; }
.ab.manual .ab-mode { color: #1a1408; background: var(--gold); border-color: var(--gold); }
.ab.potion { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: var(--panel-2);
border: 1px solid var(--line); align-self: start; }
.fighter.aimable { cursor: pointer; border-radius: 8px; }
.fighter.aimed { outline: 2px solid var(--gold); outline-offset: 4px; }
.ab-lv .gi { width: 10px; height: 10px; }
.ab.locked { opacity: .35; filter: grayscale(1); }
.ab.fired { border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold); }
.ab.fired .ab-press { box-shadow: 0 0 0 2px var(--gold); }
.ab.spent { opacity: .35; }
.ab .gi { width: 26px; height: 26px; }
.fight-log .gi, .cast .gi, [data-u-status] .gi { width: 15px; height: 15px; vertical-align: -3px; }
@ -581,6 +594,8 @@ button.sheet-skill:hover { background: var(--panel-2); }
.ab-lv { position: absolute; bottom: 0; right: 2px; font-size: 10px; font-weight: 700; color: var(--muted); filter: none; }
.ab-gap { width: 6px; }
.fight-log .warn { color: var(--gold); }
.run-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.run-head .btn { margin-left: auto; }
.pill { padding: 3px 10px 3px 3px; }
.pill .dmg { border-radius: 50%; }