@import "https://fonts.googleapis.com/css2?family=IM+Fell+English&family=Crimson+Text&display=swap";:root{--color-bg-dark:#3d2b1f;--color-bg-dark-light:#4e372a;--color-bg-dark-hover:#7d654c;--color-bg-dark-active:#6b5640;--color-parchment:#f4e4c1;--color-parchment-hover:#ecdbb0;--color-parchment-active:#dcc99a;--color-ink:#2c1810;--color-ink-muted:#6b5640;--color-ink-subtle:#8b7355;--color-gold:#c4a265;--color-gold-dark:#8b6914;--color-text:var(--color-parchment);--color-text-on-parchment:var(--color-ink);--color-border:var(--color-gold);--color-border-focus:var(--color-gold-dark);--color-focus-glow:#c4a26580;--color-trait-default-bg:#6b2a2a;--color-trait-default-text:#f0e4e0;--color-trait-uncommon-bg:#8b4f3a;--color-trait-uncommon-text:#f0e4e0;--color-trait-rare-bg:#3a6b35;--color-trait-rare-text:#e8f0e4;--color-trait-unique-bg:#5a7f54;--color-trait-unique-text:#e8f0e4;--color-arcane:#7b2d8b;--color-divine:#b8860b;--color-occult:#26a;--color-primal:#2e8b57;--color-focus:#8b4513;--color-cantrip:#c33}html,body{color:#f4e4c1;background-color:#3d2b1f;margin:0;padding:0;font-family:Crimson Text,serif;overflow:hidden}h1{font-family:IM Fell English,serif}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}.application-container{box-sizing:border-box;background-color:var(--color-bg-dark);gap:8px;width:100vw;height:100vh;padding:8px;display:flex}.side-content{background-color:var(--color-parchment);color:var(--color-text-on-parchment);border-radius:4px;flex-direction:column;flex:.1;display:flex;overflow:hidden}.side-content>h1,.side-content>ul{margin:0;padding:5px}.main-content{flex:1}.side-content ul li{cursor:pointer}.side-content ul li a{box-sizing:border-box;border-radius:4px;width:100%;height:100%;padding:5px;display:block}.side-content ul li a:hover{background-color:var(--color-parchment-hover)}.side-content ul li a.active{background-color:var(--color-bg-dark);color:var(--color-parchment)}.side-content ul li a.active:hover{background-color:var(--color-bg-dark-active)}.side-content .license-link{background-color:var(--color-bg-dark-light);color:var(--color-parchment);text-align:center;border-radius:0;margin-top:auto;margin-bottom:8px;padding:10px 12px;font-family:IM Fell English,serif}.side-content .license-link:hover{background-color:var(--color-bg-dark-active)}@media (width<=768px){.application-container{flex-direction:column;gap:4px;height:100dvh;padding:4px}.side-content{flex-direction:row;flex:none;align-items:center;gap:8px;padding:4px 8px}.side-content>h1{white-space:nowrap;margin:0;padding:0;font-size:1.25rem}.side-content>ul{flex:1;gap:4px;margin:0;padding:0;display:flex}.side-content ul li a{padding:6px 10px}.side-content .license-link{margin:0;padding:6px 10px;font-size:.9rem}.main-content{flex:1;min-height:0}}.search{box-sizing:border-box;color:#2c1810;background-color:#f4e4c1;border:2px solid #c4a265;border-radius:2px;outline:none;width:100%;margin:5px;padding:12px 16px;font-family:Crimson Text,serif;font-size:1.05rem;transition:border-color .3s,box-shadow .3s;display:block;box-shadow:inset 0 1px 3px #00000026}.search::placeholder{color:#8b7355;font-style:italic}.search:focus{border-color:#8b6914;box-shadow:inset 0 1px 3px #00000026,0 0 6px #c4a26580}.tags{flex-wrap:wrap;flex:none;gap:8px;display:flex}.tag{border:1px solid var(--color-gold);cursor:pointer;white-space:nowrap;background-color:var(--color-parchment);color:var(--color-ink);-webkit-user-select:none;user-select:none;border-radius:2px;padding:4px 10px;font-family:Crimson Text,serif;font-size:.9rem;transition:background-color .2s,border-color .2s,color .2s}.tag:hover{background-color:var(--color-parchment-hover);border-color:var(--color-gold-dark)}.tag-active{background-color:var(--color-bg-dark-active);color:var(--color-parchment);border-color:var(--color-bg-dark-active)}.tag-active:hover{background-color:var(--color-bg-dark-hover);border-color:var(--color-bg-dark-hover)}.tooltip-wrapper{position:relative}.tooltip-wrapper:after{content:attr(data-tooltip);background:var(--color-ink);color:var(--color-parchment);border:1px solid var(--color-gold);white-space:nowrap;opacity:0;pointer-events:none;border-radius:2px;padding:6px 10px;font-family:Crimson Text,serif;font-size:12px;transition:opacity .2s;position:absolute;bottom:120%;left:50%;transform:translate(-50%)}.tooltip-wrapper:hover:after{opacity:1}.collapsible-filters{flex-direction:column;gap:8px;display:flex}.collapsible-filters-toggle{border:1px solid var(--color-gold);background-color:var(--color-parchment);color:var(--color-ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px;align-self:flex-start;padding:6px 14px;font-family:Crimson Text,serif;font-size:.95rem;transition:background-color .2s,border-color .2s}.collapsible-filters-toggle:hover{background-color:var(--color-parchment-hover);border-color:var(--color-gold-dark)}.collapsible-filters-content{flex-direction:column;gap:8px;display:flex}.spells{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:5px;min-height:0;display:grid;overflow-y:auto}@media (width<=768px){.spells{grid-template-columns:1fr}}.spell{color:#2c1810;cursor:default;-webkit-user-select:none;user-select:none;background-color:#f4e4c1;border:1px solid #c4a265;border-radius:4px;flex-direction:column;padding:10px;display:flex}.spell-description{flex:1}h1,h3{margin:0;padding:0}.header-container{border-bottom:2px solid #c4a265;justify-content:space-between;align-items:center;width:100%;display:flex}.rank{color:#6b5640;white-space:nowrap;font-style:italic}.variant-toggle{border:1px solid #c4a265;border-radius:2px;margin:0 8px;display:flex;overflow:hidden}.variant-btn{color:#6b5640;cursor:pointer;background-color:#f4e4c1;border:none;border-right:1px solid #c4a265;padding:2px 10px;font-family:IM Fell English,serif;font-size:.85rem;transition:background-color .2s,color .2s}.variant-btn:last-child{border-right:none}.variant-btn:hover{background-color:#ecdbb0}.variant-btn-active{color:#f4e4c1;background-color:#6b5640}.variant-btn-active:hover{background-color:#7d654c}.spell-stats{background-color:#ecdbb0;border:1px solid #c4a265;border-top-width:2px;border-radius:0 0 4px 4px;flex-wrap:wrap;gap:4px 16px;margin:0 -10px -10px;padding:8px 10px;font-size:.85rem;display:flex}.spell-stats:not(:last-child){border-radius:0;padding-bottom:14px}.spell-outcomes{border-top:2px solid #c4a265;border-radius:0 0 4px 4px;gap:0;margin:0 -10px -10px;font-size:.8rem;display:flex;overflow:hidden}.spell-outcomes:not(:last-child){border-radius:0;margin-bottom:0}.outcome{border-right:1px solid #00000026;flex-direction:column;flex:1;padding:6px 8px;display:flex}.outcome:last-child{border-right:none}.outcome strong{text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:.75rem}.outcome-critical-success{color:#e8f0e4;background-color:#3a6b35}.outcome-success{color:#e8f0e4;background-color:#5a7f54}.outcome-failure{color:#f0e4e0;background-color:#8b4f3a}.outcome-critical-failure{color:#f0e4e0;background-color:#6b2a2a}.spell-heighten{background-color:#ecdbb0;border-top:2px solid #c4a265;border-radius:0 0 4px 4px;flex-direction:column;gap:4px;margin:0 -10px -10px;padding:8px 10px;font-size:.85rem;display:flex}.heighten-label{text-transform:uppercase;letter-spacing:.05em;color:#6b5640;font-family:IM Fell English,serif;font-size:.8rem}.heighten-entry{gap:6px;display:flex}.heighten-trigger{white-space:nowrap;color:#6b5640;font-weight:700}.description{flex:1;margin-bottom:5px}.description .hl-dice{color:#b8860b;font-weight:700}.description .hl-damage{color:#c33;font-weight:700}.description .hl-healing{color:#2e8b57;font-weight:700}.description .hl-save{color:#8b4513;font-weight:700}.description .hl-condition{color:#7b2d8b;font-weight:700}.description .hl-range{color:#26a}.description .hl-duration{color:#666;font-style:italic}.description .action{color:#6b5640;font-weight:700}@media (width<=768px){.header-container{flex-wrap:wrap}.header-container h1{font-size:1.2rem}.spell-outcomes{flex-wrap:wrap}.outcome{flex:40%}}.pagination{color:#2c1810;justify-content:center;align-items:center;gap:12px;padding:8px 0;font-family:Crimson Text,serif;display:flex}.pagination span{color:#6b5640;text-align:center;min-width:60px;font-size:1rem;font-style:italic}.pagination button{color:#2c1810;cursor:pointer;background-color:#f4e4c1;border:1px solid #c4a265;border-radius:2px;padding:6px 16px;font-family:IM Fell English,serif;font-size:.9rem;transition:background-color .2s,border-color .2s}.pagination button:hover{background-color:#ecdbb0;border-color:#8b6914}.pagination button:active{background-color:#dcc99a}.loading-spinner-container{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.loading-spinner{border:4px solid var(--color-bg-dark-light);border-top-color:var(--color-gold);border-right-color:var(--color-gold-dark);border-radius:50%;width:48px;height:48px;animation:.9s linear infinite loading-spinner-spin;box-shadow:0 0 8px #c4a26566}@keyframes loading-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:2.5s}}@media (width<=768px){.search-row{flex-wrap:wrap}.search-row .search{width:100%}.rank-select{flex:1}}.creatures{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:5px;min-height:0;display:grid;overflow-y:auto}@media (width<=768px){.creatures{grid-template-columns:1fr}}.creature{border:1px solid var(--color-gold);background-color:var(--color-parchment);color:var(--color-ink);cursor:default;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;gap:6px;padding:10px;display:flex}.creature h1,.creature h3{margin:0;padding:0}.creature .header-container{border-bottom:2px solid var(--color-gold);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding-bottom:4px;display:flex}.creature-subtitle{color:var(--color-ink-muted);white-space:nowrap;font-style:italic}.creature-traits{flex-wrap:wrap;gap:4px;display:flex}.creature-traits .trait{background-color:var(--color-trait-default-bg);color:var(--color-trait-default-text);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--color-ink);padding:2px 8px;font-family:IM Fell English,serif;font-size:.72rem}.creature-statline{border:2px solid var(--color-gold);background-color:var(--color-parchment-hover);border-radius:4px;flex-direction:column;align-self:center;margin:4px 0;padding:6px 10px;display:flex}.statline-row{flex-wrap:wrap;justify-content:center;display:flex}.statline-row+.statline-row{border-top:1px solid var(--color-gold);margin-top:4px;padding-top:4px}.statline-item{box-sizing:border-box;border-right:1px solid var(--color-gold);flex-direction:column;justify-content:center;align-items:center;width:140px;padding:2px 8px;display:flex}.statline-item:last-child{border-right:none}.statline-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-muted);font-family:IM Fell English,serif;font-size:.7rem}.statline-value{color:var(--color-ink);font-family:IM Fell English,serif;font-size:1.15rem;font-weight:700}.statline-speed .statline-value{text-align:center;word-break:break-word;font-size:.9rem;font-weight:400}.creature-lines{flex-direction:column;gap:2px;font-size:.9rem;display:flex}.creature-abilities-row{flex-wrap:wrap;gap:4px 12px;margin-top:2px;display:flex}.ability-score{white-space:nowrap}.creature-defenses{border:1px solid var(--color-gold);border-top:2px solid var(--color-gold);background-color:var(--color-parchment-hover);flex-direction:column;gap:2px;margin:0 -10px;padding:6px 10px;font-size:.9rem;display:flex}.defense-row{flex-wrap:wrap;gap:4px 16px;display:flex}.creature-section{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-muted);border-bottom:1px solid var(--color-gold);padding-bottom:2px;font-family:IM Fell English,serif;font-size:.85rem}.creature-attacks{flex-direction:column;gap:4px;display:flex}.attack{border-left:3px solid var(--color-gold);background-color:var(--color-parchment-hover);padding:2px 8px}.attack-header{flex-wrap:wrap;gap:4px;display:flex}.attack-traits,.ability-traits{color:var(--color-ink-muted);font-size:.75rem;font-style:italic}.creature-abilities{flex-direction:column;gap:6px;display:flex}.ability{border-left:3px solid var(--color-gold);background-color:var(--color-parchment-hover);padding:2px 8px}.ability-header{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.ability-action{color:var(--color-ink-muted);font-style:italic}.ability-section{color:var(--color-ink-muted);font-size:.8rem}.ability-description{margin-top:2px}.creature-items{font-size:.9rem}.creature-footer{border-top:2px solid var(--color-gold);background-color:var(--color-parchment-hover);color:var(--color-ink-muted);border-radius:0 0 4px 4px;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:auto -10px -10px;padding:6px 10px;font-size:.8rem;display:flex}.creature-footer .source{font-style:italic}@media (width<=768px){.creature .header-container h1{font-size:1.2rem}}.main{height:100%;display:flex}.content{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.search-row{align-items:center;gap:8px;display:flex}.search-row .search{margin:0}.rank-select{border:2px solid var(--color-gold);background-color:var(--color-parchment);color:var(--color-ink);cursor:pointer;white-space:nowrap;border-radius:2px;outline:none;padding:10px 8px;font-family:Crimson Text,serif;font-size:1rem}.rank-select:focus{border-color:var(--color-gold-dark);box-shadow:0 0 6px var(--color-focus-glow)}@media (width<=768px){.search-row{flex-wrap:wrap}.search-row .search{width:100%}.rank-select{flex:1}}.license-page{box-sizing:border-box;max-width:900px;height:100vh;margin:0 auto;padding:20px;overflow-y:auto}.license-page h1{color:#c4a265;border-bottom:2px solid #c4a265;padding-bottom:10px;font-family:IM Fell English,serif}.license-page h2{color:#c4a265;margin-top:30px;font-family:IM Fell English,serif}.license-section{margin-bottom:30px}.license-section p{text-align:justify;margin-bottom:12px;line-height:1.6}.copyright-list{padding:0;list-style:none}.copyright-list li{border-bottom:1px solid #c4a26533;padding:6px 0;line-height:1.5}.back-link{color:#c4a265;padding:6px 0;font-family:Crimson Text,serif;font-size:1.1rem;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}
