.book-app{z-index:1;--book-accent:#3fb8c8;--book-accent-rgb:63,184,200;--arcane:var(--book-accent);--arcane-bright:color-mix(in srgb, var(--book-accent) 62%, #fff);--arcane-deep:color-mix(in srgb, var(--book-accent) 68%, #04070a);--arcane-glow:rgba(var(--book-accent-rgb), .55);max-width:1100px;margin:0 auto;padding:30px 22px 90px;position:relative}.book-app[data-faction=HORDE] .book-page{border-color:#b43c2c57}.book-app[data-faction=ALLIANCE] .book-page{border-color:#4678be57}.book-loading{text-align:center;color:var(--text-dim);font-family:var(--font-head);padding:120px 20px;font-size:1.2rem;font-style:italic}.book-page{border-radius:var(--radius);background-blend-mode:normal, screen, normal;background-color:#14110c;background-image:radial-gradient(120% 130% at 50% 30%,#0000 52%,#0000008c 100%),radial-gradient(90% 60% at 50% -6%,#cbb06a29,#3fb8c80d 40%,#0000 70%),linear-gradient(178deg,#241d13 0%,#191510 34%,#120f0b 72%,#0c0a08 100%);background-size:cover,cover,cover;border:1px solid #78603452;padding:clamp(26px,4vw,48px) clamp(22px,4vw,48px) clamp(32px,5vw,56px);position:relative;overflow:hidden;box-shadow:0 0 0 1px #0009,0 24px 64px #0000008c,inset 0 2px #fff0d20d,inset 0 0 120px #00000080}.book-page:after{content:"";pointer-events:none;z-index:0;border-radius:var(--radius);opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute;inset:0}.book-head,.book-flourish,.book-grid,.book-empty{z-index:1;position:relative}.book-page:before{content:"";pointer-events:none;border:1px solid #cbb06a38;border-radius:2px;position:absolute;inset:10px;box-shadow:inset 0 0 24px #cbb06a0f}.book-page-corner{pointer-events:none;z-index:2;filter:drop-shadow(0 0 4px #cbb06a40);border:2px solid #cbb06ab3;width:26px;height:26px;position:absolute}.book-page-corner.tl{border-bottom:none;border-right:none;top:10px;left:10px}.book-page-corner.tr{border-bottom:none;border-left:none;top:10px;right:10px}.book-page-corner.bl{border-top:none;border-right:none;bottom:10px;left:10px}.book-page-corner.br{border-top:none;border-left:none;bottom:10px;right:10px}.book-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin:0;display:flex}.book-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.book-kicker{font-family:var(--font-head);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px #cbb06a4d;margin:0 0 8px;font-size:.72rem}.book-title{font-family:var(--font-display);color:var(--silver-bright);letter-spacing:.02em;text-shadow:0 0 28px #3fb8c83d;margin:0;font-size:clamp(1.8rem,4.5vw,3rem)}.book-ident{font-family:var(--font-head);color:var(--text-dim);letter-spacing:.02em;margin:6px 0 0;font-size:clamp(.95rem,1.6vw,1.12rem);font-style:italic}.book-sub{font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:8px 0 0;font-size:.8rem}.book-head-plate{--cc:var(--arcane);--cc-rgb:63,184,200;border-radius:var(--radius);isolation:isolate;background:linear-gradient(#14202a6b,#090f154d);padding:clamp(18px,2.4vw,28px) clamp(20px,2.6vw,30px);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 10px 34px #0000006b}.book-head-plate:before{content:"";border-radius:var(--radius);pointer-events:none;z-index:3;background:linear-gradient(150deg, rgba(var(--cc-rgb),.85) 0%, rgba(var(--cc-rgb),.28) 30%, #78603480 60%, rgba(var(--cc-rgb),.55) 100%);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.book-head-plate:after{content:"";z-index:4;background:linear-gradient(90deg, transparent, rgba(var(--cc-rgb),.9), transparent);height:2px;box-shadow:0 0 12px rgba(var(--cc-rgb),.55);position:absolute;top:0;left:6%;right:6%}.book-head-plate .book-head-titles{z-index:2;min-width:0;position:relative}.book-head-plate .book-head-actions{z-index:2;position:relative}.book-crest{z-index:0;pointer-events:none;user-select:none;opacity:.13;width:auto;height:clamp(170px,26vw,260px);position:absolute;top:50%;right:-22px;transform:translateY(-50%);-webkit-mask-image:linear-gradient(270deg,#000 30%,#0000 92%);mask-image:linear-gradient(270deg,#000 30%,#0000 92%)}.book-head-plate[data-faction=ALLIANCE] .book-crest{filter:drop-shadow(0 0 18px #6ea8ff59)}.book-head-plate[data-faction=HORDE] .book-crest{filter:drop-shadow(0 0 18px #e83c3259)}.book-title-hero{color:var(--cc);text-shadow:0 0 30px rgba(var(--cc-rgb),.35);align-items:center;gap:.6rem;display:flex}.book-title-hero .book-title-name{text-overflow:ellipsis;overflow:hidden}.book-class-sigil{background:linear-gradient(135deg, #fff, var(--cc) 55%, rgba(var(--cc-rgb),.5));width:15px;height:15px;box-shadow:0 0 12px rgba(var(--cc-rgb),.7), 0 0 0 1px #0006;border-radius:2px;flex:none;transform:rotate(45deg)}.book-ident-rich{font-family:var(--font-head);letter-spacing:.04em;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.55rem;margin:10px 0 0;font-size:clamp(.9rem,1.5vw,1.06rem);font-style:normal;display:flex}.book-ident-rich>span{align-items:center;display:inline-flex}.book-ident-rich .bi-level{color:var(--silver-bright);font-weight:600}.book-ident-rich .bi-race{color:var(--text)}.book-ident-rich .bi-class{color:var(--cc);text-shadow:0 0 14px rgba(var(--cc-rgb),.3);font-weight:600}.book-ident-rich .bi-race:before,.book-ident-rich .bi-class:before{content:"·";color:#cbb06a8c;margin-right:.55rem;font-weight:400}.book-ident-rich .bi-faction{letter-spacing:.1em;text-transform:uppercase;background:#00000047;border:1px solid #ffffff1f;border-radius:999px;gap:.4rem;margin-left:.35rem;padding:.16rem .6rem .16rem .5rem;font-size:.78rem}.book-ident-rich .bi-faction-dot{border-radius:50%;width:8px;height:8px}.book-ident-rich .bi-faction-alliance{color:#b9d2ff;border-color:#6ea8ff80}.book-ident-rich .bi-faction-alliance .bi-faction-dot{background:#6ea8ff;box-shadow:0 0 8px #6ea8ffcc}.book-ident-rich .bi-faction-horde{color:#ffb3ad;border-color:#e83c3280}.book-ident-rich .bi-faction-horde .bi-faction-dot{background:#e83c32;box-shadow:0 0 8px #e83c32cc}.book-realm-line{font-family:var(--font-head);color:var(--text-faint);letter-spacing:.02em;margin:6px 0 0;font-size:.92rem;font-style:italic}@media (width<=620px){.book-crest{opacity:.1;height:150px;right:-30px}.book-ident-rich{gap:.4rem .5rem}}.book-flourish{justify-content:center;align-items:center;gap:14px;margin:22px 0 30px;display:flex}.book-flourish-line{background:linear-gradient(90deg,#0000,#cbb06a80,#0000);width:min(220px,30%);height:1px}.book-flourish-gem{color:var(--gold);text-shadow:0 0 10px #cbb06a80;font-size:.9rem}.book-controls{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 24px;display:flex;position:relative}.book-search{flex:260px;max-width:380px;position:relative}.book-search-rune{color:var(--arcane);pointer-events:none;text-shadow:0 0 8px var(--arcane-glow);font-size:.95rem;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.book-search input{width:100%;font-family:var(--font-head);color:var(--silver-bright);border:1px solid var(--stone-light);background:linear-gradient(#0d151db3,#04070a99);border-radius:999px;outline:none;padding:10px 40px;font-size:.98rem;font-style:italic;transition:border-color .2s,box-shadow .2s}.book-search input::placeholder{color:var(--text-faint);font-style:italic}.book-search input:focus{border-color:var(--arcane);box-shadow:0 0 0 1px var(--arcane), 0 0 16px #3fb8c82e}.book-search-clear{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:.9rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.book-search-clear:hover{color:var(--arcane-bright)}.book-order{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex;position:relative}.book-order-rune{font-family:var(--font-head);letter-spacing:.06em;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 14px;font-size:.82rem;transition:color .18s;position:relative}.book-order-rune:after{content:"";background:var(--arcane);width:0;height:1px;box-shadow:0 0 6px var(--arcane-glow);transition:width .25s;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.book-order-rune:hover{color:var(--text-dim)}.book-order-rune.on{color:var(--arcane-bright)}.book-order-rune.on:after{width:60%}.book-empty-search{margin-top:0}@media (width<=620px){.book-controls{flex-direction:column;align-items:stretch}.book-search{max-width:none}.book-order{justify-content:center}}.book-empty{text-align:center;border:1px dashed var(--stone-light);border-radius:var(--radius);background:#0d151d59;padding:70px 20px}.book-empty-rune{color:var(--arcane);text-shadow:0 0 20px var(--arcane-glow);margin-bottom:10px;font-size:2.4rem}.book-empty h2{font-family:var(--font-display);color:var(--silver-bright);margin:0 0 10px}.book-empty p{color:var(--text-dim);max-width:440px;font-family:var(--font-body);margin:0 auto 22px;line-height:1.6}.book-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.book-grid.sparse{grid-template-columns:repeat(auto-fit,minmax(280px,340px));justify-content:center}@media (width<=900px){.book-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.book-grid{grid-template-columns:1fr}}.book-card{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:12px;min-width:0;padding:0;transition:transform .2s;display:flex;position:relative}.book-card:hover{transform:translateY(-4px)}.book-card-frame{border-radius:var(--radius);border:4px solid;border-image:linear-gradient(155deg, rgb(var(--q-b)) 0%, rgb(var(--q)) 40%, rgba(var(--q),.55) 75%, rgb(var(--q-b)) 100%) 1;box-shadow:0 0 0 1px #000c, 0 0 16px rgba(var(--q),.4), 0 1px 0 #ffffff24 inset, 0 8px 22px #00000080;transition:box-shadow .25s,transform .25s;display:block;position:relative;overflow:hidden}.book-card:hover .book-card-frame{box-shadow:0 0 0 1px #000c, 0 0 34px rgba(var(--q),.65), 0 1px 0 #fff3 inset, 0 14px 30px #0000008c}.book-card-thumb{aspect-ratio:16/10;background-position:50%;background-size:cover;width:100%;transition:transform .4s;display:block}.book-card:hover .book-card-thumb{transform:scale(1.04)}.book-card-overlay{opacity:0;background:linear-gradient(#0000 40%,#0205088c);justify-content:flex-end;align-items:flex-end;padding:10px;transition:opacity .2s;display:flex;position:absolute;inset:0}.book-card:hover .book-card-overlay{opacity:1}.book-card-edit{font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--stone-void);background:linear-gradient(180deg, rgb(var(--q-b)), rgb(var(--q)));border-radius:999px;padding:4px 12px;font-size:.72rem;box-shadow:0 2px 8px #00000080}.book-card-body{flex-direction:column;gap:4px;min-width:0;padding:0 2px;display:flex}.book-card-date{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--q-b));text-shadow:0 0 10px rgba(var(--q),.3);font-size:.72rem}.book-card-title{font-family:var(--font-head);color:var(--silver-bright);overflow-wrap:anywhere;word-break:break-word;font-size:1.18rem;line-height:1.25}.book-card-zone{font-family:var(--font-body);color:var(--text-dim);overflow-wrap:anywhere;word-break:break-word;font-size:.95rem;font-style:italic}.book-card-desc{font-family:var(--font-body);color:var(--text-dim);-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;margin-top:4px;font-size:.92rem;line-height:1.5;display:-webkit-box;overflow:hidden}.book-card-add{cursor:pointer}.book-card-add-inner{aspect-ratio:16/10;border:2px dashed var(--stone-light);border-radius:var(--radius);width:100%;color:var(--text-faint);font-family:var(--font-head);letter-spacing:.04em;background:#0d151d4d;flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:border-color .2s,color .2s,background .2s;display:flex}.book-card-add:hover .book-card-add-inner{border-color:var(--arcane);color:var(--arcane-bright);background:#3fb8c80f}.book-card-add-rune{color:var(--arcane);text-shadow:0 0 16px var(--arcane-glow);font-size:1.8rem}[data-quality=uncommon]{--q:40,175,85;--q-b:120,230,150}[data-quality=rare]{--q:40,130,240;--q-b:120,190,255}[data-quality=epic]{--q:163,80,222;--q-b:205,140,255}[data-quality=legendary]{--q:255,140,20;--q-b:255,190,90}.mf-modal--milestone{max-width:560px}.mf-modal .mf-close--float{z-index:5;width:32px;height:32px;color:var(--silver-bright);backdrop-filter:blur(4px);cursor:pointer;background:#060b11b8;border:1px solid #7fe3ef59;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;line-height:1;transition:background .16s,border-color .16s,transform .12s;display:inline-flex;position:absolute;top:14px;right:14px}.mf-close--float:hover{background:#0c141ce6;border-color:#7fe3efb3;transform:scale(1.06)}.ms-hero{text-align:center;border-radius:var(--radius);background:radial-gradient(120% 90% at 50% 0%, rgba(var(--q), .2), transparent 62%), linear-gradient(180deg, rgba(var(--q), .1) 0%, #080d1300 70%), #0b1119;border:1px solid rgba(var(--q), .4);box-shadow:inset 0 1px 0 rgba(var(--q-b), .28), inset 0 0 42px rgba(var(--q), .1);margin:-4px -4px 22px;padding:34px 24px 26px;position:relative;overflow:hidden}.ms-hero-glow{background:radial-gradient(circle, rgba(var(--q-b), .32), transparent 62%);filter:blur(6px);pointer-events:none;width:220px;height:220px;animation:5s ease-in-out infinite ms-breathe;position:absolute;top:6px;left:50%;transform:translate(-50%)}@keyframes ms-breathe{0%,to{opacity:.55}50%{opacity:1}}.ms-hero-crest{justify-content:center;align-items:center;width:108px;height:108px;margin:0 auto 16px;display:flex;position:relative}.ms-hero-ring{border:1px solid rgba(var(--q-b), .5);box-shadow:0 0 22px rgba(var(--q), .4);border-radius:50%;animation:26s linear infinite ms-spin;position:absolute;inset:0}.ms-hero-ring:before{content:"";background:rgba(var(--q-b), .95);width:4px;height:4px;box-shadow:0 0 8px rgba(var(--q-b), .9);border-radius:50%;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.ms-hero-ring--2{opacity:.5;animation-duration:40s;animation-direction:reverse;inset:9px}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-hero-icon{border:1px solid rgba(var(--q-b), .7);width:72px;height:72px;box-shadow:0 0 18px rgba(var(--q), .5), inset 0 0 0 1px #00000080;background-position:50%;background-size:cover;border-radius:10px}@media (prefers-reduced-motion:reduce){.ms-hero-glow,.ms-hero-ring,.ms-hero-ring--2{animation:none}}.ms-hero-kicker{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.34em;color:rgb(var(--q-b));opacity:.95;text-shadow:0 0 12px rgba(var(--q), .5);margin:0 0 6px;font-size:.66rem}.ms-hero-title{font-family:var(--font-display);color:var(--silver-bright);text-shadow:0 2px 18px #0009;margin:0;font-size:1.85rem;line-height:1.05}.ms-hero-rule{justify-content:center;align-items:center;gap:12px;max-width:220px;margin:14px auto 12px;display:flex}.ms-hero-rule-line{background:linear-gradient(90deg, transparent, rgba(var(--q-b), .6), transparent);flex:1;height:1px}.ms-hero-rule-gem{color:rgb(var(--q-b));text-shadow:0 0 10px rgba(var(--q), .7);font-size:.72rem}.ms-hero-prompt{font-family:var(--font-body);color:var(--text);max-width:40ch;margin:0 auto;font-size:1.08rem;font-style:italic;line-height:1.5}.ms-hero-quality{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.16em;color:rgb(var(--q-b));border:1px solid rgba(var(--q-b), .5);background:rgba(var(--q), .12);border-radius:100px;margin-top:14px;padding:3px 12px;font-size:.66rem;display:inline-block}.ms-titleplate{border-radius:var(--radius);background:rgba(var(--q), .08);border:1px solid rgba(var(--q), .35);border-left:3px solid rgb(var(--q-b));align-items:center;gap:12px;margin:4px 0 2px;padding:12px 16px;display:flex}.ms-titleplate-label{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.2em;color:var(--text-faint);flex:none;font-size:.6rem}.ms-titleplate-name{font-family:var(--font-display);color:var(--silver-bright);flex:auto;font-size:1.12rem}.ms-titleplate-seal{color:rgb(var(--q-b));text-shadow:0 0 10px rgba(var(--q), .7);flex:none}.ms-drop{border-color:rgba(var(--q,63,184,200), .4)!important}.ms-form .ms-inscribe{white-space:nowrap;text-shadow:0 1px #ffffff40;align-items:center;gap:8px;font-weight:600;display:inline-flex;background:linear-gradient(180deg, rgba(var(--q-b,127,227,239), .95), rgba(var(--q,63,184,200), .9))!important;border:1px solid rgba(var(--q-b,127,227,239), .85)!important;color:#05090d!important}.ms-form .ms-inscribe:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 0 1px rgba(var(--q-b,127,227,239), .6), 0 0 22px rgba(var(--q,63,184,200), .5)!important}.ms-form .ms-inscribe:disabled{opacity:.6}.mf-overlay{z-index:1000;backdrop-filter:blur(6px);background:radial-gradient(120% 100% at 50% 0,#060c12b8,#020407e0);justify-content:center;align-items:flex-start;padding:96px 16px 40px;animation:.22s both mf-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes mf-fade{0%{opacity:0}to{opacity:1}}@keyframes mf-rise{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}.mf-modal{border-radius:var(--radius);background-color:#14110c;background-image:radial-gradient(120% 130% at 50% -6%,#cbb06a1f,#3fb8c80d 42%,#0000 72%),linear-gradient(178deg,#221b12 0%,#181410 40%,#100d0a 100%);border:1px solid #78603457;width:min(560px,100%);padding:clamp(20px,3.4vw,30px) clamp(20px,4vw,32px) clamp(24px,4vw,30px);animation:.26s cubic-bezier(.2,.7,.3,1) both mf-rise;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0009,0 30px 80px #0000009e,inset 0 2px #fff0d20d,inset 0 0 90px #00000080}.mf-modal:after{content:"";pointer-events:none;z-index:0;border-radius:var(--radius);opacity:.11;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute;inset:0}.mf-modal:before{content:"";pointer-events:none;z-index:1;border:1px solid #cbb06a38;border-radius:2px;position:absolute;inset:8px;box-shadow:inset 0 0 20px #cbb06a0d}.mf-modal>*{z-index:2;position:relative}.mf-corner{pointer-events:none;z-index:3;filter:drop-shadow(0 0 4px #cbb06a40);border:2px solid #cbb06ab3;width:20px;height:20px;position:absolute}.mf-corner.tl{border-bottom:none;border-right:none;top:8px;left:8px}.mf-corner.tr{border-bottom:none;border-left:none;top:8px;right:8px}.mf-corner.bl{border-top:none;border-right:none;bottom:8px;left:8px}.mf-corner.br{border-top:none;border-left:none;bottom:8px;right:8px}.mf-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 4px;display:flex}.mf-modal-titles{min-width:0}.mf-kicker{font-family:var(--font-head);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px #cbb06a4d;margin:0 0 6px;font-size:.66rem}.mf-modal-head h2{font-family:var(--font-display);color:var(--silver-bright);letter-spacing:.01em;text-shadow:0 0 26px #3fb8c833;margin:0;font-size:clamp(1.4rem,3vw,1.7rem)}.mf-close{cursor:pointer;width:34px;height:34px;color:var(--text-dim);background:linear-gradient(#14202a99,#090e1499);border:1px solid #cbb06a47;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.95rem;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.mf-close:hover{color:var(--arcane-bright);border-color:var(--arcane);box-shadow:0 0 14px var(--arcane-glow);transform:rotate(90deg)}.mf-modal-rule{justify-content:center;align-items:center;gap:12px;margin:14px 0 20px;display:flex}.mf-modal-rule-line{background:linear-gradient(90deg,#0000,#cbb06a73,#0000);flex:1;height:1px}.mf-modal-rule-gem{color:var(--gold);text-shadow:0 0 10px #cbb06a80;font-size:.78rem}.mf-form{flex-direction:column;gap:14px;display:flex}.mf-drop{border-radius:var(--radius);cursor:pointer;background:radial-gradient(80% 90% at 50% 30%,#3fb8c80f,#0000 70%),linear-gradient(#0d151d99,#04070a8c);border:1px dashed #cbb06a66;justify-content:center;align-items:center;min-height:190px;transition:border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden}.mf-drop:hover{border-color:var(--arcane);box-shadow:0 0 0 1px #3fb8c833,inset 0 0 26px #3fb8c81f}.mf-drop.has{border-style:solid;border-color:rgba(var(--q),.6);box-shadow:0 0 18px rgba(var(--q),.28);padding:0}.mf-drop img{object-fit:cover;width:100%;height:100%;max-height:300px;display:block}.mf-drop-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px;display:flex}.mf-drop-rune{color:var(--arcane);text-shadow:0 0 16px var(--arcane-glow);font-size:1.5rem;transition:transform .25s}.mf-drop:hover .mf-drop-rune{transform:translateY(-2px)scale(1.08)}.mf-drop-title{font-family:var(--font-head);color:var(--silver-bright);letter-spacing:.02em;font-size:1.02rem}.mf-drop-hint{color:var(--text-faint);font-family:var(--font-head);letter-spacing:.04em;font-size:.78rem}.mf-drop-swap{font-family:var(--font-head);letter-spacing:.03em;color:var(--silver-bright);backdrop-filter:blur(2px);opacity:0;background:linear-gradient(#091016d9,#04070ae6);border:1px solid #cbb06a66;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;transition:opacity .2s,transform .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:absolute;bottom:10px;right:10px;transform:translateY(4px);box-shadow:0 2px 8px #00000080}.mf-drop.has:hover .mf-drop-swap{opacity:1;border-color:var(--arcane);box-shadow:0 0 12px var(--arcane-glow);transform:none}.mf-preview{border-radius:var(--radius);border:3px solid;border-image:linear-gradient(155deg, rgb(var(--q-b)) 0%, rgb(var(--q)) 40%, rgb(var(--q-b)) 100%) 1;box-shadow:0 0 14px rgba(var(--q),.35);position:relative;overflow:hidden}.mf-preview img{object-fit:cover;width:100%;max-height:260px;display:block}.mf-download{font-family:var(--font-head);letter-spacing:.03em;color:var(--silver-bright);cursor:pointer;border:1px solid var(--arcane);backdrop-filter:blur(2px);background:linear-gradient(#091016d1,#04070ae6);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;transition:box-shadow .2s,color .2s,opacity .2s;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 0 12px #00000080}.mf-download:hover:not(:disabled){color:var(--arcane-bright);box-shadow:0 0 0 1px var(--arcane), 0 0 18px var(--arcane-glow), 0 0 12px #00000080}.mf-download:disabled{opacity:.65;cursor:progress}.mf-field{flex-direction:column;gap:6px;display:flex}.mf-field>span{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.85;font-size:.72rem}.mf-field input,.mf-field textarea{font-family:var(--font-body);color:var(--silver-bright);border-radius:var(--radius);resize:vertical;background:linear-gradient(#0a1118d9,#04070ab3);border:1px solid #cbb06a38;outline:none;padding:11px 13px;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}.mf-field input::placeholder,.mf-field textarea::placeholder{color:var(--text-faint);opacity:.7;font-style:italic}.mf-field input:hover,.mf-field textarea:hover{border-color:#3fb8c866}.mf-field input:focus,.mf-field textarea:focus{border-color:var(--arcane);box-shadow:0 0 0 1px var(--arcane), 0 0 16px #3fb8c82e;background:linear-gradient(#0c141ce6,#05090dcc)}.mf-field input[type=date]{color-scheme:dark}.mf-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mf-quality{flex-wrap:wrap;gap:8px;display:flex}.mf-quality-chip{font-family:var(--font-head);text-transform:capitalize;cursor:pointer;border:1px solid rgba(var(--q),.4);color:rgb(var(--q-b));background:#0d151d99;border-radius:999px;align-items:center;gap:7px;padding:7px 15px 7px 13px;font-size:.85rem;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .15s;display:inline-flex;position:relative}.mf-quality-chip:before{content:"";background:rgb(var(--q));width:8px;height:8px;box-shadow:0 0 8px rgba(var(--q),.7);border-radius:50%}.mf-quality-chip:hover{border-color:rgb(var(--q));background:rgba(var(--q),.12);transform:translateY(-1px)}.mf-quality-chip.on{color:#fff;border-color:rgb(var(--q-b));background:rgba(var(--q),.24);box-shadow:0 0 16px rgba(var(--q),.45)}.mf-quality-chip.on:before{box-shadow:0 0 10px rgba(var(--q),.9)}.mf-error{color:#ff9a8a;font-family:var(--font-head);border-radius:var(--radius);background:#78141429;border:1px solid #c8503c59;margin:0;padding:8px 12px;font-size:.9rem}.mf-note{color:var(--arcane-bright);font-family:var(--font-head);letter-spacing:.02em;text-align:center;opacity:.9;margin:-4px 0 0;font-size:.82rem}.book-pager{z-index:1;justify-content:center;align-items:center;gap:22px;margin:34px 0 4px;display:flex;position:relative}.book-pager-arrow{cursor:pointer;width:46px;height:46px;color:var(--arcane-bright);border:1px solid var(--arcane-deep);background:linear-gradient(#3fb8c81a,#04070a80);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:color .2s,border-color .2s,box-shadow .25s,transform .12s,opacity .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 6px 16px #00000059}.book-pager-arrow:hover:not(:disabled){color:var(--silver-bright);border-color:var(--arcane);box-shadow:0 0 0 1px var(--arcane-deep), 0 0 22px var(--arcane-glow), 0 6px 16px #00000059;transform:translateY(-1px)}.book-pager-arrow:active:not(:disabled){transform:translateY(0)}.book-pager-arrow:disabled{opacity:.32;cursor:default}.book-pager-label{font-family:var(--font-head);letter-spacing:.06em;color:var(--text-dim);text-align:center;min-width:120px;font-size:.9rem}.book-danger{z-index:1;text-align:center;margin-top:54px;position:relative}.book-danger-flourish{justify-content:center;align-items:center;gap:14px;margin:0 0 18px;display:flex}.book-danger-gem{color:#c8503cb3;text-shadow:0 0 10px #c8503c66}.book-danger-link{font-family:var(--font-head);letter-spacing:.03em;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.9rem;transition:color .18s}.book-danger-link:hover{color:#ff9a8a}.book-danger-note{color:var(--text-faint);margin:4px 0 0;font-size:.78rem;font-style:italic}.da-form{gap:16px}.da-lead{color:var(--text);margin:0;font-size:.95rem;line-height:1.55}.da-lead strong{color:#ff9a8a}.da-save{border:1px solid var(--arcane-deep);border-radius:var(--radius);text-align:center;background:linear-gradient(#3fb8c814,#04070a66);padding:14px 16px}.da-save-head{font-family:var(--font-head);color:var(--silver-bright);margin:0 0 4px;font-size:1rem}.da-save-sub{color:var(--text-dim);margin:0 0 12px;font-size:.85rem}.da-save-btn{justify-content:center;width:100%}.da-saved{color:var(--arcane-bright);font-family:var(--font-head);margin:10px 0 0;font-size:.85rem}.da-confirm input{letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-head)}.mf-buttons{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.mf-buttons-right{gap:10px;display:flex}@media (width<=560px){.mf-row{grid-template-columns:1fr}.mf-buttons{flex-direction:column-reverse;align-items:stretch}.mf-buttons-right{justify-content:stretch}.mf-buttons-right .book-btn{flex:1}}.book-allchars{color:var(--arcane,#7fe6da);border-bottom:1px dotted #7fe6da80;font-style:italic;text-decoration:none}.book-allchars:hover{color:#a9f0e6}.book-card-sk{pointer-events:none;opacity:.9}.book-card-sk .book-card-thumb{width:100%;height:100%;display:block}.book-card-sk .book-card-body{flex-direction:column;gap:6px;padding-top:10px;display:flex}.book-sk-label{text-align:center;font-family:var(--font-head);color:var(--text-faint);margin-top:20px;font-style:italic}.ms-band{border:1px solid var(--stone-light);border-radius:var(--radius);background:radial-gradient(120% 140% at 50% -20%,#cbb06a0f,#0000 60%),linear-gradient(#12202b8c,#0d151dbf);margin:-14px 0 1.3rem;padding:0;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 12px 34px #00000059}.ms-band-head{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.3rem;transition:border-color .25s,background .25s;display:flex}.ms-band.is-open .ms-band-head{border-bottom-color:#cbb06a29}.ms-band-head:hover{background:#cbb06a0a}.ms-band-kicker{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.24em;color:var(--gold);margin-bottom:3px;font-size:.66rem;display:block}.ms-band-title{font-family:var(--font-display);color:var(--silver-bright);letter-spacing:.01em;font-size:1.35rem;font-weight:700;display:block}.ms-band-meta{flex-shrink:0;align-items:center;gap:1rem;display:flex}.ms-band-count{font-family:var(--font-head);letter-spacing:.06em;color:var(--text-dim);white-space:nowrap;font-size:.82rem}.ms-band-of{color:var(--text-faint)}.ms-band-track{background:#04070a99;border-radius:999px;width:120px;height:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #cbb06a26}.ms-band-fill{background:linear-gradient(90deg, var(--gold-deep), var(--gold-bright));border-radius:999px;height:100%;transition:width .6s cubic-bezier(.16,.84,.44,1);display:block;box-shadow:0 0 10px #cbb06a80}.ms-band-chevron{font-family:var(--font-head);color:var(--gold);text-align:center;width:1.4rem;font-size:1.3rem;line-height:1}@media (width<=620px){.ms-band-track{display:none}}.ms-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:1.2rem 1.3rem 1.4rem;animation:.4s both ms-reveal;display:grid}@keyframes ms-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.ms-card{cursor:pointer;text-align:left;border-radius:var(--radius);border:1px solid var(--stone-light);min-height:74px;color:inherit;background:linear-gradient(#12202bb3,#0d151dd9);align-items:center;gap:12px;min-width:0;padding:12px 14px;transition:transform .2s,border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden}.ms-card:before{content:"";background:linear-gradient(180deg, rgb(var(--q-b)), rgb(var(--q)));opacity:.55;width:3px;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0}.ms-card:hover{border-color:rgba(var(--q),.6);box-shadow:0 0 24px rgba(var(--q),.22), 0 10px 24px #0006;transform:translateY(-3px)}.ms-card:hover:before{opacity:1}.ms-card-icon{border:1px solid rgba(var(--q),.5);background-position:50%;background-size:cover;border-radius:6px;flex:none;width:44px;height:44px;box-shadow:0 0 0 1px #000000b3,0 2px 8px #00000080}.ms-card-icon--ghost{filter:grayscale(.7)brightness(.6);opacity:.7;transition:filter .3s,opacity .3s}.ms-card.is-empty:hover .ms-card-icon--ghost{filter:grayscale(0)brightness();opacity:1}.ms-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.ms-card-name{font-family:var(--font-head);color:var(--silver-bright);overflow-wrap:anywhere;font-size:1rem;line-height:1.2}.ms-card-prompt{font-family:var(--font-body);color:var(--text-dim);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;font-style:italic;line-height:1.35;display:-webkit-box;overflow:hidden}.ms-card-status{font-family:var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--q-b));align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.ms-seal{color:var(--gold-bright);filter:drop-shadow(0 0 5px #cbb06a99)}.ms-card-cue{font-family:var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-bright);opacity:0;pointer-events:none;border:1px solid var(--gold-deep);white-space:nowrap;background:linear-gradient(#cbb06a29,#04070a99);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.68rem;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:8px;right:10px;transform:translateY(6px);box-shadow:0 2px 8px #00000080}.ms-card.is-empty:hover .ms-card-cue{opacity:1;transform:translateY(0)}.ms-card.is-empty:hover .ms-card-prompt{opacity:0;transition:opacity .18s}.ms-card-cue-plus{font-size:.9rem;line-height:1}.ms-card.is-done{background:linear-gradient(180deg, rgba(var(--q),.1), #0d151de6);border-color:rgba(var(--q),.4)}.ms-card.is-done:before{opacity:1}.mf-req{color:#e8927c;opacity:1;margin-left:2px}.fp{border-radius:var(--radius) var(--radius) 0 0;text-align:center;justify-content:center;align-items:center;min-height:min(88vh,900px);margin:-2px -2px 0;animation:.5s both fp-enter;display:flex;position:relative;overflow:hidden}@keyframes fp-enter{0%{opacity:0}to{opacity:1}}.book-content{transition:opacity .55s}.book-content.is-hidden{display:none}.book-content.is-open{animation:.7s cubic-bezier(.16,.84,.44,1) both book-reveal}@keyframes book-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.fp-art{z-index:0;will-change:transform;position:absolute;inset:0}.fp-art--race{filter:saturate(.9)contrast(1.02);background-position:50% 22%;background-size:cover;animation:40s ease-in-out infinite alternate fp-drift;inset:-6%}.fp-art--emblem{filter:drop-shadow(0 20px 60px #0009);opacity:.92;background-position:50% 46%;background-repeat:no-repeat;background-size:min(78vh,720px);animation:12s ease-in-out infinite alternate fp-float}@keyframes fp-drift{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1.14)translateY(-2.5%)}}@keyframes fp-float{0%{transform:translateY(-1.2%)}to{transform:translateY(1.2%)}}.fp-veil{z-index:1;pointer-events:none;background: radial-gradient(58% 52% at 50% 52%, #04070ac7 0%, #04070a85 45%, transparent 78%), linear-gradient(180deg, #04070a85 0%, #04070a66 42%, #070c12e6 84%, #070c12 100%), radial-gradient(120% 90% at 50% 34%, rgba(var(--book-accent-rgb),.16), transparent 62%);position:absolute;inset:0}.fp-crest{z-index:1;opacity:.1;filter:drop-shadow(0 0 40px #0009);pointer-events:none;width:min(60vh,560px);height:auto;animation:1.6s .1s both fp-crest-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}@keyframes fp-crest-in{0%{opacity:0;transform:translate(-50%,-56%)scale(1.08)}to{opacity:.1;transform:translate(-50%,-56%)scale(1)}}.fp-vignette{z-index:2;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 200px #000000b3,inset 0 -60px 120px #070c12e6}.fp-inner{z-index:3;max-width:900px;padding:8vh 24px;position:relative}.fp-emblem-hero{width:clamp(120px,18vh,190px);height:auto;filter:drop-shadow(0 6px 18px #0009) drop-shadow(0 0 30px rgba(var(--book-accent-rgb),.35));margin:0 auto 22px;animation:1.1s cubic-bezier(.16,.84,.44,1) both fp-emblem-in;display:block}@keyframes fp-emblem-in{0%{opacity:0;transform:translateY(-8px)scale(.9)}to{opacity:1;transform:none}}.fp-inner>*{animation:.8s cubic-bezier(.16,.84,.44,1) both fp-rise}.fp-inner>:first-child{animation-delay:.25s}.fp-inner>:nth-child(2){animation-delay:.38s}.fp-inner>:nth-child(3){animation-delay:.5s}.fp-inner>:nth-child(4){animation-delay:.6s}.fp-inner>:nth-child(5){animation-delay:.7s}.fp-inner>:nth-child(6){animation-delay:.8s}.fp-inner>:nth-child(7){animation-delay:.92s}.fp-inner>:nth-child(8){animation-delay:1.05s}.fp-inner>.fp-emblem-hero{animation:1.1s cubic-bezier(.16,.84,.44,1) .1s both fp-emblem-in}@keyframes fp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.fp-kicker{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.42em;color:var(--gold);text-shadow:0 1px 3px #04070ae6,0 0 20px #cbb06a66;margin:0 0 18px;padding-left:.42em;font-size:.8rem}.fp-name{line-height:1;font-family:var(--font-display);letter-spacing:.02em;justify-content:center;align-items:center;gap:22px;margin:0;font-size:clamp(2.8rem,8vw,6rem);font-weight:700;display:flex}.fp-name-text{color:var(--book-accent);text-shadow:0 2px 4px #04070ab3, 0 0 44px rgba(var(--book-accent-rgb),.5)}.fp-sigil{background:var(--book-accent);width:clamp(14px,2vw,22px);height:clamp(14px,2vw,22px);box-shadow:0 0 22px rgba(var(--book-accent-rgb),.8);flex:none;transform:rotate(45deg)}.fp-ident{font-family:var(--font-head);color:var(--silver);letter-spacing:.04em;text-shadow:0 1px 4px #04070ad9;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:22px 0 0;font-size:clamp(1rem,2vw,1.3rem);display:flex}.fp-lvl{color:var(--silver-bright)}.fp-class{color:var(--book-accent)}.fp-dot{color:var(--text-faint)}.fp-rule{justify-content:center;align-items:center;gap:14px;max-width:340px;margin:26px auto 0;display:flex}.fp-rule-line{background:linear-gradient(90deg,#0000,#cbb06a99,#0000);flex:1;height:1px}.fp-rule-gem{color:var(--gold);filter:drop-shadow(0 0 6px #cbb06a99);font-size:.8rem}.fp-epigraph{font-family:var(--font-body);color:var(--text);text-shadow:0 1px 4px #04070af2,0 1px 12px #000000b3;max-width:640px;margin:26px auto 0;font-size:clamp(1.1rem,2.4vw,1.6rem);font-style:italic;line-height:1.5}.fp-meta{font-family:var(--font-head);color:var(--text-dim);letter-spacing:.05em;text-shadow:0 1px 4px #04070ae6;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:30px 0 0;font-size:.95rem;display:flex}.fp-faction-alliance{color:#6fa8ff}.fp-faction-horde{color:#e8735a}.fp-stats{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);text-shadow:0 1px 3px #04070ae6;margin:14px 0 0;font-size:.72rem}.fp-open{cursor:pointer;color:var(--gold-bright);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.2em;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;margin:44px auto 0;font-size:.78rem;transition:color .2s,transform .2s;display:inline-flex}.fp-open:hover{color:var(--gold-bright);transform:translateY(2px)}.fp-open-chevron{filter:drop-shadow(0 0 8px #cbb06a80);font-size:1.5rem;line-height:.6;animation:2s ease-in-out infinite fp-bob}@keyframes fp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.book-content-start{scroll-margin-top:16px}@media (prefers-reduced-motion:reduce){.fp-art{animation:none;transform:scale(1.06)}.fp-inner>*,.fp-crest,.fp-open-chevron{animation:none}}@media (width<=760px){.fp{min-height:82vh}.fp-crest{width:70vw}}
