/* A working grimoire and an instructor's ledger. No generated gameplay labels:
   learned state, level, price and timing always come from the existing UI data. */
#panel-spellbook,#panel-vendor:has([data-action=classTrial]){background:linear-gradient(120deg,#25333b,#111f29);border-color:#a78c57;box-shadow:inset 0 0 0 1px #dfc68b33,0 9px 25px #0009;border-radius:2px}
#panel-spellbook>header,#panel-vendor:has([data-action=classTrial])>header{background:linear-gradient(100deg,#19262e,#38453f 52%,#17262c);color:#eed8a6;border-bottom-color:#b59961;text-shadow:0 2px #071118;box-shadow:inset 0 1px #ddc28566,inset 0 -3px #07131b66}
#panel-spellbook .panel-content,#panel-vendor:has([data-action=classTrial]) .panel-content{scrollbar-color:#a18c60 #172630}
#panel-spellbook .book-intro{color:#d0cdb8;border-bottom:1px solid #92804c55;padding-bottom:10px;font-size:14px!important}
#panel-spellbook .spell-pages{background:linear-gradient(90deg,#a48d4c0b 46%,#010b1477 49%,#b6a16b38 50%,#07141b77 51%,#a48d4c0b 54%)}
#panel-spellbook .book-spell{background:linear-gradient(110deg,#53634c25,#18293280);border-color:#92835366;border-radius:1px;box-shadow:inset 0 1px #d7bd7330,inset 0 -1px #06131c;min-width:0}
#panel-spellbook .book-spell>span{min-width:0}
#panel-spellbook .book-spell b{font:14px/1.25 Georgia,serif;color:#f0dcb0;text-shadow:0 1px #071017}
#panel-spellbook .book-spell small{font:12px/1.25 Arial,sans-serif;color:#c3d3b3}
#panel-spellbook .book-spell .painted-icon{border-color:#b1985f;box-shadow:0 0 0 1px #101d22,inset 0 0 3px #0009;object-fit:cover}
#panel-spellbook .book-spell.locked{background:linear-gradient(110deg,#101d2799,#15232b55);border-color:#64706b66;box-shadow:inset 0 1px #a4b7b316}
#panel-spellbook .book-spell.locked b{color:#b8c1bf}
#panel-spellbook .book-spell.locked small{color:#aeb7bb}
#panel-spellbook .book-spell.locked .painted-icon{filter:grayscale(.65) brightness(.73);border-color:#6c7875}
#panel-spellbook .book-spell:hover{background:#4856496b;border-color:#c2ac73}
#panel-spellbook .book-spell:focus-visible,#panel-vendor:has([data-action=classTrial]) button:focus-visible{outline:2px solid #f3db98;outline-offset:2px;position:relative;z-index:1}
#panel-vendor:has([data-action=classTrial]) h2{font:23px/1.25 Georgia,serif;color:#efdbad}
#panel-vendor:has([data-action=classTrial]) h3{color:#dcc793;font:19px Georgia,serif;border-top:1px solid #99855466;padding-top:12px}
#panel-vendor:has([data-action=classTrial]) .muted{color:#bdc8bd;font:13px/1.5 Georgia,serif}
#panel-vendor:has([data-action=classTrial]) [data-action=classTrial]{background:linear-gradient(#414e41,#23342f);border-color:#9b8755;color:#f0deb6;line-height:1.3}
#panel-vendor:has([data-action=classTrial]) [data-action=classTrial]:disabled{color:#b6bdaf;opacity:.65}
#panel-vendor .trainer-row{background:linear-gradient(110deg,#3d4e3c,#1b2b31);border-color:#9e8853;box-shadow:inset 0 1px #d1b87744,0 1px 2px #071017}
#panel-vendor .trainer-row .painted-icon{outline:1px solid #9c8958;box-shadow:0 1px 3px #0008}
#panel-vendor .trainer-row span{font:14px/1.3 Georgia,serif;color:#f0dbad}
#panel-vendor .trainer-row small{font:12px/1.3 Arial,sans-serif;color:#e3bc85;font-variant-numeric:tabular-nums}
#panel-vendor .trainer-row:hover{background:linear-gradient(110deg,#53624b,#283e40);border-color:#dbc18a}
.larger-ui-text #panel-spellbook .book-spell b{font-size:15px}
.high-contrast-ui #panel-spellbook,.high-contrast-ui #panel-vendor:has([data-action=classTrial]){background:#08151d}
.high-contrast-ui #panel-spellbook .book-spell b,.high-contrast-ui #panel-spellbook .book-spell small,.high-contrast-ui #panel-vendor .trainer-row span,.high-contrast-ui #panel-vendor .trainer-row small{color:#fff1c9}
.high-contrast-ui #panel-spellbook .book-spell.locked{border-style:dashed}
@media(forced-colors:active){#panel-spellbook .book-spell,#panel-vendor .trainer-row{border-color:ButtonText}#panel-spellbook .book-spell.locked{border-style:dashed}}

/* The requested instruction sheet must sit above the conversation that opened it. */
#panel-vendor:has([data-action=classTrial]){z-index:61}
#panel-vendor:has([data-action=classTrial]) .vendor-stock:not(:has(button)){display:block;min-height:0;padding:0}
