.codex[data-v-233f6f40]{--wood-0:#1b0f08;--wood-1:#2c1a10;--wood-2:#3e2615;--wood-3:#55351d;--gold:#e9c584;--gold-2:#c79a57;--gold-3:#8a6234;--ink:#f3e3c6;--ink-dim:#c9ac82;background:url(../spine-ui/bg-hall.svg) 50%/100% 100% no-repeat,radial-gradient(120% 80% at 50% 0,var(--wood-3) 0,var(--wood-2) 38%,var(--wood-1) 70%,var(--wood-0) 100%);border:2px solid #6b4526;border-radius:14px;box-shadow:inset 0 0 70px #0000008c,inset 0 1px #ffd6a02e,0 18px 42px #00000038;color:var(--ink);display:flex;flex-direction:column;margin:.75rem;min-height:62vh;overflow:hidden;padding:.7rem .9rem 1.1rem;position:relative}.codex[data-v-233f6f40]:before{border-radius:inherit;box-shadow:inset 0 0 0 1px #eac78629,inset 0 0 64px #00000085;content:"";inset:0;z-index:0}.codex-corner[data-v-233f6f40],.codex[data-v-233f6f40]:before{pointer-events:none;position:absolute}.codex-corner[data-v-233f6f40]{background:url(../spine-ui/corner-ornament.svg) 50%/100% 100% no-repeat;height:3.6rem;opacity:.8;width:3.6rem;z-index:1}.codex-corner.is-tl[data-v-233f6f40]{left:2px;top:2px}.codex-corner.is-tr[data-v-233f6f40]{right:2px;top:2px;transform:rotate(90deg)}.codex-corner.is-bl[data-v-233f6f40]{bottom:2px;left:2px;transform:rotate(-90deg)}.codex-corner.is-br[data-v-233f6f40]{bottom:2px;right:2px;transform:rotate(180deg)}.codex-top[data-v-233f6f40]{border-bottom:1px solid hsla(39,70%,72%,.22);gap:.8rem;justify-content:space-between;padding-bottom:.55rem;position:relative;z-index:2}.codex-title[data-v-233f6f40],.codex-top[data-v-233f6f40]{align-items:center;display:flex}.codex-title[data-v-233f6f40]{gap:.6rem;min-width:0}.codex-plaque[data-v-233f6f40]{align-items:center;background:url(../spine-ui/plaque.svg) 50%/100% 100% no-repeat;display:flex;padding:.15rem 1.5rem .2rem}.codex-plaque h1[data-v-233f6f40]{color:var(--gold);font-family:var(--font-serif,serif);font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:800;letter-spacing:.14em;margin:0;text-shadow:0 1px 0 #000,0 0 14px hsla(39,70%,72%,.35);white-space:nowrap}.codex-seal[data-v-233f6f40]{background:linear-gradient(160deg,#6b3f1f,#3a2110);border:1px solid var(--gold-2);border-radius:.35rem;box-shadow:inset 0 0 8px #0009;color:var(--gold);display:grid;font-size:1rem;height:1.9rem;place-items:center;width:1.9rem}.codex-help[data-v-233f6f40]{border:1px solid hsla(39,70%,72%,.55);border-radius:50%;color:var(--gold);cursor:help;display:grid;font-size:.62rem;font-weight:700;height:1.05rem;place-items:center;width:1.05rem}.codex-stats[data-v-233f6f40]{align-items:center;color:var(--gold);display:flex;font-size:.78rem;font-variant-numeric:tabular-nums;gap:.75rem}.codex-stat[data-v-233f6f40]{align-items:center;display:inline-flex;gap:.3rem;white-space:nowrap}.codex-gem[data-v-233f6f40]{border-radius:1px;box-shadow:0 0 6px currentcolor;height:.62rem;transform:rotate(45deg);width:.62rem}.codex-gem.is-blue[data-v-233f6f40]{background:linear-gradient(135deg,#7fb8ff,#2c6bd6);color:#7fb8ff}.codex-gem.is-gold[data-v-233f6f40]{background:linear-gradient(135deg,#ffdd9a,#c68a2b);color:#ffdd9a}.codex-gem.is-jade[data-v-233f6f40]{background:linear-gradient(135deg,#9bebc3,#2e9e72);color:#9bebc3}.codex-icon-btn[data-v-233f6f40]{background:linear-gradient(160deg,#5a361a,#2c190e);border:1px solid var(--gold-3);border-radius:.35rem;color:var(--gold);display:grid;font-size:.95rem;height:1.75rem;place-items:center;text-decoration:none;transition:border-color .2s ease,color .2s ease;width:1.75rem}.codex-icon-btn[data-v-233f6f40]:hover{border-color:var(--gold);color:#fff0d2}.codex-body[data-v-233f6f40]{display:grid;flex:1;gap:.9rem;grid-template-columns:minmax(0,1fr) 7.2rem;position:relative}.codex-main[data-v-233f6f40]{min-width:0;padding-top:.35rem}.codex-medals[data-v-233f6f40]{align-items:center;background:url(../spine-ui/bar-quality.svg) 50%/100% 100% no-repeat;display:flex;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));gap:.6rem;justify-content:center;margin:.1rem 0 0;overflow-x:auto;padding:.62rem 2.1rem;scrollbar-width:none;width:100%}.codex-medals[data-v-233f6f40]::-webkit-scrollbar{display:none}.codex-medal[data-v-233f6f40]{background:none;border:none;cursor:pointer;display:flex;flex:none;padding:0;position:relative}.codex-medal-core[data-v-233f6f40]{background:url(../spine-ui/medal-ring.svg) 50%/100% 100% no-repeat,radial-gradient(circle at 50% 26%,#fffdf4 0,color-mix(in oklab,var(--ring,#c79a57) 42%,#fff6e2) 46%,color-mix(in oklab,var(--ring,#c79a57) 82%,#7a4e1e));border:none;border-radius:50%;box-shadow:0 4px 10px #00000073,inset 0 0 0 1px #00000059;color:color-mix(in oklab,var(--ring,#8a5a28) 42%,#2a160c);display:grid;font-size:.82rem;font-weight:800;height:2.9rem;letter-spacing:0;place-items:center;text-shadow:0 1px 0 hsla(0,0%,100%,.55);transition:transform .2s ease,box-shadow .2s ease,color .2s ease;width:2.9rem}.codex-medal:hover .codex-medal-core[data-v-233f6f40]{transform:translateY(-2px)}.codex-medal.is-active .codex-medal-core[data-v-233f6f40]{background:url(../spine-ui/medal-ring.svg) 50%/100% 100% no-repeat,radial-gradient(circle at 50% 30%,#ffebc2,#d9a85c 62%,#8a5c25);box-shadow:0 0 18px #ffd58ab3,0 0 0 2px #ffe2b28c;color:#33200e}.codex-medal-core.is-long[data-v-233f6f40]{font-size:.62rem;letter-spacing:-.02em}.codex-medal.is-dim .codex-medal-core[data-v-233f6f40]{filter:saturate(.8);opacity:.62}.codex-medal-count[data-v-233f6f40]{background:linear-gradient(180deg,#fbebc6,#c79a57);border:1px solid rgba(58,36,16,.45);border-radius:999px;bottom:-.02rem;box-shadow:0 1px 3px #00000080;color:#33200e;font-size:.52rem;font-weight:800;line-height:.85rem;min-width:.85rem;padding:0 .14rem;position:absolute;right:.05rem;text-align:center}.codex-divider[data-v-233f6f40]{align-items:center;display:flex;gap:.65rem;margin:.4rem 0 .9rem}.codex-divider-line[data-v-233f6f40]{background:linear-gradient(90deg,transparent,hsla(36,57%,64%,.75));flex:1;height:1px;position:relative}.codex-divider-line[data-v-233f6f40]:after{background:linear-gradient(135deg,#fce7bc,#b37f3e);box-shadow:0 0 7px #eac78673;content:"";height:6px;position:absolute;right:-2px;top:50%;transform:translateY(-50%) rotate(45deg);width:6px}.codex-divider-line[data-v-233f6f40]:last-child{background:linear-gradient(270deg,transparent,hsla(36,57%,64%,.75))}.codex-divider-line[data-v-233f6f40]:last-child:after{left:-2px;right:auto}.codex-divider-text[data-v-233f6f40]{color:var(--ink-dim);font-size:.68rem;letter-spacing:.12em;white-space:nowrap}.codex-shelf[data-v-233f6f40]{align-items:center;background:linear-gradient(180deg,#7a4a28,#4a2716 45%,#2a150c);border-bottom:1px solid rgba(0,0,0,.65);border-top:1px solid hsla(39,70%,72%,.55);box-shadow:0 4px 10px #0006,inset 0 1px #ffe2b240;display:flex;height:.7rem;justify-content:space-around;margin:0 -.2rem .45rem}.codex-shelf i[data-v-233f6f40]{background:linear-gradient(135deg,#fce7bc,#b37f3e);box-shadow:0 0 7px #eac7868c;height:6px;transform:rotate(45deg);width:6px}.codex-grid[data-v-233f6f40]{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.codex-card[data-v-233f6f40]{background:linear-gradient(180deg,#5c3618,#31190d 55%,#1e0f07);border:none;border-radius:.5rem;box-shadow:0 10px 22px #0000006b,0 0 0 1px #0000008c;color:inherit;display:flex;flex-direction:column;padding:.42rem;position:relative;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease}.codex-card[data-v-233f6f40]:before{background:url(../spine-ui/frame-card.svg) 50%/100% 100% no-repeat;content:"";inset:-3px;pointer-events:none;position:absolute;z-index:4}.codex-card[data-v-233f6f40]:hover{box-shadow:0 16px 30px #0000008c,0 0 22px #eac78652;transform:translateY(-4px)}.codex-card:hover .codex-portrait-glow[data-v-233f6f40]{opacity:.9}.codex-card:hover .codex-portrait img[data-v-233f6f40]{transform:scale(1.3)}.codex-own[data-v-233f6f40]{background:url(../spine-ui/ribbon-owned.svg) 50%/100% 100% no-repeat;color:#eaf7e4;display:grid;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45));font-size:.6rem;font-weight:700;height:3.8rem;letter-spacing:.14em;line-height:1.15;padding:.28rem 0 1rem;place-items:center;position:absolute;right:.28rem;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.55);top:-.1rem;width:1.45rem;writing-mode:vertical-rl;z-index:5}.codex-own.is-lack[data-v-233f6f40]{background-image:url(../spine-ui/ribbon-locked.svg);color:#ffe6df}.codex-portrait[data-v-233f6f40]{aspect-ratio:3/4;background:radial-gradient(80% 60% at 50% 30%,#4a2c17,#1b0e07 75%);border:1px solid rgba(0,0,0,.6);border-radius:.3rem;box-shadow:inset 0 0 18px #000000b3;overflow:hidden;position:relative}.codex-portrait[data-v-233f6f40]:after{background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 26%,transparent 64%,rgba(0,0,0,.62));content:"";inset:0;pointer-events:none;position:absolute}.codex-portrait img[data-v-233f6f40]{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 34%;object-position:center 34%;transform:scale(1.22);transition:transform .35s ease;width:100%}.codex-portrait-glow[data-v-233f6f40]{background:radial-gradient(70% 55% at 50% 42%,color-mix(in oklab,var(--quality-ring,#ffd896) 30%,transparent),transparent 70%);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease}.codex-portrait-empty[data-v-233f6f40]{align-items:center;color:var(--gold-3);display:flex;flex-direction:column;font-size:1.3rem;gap:.35rem;inset:0;justify-content:center;position:absolute}.codex-portrait-empty em[data-v-233f6f40]{font-size:.66rem;font-style:normal;letter-spacing:.04em}.codex-spin[data-v-233f6f40]{animation:codex-spin-233f6f40 1s linear infinite}@keyframes codex-spin-233f6f40{to{transform:rotate(1turn)}}.codex-plate[data-v-233f6f40]{align-items:center;background:url(../spine-ui/plate-name.svg) 50%/100% 100% no-repeat;display:flex;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));flex-direction:column;gap:.05rem;margin-top:.32rem;padding:.42rem .6rem .5rem;position:relative}.codex-plate strong[data-v-233f6f40]{color:#f6e3bc;font-family:var(--font-serif,serif);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-shadow:0 1px 0 #000}.codex-plate em[data-v-233f6f40],.codex-plate strong[data-v-233f6f40]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-plate em[data-v-233f6f40]{color:#c9ac82bf;font-size:.6rem;font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:.02em}.codex-slot[data-v-233f6f40]{display:flex;min-width:0}.codex-slot-card[data-v-233f6f40]{background:linear-gradient(180deg,#2c1a0e,#180d06 60%,#110804);border:none;border-radius:.5rem;box-shadow:inset 0 0 18px #000000b3,0 8px 18px #0000004d;display:flex;flex:1;flex-direction:column;padding:.42rem;position:relative}.codex-slot-card[data-v-233f6f40]:before{background:url(../spine-ui/frame-card.svg) 50%/100% 100% no-repeat;content:"";inset:-3px;opacity:.4;pointer-events:none;position:absolute}.codex-slot-face[data-v-233f6f40]{aspect-ratio:3/4;background:radial-gradient(80% 60% at 50% 34%,rgba(96,62,36,.45),transparent 72%),linear-gradient(180deg,#241307,#150a05);border:1px solid rgba(0,0,0,.6);border-radius:.3rem;color:#c79a5733;display:grid;font-size:2rem;place-items:center}.codex-slot-plate[data-v-233f6f40]{background:linear-gradient(180deg,#3a2213,#241308);border-top:1px solid rgba(199,154,87,.18);color:#c9ac8294;font-family:var(--font-serif,serif);font-size:.8rem;font-weight:700;letter-spacing:.2em;margin-top:.3rem;padding:.34rem .4rem .4rem;text-align:center}.codex-empty[data-v-233f6f40]{align-items:center;color:var(--ink-dim);display:flex;flex-direction:column;gap:.35rem;padding:3rem 1rem;text-align:center}.codex-empty[data-v-233f6f40]>:first-child{font-size:2.6rem;opacity:.6}.codex-empty p[data-v-233f6f40]{color:var(--gold);font-size:.95rem;font-weight:600;margin:0}.codex-empty span[data-v-233f6f40]{font-size:.72rem;opacity:.8}.codex-progress[data-v-233f6f40]{color:#c9ac828c;font-size:.64rem;font-variant-numeric:tabular-nums;margin:.6rem 0 0;text-align:right}.codex-rail.is-right[data-v-233f6f40]{align-self:stretch;background:linear-gradient(180deg,#4a2816d1,#201009db),repeating-linear-gradient(0deg,hsla(0,0%,100%,.02) 0 1px,transparent 1px 6px);border:1px solid rgba(122,69,38,.55);border-radius:.6rem;box-shadow:inset 0 1px #ffe2b224,inset 0 0 0 1px #eac7861a,0 10px 22px #00000047;display:flex;flex-direction:column;gap:.08rem;padding:.55rem .5rem}.codex-nav[data-v-233f6f40]{align-items:center;background:transparent;border:none;border-bottom:1px solid rgba(199,154,87,.16);border-radius:.35rem;color:var(--ink-dim);cursor:pointer;display:flex;font-size:.83rem;gap:.4rem;letter-spacing:.06em;padding:.5rem .35rem;position:relative;text-align:left;text-decoration:none;transition:background .2s ease,color .2s ease}.codex-nav[data-v-233f6f40]:last-of-type{border-bottom:none}.codex-nav[data-v-233f6f40]:hover{background:#ffd6a01a;color:var(--gold)}.codex-nav.is-active[data-v-233f6f40]{background:linear-gradient(90deg,hsla(39,70%,72%,.18),transparent);box-shadow:inset 2px 0 0 var(--gold);color:var(--gold);font-weight:700}.codex-nav.is-dim[data-v-233f6f40]:not(.is-active){opacity:.42}.codex-nav-dot[data-v-233f6f40]{background:#e4534a;border-radius:50%;box-shadow:0 0 6px #e4534a;height:.32rem;position:absolute;right:.25rem;top:.3rem;width:.32rem}.codex-nav-text[data-v-233f6f40]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-nav-sep[data-v-233f6f40]{background:linear-gradient(90deg,transparent,rgba(199,154,87,.45),transparent);height:1px;margin:.35rem .25rem}@media(max-width:1200px){.codex-grid[data-v-233f6f40]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.codex-body[data-v-233f6f40]{grid-template-columns:minmax(0,1fr)}.codex-rail.is-right[data-v-233f6f40]{align-items:center;align-self:start;flex:none;flex-flow:row wrap;gap:.2rem;padding:.3rem}.codex-nav[data-v-233f6f40]{border-bottom:none;padding:.3rem .5rem}.codex-nav-sep[data-v-233f6f40]{display:none}.codex[data-v-233f6f40]{margin:.5rem;padding:.55rem .6rem .9rem}.codex-stats[data-v-233f6f40]{font-size:.7rem;gap:.5rem}.codex-medal-core[data-v-233f6f40]{font-size:.66rem;height:2.3rem;width:2.3rem}.codex-divider[data-v-233f6f40]{font-size:.64rem;letter-spacing:.04em}}@media(max-width:700px){.codex-grid[data-v-233f6f40]{gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.codex-grid>.codex-slot[data-v-233f6f40]:nth-child(n+7){display:none}}
