/* Scoped extensions: the original opening, combat layout and touch controls remain. */
.codex-intro{font-size:13px}.codex-filters{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.codex-filters button{font-size:12px;padding:6px 10px;min-height:35px}.codex-filters .on{border-color:#e4c38c;background:#4a5a50}.odds{border:1px solid #627571;padding:9px 12px;margin-top:12px;background:#1c303a}.odds summary{cursor:pointer;color:#eed3a2;font-size:13px;font-weight:700}.odds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.odds-grid span{border-left:3px solid var(--rare);padding:2px 7px;font-size:12px}.odds-grid b{display:block;color:var(--rare);font:700 13px monospace}.odds p{font-size:12px}.codex-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px}.codex-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:7px;max-height:72svh;overflow:auto;padding:3px}.codex-card{padding:5px 3px;min-width:0;display:flex;flex-direction:column;align-items:center;border-color:#5f7272;border-bottom-color:#13262e;font-size:12px}.codex-card canvas{width:min(100%,110px);height:auto;opacity:.85}.codex-card.locked{border-style:dashed}.codex-card.pick{outline:2px solid var(--rare);outline-offset:0}.codex-card.unlocked{border-top:3px solid var(--rare)}.codex-card b{font-size:12px;word-break:keep-all;overflow-wrap:anywhere}.codex-card small{font-size:10px;color:var(--rare)}.codex-detail{min-width:0;border:1px solid #536b6d;padding:12px;max-height:72svh;overflow:auto;background:#1c303a}.specimen{position:relative;border-bottom:2px solid var(--rare);background:#20343d}.specimen canvas{width:100%;height:auto;max-height:190px;object-fit:contain}.specimen span{position:absolute;right:8px;top:5px;color:var(--rare);font-size:11px}.codex-detail h3{font-size:23px;letter-spacing:-.04em}.codex-detail h4{margin:12px 0 5px}.codex-detail p{font-size:13px;word-break:keep-all;overflow-wrap:anywhere}.codex-detail .unlock-state{color:#e5c88e;font-size:11px}.facts{margin:10px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.facts>div{padding:6px 8px;background:#294049;border-bottom:1px solid #526467;min-width:0}.facts dt{font-size:10px;color:#adc4bd}.facts dd{font-size:14px;font-weight:700;margin:1px 0 0;color:#f2deb4;overflow-wrap:anywhere}.ability-note{border-left:2px solid #b9a079;padding-left:9px}.summon-facts{margin:10px 0}.summon-facts summary{color:#edd1a0;font-weight:700;cursor:pointer}.hit-sequence{color:#f0d9aa}.pin.maxed{background:#4a5343;border-color:#e4c58c}.pin.available{background:#35525a;border-color:#b6ddd1}.pin.locked{border-style:dashed;color:#b4c4be}.pin.locked:not(.pick){opacity:.77}.atlas-detail>div{min-width:0}.atlas-detail p{overflow-wrap:anywhere}.atlas-detail button{max-width:42%;white-space:normal}.mystic-banner{display:flex;align-items:center;gap:12px;border:1px solid #efd99d;padding:12px;margin:10px 0;background:#514b46}.mystic-banner span{flex:1;font-size:13px}.mystic-banner b{color:#ffecb1}.catch{min-width:0;max-width:46%}.catch>div{min-width:0}.catch b{display:block;line-height:1.3;overflow-wrap:anywhere}.readout>div:not(.catch){flex-shrink:0}.landing .actions{flex-wrap:wrap}.landing .actions .primary{min-width:100%}
@media(max-width:600px){.codex-layout{grid-template-columns:1fr}.codex-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:235px}.codex-detail{max-height:none}.codex-card canvas{width:88px;height:45px}.codex-detail h3{font-size:21px}.odds-grid{grid-template-columns:repeat(4,1fr)}.odds-grid span{padding:1px 4px;font-size:11px}.odds-grid b{font-size:11px}.atlas-summary{font-size:11px}.atlas-detail{align-items:flex-start;padding:8px}.atlas-detail button{font-size:12px;padding:9px 7px}.atlas-tip{line-height:1.5}.mystic-banner{flex-wrap:wrap}.catch{max-width:45%}.catch b{font-size:10px}.readout small{font-size:9px}#score,#next,#cd{font-size:11px}.time b{font-size:20px}.paneHead h2{font-size:23px}.paneHead .quiet{flex-shrink:0;font-size:12px}.landing footer{flex-wrap:wrap}}

.summon-preview{display:block;width:120px;height:90px;max-width:100%;margin:8px auto 0;image-rendering:pixelated;background:#20343d;border-radius:3px}
