*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#1a1410;color:#1a1208;font-family:Cormorant Garamond,serif;font-size:19px;line-height:1.65;min-height:100vh;overflow-x:hidden}::selection{background:#d4af3759;color:#f5e6c8}#embers{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ember{position:absolute;border-radius:50%;opacity:0;animation:drift linear infinite}.ember-amber{width:5px;height:5px;background:radial-gradient(circle,#a73,#631);box-shadow:0 0 4px #6314,0 0 8px #6312}.ember-gold{width:4px;height:4px;background:radial-gradient(circle,#c95,#863);box-shadow:0 0 4px #8634,0 0 8px #8632}.ember-rune{width:6px;height:6px;background:radial-gradient(circle,#842,#410);box-shadow:0 0 6px #4104,0 0 12px #4102}@keyframes drift{0%{transform:translateY(-10vh) translate(0) scale(0);opacity:0}12%{opacity:.7}80%{opacity:.4}to{transform:translateY(100vh) translate(-30px) scale(.5);opacity:0}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(60,30,10,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 60% at 50% 100%,rgba(40,15,5,.06) 0%,transparent 60%),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(60,40,20,.008) 3px,rgba(60,40,20,.008) 4px);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,transparent 30%,rgba(0,0,0,.25) 100%);pointer-events:none;z-index:0}header{position:relative;z-index:2;text-align:center;padding:50px 20px 20px}header .wax-seal{width:80px;height:80px;margin:0 auto 18px;background:radial-gradient(circle at 40% 35%,#9a2a1a,#5a1008 60%,#2a0503);border-radius:50%;border:3px solid #d4af37;display:flex;align-items:center;justify-content:center;font-family:Cinzel Decorative,serif;font-size:1.8rem;color:#6a3a1a;box-shadow:0 0 30px #d4af3726,inset 0 0 20px #0006;position:relative}header .wax-seal:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(212,175,55,.2);border-radius:50%}header h1{font-family:Cinzel Decorative,serif;font-weight:900;font-size:clamp(1.8rem,5vw,4rem);color:#6a3a1a;text-shadow:0 0 40px rgba(212,175,55,.2),0 0 80px rgba(212,175,55,.08),2px 2px 0px #00000040;letter-spacing:.08em}header .subtitle{font-family:Cinzel,serif;font-weight:400;font-size:clamp(.75rem,1.5vw,.95rem);color:#b8a888;letter-spacing:.3em;text-transform:uppercase;margin-top:6px}header .flare{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;color:#9a8a5a;font-size:1.2rem}header .flare span{display:inline-block;animation:flarePulse 3s ease-in-out infinite}header .flare span:nth-child(2){animation-delay:.5s}header .flare span:nth-child(3){animation-delay:1s}@keyframes flarePulse{0%,to{opacity:.3}50%{opacity:.7}}.tabs-wrapper{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:12px 16px;background:#281c1073;border:1px solid rgba(180,140,80,.1);border-radius:6px}.tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-bottom:30px}.tab-btn{font-family:Cinzel,serif;font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:7px 12px;border:1px solid rgba(180,140,80,.2);border-radius:3px;background:linear-gradient(135deg,#23160cb3,#1c120ab3);color:#b8a888;cursor:pointer;transition:all .35s ease;white-space:nowrap}.tab-btn:hover{border-color:#d4af3766;color:#6a3a1a;background:linear-gradient(135deg,#2d1e10e6,#23160ce6);box-shadow:0 0 12px #d4af370f}.tab-btn.active{border-color:#d4af3799;color:#6a3a1a;background:linear-gradient(135deg,#322010f2,#23160cf2);box-shadow:0 0 20px #d4af371a,inset 0 0 15px #d4af3708}.tab-btn .real-name{display:block;font-family:Cormorant Garamond,serif;font-size:.6rem;text-transform:none;color:#c8b898;letter-spacing:.02em;margin-top:1px;font-weight:400}.tab-btn.active .real-name{color:#7a6a4a}.scrying-orb{position:relative;z-index:2;max-width:540px;margin:0 auto 28px;padding:18px 20px 14px;text-align:center;background:#281c108c;border:1px solid rgba(180,140,80,.12);border-radius:6px}.orb-vessel{position:relative;width:180px;height:180px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#140e08f2,#0a0603fa);border:1px solid rgba(212,175,55,.1);box-shadow:0 0 40px #d4af3708,0 0 80px #d4af3705,inset 0 0 60px #d4af3705;overflow:hidden;transition:box-shadow .6s ease,border-color .6s ease}.orb-vessel.scrying{border-color:#d4af374d;box-shadow:0 0 50px #d4af3714,0 0 100px #d4af370a,inset 0 0 80px #d4af370a}.orb-vessel .orb-inner-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(180,140,80,.04),transparent 60%);animation:orbPulse 4s ease-in-out infinite;pointer-events:none}.orb-vessel.scrying .orb-inner-glow{background:radial-gradient(circle at 50% 50%,rgba(180,140,80,.1),transparent 50%);animation:orbPulseScry 1.5s ease-in-out infinite}@keyframes orbPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes orbPulseScry{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}.orb-vessel .orb-rim{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1px solid rgba(212,175,55,.06);pointer-events:none}.orb-vessel .orb-rune{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;color:#d4af370f;pointer-events:none;font-family:Cinzel Decorative,serif;transition:all .8s ease}.orb-vessel.scrying .orb-rune{color:#d4af3726;text-shadow:0 0 20px rgba(212,175,55,.1)}.orb-mist{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;overflow:hidden}.mist-particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(180,140,80,.12),transparent);animation:mistFloat linear infinite}@keyframes mistFloat{0%{transform:translateY(100%) scale(0);opacity:0}20%{opacity:1}80%{opacity:.3}to{transform:translateY(-120%) scale(1.2);opacity:0}}.orb-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px dashed rgba(212,175,55,.04);animation:ringRotate 20s linear infinite;pointer-events:none}.orb-ring-2{top:-8px;right:-8px;bottom:-8px;left:-8px;animation-duration:30s;animation-direction:reverse}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-input{width:100%;max-width:400px;padding:10px 16px 10px 40px;background:#0f0a1999;border:1px solid rgba(212,175,55,.08);border-radius:20px;color:#c8b99a;font-family:Cormorant Garamond,serif;font-style:italic;font-size:.95rem;outline:none;transition:all .4s ease;text-align:center}.orb-input:focus{border-color:#d4af3733;box-shadow:0 0 20px #d4af3708;background:#160e06b3}.orb-input::placeholder{color:#8a7a5a;font-style:italic}.orb-input-wrap{position:relative;display:inline-block;width:100%;max-width:400px}.orb-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8a7a5a;font-size:.8rem;pointer-events:none;z-index:1}.orb-examples{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:8px;opacity:.5;transition:opacity .3s}.orb-examples:hover{opacity:1}.orb-examples .ex-label{font-family:Cinzel,serif;font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#c8b898;margin-right:4px;padding-top:3px}.orb-examples .ex-chip{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;font-size:.82rem;color:#1a1208;padding:3px 12px;border:1px solid rgba(180,140,80,.3);border-radius:10px;cursor:pointer;transition:all .3s ease;background:#c8b898}.orb-examples .ex-chip:hover{border-color:#d4af3733;color:#6a3a1a;background:#23160a99}@media(max-width:500px){.orb-vessel{width:130px;height:130px}.orb-vessel .orb-rune{font-size:1.8rem}.orb-examples .ex-chip{font-size:.75rem;padding:1px 7px}}.lab-school-tag{font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.06em;color:#b8a888}.lab-action-hint{font-family:Cormorant Garamond,serif;font-style:italic;font-size:.7rem;color:#9a8a6a}.spell-card.glow{border-color:#d4af3740;box-shadow:0 0 20px #d4af3714,0 0 40px #d4af370a,inset 0 0 30px #d4af3708;animation:spellGlow 2s ease-in-out infinite}@keyframes spellGlow{0%,to{box-shadow:0 0 15px #d4af370f,0 0 30px #d4af3708;border-color:#d4af3733}50%{box-shadow:0 0 25px #d4af371f,0 0 50px #d4af370f;border-color:#d4af374d}}.spell-card.dim{opacity:.2;filter:grayscale(80%);pointer-events:none;transition:all .5s ease}.grimoire{position:relative;z-index:2;max-width:1400px;margin:0 auto 50px;padding:0 16px;perspective:1500px}.book-spread{position:relative;transform:rotateX(2deg);transform-origin:50% 0%;background:radial-gradient(ellipse at 50% 30%,#f0e6d4,#e0d4be 25%,#d0c4a8 55%,#b8a888 80%,#a89878);border:14px solid #2a1a0a;border-radius:5px 3px;padding:40px 35px;box-shadow:0 10px 60px #0009,0 3px 15px #0000004d,0 0 0 2px #3c28141a,inset 0 0 80px #50280a0a,inset 0 -120px 100px -50px #3c1e0a1a,inset 0 120px 100px -50px #3c1e0a0f,inset -60px 0 70px -30px #2814080a;min-height:350px}.book-spread .stain{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(60,30,10,.08),transparent 70%)}.book-spread .stain-1{width:80px;height:60px;top:15%;right:12%;transform:rotate(20deg)}.book-spread .stain-2{width:50px;height:40px;bottom:25%;left:8%;transform:rotate(-15deg)}.book-spread .stain-3{width:100px;height:30px;top:60%;right:20%;transform:rotate(45deg);background:radial-gradient(ellipse,rgba(50,25,8,.06),transparent 70%)}.book-spread:before{content:"ᚠ ᛗ ᚱ";position:absolute;top:10px;left:16px;font-size:.6rem;letter-spacing:.3em;color:#8c643c1a;font-family:MedievalSharp,serif;pointer-events:none;white-space:pre}.book-spread:after{content:"ᛋ ᚨ ᛏ";position:absolute;bottom:10px;right:16px;font-size:.6rem;letter-spacing:.3em;color:#8c643c1a;font-family:MedievalSharp,serif;pointer-events:none;white-space:pre;transform:rotate(180deg)}.book-spread .cover-edge-left{position:absolute;top:-26px;bottom:-26px;left:-26px;width:12px;background:linear-gradient(to right,#2a1a0a 30%,#3a2a18 70%,transparent);border-radius:4px 0 0 4px;pointer-events:none;z-index:-1}.book-spread .cover-edge-right{position:absolute;top:-26px;bottom:-26px;right:-26px;width:12px;background:linear-gradient(to left,#2a1a0a 30%,#3a2a18 70%,transparent);border-radius:0 4px 4px 0;pointer-events:none;z-index:-1}.book-spread .ribbon{position:absolute;bottom:-30px;left:30%;width:18px;height:34px;background:linear-gradient(to bottom,#8b1e1e,#6a1515);border-radius:0 0 3px 3px;box-shadow:0 4px 8px #0003;pointer-events:none;z-index:1}.book-spread .ribbon:after{content:"";position:absolute;bottom:-14px;left:-2px;width:22px;height:14px;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(to bottom,#8b1e1e,#5a1010)}.book-spread .rune-corner-tl{position:absolute;top:10px;right:18px;font-size:.5rem;letter-spacing:.25em;color:#643c1e0f;font-family:MedievalSharp,serif;pointer-events:none}.book-spread .rune-corner-br{position:absolute;bottom:10px;left:18px;font-size:.5rem;letter-spacing:.25em;color:#643c1e0f;font-family:MedievalSharp,serif;pointer-events:none;transform:rotate(180deg)}.book-spread .spine-line{position:absolute;top:-20px;bottom:-20px;left:50%;width:3px;margin-left:-1.5px;background:linear-gradient(to bottom,transparent 5%,rgba(40,20,8,.2) 15%,rgba(40,20,8,.08) 40%,rgba(40,20,8,.06) 60%,rgba(40,20,8,.15) 85%,transparent 95%);box-shadow:0 0 30px #2814080f,20px 0 40px -20px #28140814,-20px 0 40px -20px #28140814;pointer-events:none}.book-spread .page-stack-left{position:absolute;top:-12px;bottom:-12px;left:-18px;width:17px;background:linear-gradient(to right,transparent,rgba(50,25,8,.06) 20%,rgba(50,25,8,.1) 50%,rgba(50,25,8,.04));border-radius:0 3px 3px 0;pointer-events:none}.book-spread .page-stack-right{position:absolute;top:-12px;bottom:-12px;right:-18px;width:17px;background:linear-gradient(to left,transparent,rgba(50,25,8,.06) 20%,rgba(50,25,8,.1) 50%,rgba(50,25,8,.04));border-radius:3px 0 0 3px;pointer-events:none}.book-spread .page-layer-t,.book-spread .page-layer-b{position:absolute;left:5%;right:5%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(40,20,8,.04),transparent)}.book-spread .page-layer-t{top:-6px}.book-spread .page-layer-b{bottom:-6px}.book-spread .page-layer-t2,.book-spread .page-layer-b2{position:absolute;left:3%;right:3%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(40,20,8,.025),transparent)}.book-spread .page-layer-t2{top:-10px}.book-spread .page-layer-b2{bottom:-10px}.book-spread .page-edge{position:absolute;left:-14px;right:-14px;top:-14px;height:8px;background:linear-gradient(90deg,rgba(60,30,10,.12) 8%,transparent 20%,transparent 80%,rgba(60,30,10,.12) 92%);pointer-events:none}.book-spread .page-edge-bottom{position:absolute;left:-14px;right:-14px;bottom:-14px;height:8px;background:linear-gradient(90deg,rgba(60,30,10,.15) 8%,transparent 20%,transparent 80%,rgba(60,30,10,.15) 92%);pointer-events:none}.school-section{display:none;animation:fadeIn .5s ease}.school-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.school-header{text-align:center;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid rgba(100,70,30,.15);position:relative}.school-header:after{content:"◈";position:absolute;bottom:-9px;left:50%;transform:translate(-50%);font-size:.7rem;color:#785a2833;background:#d8ccb0;padding:0 10px}.school-header .school-symbol{font-size:2.2rem;display:block;margin-bottom:4px;color:#8b1e1e;text-shadow:0 0 10px rgba(139,30,30,.15)}.school-header h2{font-family:Cinzel,serif;font-weight:700;font-size:clamp(1.1rem,2.5vw,1.7rem);color:#6a3a1a;letter-spacing:.06em}.school-header .school-desc{font-style:italic;color:#3a2a1a;font-size:.9rem;margin-top:3px}.school-meta{display:flex;justify-content:center;gap:14px;margin-top:8px;font-family:Cinzel,serif;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}.school-meta .school-count{color:#3a2a1a;border:1px solid rgba(100,70,30,.15);padding:2px 10px;border-radius:8px}.school-meta .school-real{color:#3a2a1a;font-family:Cormorant Garamond,serif;text-transform:none;letter-spacing:.02em;font-size:.75rem;font-style:italic;border:1px solid rgba(212,175,55,.06);padding:2px 10px;border-radius:8px}.spell-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:700px){.spell-grid{grid-template-columns:1fr 1fr}}@media(min-width:1100px){.spell-grid{grid-template-columns:1fr 1fr 1fr}}.spell-card{background:linear-gradient(145deg,#e0d4bc,#d4c8b0);border:1px solid rgba(100,70,30,.15);border-radius:3px;padding:16px 18px;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #50280a08,0 1px 3px #0000000d}.spell-card:before{content:"";position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:radial-gradient(circle at 25% 20%,rgba(212,175,55,.03),transparent 55%);opacity:0;transition:opacity .6s ease;pointer-events:none}.spell-card:after{content:"✦";position:absolute;bottom:8px;right:10px;font-size:.5rem;color:#d4af370a;pointer-events:none}.spell-card:hover{border-color:#d4af372e;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d,0 0 15px #d4af370a}.spell-card:hover:before{opacity:1}.spell-card .spell-tier{font-family:Cinzel,serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:#6a3a1a;margin-bottom:5px}.spell-card .spell-name{font-family:Cinzel,serif;font-weight:600;font-size:1rem;color:#1a0e06;line-height:1.3}.spell-card .spell-incantation{font-family:Special Elite,cursive;font-size:.7rem;color:#3a2a1a;margin:2px 0 6px}.spell-card .spell-effect{font-size:.88rem;color:#3a2818;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spell-card .spell-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.spell-card .spell-status{font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:6px;border:1px solid}.spell-card .spell-status.proven{color:#3a7a3a;border-color:#3c783c33;background:#3c783c0f}.spell-card .spell-status.new{color:#6a3a1a;border-color:#8c642833;background:#8c64280f}.spell-card .spell-status.framework{color:#5a4a7a;border-color:#5a467833;background:#5a46780f}.spell-card .spell-status.hybrid{color:#3a7a8a;border-color:#3c788233;background:#3c78820f}.spell-card .spell-status.includes{color:#8a3a3a;border-color:#82323233;background:#8232320f}.spell-card .spell-reveal-hint{font-family:Cormorant Garamond,serif;font-style:italic;font-size:.7rem;color:#8a6a3a;transition:color .3s}.spell-card:hover .spell-reveal-hint{color:#6a5a3a}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:100;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-overlay.open{display:flex}.modal{background:linear-gradient(160deg,#d8ccb5,#c8b898);border:1px solid rgba(212,175,55,.15);border-radius:6px;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;padding:35px 30px;position:relative;box-shadow:0 0 60px #00000080,0 0 30px #d4af370d,inset 0 0 40px #d4af3705;animation:modalIn .35s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal .modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#3a2a1a;font-size:1.5rem;cursor:pointer;transition:color .3s;font-family:Cormorant Garamond,serif;line-height:1}.modal .modal-close:hover{color:#d4af37}.modal .modal-symbol{font-size:2.2rem;display:block;margin-bottom:6px}.modal .modal-school{font-family:Cinzel,serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#6a4a2a;margin-bottom:2px}.modal .modal-school .modal-school-real{font-family:Cormorant Garamond,serif;text-transform:none;letter-spacing:.02em;font-size:.8rem;color:#3a2a1a;font-style:italic}.modal .modal-title{font-family:Cinzel,serif;font-weight:700;font-size:1.5rem;color:#6a3a1a;margin-bottom:2px;text-shadow:0 0 20px rgba(212,175,55,.1)}.modal .modal-incantation{font-family:Special Elite,cursive;font-size:.85rem;color:#3a2a1a;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(100,70,30,.12)}.modal .modal-section-title{font-family:Cinzel,serif;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#6a4a2a;margin-bottom:4px}.modal .modal-effect{font-size:1rem;color:#2a1a0a;line-height:1.6;margin-bottom:16px}.modal .modal-detail-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid rgba(212,175,55,.04)}.modal .modal-detail-row:last-child{border-bottom:none}.modal .modal-detail-label{font-family:Cinzel,serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;color:#3a2a1a;min-width:80px}.modal .modal-detail-value{font-size:.9rem;color:#4a3a2a}.modal .modal-detail-value .tag{display:inline-block;font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:6px;border:1px solid}.modal .modal-detail-value .tag.proven{color:#6aaa6a;border-color:#6aaa6a26}.modal .modal-detail-value .tag.new{color:#c9a84c;border-color:#c9a84c26}.modal .modal-detail-value .tag.framework{color:#8a7aaa;border-color:#8a7aaa26}.modal .modal-detail-value .tag.hybrid{color:#7ab8c9;border-color:#7ab8c926}.modal .modal-detail-value .tag.includes{color:#c97a7a;border-color:#c97a7a26}.modal .modal-grimoire-ref{text-align:center;margin-top:20px;padding-top:14px;border-top:1px solid rgba(212,175,55,.06)}.modal .modal-grimoire-ref code{font-family:Special Elite,cursive;font-size:.75rem;color:#3a2a1a;background:#0003;padding:3px 10px;border-radius:3px}.modal .modal-share{display:block;margin:14px auto 0;font-family:Cinzel,serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 16px;border:1px solid rgba(212,175,55,.1);border-radius:4px;background:#d4af3708;color:#b8a888;cursor:pointer;transition:all .3s ease}.modal .modal-share:hover{border-color:#d4af3740;color:#6a3a1a;background:#d4af370d}.no-spells{text-align:center;padding:30px 20px;color:#4a3a2a;font-style:italic;font-size:1.05rem;grid-column:1/-1}.modal-synergies{margin-top:14px;padding-top:14px;border-top:1px solid rgba(212,175,55,.06)}.modal-synergies .syn-title{font-family:Cinzel,serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:#3a2a1a;margin-bottom:8px}.modal-synergies .syn-grid{display:flex;flex-wrap:wrap;gap:6px}.modal-synergies .syn-chip{font-family:Cormorant Garamond,serif;font-size:.82rem;color:#3a2a1a;padding:4px 10px;border:1px solid rgba(100,70,30,.15);border-radius:12px;cursor:pointer;transition:all .3s ease;background:#d4af3705}.modal-synergies .syn-chip:hover{border-color:#d4af3733;color:#6a3a1a;background:#d4af370a}footer{position:relative;z-index:2;text-align:center;padding:25px 20px 40px;color:#c8b898;font-size:.8rem}footer .footer-ornament{color:#9a8a6a;letter-spacing:.3em;font-size:1.1rem;display:block;margin-bottom:6px}footer a{color:#3a2a1a;text-decoration:none;transition:color .3s}footer a:hover{color:#d4af37}.hero-desc{position:relative;z-index:2;text-align:center;max-width:600px;margin:-5px auto 20px;padding:20px;font-size:.95rem;color:#e0d4be;line-height:1.6;background:#281c1080;border:1px solid rgba(180,140,80,.12);border-radius:4px}.hero-desc em{color:#b8a888;font-style:italic}.hero-desc .hero-tag{display:inline-block;font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.15em;color:#d4c4a8;border:1px solid rgba(180,140,80,.15);padding:3px 10px;border-radius:8px;margin:0 3px}.lab-section{display:none;animation:fadeIn .5s ease}.lab-section.active{display:block}.lab-header{text-align:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(212,175,55,.08);position:relative}.lab-header:after{content:"⚗";position:absolute;bottom:-9px;left:50%;transform:translate(-50%);font-size:.7rem;color:#d4af3726;background:#0e0a14;padding:0 10px}.lab-header h2{font-family:Cinzel,serif;font-weight:700;font-size:clamp(1rem,2.2vw,1.5rem);color:#6a3a1a;letter-spacing:.06em}.lab-header .lab-sub{font-style:italic;color:#b8a888;font-size:.85rem;margin-top:4px}.lab-cauldron{background:radial-gradient(ellipse at 50% 50%,#dcd0b8,#c8b898);border:1px solid rgba(212,175,55,.06);border-radius:8px;padding:20px 24px;margin-bottom:20px;min-height:80px;text-align:center;transition:all .4s ease}.lab-cauldron.has-spells{border-color:#d4af3726;box-shadow:inset 0 0 30px #d4af3705}.lab-cauldron .cauldron-label{font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.12em;color:#3a2a1a;margin-bottom:8px}.lab-cauldron .cauldron-empty{font-style:italic;font-size:.9rem;color:#9a8a6a;padding:10px 0}.lab-cauldron .cauldron-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.lab-cauldron .cauldron-chip{font-family:Cinzel,serif;font-size:.7rem;color:#c8b99a;padding:5px 12px;border:1px solid rgba(212,175,55,.15);border-radius:14px;background:#d4af370a;cursor:pointer;transition:all .3s ease}.lab-cauldron .cauldron-chip:hover{border-color:#b43c1e4d;color:#c97a6a;background:#b43c1e0f;text-decoration:line-through}.lab-cauldron .cauldron-count{font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:#b8a888;margin-top:8px}.lab-brew-wrap{text-align:center;margin-bottom:20px}.lab-brew{font-family:Cinzel,serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:10px 30px;border:1px solid rgba(212,175,55,.15);border-radius:4px;background:linear-gradient(135deg,#281932e6,#190f23e6);color:#b8a888;cursor:pointer;transition:all .4s ease}.lab-brew:hover:not(.disabled){border-color:#6a3a1a;color:#6a3a1a;box-shadow:0 0 25px #d4af3714}.lab-brew.disabled{opacity:.3;cursor:not-allowed}.lab-output{display:none;animation:fadeIn .6s ease}.lab-output.show{display:block}.lab-output .recipe-card{background:linear-gradient(145deg,#e0d4bc,#d0c4ac);border:1px solid rgba(212,175,55,.12);border-radius:6px;padding:24px 28px;position:relative;overflow:hidden}.lab-output .recipe-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(212,175,55,.03),transparent 60%);pointer-events:none}.lab-output .rc-label{font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.12em;color:#3a2a1a;margin-bottom:4px}.lab-output .rc-name{font-family:Cinzel Decorative,serif;font-weight:700;font-size:1.3rem;color:#6a3a1a;line-height:1.3;margin-bottom:6px}.lab-output .rc-effect{font-size:.95rem;color:#4a3a2a;line-height:1.5;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(100,70,30,.1)}.lab-output .rc-row{display:flex;gap:8px;padding:4px 0;font-size:.85rem}.lab-output .rc-row .rc-l{font-family:Cinzel,serif;font-size:.52rem;text-transform:uppercase;letter-spacing:.08em;color:#b8a888;min-width:70px}.lab-output .rc-row .rc-v{color:#8a7a5a}.lab-output .rc-row .rc-v em{color:#a89878}.lab-output .rc-potency{display:inline-block;font-family:Cinzel,serif;font-size:.5rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:8px;border:1px solid;margin-top:4px}.lab-output .rc-potency.apprentice{color:#7a8a7a;border-color:#7a8a7a26}.lab-output .rc-potency.adept{color:#8ab8c9;border-color:#8ab8c926}.lab-output .rc-potency.master{color:#c9a84c;border-color:#c9a84c26}.lab-output .rc-potency.archmage{color:#d47a4a;border-color:#d47a4a26}@media(max-width:700px){.book-spread{padding:20px 12px;border-radius:4px}.spell-card{padding:10px 12px}.spell-card .spell-name{font-size:.9rem}.spell-card .spell-incantation{font-size:.65rem}.spell-card .spell-effect{font-size:.82rem;-webkit-line-clamp:3}.modal{padding:20px 16px;margin:10px}.modal .modal-title{font-size:1.2rem}.tab-btn{font-size:.55rem;padding:5px 6px}header .wax-seal{width:50px;height:50px;font-size:1.1rem}header h1{font-size:clamp(1.4rem,7vw,2rem)}.hero-desc{font-size:.85rem;margin:-2px auto 16px}.school-header h2{font-size:clamp(1rem,4vw,1.3rem)}.school-meta{flex-direction:column;gap:4px}.orb-vessel{width:120px;height:120px}.orb-vessel .orb-rune{font-size:1.5rem}.orb-input{font-size:.85rem;padding:8px 12px 8px 32px}.orb-examples .ex-chip{font-size:.7rem;padding:3px 8px}.cauldron-chip{font-size:.6rem;padding:3px 8px}.lab-cauldron{padding:14px 16px}.recipe-card{padding:16px 18px}.rc-name,.recipe-header h2,.lab-header h2{font-size:1rem}.tabs{gap:3px;justify-content:flex-start;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}.tab-btn{flex-shrink:0}}@media(max-width:400px){.book-spread{padding:14px 8px}.spell-card{padding:8px 10px}.spell-card .spell-effect{font-size:.78rem}.orb-vessel{width:100px;height:100px}.orb-vessel .orb-rune{font-size:1.2rem}.orb-input{font-size:.8rem;padding:6px 10px 6px 28px}.modal{padding:16px 12px}.modal .modal-title{font-size:1rem}header{padding:30px 12px 14px}}
