@font-face{font-family:Cormorant;src:url('fonts/cormorant-600.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-400.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--gold:#d7b570;--pale:#e5d5b1;--ink:#383025;--muted:#8d826c;--green:#14221f;--paper:#e7d8b9;--serif:Cormorant,Georgia,serif;--body:Manrope,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#101917;color:var(--pale);font:13px/1.6 var(--body);min-width:320px}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,a{transition:color .18s,background .18s,border-color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e7c77f;outline-offset:4px}a{color:inherit}button{color:inherit}button:disabled{opacity:.5}select{cursor:pointer}button svg{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.world-backdrop{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#0c1c26bb 0,#13211ec9 300px,#101917f5 850px),url('scenes/world-castle.jpg') center top/cover no-repeat}.world-backdrop:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 15%,transparent,#050c0c80)}.shell{width:min(1400px,calc(100% - 104px));margin:auto}.masthead{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ac915b2a}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:10px;letter-spacing:2px;color:#e5d9bb}.brand-mark{font-size:42px;line-height:1;color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:3.5px;color:#aaa58e;margin-top:3px}.top-tools{display:flex;gap:22px;align-items:center}.quiet-button{border:0;background:transparent;color:#a9b0a4;font-size:11px;padding:9px 0}.quiet-button span:first-child{margin-right:7px}.music-button{display:flex;align-items:center;gap:10px;background:#182822aa;border:1px solid #9c824b70;padding:9px 15px;font-size:11px;letter-spacing:.25px;border-radius:2px}.music-button:hover{background:#293b2d}.equalizer{display:flex;gap:3px;align-items:center;height:15px}.equalizer i{width:2px;height:4px;background:var(--gold)}.equalizer i:nth-child(2){height:13px}.equalizer i:nth-child(3){height:9px}.equalizer i:nth-child(4){height:6px}.music-button[aria-pressed=true] .equalizer i{animation:equalizer .8s ease-in-out infinite alternate}.music-button[aria-pressed=true] .equalizer i:nth-child(2n){animation-delay:.3s}@keyframes equalizer{to{height:3px}}
.character-header{display:flex;align-items:center;padding:34px 6px 20px;gap:30px}.portrait-frame{width:116px;height:142px;flex-shrink:0;position:relative;padding:4px;border:1px solid #ad8b4d;background:#2d3628;box-shadow:0 0 0 3px #101914,0 0 0 4px #74613b55,0 12px 30px #0005}.portrait-frame:after{position:absolute;content:'';inset:4px;box-shadow:inset 0 0 20px #67532d99;pointer-events:none}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 21%;background:#eadfc9}.level-seal{position:absolute;z-index:1;bottom:-14px;left:42px;display:grid;place-items:center;background:linear-gradient(135deg,#ceb171,#7b6334);width:31px;height:31px;transform:rotate(45deg);border:3px double #e3c787;color:#302819;font:16px var(--serif);text-shadow:0 1px #efdaab}.level-seal::first-letter{transform:rotate(-45deg)}.character-copy{min-width:250px;flex:1}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2px;line-height:1.6;margin:0;color:#c7b68d}.eyebrow span{font-size:6px;padding:0 9px;color:var(--gold)}h1{font:600 clamp(42px,4vw,62px)/1 var(--serif);margin:7px 0 10px;color:#f4e5c4;letter-spacing:-.6px}.character-motto{font:italic 17px var(--serif);color:#ddc698;margin:0 0 8px}.character-summary{font-size:10px;line-height:1.7;color:#a5ad9f;margin:0}.character-stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:14px 28px;min-width:375px;padding-top:10px}.stat{text-align:center;position:relative}.stat+.stat:before{content:'';position:absolute;left:-13px;top:9px;height:49px;border-left:1px solid #8c825d42}.stat>span,.slots>span{display:block;font-size:8px;letter-spacing:1.4px;color:#adac95}.stat strong{font:600 36px/1.2 var(--serif);color:#ead7a6;display:block}.stat em{font-size:23px;color:#9f956f;font-style:normal}.stat small{font-size:9px;color:#8f9a8d}.slots{grid-column:1/-1;border-top:1px solid #b0a27825;padding-top:13px;display:flex;align-items:center;gap:17px}.slots>span{font-size:7px;letter-spacing:1px}.slots>div{display:flex;gap:18px}.slots b{font:11px var(--serif);white-space:nowrap}.slots i{font:7px var(--body);letter-spacing:1px;color:#c8aa64;margin-left:6px}.book-title{display:flex;align-items:center;justify-content:center;gap:20px;margin:14px 0 16px}.book-title p{font:600 15px var(--serif);letter-spacing:3px;font-variant:small-caps;margin:0;color:#bdaa7b}.book-title>span{height:1px;width:85px;background:linear-gradient(90deg,transparent,#bca36980)}.book-title>span:last-child{transform:rotate(180deg)}
.book{position:relative;padding:13px 14px 17px;background:linear-gradient(100deg,#30291c,#635236 4%,#211d14 49%,#171712 50%,#665339 96%,#2d271b);border:1px solid #ac8c4f;border-radius:7px;box-shadow:0 0 0 4px #0c1310,0 0 0 5px #735a3260,0 27px 65px #0007,inset 0 0 0 4px #957b3c33}.book:after{content:'';position:absolute;left:18px;right:18px;bottom:7px;height:7px;background:repeating-linear-gradient(0deg,#8c7b5c 0 1px,#c5b28b 1px 2px);border-radius:0 0 50% 50%;z-index:0}.spread{position:relative;z-index:1;display:grid;grid-template-columns:1.14fr 1fr;min-height:578px;color:var(--ink);background:#e5d5b2;border:1px solid #b8a27b;box-shadow:0 2px 5px #0008}.spread:after{content:'';position:absolute;top:0;bottom:0;left:53.27%;width:34px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#826b4314 18%,#4a3a293d 43%,#7b654445 48%,#f1e0b82e 51%,#4f41272a 58%,transparent);pointer-events:none;z-index:3}.left-page,.right-page{position:relative;padding:22px 28px 16px;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 30% 45%,#fcf1d952,transparent 65%),url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%239d8753' opacity='.08' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E"),linear-gradient(100deg,#dbc7a1 0%,#ecdebe 9%,#eddfc1 83%,#d9c9a9 100%)}.right-page{padding-left:34px;background:radial-gradient(ellipse at 80% 60%,#f8efd737,transparent),url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%239d8753' opacity='.08' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E"),linear-gradient(90deg,#d4c4a4,#ecdebf 13%,#e9dbbb 93%,#c8b18a)}.corner{position:absolute;z-index:5;width:28px;height:28px;border:3px double #dabf77;pointer-events:none;filter:drop-shadow(1px 1px 1px #18140a)}.corner:after{content:'◆';font-size:10px;color:#d5b36d;position:absolute;top:0;left:3px}.corner-tl{top:-3px;left:-3px;border-right:0;border-bottom:0}.corner-tr{top:-3px;right:-3px;transform:rotate(90deg);border-right:0;border-bottom:0}.corner-bl{bottom:-3px;left:-3px;transform:rotate(-90deg);border-right:0;border-bottom:0}.corner-br{bottom:-3px;right:-3px;transform:rotate(180deg);border-right:0;border-bottom:0}.page-heading{display:flex;align-items:center;justify-content:space-between;color:#897247;font-size:7px;letter-spacing:1.5px;height:26px;margin-bottom:14px}.little-star{font-size:20px;color:#a2874e}.stage-frame{aspect-ratio:1.55;position:relative;isolation:isolate;border:1px solid #584c32;box-shadow:0 0 0 3px #c5ae7e,0 0 0 4px #a18d64,0 3px 10px #2b21182e;background:#182826;overflow:hidden}#battle-scene{display:block;width:100%;height:100%}.scene-vignette{position:absolute;inset:0;box-shadow:inset 0 0 25px #090b0ae0;background:linear-gradient(0deg,#0a151dcc,transparent 22%,transparent 70%,#0c1b2140);pointer-events:none}.scene-badge{position:absolute;top:13px;left:14px;color:#ddd7b2;letter-spacing:1.4px;font-size:7px;text-shadow:0 1px 4px #000;display:flex;align-items:center;gap:7px}.scene-badge i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#dbbb66;box-shadow:0 0 7px #f7d794}.scene-caption{position:absolute;bottom:15px;left:20px;right:20px;text-align:center;font:600 23px var(--serif);color:#f1e2bd;letter-spacing:1px;text-shadow:0 1px 5px #000}.scene-controls{display:flex;justify-content:space-between;align-items:center;margin:15px 0 0}.scene-legend{font-size:8px;color:#786448;display:flex;align-items:center;gap:7px}.scene-legend i{width:5px;height:5px;background:#b5893e;transform:rotate(45deg)}.scene-legend span:first-of-type{color:#a39068;padding:0 1px}.replay-button{border:0;background:transparent;color:#76613d;font-size:9px;padding:2px 0 2px 8px}.replay-button:hover{color:#382b1a}.replay-button>span{font-size:15px;margin-right:4px}.story{margin:14px 8px 15px;display:flex;align-items:flex-start;gap:14px}.story-ornament{font:36px/1 var(--serif);color:#94753c;margin-top:3px}.story p{font:italic 17px/1.35 var(--serif);color:#766443;margin:0;text-wrap:pretty}.page-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:6px;letter-spacing:1.2px;color:#927e58;margin-top:auto;padding-top:14px;border-top:1px solid #a18d624d}.page-bottom span:last-child{font:12px var(--serif)}.page-bottom a{font-size:7px;text-decoration:none;letter-spacing:.2px}.page-bottom a:hover{text-decoration:underline}.spell-heading{display:flex;justify-content:space-between;gap:10px;min-height:85px}.paper-eyebrow{color:#967843;font-size:7px;letter-spacing:1.7px;margin:6px 0 9px}.spell-heading h2{font:600 clamp(27px,2.7vw,39px)/.98 var(--serif);letter-spacing:-.45px;margin:0 0 6px;max-width:340px;color:#403624;text-wrap:balance}.english-name{margin:0;color:#9e8967;font:italic 13px var(--serif)}.spell-emblem{width:63px;min-width:63px;height:63px;align-self:center;display:grid;place-items:center;color:#98763b}.spell-emblem svg{width:60px;height:60px}.spell-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 15px}.spell-tags span{font-size:7px;letter-spacing:.6px;text-transform:uppercase;padding:2px 7px;border:1px solid #8f774244;color:#8d7448;border-radius:1px}.spell-tags .concentration{background:#a38b4e15;color:#746139}.spell-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 15px;margin:0;padding:14px 0;border-top:1px solid #a58b6055;border-bottom:1px solid #a58b6055}.spell-facts dt{font-size:6px;letter-spacing:1.1px;color:#9c845c;margin-bottom:3px}.spell-facts dd{margin:0;font-size:10px;color:#5d4d35;font-weight:500}.spell-effect{display:flex;gap:13px;align-items:center;padding:14px 0 10px}.spell-effect>span:first-child{font-size:32px;color:#9b7b37}.spell-effect strong{display:block;font:600 31px/1 var(--serif);color:#705323}.spell-effect small{display:block;font-size:6px;letter-spacing:1px;color:#9d8150;margin-top:5px}.effect-seal{margin-left:auto;color:#ac986742;font-size:36px}.spell-description{font-size:10px;line-height:1.8;color:#64543b;margin:0 0 15px;text-wrap:pretty}.upcast{padding:12px 0 15px;border-top:1px solid #a38b6044}.upcast-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.upcast h3{font:600 16px var(--serif);color:#73582e;margin:0}.upcast p{font-size:9px;line-height:1.65;color:#8d7957;margin:5px 0 0}.upcast select{color:#72582f;border:1px solid #b09a7166;background:#dfccab;font-size:8px;padding:3px 5px;max-width:140px;color-scheme:light}.material-note{font-size:8px;color:#8d693a;margin:0 0 10px}.material-note:before{content:'◇ ';font-size:12px}#asset-status{position:absolute;inset:0;display:grid;place-items:center;background:#18221edf;color:#dbc38e;font:22px var(--serif)}
.library{margin-top:41px;scroll-margin-top:25px}.library-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.library-heading .eyebrow{font-size:7px;color:#8f9a88;letter-spacing:2px}.library-heading h2{font:600 32px/1.2 var(--serif);color:#e6d5ae;margin:5px 0 0}.library-heading h2 span{display:inline-block;font:10px var(--body);border:1px solid #786f4666;color:#b09b67;vertical-align:middle;padding:3px 6px;margin-left:8px}.library-hint{font-size:9px;text-align:right;color:#85917f;line-height:1.7;margin:0 1px 3px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #9b95602e;margin-bottom:21px}.chapter-tabs{display:flex;gap:20px;align-self:stretch}.chapter-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#8d9989;font-size:10px;padding:0 0 12px;white-space:nowrap}.chapter-tabs button:hover{color:#e9d6a8}.chapter-tabs button.active{border-bottom-color:#caaa63;color:#e2c486}.chapter-tabs span{font-size:8px;margin-left:5px;opacity:.55}.filters{display:flex;gap:10px;padding-bottom:10px}.search-box{border:1px solid #80917735;background:#10191599;display:flex;align-items:center;gap:9px;padding:7px 9px;color:#7b8a75}.search-box input{background:none;border:0;outline:none;color:#d5d3bd;min-width:0;width:155px;font-size:9px}.search-box:focus-within{border-color:#b99a5c}.search-box input::placeholder{color:#76836f}.filters select{border:1px solid #80917735;border-radius:0;background:#111c17;color:#8e9a85;font-size:9px;padding:7px 10px}.spell-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:17px 13px}.spell-card{position:relative;background:#20271c;border:1px solid #75805d42;padding:0;text-align:left;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 10px #0002;overflow:hidden;border-radius:2px}.spell-card:hover,.spell-card:focus-visible{border-color:#c3a86a;box-shadow:0 0 22px #caac6330}.spell-card[aria-pressed=true]{border-color:#c9ad68;box-shadow:0 0 0 1px #bc9c5450}.card-art{aspect-ratio:1.58;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#61523770,transparent 65%),linear-gradient(145deg,#26302a,#141e1d)}.card-art:before{content:'';position:absolute;inset:5px;border:1px solid #a58d5224;background:radial-gradient(circle at center,transparent 22%,#c6a85d09 23%,transparent 24%,transparent 40%,#c6a85d20 41%,transparent 42%);pointer-events:none}.card-icon{position:absolute;inset:0;display:grid;place-items:center;color:var(--spell-color,#d2b473);opacity:.85;transition:opacity .15s;filter:drop-shadow(0 0 7px #ccb77530)}.card-icon svg{width:53px;height:53px}.card-art canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .2s}.spell-card.is-previewing .card-art canvas{opacity:1}.spell-card.is-previewing .card-icon{opacity:0}.card-level{position:absolute;top:5px;left:7px;font:10px var(--serif);color:#c7ae73;z-index:1}.card-flag{position:absolute;top:6px;right:7px;color:#aeab83;font-size:7px;letter-spacing:2px}.card-text{padding:10px 9px 11px;border-top:1px solid #82734940;background:linear-gradient(90deg,#273021,#222b21);min-height:63px;display:flex;flex-direction:column}.card-name{font:600 15px/1.06 var(--serif);color:#d8ceaa;min-height:30px}.card-school{font-size:6px;text-transform:uppercase;letter-spacing:.9px;color:#89977e;margin-top:auto;padding-top:5px}.selected-tick{position:absolute;bottom:8px;right:8px;color:#d5b367;font-size:9px;display:none}.spell-card[aria-pressed=true] .selected-tick{display:block}.empty-state{padding:30px;text-align:center;color:#a49f84;font-family:var(--serif);font-size:21px;border:1px solid #a78e4533}.empty-state>span{font-size:40px;color:#a18e5c}.empty-state p{margin:0 0 14px}.empty-state button{border:1px solid #8e805544;background:#293328;font:11px var(--body);padding:7px 12px}.domain-notes{display:flex;gap:32px;align-items:center;border-top:1px solid #8f895b33;border-bottom:1px solid #8f895b33;margin-top:32px;padding:24px 10px}.domain-symbol{font:40px var(--serif);color:#ae975d;margin-right:7px}.domain-notes>div{flex:1}.domain-notes h3{font:600 17px var(--serif);color:#bbae86;margin:0 0 6px}.domain-notes p{font-size:9px;line-height:1.7;color:#768771;margin:0}.footer{padding:25px 1px 28px;display:flex;justify-content:space-between;align-items:center;color:#6e7f6c;font-size:7px;letter-spacing:1px}.footer>span:nth-child(2){font:italic 13px var(--serif);letter-spacing:0}.footer button{font-size:8px;color:#8e977f;background:none;border:0;padding:0;text-decoration:underline;text-decoration-color:#66724f80;text-underline-offset:4px}.audio-status{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:8;background:#19291eee;border:1px solid #a78d5144;color:#d8c391;border-radius:3px;padding:9px 14px;font-size:10px;box-shadow:0 6px 20px #0005;max-width:90vw;pointer-events:none}.audio-status:empty{display:none}dialog{background:#e8d9b9;color:#58472d;max-width:560px;width:calc(100% - 36px);border:4px double #947139;padding:32px;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#051210c9;backdrop-filter:blur(5px)}dialog h2{font:600 36px/1 var(--serif);margin:10px 0 20px;color:#544021}dialog p{font-size:11px;line-height:1.8}dialog .eyebrow{color:#93723d;font-size:8px}dialog .credits-small{color:#927c58;font-size:9px}.dialog-close{position:absolute;right:12px;top:6px;color:#806337;background:none;border:0;font-size:27px}.skip-link{position:absolute;left:20px;top:-70px;background:#ebdcba;color:#3e3421;padding:10px;z-index:10}.skip-link:focus{top:10px}.noscript{position:fixed;bottom:0;background:#efe1c5;color:#402d1c;width:100%;padding:20px;margin:0}
@media(min-width:1500px){.spread{min-height:645px}.spell-description{font-size:12px}.spell-facts dd{font-size:12px}.spell-facts dt{font-size:7px}.spell-heading h2{font-size:42px}.upcast p{font-size:10px}.story p{font-size:19px}.page-heading{font-size:8px}.card-name{font-size:17px}.card-school{font-size:7px}}
@media(max-width:1150px){.shell{width:calc(100% - 48px)}.character-header{gap:22px}.character-stats{min-width:330px;gap:14px 18px}.character-summary{font-size:9px}.stat>span{font-size:7px}.slots{gap:10px}.slots>div{gap:10px}.slots>span{font-size:6px}.left-page,.right-page{padding:18px 22px 14px}.right-page{padding-left:27px}.spell-heading h2{font-size:32px}.spell-emblem{min-width:50px;width:50px}.spell-emblem svg{width:48px}.spread{min-height:580px}.stage-frame{aspect-ratio:1.35}.spell-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.chapter-tabs{gap:15px}.chapter-tabs button{font-size:9px}.search-box input{width:120px}.domain-notes{gap:20px}}
@media(max-width:850px){.character-header{flex-wrap:wrap;gap:22px;padding-top:26px}.portrait-frame{width:93px;height:124px}.level-seal{left:30px}.character-copy{flex:1;min-width:200px}.character-stats{min-width:0;width:100%;grid-template-columns:1fr 1fr 1.4fr;padding:12px 0 0;gap:12px 20px}.slots{justify-content:center}.slots>div{gap:30px}.slots>span{font-size:7px}.character-summary{font-size:10px}.character-motto{font-size:16px}.book-title{margin-top:20px}.spread{grid-template-columns:1fr 1fr}.spread:after{left:50%}.page-heading{font-size:6px;letter-spacing:1px}.spell-heading h2{font-size:28px}.spell-emblem{display:none}.stage-frame{aspect-ratio:.98}.story p{font-size:16px}.spell-description{font-size:10px}.library-toolbar{flex-wrap:wrap}.chapter-tabs{width:100%;justify-content:space-between}.filters{width:100%}.search-box{flex:1}.search-box input{width:100%}.library-toolbar{border-bottom:0}.library-hint{font-size:8px}.spell-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.domain-notes{gap:15px}.domain-symbol{display:none}.domain-notes p{font-size:8px}.footer>span:nth-child(2){display:none}.scene-legend{font-size:6px;gap:4px}.scene-controls{gap:6px}.replay-button{font-size:8px}}
@media(max-width:620px){.shell{width:calc(100% - 28px)}.masthead{height:70px}.brand{font-size:7px;gap:7px;letter-spacing:1.1px}.brand-mark{font-size:30px}.brand small{font-size:6px;letter-spacing:2px}.top-tools{gap:12px}.music-button{padding:8px 9px;font-size:0;gap:0}.music-button .equalizer{margin:0}.motion-label{display:none}.quiet-button{font-size:12px}.quiet-button span:first-child{margin:0}.character-header{padding:25px 7px 5px;gap:20px}.character-copy{min-width:0}.character-copy .eyebrow{font-size:6px;letter-spacing:1px}.eyebrow span{padding:0 3px}.portrait-frame{width:85px;height:117px}.level-seal{width:26px;height:26px;left:27px;font-size:13px;bottom:-11px}h1{font-size:44px;margin-bottom:7px}.character-motto{font-size:14px}.character-summary{font-size:8px}.desktop-break{display:none}.character-stats{margin-top:14px;gap:13px 14px}.stat strong{font-size:31px}.stat>span{font-size:6px;letter-spacing:1px}.stat small{font-size:7px}.slots>span{font-size:6px}.slots>div{gap:14px}.slots i{font-size:6px}.slots b{font-size:9px}.slots{gap:12px;padding-top:12px}.book-title{margin:24px 0 13px}.book-title p{font-size:14px}.book-title>span{width:45px}.book{padding:8px 7px 13px}.spread{display:block}.spread:after{display:none}.left-page{padding:16px 20px 15px}.right-page{padding:23px 22px 18px;border-top:1px solid #9c81536e}.left-page .page-bottom{display:none}.page-heading{font-size:6px;height:20px;margin-bottom:13px}.stage-frame{aspect-ratio:1.4}.scene-caption{font-size:22px;bottom:12px}.scene-badge{font-size:6px;top:11px;left:11px}.story{margin:15px 3px 0}.story p{font-size:16px}.scene-legend{font-size:7px}.replay-button{font-size:8px}.spell-heading h2{font-size:35px}.spell-heading{min-height:76px}.spell-emblem{display:grid;min-width:50px}.paper-eyebrow{font-size:7px}.spell-facts dd{font-size:11px}.spell-facts dt{font-size:6px}.spell-description{font-size:11px;line-height:1.8}.spell-effect strong{font-size:34px}.spell-effect small{font-size:6px}.upcast p{font-size:10px}.upcast h3{font-size:17px}.material-note{font-size:9px}.page-bottom{font-size:6px;padding-top:13px}.library{margin-top:32px}.library-heading h2{font-size:27px}.library-heading .eyebrow{font-size:6px}.library-hint{display:none}.library-heading{margin-bottom:18px}.chapter-tabs{gap:8px}.chapter-tabs button{font-size:8px}.chapter-tabs span{font-size:6px;margin-left:2px}.spell-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 9px}.card-art{aspect-ratio:1.3}.card-icon svg{width:48px;height:48px}.card-name{font-size:14px;min-height:29px}.card-text{padding:9px 7px;min-height:65px}.card-school{font-size:5px;letter-spacing:.5px}.card-flag{font-size:6px;right:5px}.domain-notes{flex-direction:column;align-items:flex-start;padding:20px 15px;gap:15px;margin-top:24px}.domain-notes h3{font-size:18px;margin-bottom:3px}.domain-notes p{font-size:9px}.domain-notes p br{display:none}.footer{font-size:5px;letter-spacing:.7px;gap:15px;padding:22px 0}.footer button{font-size:7px}.library-toolbar{margin-bottom:16px}.book:after{left:10px;right:10px}.audio-status{font-size:9px;bottom:10px;width:max-content}.upcast select{max-width:115px}}
.motion-paused .equalizer i{animation-play-state:paused!important}
/* Native WebKit controls otherwise impose their own fill over the book palette. */
button,input,select{-webkit-appearance:none;appearance:none}button{border-radius:0}
.music-button{border-radius:2px}.spell-card{border-radius:2px}
.spell-description{font-size:12px;line-height:1.75}.spell-facts dt{font-size:8px}.spell-facts dd{font-size:12px}.spell-effect small{font-size:8px}.upcast p{font-size:11px}.spell-tags span{font-size:8px}.paper-eyebrow{font-size:8px}.scene-legend{font-size:9px}.replay-button{font-size:10px}.material-note{font-size:10px}.page-bottom{font-size:7px}.page-bottom a{font-size:8px}
@media(max-width:850px) and (min-width:621px){.spell-description{font-size:11px}.spell-facts dd{font-size:11px}.spell-facts dt{font-size:7px}.upcast p{font-size:10px}.scene-legend{font-size:7px}.page-bottom{letter-spacing:.5px}}
@media(max-width:620px){.spell-description{font-size:12px}.spell-facts dd{font-size:12px}.scene-legend{font-size:8px}.page-bottom{font-size:6px}.page-bottom a{font-size:7px}.spell-effect small{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.effects-button{white-space:nowrap}.effects-button[aria-pressed=false]{opacity:.5}
@media(max-width:950px){.top-tools{gap:12px}.effects-label{display:none}.effects-button span:first-child{margin:0}}
@media(max-width:620px){.top-tools{gap:4px}.effects-button{min-width:40px}.brand{max-width:120px}.quiet-button{min-height:44px}.music-button{min-height:44px;min-width:40px;justify-content:center}}
