/* Magic catalog and standalone spell sheets. */
[data-guide-kind="library-magias"] .guide-hub-panel{background:#111e20}
[data-guide-kind="library-magias"] .explorer-panel-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}
[data-guide-kind="library-magias"] .explorer-panel-heading>.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--gold);margin:0 0 8px}
[data-guide-kind="library-magias"] .explorer-panel-heading h3{font-family:Cinzel,Georgia,serif;font-size:34px;line-height:1.25;margin:0 0 10px;color:#efdfb9}
[data-guide-kind="library-magias"] .explorer-panel-heading>p:last-child{margin:0;color:var(--muted);line-height:1.7}
[data-guide-kind="library-magias"] .library-search-bar{margin-top:24px;margin-bottom:16px}
[data-guide-kind="library-magias"] .library-search-bar input{background:#101a1d;border-color:#526059;border-radius:9px;padding:15px 16px;min-height:52px;font-size:15px}
[data-guide-kind="library-magias"] .catalog-reference{font-size:12px;line-height:1.6;margin:0 0 22px;padding:12px 16px;background:#182826}
.spell-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin-bottom:22px;border:1px solid #60715366;border-radius:12px;background:radial-gradient(ellipse at top right,#50604044,transparent 65%),linear-gradient(120deg,#20332c,#18262a);min-width:0}
.spell-overview .eyebrow{display:block;font-size:10px;letter-spacing:.1em;color:#d9c28e}
.spell-overview p{font-family:Cinzel,Georgia,serif;color:#efe3c8;font-size:23px;line-height:1.4;margin:10px 0}
.spell-overview>div:first-child>span:last-child{font-size:13px;color:#b9c3ba;line-height:1.7;display:block;max-width:460px}
.spell-overview-total{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 120px;border-left:1px solid #7a815366;padding-left:20px;text-align:center}
.spell-overview-total strong{font-family:Georgia,serif;font-size:46px;line-height:1;color:#e7cb8c;font-weight:400}
.spell-overview-total span{font-size:11px;color:#c1c9bc;line-height:1.4}
[data-guide-kind="library-magias"] .spell-inline-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#172427}
.spell-filter{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;color:var(--muted);font-size:11px;font-weight:500}
.spell-filter select{min-width:0;width:100%;min-height:44px;padding:10px 30px 10px 10px;font-size:12px;color:var(--text);background-color:#101b1d;border:1px solid #41534a;border-radius:6px}
.spell-group-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.spell-group-filter{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:9px 14px;border:1px solid #354b42;border-radius:7px;background:#142225;color:#b9c4bc;font-size:12px}
.spell-group-filter span{font-size:10px;opacity:.7}
.spell-group-filter[aria-pressed="true"]{border-color:#a48b59;background:#3d3d2a;color:#f3dca9}
.spell-group-filter:hover{border-color:#bb9d63;color:#f3dca9}
.spell-results-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0}
.spell-results-bar .count{font-size:12px;color:#aebbb1;margin:0}
.spell-clear-filters{background:none;border:0;color:#d8bd86;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:6px 0;min-height:44px}
.spell-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.spell-active-filters>span{border:1px solid #415547;background:#1c302b;color:#c7d7c9;padding:6px 9px;border-radius:5px;font-size:11px;overflow-wrap:anywhere;max-width:100%}
.spell-active-filters[hidden],.spell-clear-filters[hidden]{display:none!important}
.guide-hub-panel .spell-grid,.spell-static-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.guide-hub-panel .catalog-card.spell-card,.spell-static-grid .catalog-card.spell-card{display:flex;flex-direction:column;gap:0;align-items:stretch;min-width:0;padding:20px;border:1px solid #3b5145;border-radius:11px;background:linear-gradient(150deg,#1c2e2c,#152225 65%);text-align:left;color:var(--text);text-decoration:none;transition:border-color .16s,background-color .16s,box-shadow .16s}
.guide-hub-panel .catalog-card.spell-card:hover,.spell-static-grid .catalog-card.spell-card:hover{border-color:#b29a62;background:#20332f;box-shadow:0 8px 24px #0003}
.spell-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.spell-art{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;border:1px solid #69806366;border-radius:10px;background:radial-gradient(circle,#5a725333,#172524 75%)}
.spell-art .catalog-sprite{width:40px;height:40px;max-width:40px;object-fit:contain;image-rendering:pixelated}
.spell-symbol{display:flex;width:28px;height:28px;align-items:center;justify-content:center;color:#d7be85}
.spell-symbol svg{width:26px;height:26px;display:block}
.spell-symbol[data-spell-group="Cura"]{color:#9cc9a6}.spell-symbol[data-spell-group="Ataque"]{color:#d3ab8a}
.spell-card-badges{display:flex;align-items:flex-end;flex-direction:column;gap:7px}
.spell-kind{color:#c1ccc4;font-size:11px;line-height:1.4}
.spell-access,.spell-promotion{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border:1px solid #5f7b5e66;border-radius:4px;font-size:10px;line-height:1.4;font-weight:500;letter-spacing:.01em;background:#223a2c;color:#b7d7b7}
.spell-access.is-premium,.spell-promotion{color:#dfc48f;background:#393525;border-color:#9c854f66}
.spell-group-label{display:block;font-size:10px;color:#afc4b4;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px}
.spell-group-label[data-spell-group="Ataque"]{color:#d3ad8f}.spell-group-label[data-spell-group="Cura"]{color:#a4cba8}
.guide-hub-panel .spell-card h3,.spell-static-grid .spell-card h3{font:600 19px/1.4 Inter,Arial,sans-serif;color:#ece7da;margin:0 0 8px;letter-spacing:-.02em;overflow-wrap:anywhere}
.spell-card .spell-incantation-preview{display:block;width:100%;min-height:44px;padding:10px 12px;margin:0 0 18px;border-radius:5px;border-left:2px solid #a58b53;background:#0e1a1b;color:#e6c893;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;white-space:normal}
.spell-card-requirements{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;margin:0 0 14px}
.spell-card-requirements>div{min-width:0}.spell-card-requirements>div>span{display:block;color:#aebeb3;font-size:10px;line-height:1.5;margin-bottom:6px}
.spell-card-requirements>div>strong{display:block;font-size:15px;line-height:1.5;color:#e3e5d8;font-weight:500;overflow-wrap:anywhere}
.guide-hub-panel .spell-card .spell-rune-use,.spell-static-grid .spell-card .spell-rune-use{font-size:11px;line-height:1.7;color:#bcc4c5;background:#1a2c30;padding:8px 10px;border-radius:5px;margin:0 0 14px}
.spell-vocations{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.spell-vocation{font-size:10px;color:#bcc8bf;border:1px solid #53634f88;border-radius:4px;background:#23352c;padding:4px 7px;line-height:1.4}
.spell-vocation[data-vocation="Sorcerer"]{background:#302c38;color:#c9bdd9;border-color:#65557088}
.spell-vocation[data-vocation="Druid"]{background:#233b2c;color:#b9d2ba;border-color:#526e5688}
.spell-vocation[data-vocation="Paladin"]{background:#39372b;color:#d2c7a3;border-color:#74664488}
.spell-vocation[data-vocation="Knight"]{background:#38302a;color:#d1bcaa;border-color:#735c4888}
.spell-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid #415247}
.spell-card-footer>span:first-child{display:flex;flex-direction:column;gap:5px}
.spell-card-footer small{font-size:10px;color:#a2b0a6}.spell-card-footer strong{font-size:12px;font-weight:500;color:#d0c4a5}
.spell-card-open{font-size:11px;white-space:nowrap;color:#e2c58c}.spell-card-open>span{margin-left:4px}
.spell-sheet{min-width:0}.spell-sheet-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding-right:18px}
.spell-sheet-heading>.spell-art{width:64px;height:64px;flex-basis:64px}.spell-sheet-heading .catalog-sprite{width:44px;height:44px;max-width:44px}
.spell-sheet-heading>div{min-width:0}.spell-sheet-heading .eyebrow{font-size:10px;line-height:1.6;margin:0 0 7px;color:#c3ac7d}
.spell-sheet-heading h2,.spell-sheet-heading h1{font:600 27px/1.3 Cinzel,Georgia,serif;margin:0 0 10px;color:#ead8b5;overflow-wrap:anywhere}
.spell-sheet-badges{display:flex;gap:7px;flex-wrap:wrap}
.spell-incantation{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:18px 20px;border:1px solid #7b6c4466;border-radius:9px;background:#1c2b28;margin-bottom:24px}
.spell-incantation>div{flex:1 1 180px;min-width:0}.spell-incantation>div>span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b9bda8;margin-bottom:8px}
.spell-incantation .spell-words{display:block;padding:0;background:none;color:#f0d39d;font:19px/1.5 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;white-space:normal}
.spell-incantation .action{min-height:44px;font-size:12px;padding:10px 12px;flex:0 1 auto;border-radius:5px}
.spell-copy-status{font-size:12px;line-height:1.6;margin:0;flex:1 1 100%;color:#b8d1b7}.spell-copy-status:empty{display:none}
.spell-facts.spell-requirements{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px;margin:0 0 24px}
.spell-requirements>div{padding:16px;background:#152426;border:1px solid #3d5147;border-radius:7px;min-width:0}
.spell-requirements dt{font-size:11px;line-height:1.5;color:#aebdb1;margin-bottom:8px}.spell-requirements dd{font-size:18px;line-height:1.4;color:#ece6d8;margin:0;font-weight:500;overflow-wrap:anywhere}
.spell-vocation-section{padding:0 0 22px;border-bottom:1px solid var(--line)}.spell-vocation-section h3{font-size:13px;line-height:1.5;font-weight:500;color:#b7c5b9;margin:0 0 12px}.spell-sheet .spell-vocation{font-size:12px;padding:6px 9px}
.spell-image-note{margin:18px 0;padding:14px 16px;border:1px solid #52654e77;border-radius:7px;background:#1a2b26}.spell-image-note p{font-size:12px;line-height:1.7;color:#b8c4b8;margin:0 0 10px}
.spell-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.spell-section-heading .eyebrow{font-size:9px;margin-bottom:5px;color:#baa87d}.spell-section-heading h3{font-size:19px;color:#e0d8bd;margin:0}.spell-section-heading>span{font-size:11px;color:#aebeb1}
.spell-teachers>p{font-size:13px;line-height:1.8;color:#b7c2b7;margin:0 0 16px}.spell-teacher-cities{display:grid;gap:8px}
.spell-teacher-city{border:1px solid #3f5347;border-radius:7px;background:#162528;min-width:0;overflow:hidden}
.spell-teacher-city>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:14px 16px;cursor:pointer;min-height:48px;color:#dec697;font-size:14px}.spell-teacher-city>summary::-webkit-details-marker{display:none}.spell-teacher-city>summary:after{content:'+';font-size:18px;color:#b3bea9}.spell-teacher-city[open]>summary:after{content:'−'}.spell-teacher-city>summary>small{font-size:10px;color:#a7b6a9;margin-left:auto}
.spell-teacher-city[open]>summary{border-bottom:1px solid #3f5347;background:#20322d}.spell-teacher-city .teacher-list{margin:0;padding:0 14px}.spell-teacher-city .teacher-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #354b3f}.spell-teacher-city .teacher-list>div:last-child{border-bottom:0}.spell-teacher-city .teacher-list p{font-size:11px;line-height:1.7;margin:6px 0 0;color:#aab9ad}.spell-teacher-city .teacher-list button[data-catalog-npc]{font-size:14px;text-align:left;color:#dfcc9e;background:none;border:0;padding:0;min-height:44px}.spell-teacher-city .teacher-list .action{font-size:11px;white-space:nowrap;min-height:44px;padding:8px 10px}
.spell-sheet-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0 12px}.spell-sheet-actions>p{margin:0}.spell-sheet-actions .action{font-size:12px;min-height:44px}.spell-sheet>.catalog-footnote{font-size:11px;line-height:1.8;color:#9fac9f}
.spell-static-grid{margin-top:22px}.spell-static-grid .spell-card[hidden]{display:none!important}.spell-static-grid .spell-card>span{white-space:normal}.spell-static-grid .spell-card-footer strong{display:block}.spell-directory-heading h1{font-family:Cinzel,Georgia,serif;color:#e9d6ad}.spell-directory-heading>.eyebrow{color:#c8ab72;font-size:11px}
@media(min-width:1100px){[data-guide-kind="library-magias"] .guide-hub-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:1000px){[data-guide-kind="library-magias"] .spell-inline-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.spell-overview{padding:18px;gap:14px}.spell-overview p{font-size:20px}.spell-overview-total{flex-basis:86px;padding-left:12px}.spell-overview-total strong{font-size:36px}.spell-overview>div:first-child>span:last-child{font-size:12px}.spell-sheet-heading h2,.spell-sheet-heading h1{font-size:23px}.spell-incantation{padding:16px}.spell-incantation .spell-words{font-size:17px}.spell-requirements dd{font-size:17px}.spell-group-filter{flex:1 1 auto;justify-content:center;padding:9px 10px}.spell-group-filters{gap:6px}.spell-sheet-heading{gap:12px}.spell-sheet-heading>.spell-art{width:52px;height:52px;flex-basis:52px}}
@media(max-width:450px){[data-guide-kind="library-magias"] .guide-hub-panel{padding:16px}[data-guide-kind="library-magias"] .explorer-panel-heading h3{font-size:29px}.spell-overview{align-items:flex-start}.spell-overview .eyebrow{font-size:9px}.spell-overview p{font-size:18px}.spell-overview-total{flex-basis:68px}.spell-overview-total span{font-size:9px}.spell-overview-total strong{font-size:32px}[data-guide-kind="library-magias"] .spell-inline-filters{padding:12px;gap:12px 8px}.spell-filter select{font-size:12px;padding-left:8px}.guide-hub-panel .spell-grid,.spell-static-grid{grid-template-columns:minmax(0,1fr)}.spell-incantation .action{flex-basis:100%;width:100%}.spell-facts.spell-requirements{grid-template-columns:repeat(2,minmax(0,1fr))}.spell-requirements>div{padding:12px}.spell-requirements dt{font-size:10px}.spell-requirements dd{font-size:15px}.spell-teacher-city .teacher-list>div{align-items:flex-start;flex-wrap:wrap}.spell-sheet-actions{align-items:stretch;flex-direction:column}.spell-sheet-actions .action{width:100%}}
@media(prefers-reduced-motion:reduce){.spell-card{transition:none!important}}
.spell-card>.spell-vocations{padding-bottom:18px}

.spell-sheet-actions:empty{display:none}

.spell-teacher-cities .spell-teacher-city{margin:0}
[data-guide-kind="library-magias"] #catalog-more[hidden]{display:none!important}
