.witchcraft-library-page{--wl-ink:#173b50;--wl-blue:#285e80;--wl-muted:#566c78;--wl-line:#dce5e9;--wl-paper:#fbfcfc;background:var(--wl-paper);color:var(--wl-ink)}
.wl-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.wl-skip{position:absolute;top:-80px;left:16px;z-index:100;background:#fff;padding:12px;color:var(--wl-ink)}
.wl-skip:focus{top:12px}
.witchcraft-library-page main a{text-decoration:none}
.witchcraft-library-page main a:hover{text-decoration:none}
.witchcraft-library-page main :focus-visible{outline:3px solid #ba8e35;outline-offset:4px}
.wl-hero{background:#f0f5f6;border-bottom:1px solid var(--wl-line);padding:20px 0 25px}
.wl-crumb{font-size:12px;color:var(--wl-muted);display:flex;align-items:center;gap:9px;margin-bottom:22px}
.wl-crumb a{color:var(--wl-blue)}
.wl-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:end}
.wl-eyebrow{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#8a682c;margin:0 0 9px;text-transform:uppercase}
.wl-hero h1{font:700 clamp(32px,4vw,49px)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--wl-ink);margin:0 0 12px}
.wl-lead{max-width:700px;margin:0;font:16px/1.7 Arial,sans-serif;color:#48616f}
.wl-hero-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:13px;font:700 12px/1.5 Arial,sans-serif}
.wl-hero-actions a{color:var(--wl-blue);text-decoration:underline!important;text-underline-offset:3px}
.wl-stats{display:flex;gap:26px;padding-bottom:3px}
.wl-stats>div{display:flex;flex-direction:column;border-left:1px solid #cddde3;padding-left:20px;gap:3px}
.wl-stats strong{font:700 30px/1 Georgia,serif;color:var(--wl-blue)}
.wl-stats span{font-size:11px;color:var(--wl-muted);white-space:nowrap}
.wl-intro-panel{max-width:860px;margin:20px 0 28px}
.wl-intro-panel .companion-callout{margin:0}
.wl-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 14px}
.wl-section-heading h2{font:700 26px/1.2 Georgia,serif;margin:0;color:var(--wl-ink)}
.wl-section-heading>a{font-size:12px;color:var(--wl-blue);text-decoration:underline!important;text-underline-offset:3px;white-space:nowrap}
.wl-featured{margin-bottom:30px}
.wl-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.wl-feature{display:block;min-width:0;border:1px solid var(--wl-line);background:#fff;color:var(--wl-ink);transition:border-color .15s,box-shadow .15s}
.wl-feature:hover{border-color:#8ca9b9;box-shadow:0 5px 14px #173b5010}
.wl-feature img{display:block;width:100%;height:132px;object-fit:cover;background:#e7edee}
.wl-feature-body{padding:13px 14px 15px}
.wl-feature .wl-eyebrow{font-size:9px;margin-bottom:6px;color:#6c7880;letter-spacing:.09em}
.wl-feature h3{font:700 20px/1.2 Georgia,serif;margin:0 0 7px;color:var(--wl-ink)}
.wl-feature p:not(.wl-eyebrow){font:12px/1.6 Arial,sans-serif;color:var(--wl-muted);margin:0 0 10px}
.wl-feature-action{font:700 11px/1.4 Arial,sans-serif;color:var(--wl-blue);display:flex;align-items:center;justify-content:space-between}
.wl-feature:hover .wl-feature-action{text-decoration:underline;text-underline-offset:3px}
.wl-browser{display:grid;grid-template-columns:235px minmax(0,1fr);column-gap:32px;border-top:2px solid var(--wl-blue);padding-top:23px;margin-bottom:54px;scroll-margin-top:20px}
.wl-sidebar{min-width:0}
.wl-sidebar-inner{position:sticky;top:20px}
.wl-sidebar h2{font:700 11px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px;color:var(--wl-muted)}
.wl-topic-list{display:grid;gap:2px}
.wl-topic-link{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#365c73;padding:11px 12px;border:1px solid transparent;font:13px/1.35 Arial,sans-serif;border-radius:3px}
.wl-topic-link span{color:var(--wl-muted);font-size:11px;flex-shrink:0}
.wl-topic-link:hover{background:#eef3f5}
.wl-topic-link[aria-current=true]{color:#fff;background:var(--wl-blue);font-weight:700}
.wl-topic-link[aria-current=true] span{color:#e6edf2}
.wl-side-links{border-top:1px solid var(--wl-line);padding-top:18px;margin-top:19px}
.wl-side-links h3{font:700 18px/1.2 Georgia,serif;margin:0 0 11px}
.wl-side-links a{display:block;font:12px/1.5 Arial,sans-serif;color:var(--wl-blue);padding:7px 0}
.wl-side-links a:hover{text-decoration:underline!important;text-underline-offset:3px}
.wl-results{min-width:0}
.wl-results-heading h2{font:700 28px/1.15 Georgia,serif;margin:0 0 8px;color:var(--wl-ink)}
.wl-results-heading p{font:13px/1.65 Arial,sans-serif;margin:0 0 17px;color:var(--wl-muted);max-width:650px}
.wl-controls{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:12px;margin-bottom:12px}
.wl-search-box>label,.wl-sort-box>label,.wl-mobile-topic>label{display:block;font:700 11px/1.5 Arial,sans-serif;color:#48616f;margin:0 0 5px}
.wl-search-field{display:flex;align-items:center;gap:9px;border:1px solid #afc1cb;border-radius:3px;background:#fff;height:45px;padding:0 12px}
.wl-search-field:focus-within{outline:2px solid var(--wl-blue);outline-offset:1px}
.wl-search-field svg{width:18px;height:18px;color:#657b88;flex-shrink:0}
.wl-search-field input{width:100%;border:0;padding:0;outline:none!important;font:14px Arial,sans-serif;color:var(--wl-ink);min-width:0;background:transparent}
.wl-search-clear{background:transparent;border:0;font:18px Arial,sans-serif;color:#566c78;padding:5px;cursor:pointer}
.wl-sort-box select,.wl-mobile-topic select{width:100%;height:45px;font:13px Arial,sans-serif;border:1px solid #afc1cb;border-radius:3px;color:var(--wl-ink);background:#fff;padding:0 10px}
.wl-mobile-topic{display:none;margin-bottom:12px}
.wl-search-hints{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font:11px/1.5 Arial,sans-serif;color:var(--wl-muted);margin-bottom:20px}
.wl-search-hints button{border:0;background:transparent;padding:2px 0;color:var(--wl-blue);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.wl-search-hints button+button:before{content:'·';display:inline-block;color:#9aabb4;margin-right:9px}
.wl-result-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--wl-line);padding-bottom:10px;margin-bottom:0}
.wl-result-meta p{font:12px/1.5 Arial,sans-serif;color:var(--wl-muted);margin:0}
.wl-reset{border:0;background:transparent;color:var(--wl-blue);font:12px Arial,sans-serif;cursor:pointer;padding:5px 0;text-decoration:underline;text-underline-offset:3px}
.wl-guide-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;padding:0;margin:0}
.wl-guide{min-width:0;border-bottom:1px solid var(--wl-line)}
.wl-guide>a{display:block;padding:17px 0 18px;color:var(--wl-ink);height:100%}
.wl-guide-category{display:block;text-transform:uppercase;letter-spacing:.06em;font:700 10px/1.4 Arial,sans-serif;color:var(--wl-muted);margin-bottom:7px}
.wl-guide strong{display:block;font:700 18px/1.3 Georgia,serif;color:#245572;margin:0 0 7px}
.wl-guide-description{display:block;font:12px/1.65 Arial,sans-serif;color:var(--wl-muted)}
.wl-guide:hover strong{text-decoration:underline;text-underline-offset:3px}
.wl-fallback-group{margin:24px 0}
.wl-fallback-group h3{font:700 22px Georgia,serif;color:var(--wl-blue)}
.wl-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}
.wl-pagination>span{font:12px Arial,sans-serif;color:var(--wl-muted)}
.wl-page-buttons{display:flex;gap:5px;align-items:center}
.wl-page-buttons button{border:1px solid #c6d6de;background:#fff;color:var(--wl-blue);min-width:34px;height:34px;padding:0 9px;font:12px Arial,sans-serif;border-radius:3px;cursor:pointer}
.wl-page-buttons button[aria-current=page]{background:var(--wl-blue);color:#fff;border-color:var(--wl-blue);font-weight:700}
.wl-page-buttons button:hover:not(:disabled){border-color:var(--wl-blue)}
.wl-page-buttons button:disabled{opacity:.4;cursor:default}
.wl-page-buttons .wl-dots{font-size:12px;color:var(--wl-muted);padding:0 2px}
.wl-empty{padding:35px 22px;text-align:center;background:#f1f5f6;border-bottom:1px solid var(--wl-line)}
.wl-empty h3{font:700 23px Georgia,serif;margin:0 0 10px;color:var(--wl-ink)}
.wl-empty p{font:13px/1.6 Arial,sans-serif;color:var(--wl-muted);margin:0 0 15px}
.wl-empty button{background:var(--wl-blue);border:0;color:#fff;padding:10px 16px;border-radius:3px;cursor:pointer;font:700 12px Arial,sans-serif}
.wl-noscript{background:#eef4f6;padding:12px 16px;font:13px/1.6 Arial,sans-serif;color:var(--wl-muted)}
.wl-enhanced .wl-topic-list{display:grid}
.wl-enhanced [data-no-js]{display:none}
.witchcraft-library-page [hidden]{display:none!important}
@media(max-width:1000px){.wl-hero-grid{gap:20px}.wl-stats{gap:16px}.wl-stats>div{padding-left:14px}.wl-browser{grid-template-columns:210px minmax(0,1fr);column-gap:24px}.wl-feature-grid{gap:12px}.wl-feature h3{font-size:18px}}
@media(max-width:760px){.wl-wrap{width:calc(100% - 32px)}.wl-hero{padding:17px 0 21px}.wl-crumb{margin-bottom:18px}.wl-hero-grid{grid-template-columns:1fr;gap:17px}.wl-stats>div:first-child{border:0;padding-left:0}.wl-stats{gap:22px}.wl-stats strong{font-size:24px}.wl-lead{font-size:14px;line-height:1.65}.wl-intro-panel{margin-top:16px;margin-bottom:25px}.wl-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wl-feature img{height:120px}.wl-feature-body{padding:12px}.wl-browser{grid-template-columns:minmax(0,1fr);padding-top:20px}.wl-sidebar{display:none}.wl-enhanced .wl-mobile-topic{display:block}.wl-section-heading h2{font-size:23px}.wl-section-heading{gap:12px}.wl-section-heading>a{font-size:11px}.wl-results-heading h2{font-size:26px}.wl-guide-list{column-gap:19px}.wl-controls{grid-template-columns:minmax(0,1fr) 135px}.wl-pagination{flex-direction:column;align-items:flex-start;gap:13px}}
@media(max-width:460px){.wl-wrap{width:calc(100% - 28px)}.wl-feature-grid{gap:10px}.wl-feature img{height:106px}.wl-feature h3{font-size:18px}.wl-feature p:not(.wl-eyebrow){font-size:11px;line-height:1.6}.wl-feature-body{padding:11px}.wl-guide-list{grid-template-columns:minmax(0,1fr)}.wl-guide>a{padding:17px 0}.wl-controls{grid-template-columns:minmax(0,1fr)}.wl-search-hints{gap:8px}.wl-page-buttons{gap:4px}.wl-page-buttons button{min-width:31px;padding:0 8px}.wl-result-meta{align-items:baseline;gap:8px}.wl-reset{white-space:nowrap}.wl-stats span{font-size:10px}.wl-hero h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.wl-feature{transition:none}}
