.lore{--lore-header:80px;--lore-bar:60px;--lore-side:360px;--lore-deep:#0c1120;--lore-navy:#13192d;--lore-panel:#1a2238;--lore-line:#2a3452;--lore-ink:#eef1f8;--lore-muted:#97a1bc;--lore-green:#a1bf24;--lore-site-grey:#9da4b2;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--lore-bar);position:relative;--lore-footer-overlap:20px;background:var(--lore-deep);color:var(--lore-ink);height:calc(100svh + var(--lore-footer-overlap));min-height:480px;overflow:hidden;padding-bottom:var(--lore-footer-overlap);padding-top:var(--lore-header)}@media (max-width:768px){.lore{--lore-header:64px;--lore-bar:56px}}.lore:fullscreen{height:100vh;padding-bottom:0;padding-top:0}body:has(.lore) #site-navigation{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0c1120!important}.lore button{color:inherit;font:inherit}.lore :focus-visible{outline:2px solid var(--lore-green);outline-offset:2px}.lore [hidden]{display:none!important}.lore__setup{background:#ffe08a;border-radius:8px;color:#241a00;font-size:15px;left:16px;margin:0;padding:12px 16px;position:absolute;right:16px;top:calc(var(--lore-header) + 16px);z-index:80}.lore__body,.lore__stage{display:flex;min-height:0;min-width:0;position:relative}.lore__stage{flex:1;overflow:hidden;padding:24px max(24px,env(safe-area-inset-right,0px)) 24px max(24px,env(safe-area-inset-left,0px));touch-action:pan-y pinch-zoom}@media (max-width:768px){.lore__stage{padding:12px}}.lore.is-zoomed .lore__stage{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.lore.is-zoomed .lore__edge{display:none!important}.lore__shift{flex:none;margin:auto;transition:transform .45s cubic-bezier(.3,.7,.3,1)}.lore__book,.lore__shift{position:relative}.lore .stf__item,.lore .stf__parent{-webkit-user-select:text;user-select:text}.lore-page{background:var(--lore-panel);overflow:hidden}.lore-page__art{inset:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;z-index:1}.lore-page__art canvas{display:block;height:100%;width:100%}.lore-page__links{inset:0;pointer-events:none;position:absolute;z-index:3}.lore-page__links a{border-radius:2px;pointer-events:auto;position:absolute}.lore-page__links a:hover{background:rgba(161,191,36,.22)}.lore-page__status{color:var(--lore-muted);display:grid;font-size:14px;inset:0;padding:16px;place-items:center;position:absolute;text-align:center;z-index:4}.lore-page.is-ready .lore-page__status{display:none}.lore-page__spinner{animation:lore-spin .8s linear infinite;border:2px solid var(--lore-line);border-radius:50%;border-top-color:var(--lore-green);height:28px;margin:0 auto;width:28px}.lore-page.is-error .lore-page__spinner{display:none}.lore-page__retry{background:none;border:1px solid var(--lore-line);border-radius:6px;cursor:pointer;margin-top:10px;padding:6px 12px}@keyframes lore-spin{to{transform:rotate(1turn)}}.lore .textLayer{inset:0;line-height:1;opacity:1;overflow:clip;position:absolute;text-align:initial;transform-origin:0 0;z-index:2;-webkit-text-size-adjust:none;text-size-adjust:none;caret-color:var(--lore-ink);forced-color-adjust:none}.lore .textLayer :is(span,br){color:transparent;cursor:text;position:absolute;transform-origin:0 0;white-space:pre}.lore .textLayer span.markedContent{height:0;top:0}.lore .textLayer ::selection{background:rgba(161,191,36,.4)}.lore .textLayer br::selection{background:transparent}.lore .textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:0}.lore .textLayer.selecting .endOfContent{top:0}.lore__edge{background:none;border:0;bottom:0;color:var(--lore-ink);cursor:pointer;display:none;padding:0;position:absolute;top:0;width:clamp(28px,5%,56px);z-index:50}.lore__edge--prev{left:0}.lore__edge--next{right:0}.lore__edge svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));opacity:0;transition:opacity .2s}.lore__edge:focus-visible svg,.lore__edge:hover svg{opacity:1}.lore__edge[disabled]{display:none!important}@media (hover:hover) and (pointer:fine){.lore__edge{display:grid;place-items:center}}.lore__bar{align-items:center;background:var(--lore-navy);border-top:1px solid var(--lore-line);display:grid;gap:8px;grid-template-columns:1fr auto 1fr;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.lore__group{align-items:center;display:flex;gap:4px;min-width:0}.lore__group--end{justify-content:flex-end}.lore__btn{align-items:center;background:none;border:1px solid transparent;border-radius:8px;box-sizing:border-box;color:var(--lore-ink);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:40px;justify-content:center;letter-spacing:.06em;line-height:1;min-width:40px;padding:0 10px;text-decoration:none;text-transform:uppercase}.lore__btn:hover{background:hsla(0,0%,100%,.06);color:var(--lore-ink)}.lore .lore__btn[aria-expanded=true],.lore .lore__btn[aria-expanded=true]:hover{background:none;color:var(--lore-green)}.lore__btn[disabled]{background:none;cursor:default;opacity:.35}.lore .lore__btn:focus-visible{outline-offset:-2px}.lore__btn svg{flex:none}.lore__count{font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.03em;min-width:104px;text-align:center}.lore__count small,.lore__zoom-level{color:var(--lore-muted);font-size:13px}.lore__zoom-level{font-variant-numeric:tabular-nums;min-width:44px;text-align:center}@media (max-width:1100px){.lore__btn-label{display:none}}@media (max-width:600px){.lore__btn{min-width:36px;padding:0 6px}.lore__count{min-width:64px}.lore__zoom-level{display:none}}.lore__side{background:#000;border-right:1px solid #1c2233;box-sizing:border-box;color:#fff;display:flex;flex:none;flex-direction:column;min-height:0;width:var(--lore-side)}.lore__scrim{display:none}@media (max-width:899px){.lore__side{bottom:0;box-shadow:12px 0 40px rgba(0,0,0,.4);left:0;position:absolute;top:0;width:min(var(--lore-side),100%);z-index:61}.lore__scrim:not([hidden]){background:rgba(0,0,0,.55);display:block;inset:0;position:absolute;z-index:60}}.lore__panel{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 20px 32px max(20px,env(safe-area-inset-left,0px))}.lore__toc-list{list-style:none}.lore__toc-list,.lore__toc-list li{margin:0;padding:0}.lore .lore__toc-list button{align-items:baseline;background:none;border:0;border-left:3px solid transparent;border-radius:0;color:var(--lore-site-grey);cursor:pointer;display:grid;font-size:22px;font-weight:300;gap:16px;grid-template-columns:1fr auto;letter-spacing:-.2px;line-height:1.25;padding:7px 0 7px 12px;text-align:left;text-transform:none;transition:color .2s;width:100%}.lore .lore__toc-list button:hover{color:#fff}.lore .lore__toc-list button[aria-current=true]{border-left-color:var(--lore-green);color:#fff}.lore .lore__toc-list button span:last-child{color:#6e7689;font-size:13px;font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:0}.lore__toc-l0:not(:first-child){margin-top:14px}.lore .lore__toc-l1 button{font-size:17px;padding-left:26px}.lore .lore__toc-l2 button{font-size:15px;padding-left:40px}.lore__side[data-panel=pages]{--lore-side:260px}.lore__thumbs{display:grid;gap:18px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}.lore__thumbs li{margin:0;min-width:0;padding:0}.lore .lore__thumb{background:none;border:0;color:var(--lore-site-grey);cursor:pointer;display:grid;font-size:13px;font-variant-numeric:tabular-nums;gap:6px;padding:0;text-align:center;width:100%}.lore__thumb-img{background:#141a29;display:block;outline:2px solid transparent;outline-offset:2px;overflow:hidden;transition:outline-color .2s;width:100%}.lore__thumb-img canvas{display:block;height:100%;width:100%}.lore__thumb--single .lore__thumb-img{margin:0 auto;width:50%}.lore .lore__thumb:hover{color:#fff}.lore .lore__thumb:hover .lore__thumb-img{outline-color:#3a4258}.lore .lore__thumb[aria-current=true]{color:var(--lore-green)}.lore .lore__thumb[aria-current=true] .lore__thumb-img{outline-color:var(--lore-green)}@media (prefers-reduced-motion:reduce){.lore__shift{transition:none}.lore-page__spinner{animation-duration:2s}}.lore .lore__title{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;clip:rect(0 0 0 0);border:0;clip-path:inset(50%);white-space:nowrap}