:root{--bg-details: #0d0d14;--accent-green: #5a9b5a;--completed: rgba(90, 155, 90, .15)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,rgba(74,139,155,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(123,94,167,.08) 0%,transparent 50%);pointer-events:none;z-index:-1}header:after{background:linear-gradient(90deg,transparent,var(--accent-cyan),transparent)}h1{background:linear-gradient(180deg,var(--text-primary) 0%,var(--accent-cyan) 100%);-webkit-background-clip:text;background-clip:text}.stat-value{color:var(--accent-cyan)}.progress-fill{background:linear-gradient(90deg,var(--accent-purple-dim),var(--accent-cyan))}.controls-bar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.view-toggle{display:flex;gap:.5rem}.view-btn{font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.view-btn:hover,.view-btn.active{color:var(--accent-cyan);border-color:var(--accent-cyan);background:#4a8b9b0d}.filter-bar{border-bottom:none;padding:0}.filter-btn{font-size:.75rem;padding:.4rem .8rem}.instructions span{color:var(--accent-cyan)}.incantations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:2rem 0}.incantation-card{position:relative;background:var(--bg-card);border:1px solid var(--border-color);padding:1rem;transition:all .3s ease;cursor:pointer;min-height:200px;display:flex;flex-direction:column}.incantation-card.completed{background:linear-gradient(135deg,var(--completed) 0%,var(--bg-card) 100%);border-color:#5a9b5a4d}.incantation-card:hover{background:var(--bg-card-hover);border-color:var(--accent-cyan);box-shadow:0 4px 12px #4a8b9b33}.check-mark{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--accent-green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;opacity:0;transform:scale(0);transition:all .3s ease}.incantation-card.completed .check-mark{opacity:1;transform:scale(1)}.card-icon{width:64px;height:64px;margin:0 auto .75rem;font-size:3rem;text-align:center;line-height:64px;opacity:.7;display:flex;align-items:center;justify-content:center}.card-icon img{width:100%;height:100%;object-fit:contain}.card-name{font-family:Cinzel,serif;font-size:.9rem;font-weight:600;color:var(--accent-cyan);margin-bottom:.5rem;text-align:center;line-height:1.3}.card-category{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:.5rem}.card-materials{font-size:.75rem;color:var(--text-secondary);margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border-color)}.incantations-list{display:none;flex-direction:column;gap:.5rem;padding:2rem 0}.incantations-list.active{display:flex}.incantation-row{background:var(--bg-card);border:1px solid var(--border-color);padding:1rem 1.5rem;transition:all .3s ease;cursor:pointer;display:grid;grid-template-columns:40px 2fr 3fr 1fr auto;gap:1.5rem;align-items:center}.incantation-row.completed{background:linear-gradient(90deg,var(--completed) 0%,var(--bg-card) 100%);border-left:3px solid var(--accent-green)}.incantation-row:hover{background:var(--bg-card-hover);border-color:var(--accent-cyan)}.row-icon{font-size:2rem;text-align:center;opacity:.7;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.row-icon img{width:100%;height:100%;object-fit:contain}.row-name{font-family:Cinzel,serif;font-size:1.05rem;font-weight:600;color:var(--accent-cyan)}.row-effect{font-size:.9rem;color:var(--text-secondary);line-height:1.4}.row-materials{font-size:.85rem;color:var(--text-secondary);text-align:right}.row-check{width:24px;height:24px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.incantation-row.completed .row-check{background:var(--accent-green);border-color:var(--accent-green);color:#fff}@media(max-width:1000px){.incantation-row{grid-template-columns:1fr;gap:.5rem}.row-materials{text-align:left}}.details-panel{border-color:var(--accent-cyan)}.close-details:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.details-header h3{font-family:Cinzel,serif;font-size:1.8rem;font-weight:600;color:var(--accent-cyan);margin-bottom:.5rem}.details-category{margin-bottom:1.5rem}.section-content{font-size:1.05rem;line-height:1.7;color:var(--text-primary)}.materials-list{display:flex;flex-wrap:wrap;gap:.75rem}.material-item{padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-color);font-size:.9rem;color:var(--text-primary)}.material-item .qty{color:var(--accent-gold);font-weight:600;margin-right:.25rem}.toggle-complete{width:100%;padding:.75rem;margin-top:1rem;font-family:Cinzel,serif;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;background:transparent;border:2px solid var(--accent-green);color:var(--accent-green);cursor:pointer;transition:all .3s ease}.toggle-complete:hover,.toggle-complete.completed{background:var(--accent-green);color:var(--bg-dark)}footer span{color:var(--accent-cyan)}
