/* Full spellbook cards and the shared modal surface. */
/* Nothing hides the next learning record. Cards are grouped at their real level. */
.ability-timeline{display:grid;gap:29px;margin-top:24px}.ability-level-group{position:relative;padding-left:20px;border-left:1px solid #8d794c66}.ability-level-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.ability-level-heading>span{font:600 10px var(--sans);letter-spacing:1px;color:var(--gold);white-space:nowrap}.ability-level-heading>span:before{content:'';position:absolute;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%;background:var(--bg);left:-5px;top:5px}.ability-level-heading h4{font-size:18px;color:#b9c8b8}.chapter-spellbook .ability-grid{grid-template-columns:minmax(0,1fr);gap:18px}.chapter-spellbook .ability-card{padding:22px;background:linear-gradient(135deg,#172d32,#102329);border-color:#62796866}.chapter-spellbook .ability-heading{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:16px}.chapter-spellbook .ability-icon{width:74px;height:74px}.chapter-spellbook .ability-heading h4{font-size:26px;line-height:1.15}.chapter-spellbook .ability-kind{font-size:9px}.chapter-spellbook .ability-mechanic{font-size:13px;line-height:1.85;margin-top:17px}.chapter-spellbook .ability-use{padding:15px 17px;margin-top:15px}.chapter-spellbook .ability-use p{font-size:12px;line-height:1.85}.ability-watch{font-size:11px;line-height:1.8;color:#b8baa6;border-left:2px solid #9d835e;padding:3px 0 3px 13px;margin-top:15px}.ability-watch strong{color:#dbbf8c}.ability-more{margin-top:14px}.ability-level-group{scroll-margin-top:100px}
/* The dialog's content scrolls; its close bar cannot scroll away. */
dialog#modal{padding:0;overflow:hidden;max-height:87vh;max-height:87dvh}dialog#modal[open]{display:flex;flex-direction:column}.dialog-head{flex:0 0 auto;padding:12px 22px;margin:0;border-bottom:1px solid #8e7a4d66;background:#14272b;position:relative;z-index:3}.dialog-head .icon-button{min-width:44px;min-height:44px;display:grid;place-items:center;color:#eddbb3;background:#243837;border:1px solid #b9a36f66;border-radius:50%;font-size:27px}.dialog-head .icon-button:hover{background:#3b4b3d;color:#fff}.dialog-scroll{padding:24px 30px 32px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.dialog-scroll>h2{scroll-margin-top:20px}body:has(dialog[open]){overflow:hidden}
@media(max-width:850px){.chapter-spellbook .ability-heading{grid-template-columns:64px minmax(0,1fr) auto;gap:12px}.chapter-spellbook .ability-icon{width:64px;height:64px}.chapter-spellbook .ability-heading h4{font-size:23px}}
@media(max-width:620px){.chapter-spellbook .ability-card{padding:18px 15px}.ability-level-group{padding-left:13px}.chapter-spellbook .ability-heading{grid-template-columns:55px minmax(0,1fr) auto;gap:10px}.chapter-spellbook .ability-icon{width:55px;height:55px}.chapter-spellbook .ability-heading h4{font-size:22px}.chapter-spellbook .ability-mechanic{font-size:12px}.chapter-spellbook .ability-use p{font-size:12px}.ability-level-heading h4{font-size:16px}.ability-level-heading>span{font-size:9px}.dialog-scroll{padding:21px 17px 27px}.dialog-head{padding:10px 16px}dialog#modal{max-height:92vh;max-height:92dvh}}
@media print{dialog#modal{display:none!important}}
.ability-tradeoffs{margin:15px 0 0;padding:0;border-top:1px solid #66745b55}
.ability-tradeoffs>div{margin-top:11px}.ability-tradeoffs dt{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#d3be88;font-weight:700}
.ability-tradeoffs dd{font-size:12px;line-height:1.75;margin:5px 0 0;color:#d0d6c8}
