/* Relicário de habilidades — neon por dificuldade e superfície translúcida. */
.hab-destaque { margin: 1.2rem 0 1.8rem; padding: 1.3rem; border: 1px solid #a855f733; border-radius: 12px; background: linear-gradient(115deg,#a855f711,#22d3ee08); }
.hab-linha { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.hab-linha h2 { margin:.2rem 0 .8rem; font-family:var(--font-title); font-size:1.2rem; }
.hab-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; margin:1rem 0; }
.hab-card,.hab-progresso { --hab-cor:#22d3ee; position:relative; padding:1.25rem; border:1px solid color-mix(in srgb,var(--hab-cor) 30%,transparent); border-radius:5px 20px 5px 20px; background:linear-gradient(135deg,color-mix(in srgb,var(--hab-cor) 10%,transparent),#090b1699 60%); box-shadow:inset 0 1px color-mix(in srgb,var(--hab-cor) 12%,transparent),0 8px 28px #0002; transition:border-color .25s,box-shadow .25s; overflow-wrap:anywhere; }
.hab-card:hover,.hab-pronta { border-color:color-mix(in srgb,var(--hab-cor) 65%,transparent); box-shadow:0 0 24px color-mix(in srgb,var(--hab-cor) 10%,transparent); }
.hab-card-top { display:flex; align-items:center; gap:1rem; }
.hab-glifo { width:72px; height:72px; flex-shrink:0; color:var(--hab-cor,#a855f7); filter:drop-shadow(0 0 9px color-mix(in srgb,var(--hab-cor,#a855f7) 40%,transparent)); }
.hab-orbita { transform-origin:40px 40px; animation:hab-respirar 5s ease-in-out infinite; }
.hab-etiqueta { text-transform:uppercase; letter-spacing:.15em; font-family:var(--font-section); font-size:.65rem; color:var(--hab-cor,#c4b5fd); }
.hab-card h3,.hab-progresso h3 { font-family:var(--font-title); font-size:1rem; margin:1rem 0 .4rem; color:var(--text-primary); }
.hab-card p,.hab-progresso p,.hab-explicacao,.hab-vazio,.hab-regras { color:var(--text-muted); font-size:.85rem; line-height:1.65; }
.hab-feito { display:flex; align-items:center; gap:.8rem; padding:1rem 0; border-bottom:1px solid #ffffff0c; }
.hab-feito strong,.hab-resumo strong,.hab-progresso b { font-family:var(--font-mono,'Orbitron',monospace); font-variant-numeric:tabular-nums; color:var(--hab-cor,#22d3ee); }
.hab-feito strong { font-size:1.9rem; }
.hab-feito span { font-size:.75rem; color:var(--text-secondary); line-height:1.5; }
.hab-origem { min-height:2.5em; }
.hab-progresso progress { display:block; width:100%; height:6px; appearance:none; border:0; border-radius:6px; margin:1rem 0; background:#ffffff0a; color:var(--hab-cor); }
.hab-progresso progress::-webkit-progress-bar { background:#ffffff0a; border-radius:6px; }
.hab-progresso progress::-webkit-progress-value { background:var(--hab-cor); border-radius:6px; box-shadow:0 0 12px var(--hab-cor); }
.hab-progresso progress::-moz-progress-bar { background:var(--hab-cor); border-radius:6px; }
.hab-progresso small { color:var(--text-muted); line-height:1.6; }
.hab-progresso .btn { width:100%; margin-top:.35rem; }
.hab-resumo { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; padding:1.5rem; border:1px solid #a855f733; background:#a855f708; border-radius:8px; }
.hab-resumo strong { font-size:2rem; }.hab-resumo span { color:var(--text-muted); }
.hab-secao { font-family:var(--font-section); letter-spacing:.08em; margin-top:2rem; font-size:1.15rem; }
.hab-regras { padding:.8rem 1rem; border:1px solid #ffffff12; border-radius:8px; }.hab-regras summary { cursor:pointer; color:var(--text-secondary); }
[data-hab-rotina] .hab-progresso { margin:-.2rem .6rem .6rem; border-radius:0 0 10px 10px; padding:.75rem 1rem; }
.hab-dialogo { width:min(540px,calc(100vw - 2rem)); max-height:85dvh; overflow:auto; padding:1.6rem; background:linear-gradient(150deg,#1b1230,#090d19); border:1px solid #a855f766; border-radius:8px 24px; color:var(--text-primary,#eee); box-shadow:0 0 70px #7c3aed26; }
.hab-dialogo::backdrop { background:#02030cbb; backdrop-filter:blur(6px); }
.hab-dialogo p { line-height:1.6; font-size:.9rem; }
.hab-dialogo input { display:block; box-sizing:border-box; width:100%; margin:.5rem 0 1rem; border:1px solid #a855f766; background:#ffffff08; border-radius:6px; padding:.8rem; color:inherit; font:inherit; }
.hab-dialogo input:focus-visible { outline:2px solid #22d3ee; outline-offset:2px; }
.hab-ritual { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.7rem; padding:1.4rem; }.hab-ritual .hab-glifo { width:100px;height:100px; }
.hab-dados { display:grid; grid-template-columns:1fr 1.2fr; gap:.75rem; font-size:.85rem; }.hab-dados dt { color:var(--text-muted); }.hab-dados dd { margin:0; overflow-wrap:anywhere; }
.hab-erro { color:#fda4af; }.hab-vazio { padding:1.5rem; border:1px dashed #a855f733; border-radius:8px; }
@keyframes hab-respirar { 50% { opacity:.4; transform:rotate(6deg); } }
@media(max-width:600px) { .hab-destaque{padding:1rem}.hab-dialogo{padding:1.1rem}.hab-dados{grid-template-columns:1fr}.hab-dados dd{margin-bottom:.5rem} }
@media(prefers-reduced-motion:reduce) { .hab-orbita{animation:none}.hab-card,.hab-progresso{transition:none} }
