@font-face {
font-family: 'EB Garamond Variable';
font-style: normal;
font-display: swap;
font-weight: 400 800;
src: url(/fonts/eb-garamond-latin-ext-wght-normal.woff2) format('woff2-variations');
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
font-family: 'EB Garamond Variable';
font-style: normal;
font-display: swap;
font-weight: 400 800;
src: url(/fonts/eb-garamond-latin-wght-normal.woff2) format('woff2-variations');
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
font-family: 'EB Garamond Variable';
font-style: italic;
font-display: swap;
font-weight: 400 800;
src: url(/fonts/eb-garamond-latin-ext-wght-italic.woff2) format('woff2-variations');
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
font-family: 'EB Garamond Variable';
font-style: italic;
font-display: swap;
font-weight: 400 800;
src: url(/fonts/eb-garamond-latin-wght-italic.woff2) format('woff2-variations');
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond Variable';
font-style: normal;
font-display: swap;
font-weight: 300 700;
src: url(/fonts/cormorant-garamond-latin-ext-wght-normal.woff2) format('woff2-variations');
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond Variable';
font-style: normal;
font-display: swap;
font-weight: 300 700;
src: url(/fonts/cormorant-garamond-latin-wght-normal.woff2) format('woff2-variations');
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond Variable';
font-style: italic;
font-display: swap;
font-weight: 300 700;
src: url(/fonts/cormorant-garamond-latin-ext-wght-italic.woff2) format('woff2-variations');
unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond Variable';
font-style: italic;
font-display: swap;
font-weight: 300 700;
src: url(/fonts/cormorant-garamond-latin-wght-italic.woff2) format('woff2-variations');
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {--font-text: "EB Garamond Variable", "EB Garamond", Garamond, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-display: "Cormorant Garamond Variable", "Cormorant Garamond", "EB Garamond Variable", Garamond, Georgia, serif;--font-ui: var(--font-text);--measure: 36rem;--wide: 74rem;--gutter: clamp(1rem, 4vw, 2.5rem);--radius: 6px;--radius-lg: 12px;--step--2: 0.74rem;--step--1: 0.86rem;--step-0: 1rem;--step-1: 1.2rem;--step-2: clamp(1.35rem, 1.2rem + 0.8vw, 1.7rem);--step-3: clamp(1.65rem, 1.35rem + 1.4vw, 2.3rem);--step-4: clamp(2.1rem, 1.6rem + 2.4vw, 3.3rem);--step-5: clamp(2.6rem, 1.8rem + 4vw, 4.6rem);--player-h: 0px;--tabbar-h: 0px;--ease: cubic-bezier(.2, .7, .2, 1);}:root,:root[data-theme="dark"] {color-scheme: dark;--bg: #140c14;--bg-1: #1c121c;--bg-2: #251826;--bg-3: #30202f;--ink: #efe5d6;--ink-2: #cbbcae;--ink-3: #a3938f;--gold: #d9b562;--gold-hi: #eed08a;--gold-2: #b48c3e;--on-gold: #1c1015;--gold-3: #7d6030;--red: #e0655a;--red-deep: #9b2420;--amber: #e2a24f;--line: rgba(217, 181, 98, .22);--line-2: rgba(239, 229, 214, .09);--line-3: rgba(239, 229, 214, .16);--plate: #ebe0cc;--plate-edge: #c9b48a;--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 32px -12px rgba(0, 0, 0, .7);--text-weight: 430;--glow: radial-gradient(60% 50% at 50% 0%, rgba(155, 36, 32, .16), transparent 70%);}:root[data-theme="light"] {color-scheme: light;--bg: #f4ecdd;--bg-1: #eee3cf;--bg-2: #e7d9c0;--bg-3: #dccbad;--ink: #26181c;--ink-2: #4b3739;--ink-3: #6b5754;--gold: #85600f;--gold-hi: #6e4e0b;--gold-2: #7d5b1a;--on-gold: #fffaf0;--gold-3: #c9aa6a;--red: #9b1f1f;--red-deep: #9b1f1f;--amber: #94580c;--line: rgba(133, 96, 15, .3);--line-2: rgba(38, 24, 28, .1);--line-3: rgba(38, 24, 28, .18);--plate: #fbf6ec;--plate-edge: #b99a5c;--shadow: 0 10px 28px -14px rgba(60, 35, 20, .45);--text-weight: 400;--glow: radial-gradient(60% 50% at 50% 0%, rgba(155, 36, 32, .07), transparent 70%);}*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 5rem; }
html, body { margin: 0; }
body {
font-family: var(--font-text);
font-size: 1.1875rem;
font-weight: var(--text-weight);
line-height: 1.6;
color: var(--ink);
background-color: var(--bg);
background-image: var(--glow), url(/assets/grain.webp);
background-repeat: no-repeat, repeat;
background-size: 100% 60rem, 160px 160px;
font-variant-numeric: oldstyle-nums proportional-nums;
font-kerning: normal;
font-feature-settings: "kern", "liga", "clig", "calt";
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
padding-bottom: calc(var(--player-h) + var(--tabbar-h) + env(safe-area-inset-bottom));
min-height: 100vh;
overflow-x: hidden;
}
@media (min-width: 900px) { body { font-size: 1.25rem; } }
[hidden] { display: none !important; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
figure { margin: 0; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
:where(h1, h2, h3, h4) { font-family: var(--font-display); font-weight: 600; line-height: 1.1; margin: 0; text-wrap: balance; }
p { margin: 0; }
ol, ul { margin: 0; padding: 0; }
code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .8em; }
::selection { background: rgba(217, 181, 98, .35); color: var(--ink); }
:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; border-radius: 3px; }
#main:focus { outline: none; }
.skip {
position: absolute; left: 1rem; top: -4rem; z-index: 100;
background: var(--gold); color: #1a0f16; padding: .5rem 1rem; border-radius: var(--radius);
text-decoration: none; font-weight: 600;
}
.skip:focus { top: 1rem; }
.visually-hidden {
position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.announcer { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.muted { color: var(--ink-3); }
.center { text-align: center; }
.red { color: var(--red); }
.i { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; }
.i-pause { display: none; }
.is-playing > .i-play { display: none; }
.is-playing > .i-pause { display: inline-block; }
[data-theme="light"] .i-sun, :root:not([data-theme="light"]) .i-moon { display: none; }
main { display: block; }
main > *:not(.hero):not(.story) {
width: min(100% - 2 * var(--gutter), var(--wide));
margin-left: max(var(--gutter), calc((100% - var(--wide)) / 2)); margin-right: auto;
}
main > .page-head.page-head--center, main > .lost, main > .home-about { margin-inline: auto; }
.masthead {position: relative; z-index: 30;border-bottom: 1px solid var(--line);background: var(--bg);}.masthead-inner {width: min(100% - 2 * var(--gutter), 90rem); margin-inline: auto;display: flex; align-items: center; gap: 1.25rem; min-height: 4rem;}.wordmark { display: flex; flex-direction: column; text-decoration: none; line-height: 1; padding: .6rem 0; margin-right: auto; }.wm-title {font-family: var(--font-display); font-weight: 600; font-size: 1.28rem; letter-spacing: .16em;text-transform: uppercase; color: var(--gold); white-space: nowrap;}.wm-strap {margin-top: .32rem; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase;color: var(--red); font-weight: 520; white-space: nowrap;}.wordmark:hover .wm-title { color: var(--gold-hi); }.topnav { display: none; }.tools { display: flex; gap: .25rem; }.icon-btn {display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%;border: 1px solid transparent; background: none; color: var(--ink-2);}.icon-btn:hover { color: var(--gold-hi); border-color: var(--line); }.icon-btn .i { width: 1.3rem; height: 1.3rem; }@media (min-width: 1000px) {.masthead { position: sticky; top: 0; }.topnav { display: flex; align-items: center; gap: .1rem; }.topnav-link {display: inline-flex; align-items: center; gap: .4rem; text-decoration: none; color: var(--ink-2);font-size: .98rem; letter-spacing: .02em; padding: .45rem .6rem; border-radius: var(--radius);white-space: nowrap;}.topnav-link .i { display: none; }.topnav-link:hover { color: var(--gold-hi); }.topnav-link[aria-current="page"] { color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold-2); border-radius: 0; }}@media (min-width: 1000px) and (max-width: 1239px) {.topnav-link[href="/map/"], .topnav-link[href="/quests/"], .topnav-link[href="/reading/"] { display: none; }}.tabbar {position: fixed; inset: auto 0 0 0; z-index: 40;display: grid; grid-template-columns: repeat(5, 1fr);height: calc(3.6rem + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);background: color-mix(in srgb, var(--bg-1) 96%, transparent);border-top: 1px solid var(--line);backdrop-filter: blur(10px);}.tab {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem;text-decoration: none; color: var(--ink-3); font-size: .72rem; letter-spacing: .06em;text-transform: uppercase; font-weight: 520;}.tab .i { width: 1.4rem; height: 1.4rem; }.tab[aria-current="page"] { color: var(--gold); }:root { --tabbar-h: 3.6rem; }@media (min-width: 1000px) {.tabbar { display: none; }:root { --tabbar-h: 0px; }}.colophon { margin-top: 5rem; padding: 2.5rem 0 3rem; border-top: 1px solid var(--line-2); color: var(--ink-3); font-size: .95rem; }.colophon-inner { width: min(100% - 2 * var(--gutter), 46rem); margin-inline: auto; text-align: center; display: grid; gap: .8rem; }.colophon .ornament { color: var(--gold-2); }.wm-mini { font-family: var(--font-display); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); font-size: .95em; }.colophon-cast { font-size: .9rem; }.colophon-links { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; }.colophon a { color: var(--ink-2); text-decoration-color: var(--line); }.colophon a:hover { color: var(--gold-hi); }.ornament { display: flex; justify-content: center; color: var(--gold-2); margin: 2.5rem auto; }.ornament svg { width: 7.5rem; height: 1rem; }.crumbs { margin-top: 1.25rem; font-size: .9rem; color: var(--ink-3); }.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; }.crumbs li + li::before { content: "/"; margin-right: .4rem; color: var(--gold-3); }.crumbs a { color: var(--ink-2); text-decoration: none; }.crumbs a:hover { color: var(--gold-hi); text-decoration: underline; }.page-head { margin-top: clamp(2rem, 5vw, 3.5rem); margin-bottom: 2rem; max-width: 52rem; }.page-head--center { text-align: center; margin-inline: auto; }.page-title { font-size: var(--step-5); color: var(--gold); letter-spacing: -.005em; font-weight: 600; }.kicker, .eyebrow {font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-3);font-variant-numeric: lining-nums; margin-bottom: .7rem; font-weight: 520;}.kicker a { color: inherit; }.eyebrow { color: var(--red); }.dek { font-size: var(--step-1); color: var(--ink-2); margin-top: .9rem; max-width: 42rem; font-style: italic; line-height: 1.45; }.page-head--center .dek { margin-inline: auto; }.page-meta { margin-top: .9rem; color: var(--ink-3); font-size: .95rem; }.page-meta a { color: var(--ink-2); }.as-of { color: var(--ink-3); font-size: .95rem; font-style: italic; margin: .3rem 0 1.1rem; }.section-title { font-size: var(--step-3); color: var(--gold); margin-bottom: .6rem; }.section-title.center { text-align: center; }.block-title {font-family: var(--font-text); font-size: .8rem; letter-spacing: .18em; text-transform: uppercase;color: var(--ink-3); font-weight: 560; margin-bottom: .9rem; display: flex; align-items: center; gap: .5rem;}.block { margin: 2.5rem 0; }.block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.1rem; }.block-head .section-title { margin: 0; }.more-link { color: var(--ink-2); text-decoration: none; font-size: .95rem; display: inline-flex; align-items: center; gap: .35rem; }.more-link:hover { color: var(--gold-hi); }.empty { color: var(--ink-3); font-style: italic; }.actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }.btn {display: inline-flex; align-items: center; gap: .55rem; min-height: 2.9rem; padding: .55rem 1.25rem;border-radius: 999px; border: 1px solid var(--line); background: none; color: var(--ink);text-decoration: none; font-size: 1.02rem; letter-spacing: .02em; font-weight: 520; line-height: 1.1;transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--ease);}.btn .i { width: 1.1rem; height: 1.1rem; }.btn--play { background: var(--gold); border-color: var(--gold); color: var(--on-gold); font-weight: 600; }.btn--play:hover { background: var(--gold-hi); border-color: var(--gold-hi); }.btn--play:active { transform: scale(.98); }.btn--ghost:hover { border-color: var(--gold-2); color: var(--gold-hi); }.btn--small { min-height: 2.2rem; padding: .3rem .8rem; font-size: .9rem; }.btn--round { width: 2.9rem; height: 2.9rem; padding: 0; justify-content: center; flex: none; }.btn--round span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.btn--round:hover { border-color: var(--gold); color: var(--gold-hi); }.btn--round.is-playing { background: var(--gold); color: var(--on-gold); border-color: var(--gold); }.btn--disabled { opacity: .6; cursor: default; font-style: italic; }.link-btn {display: inline-flex; align-items: center; gap: .35rem; border: 0; background: none; padding: 0;color: var(--gold); text-decoration: underline; text-decoration-color: var(--gold-3); text-underline-offset: .2em;}.link-btn:hover { color: var(--gold-hi); }.chip {display: inline-flex; align-items: center; gap: .3rem; padding: .08rem .55rem .12rem; border-radius: 4px;font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 560; line-height: 1.5;border: 1px solid var(--line-3); color: var(--ink-2); white-space: nowrap; font-variant-numeric: lining-nums;}.chip .i { width: .95em; height: .95em; }.chip--dead { color: var(--red); border-color: color-mix(in srgb, var(--red) 45%, transparent); }.chip--missing { color: var(--amber); border-color: color-mix(in srgb, var(--amber) 45%, transparent); }.chip--ally, .chip--friendly, .chip--visited, .chip--done { color: var(--gold); border-color: var(--line); }.chip--hostile { color: var(--red); border-color: color-mix(in srgb, var(--red) 45%, transparent); background: color-mix(in srgb, var(--red-deep) 16%, transparent); }.chip--wary { color: var(--amber); border-color: color-mix(in srgb, var(--amber) 40%, transparent); }.chip--rumoured { border-style: dashed; color: var(--ink-3); }.chip--here { background: var(--red-deep); border-color: var(--red-deep); color: #fff3ea; }.chip--alive, .chip--neutral, .chip--unknown { color: var(--ink-3); }.chip--failed, .chip--dropped { color: var(--ink-3); text-decoration: line-through; }.dagger { color: var(--red); font-weight: 400; }.plate {position: relative; display: block; overflow: hidden; background: var(--plate); border-radius: 3px;box-shadow: 0 0 0 1px var(--plate-edge), 0 0 0 4px var(--bg), 0 0 0 5px var(--line), var(--shadow);isolation: isolate;}.plate img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; background: transparent !important; }.plate-mono {display: grid; place-items: center; width: 100%; height: 100%; aspect-ratio: 4 / 5;font-family: var(--font-display); font-size: 4rem; color: var(--gold-3); background:radial-gradient(circle at 50% 40%, rgba(180, 140, 62, .16), transparent 60%);}[data-theme="light"] .plate-mono { color: var(--gold-2); }.tokens { display: flex; flex-wrap: wrap; gap: .6rem .9rem; }.token { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--ink); padding: .2rem .8rem .2rem .2rem; border-radius: 999px; border: 1px solid var(--line-2); background: var(--bg-1); }.token:hover { border-color: var(--line); color: var(--gold-hi); }.token-img { width: 2.4rem; height: 2.4rem; border-radius: 50%; object-fit: cover; background: var(--plate) !important; flex: none; }.token-mono { display: grid; place-items: center; font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; color: var(--gold-2); background: var(--bg-2) !important; }.token-text { display: flex; flex-direction: column; line-height: 1.15; }.token-name { font-size: 1rem; }.token-sub { font-size: .8rem; color: var(--ink-3); }.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .8rem 1.5rem; margin: 1.5rem 0 0; }.facts div { border-top: 1px solid var(--line-2); padding-top: .45rem; }.facts dt { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); font-weight: 560; }.facts dd { margin: .15rem 0 0; font-size: 1.05rem; }.facts a { color: var(--gold); text-decoration-color: var(--gold-3); }.link-list { list-style: none; display: grid; gap: .45rem; }.link-list a { color: var(--gold); text-decoration-color: var(--gold-3); text-underline-offset: .18em; }.link-list a:hover { color: var(--gold-hi); }.link-list--cols { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .6rem 2rem; }.link-list .muted { font-size: .92rem; }.sess-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; }.sess-chips a, .sess-chips span {display: inline-grid; place-items: center; min-width: 2.6rem; height: 2.2rem; padding: 0 .55rem;border: 1px solid var(--line); border-radius: 4px; text-decoration: none; color: var(--gold);font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; letter-spacing: .04em;}.sess-chips a:hover { background: var(--bg-2); color: var(--gold-hi); }a.sess { color: var(--gold); text-decoration-color: var(--gold-3); }.toc { font-size: .95rem; }.toc-title { font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-3); margin-bottom: .6rem; font-weight: 560; }.toc ol { list-style: none; display: grid; gap: .35rem; border-left: 1px solid var(--line); padding-left: .9rem; }.toc a { color: var(--ink-2); text-decoration: none; line-height: 1.3; display: block; }.toc a:hover, .toc a.is-current { color: var(--gold-hi); }.pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 3.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid var(--line-2); }.pager-link { display: flex; flex-direction: column; gap: .2rem; text-decoration: none; padding: .9rem 1rem; border-radius: var(--radius); border: 1px solid var(--line-2); }a.pager-link:hover { border-color: var(--line); background: var(--bg-1); }.pager-next { text-align: right; align-items: flex-end; }.pager-dir { font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); display: inline-flex; align-items: center; gap: .3rem; font-variant-numeric: lining-nums; }.pager-title { font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; color: var(--gold); line-height: 1.15; }.pager-soon .pager-title { color: var(--ink-2); }.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }.filter {border: 1px solid var(--line-3); background: none; color: var(--ink-2); border-radius: 999px;padding: .35rem .9rem; font-size: .95rem; display: inline-flex; gap: .45rem; align-items: baseline;}.filters--factions { align-items: baseline; gap: .4rem; }.filters--factions .jump-label { color: var(--ink-3); font-style: italic; font-size: .95rem; margin-right: .2rem; }.filter--small { font-size: .88rem; padding: .25rem .75rem; }.filter span { color: var(--ink-3); font-size: .85em; font-variant-numeric: lining-nums; }.filter:hover { border-color: var(--gold-2); color: var(--gold-hi); }.filter.is-on { background: var(--gold); border-color: var(--gold); color: var(--on-gold); }.filter.is-on span { color: inherit; opacity: .8; }.jump { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .95rem; color: var(--ink-3); margin-bottom: 2rem; }.jump a { color: var(--ink-2); text-decoration-color: var(--line); }.jump a:hover { color: var(--gold-hi); }.jump-label { font-style: italic; }.filter-empty { color: var(--ink-3); font-style: italic; margin: 2rem 0; }.tiles { list-style: none; display: grid; gap: 1rem; }.tiles--rail {grid-auto-flow: column; grid-auto-columns: minmax(12.5rem, 15rem); overflow-x: auto; overscroll-behavior-x: contain;scroll-snap-type: x mandatory; padding: .4rem .2rem 1rem; margin-inline: -.2rem; scrollbar-width: thin; scrollbar-color: var(--gold-3) transparent;}.tile { scroll-snap-align: start; }@media (min-width: 1000px) {.tiles--rail { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: visible; padding: 0; margin: 0; }.tiles--rail .tile-title { font-size: 1.2rem; }}.tile-link {position: relative; display: grid; grid-template-rows: auto 1fr; height: 100%; text-decoration: none;border-radius: var(--radius); background: var(--bg-1); border: 1px solid var(--line-2); overflow: hidden;transition: border-color .2s, transform .25s var(--ease);}.tile-link:hover { border-color: var(--line); transform: translateY(-2px); }.tile-art { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--plate); isolation: isolate; border-bottom: 1px solid var(--line); }.tile-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 16%; mix-blend-mode: multiply; background: transparent !important; transition: transform .5s var(--ease); }.tile-link:hover .tile-art img { transform: scale(1.04); }.tile-scrim { display: none; }.tile-num {position: absolute; top: .55rem; left: .65rem; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem;letter-spacing: .06em; color: #f4e2b0; background: rgba(20, 12, 20, .78); border: 1px solid rgba(217, 181, 98, .45);padding: .05rem .5rem; border-radius: 3px;}.tile:not(.has-img) .tile-num { position: static; margin: 1rem 1rem 0; justify-self: start; font-size: 2.6rem; background: none; border: 0; padding: 0; color: var(--gold-2); }.tile-body { display: flex; flex-direction: column; gap: .2rem; padding: .8rem 1rem 1rem; }.tile-kicker { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); font-variant-numeric: lining-nums; font-weight: 560; }.tile-title { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; line-height: 1.1; color: var(--gold); }.tile-meta { font-size: .88rem; color: var(--ink-3); margin-top: auto; padding-top: .2rem; }.prose { max-width: var(--measure); hyphens: manual; overflow-wrap: break-word; }.prose > * + * { margin-top: 1em; }.prose p { text-wrap: pretty; }.prose h2 {font-size: var(--step-3); color: var(--gold); margin-top: 2.2em; padding-top: .9em;border-top: 1px solid var(--line-2); scroll-margin-top: 5rem;}.prose h3 { font-size: var(--step-2); color: var(--gold); margin-top: 1.8em; }.prose h4 { font-family: var(--font-text); font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin-top: 1.6em; }.prose h2 + *, .prose h3 + *, .prose h4 + * { margin-top: .6em; }.prose a { color: var(--gold); text-decoration-color: var(--gold-3); text-decoration-thickness: 1px; text-underline-offset: .18em; }.prose a:hover { color: var(--gold-hi); text-decoration-color: currentColor; }.prose strong { font-weight: 600; color: var(--ink); }[data-theme="dark"] .prose strong, :root:not([data-theme]) .prose strong { color: #f7eedf; }.prose em { font-style: italic; }.prose del { color: var(--ink-3); }.prose ul, .prose ol { padding-left: 1.3em; }.prose li + li { margin-top: .4em; }.prose ul > li::marker { content: "◆  "; color: var(--gold-2); font-size: .6em; }.prose ol > li::marker { color: var(--gold-2); font-variant-numeric: lining-nums; }.prose li > ul, .prose li > ol { margin-top: .4em; }.prose blockquote {margin-inline: 0; padding: .1em 0 .1em 1.2em; border-left: 2px solid var(--gold-2);color: var(--ink-2); font-style: italic;}.prose blockquote em { font-style: normal; }.prose blockquote > * + * { margin-top: .6em; }.prose hr { border: 0; height: 1rem; margin: 2.2em auto; background: center / 7.5rem 1rem no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16'%3E%3Cpath d='M0 8h48M72 8h48' stroke='%23b48c3e' stroke-width='.8'/%3E%3Cg transform='translate(60 8)' fill='%23b48c3e'%3E%3Ccircle r='2.6'/%3E%3C/g%3E%3C/svg%3E"); }.prose code { background: var(--bg-2); padding: .1em .35em; border-radius: 3px; overflow-wrap: anywhere; }.prose pre { background: var(--bg-1); border: 1px solid var(--line-2); padding: .8em 1em; border-radius: var(--radius); overflow-x: auto; font-size: .9em; }.prose pre code { background: none; padding: 0; }.table-wrap { overflow-x: auto; margin-inline: calc(-1 * min(var(--gutter), 1rem)); padding-inline: min(var(--gutter), 1rem); }.prose table { border-collapse: collapse; width: 100%; font-size: .95em; min-width: 26rem; font-variant-numeric: lining-nums; }.prose th { text-align: left; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); font-weight: 560; padding: .5em .8em; border-bottom: 1px solid var(--line); }.prose td { padding: .6em .8em; border-bottom: 1px solid var(--line-2); vertical-align: top; }.prose thead:has(th:empty:only-child), .prose thead:has(th:empty + th:empty) { display: none; }.prose .fig { margin-block: 1.6em; }.fig img { border-radius: 3px; }.fig figcaption { margin-top: .5rem; font-size: .9rem; color: var(--ink-3); font-style: italic; }.fig--card { display: inline-block; width: min(11rem, 42%); margin: .4em .6em .4em 0; vertical-align: top; }.fig--inset { max-width: 20rem; }.fig-row { display: flex; flex-wrap: wrap; gap: 1rem; }.fig-row .fig { margin: 0; }@media (min-width: 760px) {.prose .fig--inset { float: right; width: 42%; margin: .3em 0 1em 1.6em; clear: right; }}.prose::after { content: ""; display: table; clear: both; }.plate--fig { box-shadow: 0 0 0 1px var(--plate-edge), var(--shadow); }.plate--fig img { height: auto; object-fit: contain; }.fig--card .plate--fig { background: #1a1119; box-shadow: 0 8px 18px rgba(0,0,0,.45); }.fig--card .plate--fig img { mix-blend-mode: normal; }.dossier {margin: 0 0 2rem; padding: 1.1rem 1.3rem; border: 1px solid var(--line); border-radius: var(--radius);background: linear-gradient(180deg, var(--bg-1), transparent); display: grid; gap: .8rem; max-width: var(--measure);position: relative;}.dossier::before, .dossier::after { content: ""; position: absolute; width: 10px; height: 10px; border: 1px solid var(--gold-2); }.dossier::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }.dossier::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }.dossier-row { display: grid; gap: .1rem; }.dossier dt { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); font-weight: 580; }.dossier dd { margin: 0; color: var(--ink); }.dossier-note p { font-style: italic; color: var(--ink-2); }@media (min-width: 640px) {.dossier-row { grid-template-columns: 7.5rem 1fr; gap: 1rem; align-items: baseline; }}.prose--lede { font-size: 1.08em; }.prose--lede > p:first-child::first-letter,.prose--recap > p:first-child::first-letter,.prose--story > p:first-child::first-letter {float: left; font-family: var(--font-display); font-weight: 600; color: var(--gold);font-size: 3.6em; line-height: .78; margin: .08em .1em 0 0; padding-top: .04em;}.prose--center { margin-inline: auto; text-align: center; font-style: italic; color: var(--ink-2); }.prose--small { font-size: .95rem; }.prose--intro { color: var(--ink-2); margin-bottom: 2rem; }.prose--transcript blockquote { font-style: normal; font-family: var(--font-text); background: var(--bg-1); padding: 1em 1.3em; border-left-color: var(--gold); color: var(--ink); }.prose--transcript blockquote em { font-style: italic; }.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line-2); isolation: isolate; }.hero-mist {position: absolute; inset: -20% -10% auto; height: 140%; z-index: -1; pointer-events: none; opacity: .9;background:radial-gradient(38% 30% at 20% 30%, rgba(155, 36, 32, .22), transparent 70%),radial-gradient(40% 35% at 80% 20%, rgba(120, 90, 130, .18), transparent 70%),radial-gradient(60% 40% at 50% 100%, rgba(217, 181, 98, .06), transparent 70%);animation: drift 38s ease-in-out infinite alternate;}@keyframes drift { from { transform: translate3d(-2%, 0, 0) scale(1); } to { transform: translate3d(2%, 3%, 0) scale(1.06); } }.hero-inner { width: min(100% - 2 * var(--gutter), var(--wide)); margin: 0 auto; padding: clamp(1.8rem, 5vw, 4rem) 0 clamp(2.2rem, 5vw, 4rem); }.hero .eyebrow { font-family: var(--font-display); font-style: italic; text-transform: none; letter-spacing: .01em; font-size: var(--step-1); color: var(--ink-2); margin-bottom: 1.4rem; }.hero-art { display: none; }.latest { display: grid; gap: 1.6rem; align-items: center; }.latest-cover { display: block; max-width: 17rem; }.latest-cover img { border-radius: 4px; box-shadow: var(--shadow), 0 0 0 1px var(--line); }.latest-title { font-size: var(--step-5); line-height: 1.02; letter-spacing: -.01em; }.latest-title a { color: var(--gold); text-decoration: none; }.latest-title a:hover { color: var(--gold-hi); }.latest-dek { margin-top: 1rem; font-size: var(--step-1); color: var(--ink-2); max-width: 36rem; line-height: 1.5; }.latest .kicker { color: var(--ink-3); }.resume-note { margin-top: .9rem; font-size: .95rem; color: var(--ink-3); font-style: italic; }.resume-note button { font-style: normal; }.hero--scene .latest { grid-template-columns: 1fr; }.hero-scene-plate { display: none; }@media (min-width: 760px) {.latest { grid-template-columns: minmax(12rem, 17rem) 1fr; gap: 2.5rem; }.hero--scene .latest { grid-template-columns: 1fr minmax(15rem, 22rem); }}.scene-plate { max-width: 22rem; justify-self: center; transform: rotate(1.2deg); }.scene-plate img { height: auto; object-fit: contain; }@media (max-width: 759px) { .scene-plate { max-width: 15rem; order: -1; transform: rotate(-1deg); } }.standing {display: grid; gap: 2rem; margin-top: 3rem !important; padding: clamp(1.4rem, 4vw, 2.4rem);border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(160deg, var(--bg-1), var(--bg) 70%);}.standing .section-title { margin: 0; }.prose--standing { max-width: 44rem; }.standing-side { display: grid; gap: .8rem; align-content: start; }.glance { display: block; padding: .9rem 1rem; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg); text-decoration: none; }.glance-label { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-3); font-weight: 560; }.glance-value { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.45rem; color: var(--gold); line-height: 1.15; margin-top: .15rem; }.glance-value a { color: inherit; text-decoration: none; }.glance-value a:hover { color: var(--gold-hi); }.glance-sub { color: var(--ink-3); font-size: .95rem; margin-top: .2rem; }.glance-sub a { color: var(--ink-2); }.glance--next { border-color: var(--line); background: linear-gradient(135deg, color-mix(in srgb, var(--red-deep) 18%, var(--bg)), var(--bg)); }.glance--map .glance-value { font-size: 1.15rem; display: flex; align-items: center; gap: .4rem; }a.glance:hover { border-color: var(--line); }.glance-tokens { margin-top: .5rem; display: flex; flex-wrap: wrap; gap: .5rem; }@media (min-width: 900px) { .standing { grid-template-columns: 1fr 17rem; gap: 3rem; } }.home-block { margin-top: clamp(3rem, 6vw, 4.5rem) !important; }.next-list { list-style: none; display: grid; gap: .6rem; counter-reset: n; }.next-list a {display: grid; grid-template-columns: 2.4rem 1fr; gap: .1rem 1rem; padding: .9rem 1rem; text-decoration: none;border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg-1);}.next-list a:hover { border-color: var(--line); }.next-n { grid-row: span 2; font-family: var(--font-display); font-weight: 700; font-size: 1.9rem; color: var(--gold-2); line-height: 1; font-variant-numeric: lining-nums; }.next-t { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; color: var(--gold); line-height: 1.15; }.next-d { color: var(--ink-2); font-size: 1rem; }@media (min-width: 900px) { .next-list { grid-template-columns: repeat(2, 1fr); } .next-list li:first-child { grid-column: span 2; } }.catchup { display: grid; gap: 1rem; }@media (min-width: 760px) { .catchup { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); } }.catch {display: flex; flex-direction: column; gap: .35rem; padding: 1.4rem 1.5rem; border-radius: var(--radius-lg);border: 1px solid var(--line-2); background: var(--bg-1); text-decoration: none; color: var(--ink);}a.catch:hover { border-color: var(--line); }.catch--story { background: radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--red-deep) 22%, var(--bg-1)), var(--bg-1) 70%); border-color: var(--line); }.catch-kicker { font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); font-weight: 560; }.catch-title { font-family: var(--font-display); font-weight: 600; font-size: var(--step-3); color: var(--gold); line-height: 1.05; }.catch-dek { color: var(--ink-2); }.catch-meta { color: var(--ink-3); font-size: .95rem; margin-top: auto; padding-top: .4rem; }.catch-progress { display: block; height: 3px; background: var(--line-2); border-radius: 2px; overflow: hidden; margin-top: .5rem; }.catch-progress > i { display: block; height: 100%; background: var(--gold); }.catch--listen .btn { margin-top: .6rem; align-self: flex-start; }.doors { list-style: none; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }.door {display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1rem; border-radius: var(--radius-lg);border: 1px solid var(--line-2); background: var(--bg-1); text-decoration: none; color: var(--ink);transition: border-color .2s, transform .25s var(--ease);}.door:hover { border-color: var(--line); transform: translateY(-2px); }.door-art { display: flex; gap: 0; margin-bottom: .6rem; min-height: 4.5rem; align-items: center; }.door-faces img { width: 3.6rem; height: 3.6rem; border-radius: 50%; object-fit: cover; object-position: 50% 15%; background: var(--plate) !important; border: 2px solid var(--bg-1); margin-right: -.8rem; }.door-cards img { width: 3.1rem; border-radius: 3px; margin-right: -1rem; transform: rotate(-6deg); box-shadow: 0 4px 10px rgba(0,0,0,.5); }.door-cards img:nth-child(2) { transform: rotate(0deg) translateY(-4px); }.door-cards img:nth-child(3) { transform: rotate(6deg); }.door-map { border-radius: var(--radius); overflow: hidden; }.door-map img { width: 100%; height: 4.5rem; object-fit: cover; object-position: 62% 45%; }.door-icon { width: 2.4rem; height: 2.4rem; color: var(--gold-2); margin-bottom: .5rem; }.door-title { font-family: var(--font-display); font-weight: 600; font-size: 1.45rem; color: var(--gold); line-height: 1.1; }.door-dek { color: var(--ink-3); font-size: .98rem; }.home-about { text-align: center; }.home-about .prose { max-width: 38rem; }.episodes-layout { display: grid; gap: 2.5rem; }.episodes-layout > *, .ep-grid > *, .longread-grid > *, .standing > *, .places-cols > * { min-width: 0; }@media (min-width: 1000px) { .episodes-layout { grid-template-columns: 1fr 21rem; align-items: start; } .subscribe { position: sticky; top: 6rem; } }.ep-list { list-style: none; display: grid; gap: .6rem; }.ep-row { display: flex; align-items: center; gap: .9rem; padding: .3rem .6rem .3rem .3rem; border-radius: var(--radius); border: 1px solid var(--line-2); background: var(--bg-1); }.ep-row:hover { border-color: var(--line); }.ep-row-link { flex: 1; display: grid; grid-template-columns: 3.4rem 1fr auto; gap: 1rem; align-items: center; padding: .6rem .4rem; text-decoration: none; color: var(--ink); min-width: 0; }.ep-row-num { font-family: var(--font-display); font-weight: 700; font-size: 1.6rem; color: var(--gold-2); text-align: center; letter-spacing: .02em; }.ep-row-main { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }.ep-row-kicker { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); font-variant-numeric: lining-nums; font-weight: 520; }.ep-row-title { font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; color: var(--gold); line-height: 1.1; }.ep-row-dek { color: var(--ink-2); font-size: .98rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }.ep-row-meta { color: var(--ink-3); font-size: .92rem; white-space: nowrap; font-variant-numeric: lining-nums; }@media (max-width: 640px) {.ep-row-link { grid-template-columns: 2.6rem 1fr; }.ep-row-meta { display: none; }.ep-row-num { font-size: 1.3rem; }.ep-row-title { font-size: 1.3rem; }}.subscribe { padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-1); }.subscribe > p { color: var(--ink-2); font-size: 1rem; }.feed-box { display: flex; gap: .5rem; align-items: center; margin: 1rem 0; padding: .5rem .5rem .5rem .8rem; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg); }.feed-url { flex: 1; font-size: .78rem; overflow-wrap: anywhere; color: var(--ink-2); }.ep-hero { display: grid; gap: 1.6rem; margin: 1.5rem 0 2.5rem; align-items: end; }.ep-cover { max-width: 9rem; }@media (min-width: 760px) { .ep-cover { max-width: 15rem; } }.ep-cover img { border-radius: 4px; box-shadow: var(--shadow), 0 0 0 1px var(--line); }.ep-hero .page-title { font-size: var(--step-5); }.ep-meta { margin-top: .8rem; color: var(--ink-3); font-size: .98rem; font-variant-numeric: lining-nums; }@media (min-width: 760px) { .ep-hero { grid-template-columns: 15rem 1fr; gap: 2.5rem; } }.ep-grid { display: grid; gap: 2.5rem; }@media (min-width: 1000px) { .ep-grid { grid-template-columns: minmax(0, 1fr) 20rem; gap: 4rem; } .ep-side { position: sticky; top: 5.5rem; align-self: start; max-height: calc(100vh - 7rem - var(--player-h)); overflow-y: auto; scrollbar-width: thin; } }.ep-about { margin-bottom: 1rem; }.recap .ornament { justify-content: flex-start; margin: 2.5rem 0 1.5rem; }.recap .section-title { font-size: var(--step-4); }.chapters { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-1); }.chapter-list { list-style: none; display: grid; gap: .1rem; }.chapter {width: 100%; display: grid; grid-template-columns: 3.6rem 1fr; gap: .6rem; align-items: baseline; text-align: left;padding: .45rem .5rem; border: 0; border-radius: 4px; background: none; color: var(--ink-2); font-size: 1rem; line-height: 1.3;}.chapter:hover { background: var(--bg-2); color: var(--ink); }.chapter-t { font-variant-numeric: lining-nums tabular-nums; color: var(--ink-3); font-size: .88rem; }.chapter.is-current { color: var(--gold); background: var(--bg-2); }.chapter.is-current .chapter-t { color: var(--gold-2); }.chapter.is-current .chapter-name::after { content: " ♪"; color: var(--red); }.ep-side .block { margin: 1.8rem 0 0; }.ep-side .tokens { flex-direction: column; align-items: flex-start; }.longread-grid { display: grid; gap: 2rem; }@media (min-width: 1100px) {.longread-grid { grid-template-columns: 15rem minmax(0, var(--measure)); gap: 4rem; justify-content: center; }.longread-side { position: sticky; top: 6rem; align-self: start; max-height: calc(100vh - 8rem); overflow-y: auto; }.longread .page-head { margin-left: calc(50% - (15rem + 4rem + var(--measure)) / 2 + 19rem); }}@media (max-width: 1099px) { .longread-side .toc { padding: 1rem; border: 1px solid var(--line-2); border-radius: var(--radius); } }.story { width: 100%; }.story > .page-head, .story > .story-continue, .story > .chapter-index, .story > .story-intro { width: min(100% - 2 * var(--gutter), 52rem); margin-inline: auto; }.story-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 50; pointer-events: none; }.story-progress span { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--red-deep), var(--gold)); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }.story-continue { text-align: center; margin-bottom: 2rem; }.chapter-index ol { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .3rem 1.5rem; margin: 0 0 2rem; padding: 1.2rem 0; border-block: 1px solid var(--line-2); }.chapter-index a { display: grid; grid-template-columns: 2.8rem 1fr; gap: .5rem; text-decoration: none; color: var(--ink-2); padding: .25rem 0; line-height: 1.25; }.chapter-index a:hover { color: var(--gold-hi); }.ci-num { font-family: var(--font-display); font-weight: 700; color: var(--gold-2); text-align: right; }.story-intro { margin-bottom: 1rem; }.story-grid { width: min(100% - 2 * var(--gutter), 60rem); margin: 0 auto; display: grid; }.story-rail { display: none; }@media (min-width: 1100px) {.story-grid { grid-template-columns: 5rem minmax(0, var(--measure)); gap: 4rem; width: min(100% - 2 * var(--gutter), calc(var(--measure) + 18rem)); }.story-rail { display: block; position: sticky; top: 6rem; align-self: start; }.story-rail ol { list-style: none; display: grid; gap: .1rem; border-right: 1px solid var(--line); padding-right: 1rem; text-align: right; }.story-rail a { font-family: var(--font-display); font-weight: 600; color: var(--ink-3); text-decoration: none; font-size: 1rem; letter-spacing: .04em; display: block; padding: .1rem 0; }.story-rail a:hover { color: var(--gold-hi); }.story-rail a.is-current { color: var(--gold); }}.chapter-sec { padding-top: 3.5rem; scroll-margin-top: 4.5rem; }.chapter-head { margin-bottom: 1.4rem; text-align: center; }.chapter-num { font-family: var(--font-display); font-weight: 600; font-size: clamp(3rem, 2rem + 4vw, 4.6rem); line-height: 1; color: var(--gold-2); letter-spacing: .04em; }.chapter-num::before, .chapter-num::after { content: ""; display: inline-block; width: 2.5rem; height: 1px; background: var(--line); vertical-align: middle; margin: 0 1rem; }.chapter-title { font-size: var(--step-3); color: var(--gold); margin-top: .5rem; }.chapter-links { margin-top: .8rem; display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .95rem; }.chapter-links a { color: var(--ink-2); text-decoration-color: var(--line); }.chapter-links a:hover { color: var(--gold-hi); }.prose--story { margin-inline: auto; }.story-coda { margin-top: 3rem; }.story-coda .prose { font-size: 1.1em; }.cast-group { margin-bottom: 3rem; }.group-title { font-size: var(--step-2); color: var(--ink-2); margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line-2); }.group-title a { color: inherit; text-decoration: none; }.group-title a:hover { color: var(--gold-hi); }.cast-grid { list-style: none; display: grid; gap: 1.6rem 1.2rem; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); }@media (min-width: 760px) { .cast-grid { grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); gap: 2rem 1.6rem; } }.cast-card a { display: flex; flex-direction: column; gap: .8rem; text-decoration: none; color: var(--ink); height: 100%; }.cast-card .plate { aspect-ratio: 4 / 5; transition: transform .3s var(--ease); }.cast-card a:hover .plate { transform: translateY(-3px) rotate(-.4deg); }.cast-card-body { display: flex; flex-direction: column; gap: .35rem; }.cast-name { font-family: var(--font-display); font-weight: 600; font-size: 1.4rem; line-height: 1.1; color: var(--gold); }.cast-card a:hover .cast-name { color: var(--gold-hi); }.cast-chips { display: flex; flex-wrap: wrap; gap: .3rem; }.cast-dek { color: var(--ink-2); font-size: .98rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }.cast-card[hidden], .cast-group[hidden] { display: none; }.entity-head { display: grid; gap: 2rem; margin: 1.5rem 0 2.5rem; align-items: start; }.entity-art { max-width: 22rem; width: 100%; }.plate--large { aspect-ratio: 4 / 5; }.plate--large img { object-fit: contain; }.plate--mono { display: grid; }.entity-head .page-title { font-size: var(--step-5); }.entity-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }.status-note { margin-top: 1rem; padding-left: 1rem; border-left: 2px solid var(--red); color: var(--ink); font-style: italic; }@media (min-width: 800px) {.entity-head { grid-template-columns: minmax(14rem, 20rem) 1fr; gap: 3rem; }.entity-head.no-art { grid-template-columns: 1fr; max-width: 52rem; }}@media (max-width: 799px) { .entity-art { max-width: 15rem; } }.entity-body { margin-top: 1rem; }.promises { padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-1); max-width: 48rem; }.quests-layout > * + * { margin-top: 2.5rem; }.quest-list { list-style: none; display: grid; gap: 1rem; }.quest { padding: 1.1rem 1.25rem; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg-1); max-width: 48rem; scroll-margin-top: 6rem; }.quest:target { border-color: var(--gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 25%, transparent); }.quest-head { display: flex; gap: .7rem; align-items: baseline; flex-wrap: wrap; }.quest-title { font-size: 1.45rem; color: var(--gold); }.quest-desc { color: var(--ink); margin-top: .3rem; }.quest-body { margin-top: .5rem; color: var(--ink-2); font-size: 1rem; }.quest-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; margin-top: .6rem; font-size: .92rem; color: var(--ink-3); }.quest-meta a { color: var(--ink-2); text-decoration-color: var(--line); }.quest-meta a:hover { color: var(--gold-hi); }.qm { display: inline-flex; align-items: center; gap: .3rem; }.quest--done .quest-title, .quest--failed .quest-title, .quest--dropped .quest-title { color: var(--ink-3); }.quest-list--compact .quest { padding: .8rem 1rem; background: var(--bg); }.quest-list--compact .quest-title { font-size: 1.2rem; }.map-teaser { position: relative; display: block; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); margin-bottom: 2.5rem; }.map-teaser img { width: 100%; height: clamp(12rem, 30vw, 22rem); object-fit: cover; object-position: 65% 45%; transition: transform .6s var(--ease); }.map-teaser:hover img { transform: scale(1.03); }.map-teaser-label { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; gap: .5rem; align-items: center; padding: .5rem 1rem; border-radius: 999px; background: rgba(20, 12, 20, .85); color: #f1d88f; border: 1px solid rgba(217, 181, 98, .5); font-size: 1rem; }.places-cols { display: grid; gap: 2.5rem; }@media (min-width: 900px) { .places-cols { grid-template-columns: 3fr 2fr; gap: 4rem; } }.place-list { list-style: none; display: grid; gap: .8rem; }.place-row { border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg-1); }.place-link { display: flex; flex-direction: column; gap: .2rem; padding: .9rem 1.1rem; text-decoration: none; color: var(--ink); }.place-link:hover .place-title { color: var(--gold-hi); }.place-title { font-family: var(--font-display); font-weight: 600; font-size: 1.45rem; color: var(--gold); line-height: 1.1; }.place-dek { color: var(--ink-2); font-size: 1rem; }.place-meta { color: var(--ink-3); font-size: .88rem; }.place-children { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; padding: 0 1.1rem .9rem; font-size: .95rem; }.place-children a { color: var(--ink-2); text-decoration-color: var(--line); }.place-list--rumour .place-row { background: none; border-style: dashed; }.place-list--rumour .place-title { color: var(--ink-2); font-style: italic; }.place-art { margin: 0 0 2rem; max-width: 48rem; }.place-layout { display: grid; gap: 1rem 3rem; }.place-layout > * { min-width: 0; }.place-side .block { margin-top: 1.5rem; }@media (min-width: 1000px) {.place-layout { grid-template-columns: minmax(0, 1fr) 19rem; }.place-side { position: sticky; top: 6rem; align-self: start; order: 2; }}@media (max-width: 999px) { .place-side { order: -1; } }.locator { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-lg); border: 1px solid var(--line); background: #2a1d28; }.locator img { position: absolute; left: 50%; top: 50%; width: 340%; max-width: none; height: auto; }.locator-pin { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #e6c46f; box-shadow: 0 0 0 3px rgba(20,12,20,.8), 0 0 14px rgba(230,196,111,.8); }.locator-pin--rumoured { width: calc(27% * var(--s, 1)); height: auto; aspect-ratio: 1; margin: 0; transform: translate(-50%, -50%); background: rgba(232, 216, 184, .08); border: 2px dashed rgba(232, 216, 184, .75); box-shadow: none; }.locator-label { position: absolute; left: .7rem; bottom: .7rem; padding: .3rem .75rem; border-radius: 999px; background: rgba(20, 12, 20, .85); color: #f1d88f; font-size: .9rem; display: inline-flex; gap: .35rem; align-items: center; border: 1px solid rgba(217,181,98,.4); }.tokens--stack { flex-direction: column; align-items: flex-start; }.place-art img { border-radius: var(--radius); background: var(--plate) !important; }.map-frame { margin: 0 0 2.5rem; position: relative; }.map-scroll { overflow: auto; max-height: 78vh; border-radius: var(--radius-lg); border: 1px solid var(--line); background: #1a1119; overscroll-behavior: contain; scrollbar-width: thin; }.map-stage { position: relative; width: 100%; transition: width .35s var(--ease); }.map-stage img { width: 100%; height: auto; }.map-frame[data-zoom="2"] .map-stage { width: 200%; }.map-frame[data-zoom="3"] .map-stage { width: 320%; }.map-route { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }.map-route polyline { fill: none; stroke: #e6c46f; stroke-width: 2.2; stroke-dasharray: 5 7; stroke-linecap: round; stroke-linejoin: round; opacity: .75; vector-effect: non-scaling-stroke; }.pin { position: absolute; width: 14px; height: 14px; transform: translate(-50%, -50%); text-decoration: none; z-index: 2; }.pin-dot { position: absolute; inset: 0; border-radius: 50%; background: #e6c46f; box-shadow: 0 0 0 3px rgba(20, 12, 20, .75), 0 0 12px rgba(230, 196, 111, .7); }.pin-label {position: absolute; left: 50%; top: calc(100% + 5px); transform: translateX(-50%);font-family: var(--font-display); font-weight: 700; font-size: clamp(.78rem, .6rem + .6vw, 1.05rem); letter-spacing: .04em; color: #f6e7bd; white-space: nowrap;text-shadow: 0 0 3px #140c14, 0 0 6px #140c14, 0 0 12px #140c14; line-height: 1;}.pin--label-above .pin-label { top: auto; bottom: calc(100% + 5px); }.pin--label-left .pin-label { left: auto; right: calc(100% + 7px); top: 50%; transform: translateY(-50%); }.pin--label-right .pin-label { left: calc(100% + 7px); top: 50%; transform: translateY(-50%); }.pin.pin--rumoured { width: calc(8% * var(--s, 1)); height: auto; aspect-ratio: 1; z-index: 1; }.pin--rumoured .pin-dot { background: rgba(216, 199, 168, .08); border: 2px dashed rgba(216, 199, 168, .7); box-shadow: none; }.pin--rumoured:hover .pin-dot, .pin--rumoured:focus-visible .pin-dot { background: rgba(216, 199, 168, .16); border-color: #d8c7a8; }.pin.pin--rumoured .pin-label { top: 50%; bottom: auto; left: 50%; right: auto; transform: translate(-50%, -50%); font-style: italic; font-weight: 600; color: #d8c7a8; }.pin--here .pin-dot { background: #e0655a; box-shadow: 0 0 0 3px rgba(20, 12, 20, .8), 0 0 0 8px rgba(224, 101, 90, .35); animation: here 2.4s ease-out infinite; }@keyframes here { 0% { box-shadow: 0 0 0 3px rgba(20,12,20,.8), 0 0 0 4px rgba(224,101,90,.55); } 100% { box-shadow: 0 0 0 3px rgba(20,12,20,.8), 0 0 0 18px rgba(224,101,90,0); } }.pin:hover .pin-label, .pin:focus-visible .pin-label { color: #fff; }.map-tools { position: absolute; top: .7rem; right: .7rem; display: flex; gap: .3rem; z-index: 3; }.map-tools .icon-btn { background: rgba(20, 12, 20, .8); border-color: rgba(217, 181, 98, .35); color: #f1d88f; }.map-legend { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-top: .8rem; font-size: .92rem; color: var(--ink-3); }.lg { display: inline-flex; align-items: center; gap: .45rem; }.lg::before { content: ""; width: 11px; height: 11px; border-radius: 50%; }.lg--visited::before { background: #e6c46f; }.lg--here::before { background: #e0655a; }.lg--rumoured::before { width: 16px; height: 16px; border: 1.5px dashed var(--ink-3); }.lg--route::before { width: 18px; height: 0; border-radius: 0; border-top: 2px dashed #e6c46f; }@media (max-width: 700px) { .pin-label { font-size: .68rem; } .pin--rumoured .pin-label { display: none; } .map-frame[data-zoom] .pin--rumoured .pin-label { display: block; } }.reading-intro { margin: -1rem auto 2rem; max-width: 40rem; }.spread-wrap { padding: 2rem 0 1rem; background: radial-gradient(60% 60% at 50% 45%, rgba(0,0,0,.35), transparent 70%); }.spread { list-style: none; display: grid; gap: 2.5rem; margin-top: 1.5rem; }.fate { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1.2rem; align-items: start; }.fate-card img { border-radius: 6px; box-shadow: 0 10px 24px rgba(0,0,0,.55), 0 0 0 1px rgba(217,181,98,.25); }.fate-slot { font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); font-weight: 560; }.fate-name { font-size: var(--step-2); color: var(--gold); margin-top: .15rem; }.fate-by { color: var(--ink-3); font-size: .95rem; font-style: italic; }.fate-words { margin: .8rem 0 0; font-family: var(--font-display); font-size: 1.28rem; font-style: italic; line-height: 1.35; color: var(--ink); font-weight: 500; }.fate-words strong { color: var(--gold-hi); font-weight: 600; }.fate-meaning { margin-top: .6rem; font-size: .88rem; color: var(--ink-3); }.fate-meaning::before { content: "The card: "; font-style: italic; }@media (min-width: 1000px) {.spread { grid-template-columns: repeat(3, 1fr); grid-template-areas: ". f2 ." "f1 f5 f3" ". f4 ."; gap: 2rem 3rem; }.fate { grid-template-columns: 1fr; text-align: center; justify-items: center; }.fate-card { width: 9.5rem; }.fate--1 { grid-area: f1; } .fate--2 { grid-area: f2; } .fate--3 { grid-area: f3; } .fate--4 { grid-area: f4; } .fate--5 { grid-area: f5; }.fate--5 .fate-card { width: 11rem; }.fate--5 .fate-card img { box-shadow: 0 10px 30px rgba(155, 36, 32, .45), 0 0 0 1px rgba(224,101,90,.5); }}.threads { display: grid; gap: 2.5rem; margin-top: 2rem; }.thread { display: grid; grid-template-columns: 1fr; gap: 1rem; max-width: 56rem; margin-inline: auto; width: 100%; }.thread-cards { display: flex; gap: .6rem; align-items: flex-start; }.thread-cards img { width: 6.5rem; border-radius: 5px; box-shadow: 0 8px 18px rgba(0,0,0,.5), 0 0 0 1px rgba(217,181,98,.25); }.blank-card { display: block; width: 6.5rem; aspect-ratio: 5 / 7; border-radius: 5px; background: linear-gradient(160deg, #f4ecdc, #ddd0b8); box-shadow: 0 8px 18px rgba(0,0,0,.5), 0 0 0 1px rgba(217,181,98,.4); }.thread-name { font-size: var(--step-3); }.thread-name a { color: var(--gold); text-decoration: none; }.thread-cardnames { color: var(--ink-3); font-style: italic; }@media (min-width: 760px) { .thread { grid-template-columns: 14rem 1fr; gap: 2rem; } .thread-cards { justify-content: flex-end; } }.roster { list-style: none; display: grid; gap: 1.6rem 1.2rem; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); margin-bottom: 3rem; }@media (min-width: 1000px) { .roster { grid-template-columns: repeat(5, 1fr); } }.pc-card a { display: flex; flex-direction: column; gap: .8rem; text-decoration: none; color: var(--ink); }.plate--pc { aspect-ratio: 4 / 5; }.plate--pc img { mix-blend-mode: normal; }.pc-name { font-family: var(--font-display); font-weight: 600; font-size: 1.7rem; color: var(--gold); line-height: 1; }.pc-card-body { display: flex; flex-direction: column; gap: .25rem; }.pc-line { color: var(--ink-2); font-size: .98rem; }.pc-player { color: var(--ink-3); font-size: .9rem; font-style: italic; }.pc-heirloom { font-size: .92rem; color: var(--ink-2); margin-top: .2rem; }.party-switch { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line-2); }.entity--pc .plate--large img { mix-blend-mode: normal; object-fit: cover; }.handout-grid { list-style: none; display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }.handout-card a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--ink); border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg-1); overflow: hidden; }.handout-card a:hover { border-color: var(--line); }.handout-thumb { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--plate); }.handout-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }.handout-thumb--text { display: grid; place-items: center; background: linear-gradient(160deg, #efe4cf, #d9c9a8); color: #5b3f24; font-family: var(--font-display); font-style: italic; font-size: 1.6rem; }.handout-body { display: flex; flex-direction: column; gap: .25rem; padding: .9rem 1rem 1.1rem; }.handout-title { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; color: var(--gold); line-height: 1.1; }.handout-meta { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); font-variant-numeric: lining-nums; }.handout-dek { font-size: .98rem; color: var(--ink-2); }.handout-figure { margin: 0 0 2rem; max-width: 52rem; }.handout-figure img { border-radius: 4px; box-shadow: var(--shadow); background: var(--plate) !important; }.handout-figure figcaption { font-size: .88rem; color: var(--ink-3); margin-top: .5rem; font-style: italic; }.faces { list-style: none; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); }.faces a { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; color: var(--ink-2); font-size: .95rem; }.faces img { aspect-ratio: 1; object-fit: cover; object-position: 50% 18%; border-radius: 4px; background: var(--plate) !important; }.faces a:hover { color: var(--gold-hi); }.compendium-list { list-style: none; display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }.compendium-list a { display: grid; grid-template-columns: 2.6rem 1fr; gap: .1rem .9rem; padding: 1rem; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--bg-1); text-decoration: none; color: var(--ink); }.compendium-list a:hover { border-color: var(--line); }.cl-icon { grid-row: span 2; width: 2rem; height: 2rem; color: var(--gold-2); align-self: center; }.cl-title { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; color: var(--gold); line-height: 1.1; }.cl-dek { color: var(--ink-3); font-size: .95rem; }.compendium-tools { display: flex; flex-wrap: wrap; gap: .7rem; margin: 2rem 0; }.lost { min-height: 55vh; display: grid; align-content: center; }.player {position: fixed; z-index: 45; left: 0; right: 0; bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom));background: color-mix(in srgb, var(--bg-2) 97%, transparent); border-top: 1px solid var(--line);box-shadow: 0 -10px 30px -10px rgba(0, 0, 0, .6); color: var(--ink);backdrop-filter: blur(12px);}.player[hidden] { display: none; }:root:has(.player:not([hidden])) { --player-h: 4.3rem; }@media (min-width: 1000px) {.player { left: 50%; right: auto; bottom: 1rem; width: min(100% - 2rem, 62rem); transform: translateX(-50%); border: 1px solid var(--line); border-radius: 14px; }:root:has(.player:not([hidden])) { --player-h: 6rem; }}.pl-progress { position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--line-2); overflow: hidden; }.pl-progress-fill { height: 100%; width: 100%; background: var(--gold); transform-origin: 0 50%; transform: scaleX(var(--pl-p, 0)); }@media (min-width: 1000px) { .pl-progress { display: none; } }.pl-bar { display: flex; align-items: center; gap: .5rem; padding: .55rem .7rem .55rem .6rem; min-height: 4.3rem; }.pl-art { flex: none; width: 3rem; height: 3rem; border: 0; padding: 0; border-radius: 4px; overflow: hidden; background: var(--bg-3); }.pl-art img { width: 100%; height: 100%; object-fit: cover; }.pl-meta { flex: 1; min-width: 0; text-align: left; border: 0; background: none; padding: 0 .2rem; display: flex; flex-direction: column; gap: .1rem; }.pl-title { font-family: var(--font-display); font-weight: 600; font-size: 1.12rem; color: var(--gold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.15; }.pl-chapter { font-size: .86rem; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }.pl-btn {flex: none; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%;border: 0; background: none; color: var(--ink-2);}.pl-btn:hover { color: var(--gold-hi); background: var(--bg-3); }.pl-btn .i { width: 1.45rem; height: 1.45rem; }.pl-toggle { width: 3.1rem; height: 3.1rem; background: var(--gold); color: var(--on-gold); }.pl-toggle:hover { background: var(--gold-hi); color: var(--on-gold); }.pl-toggle .i { width: 1.35rem; height: 1.35rem; }.player[data-state="loading"] .pl-toggle { animation: breathe 1.2s ease-in-out infinite; }@keyframes breathe { 50% { opacity: .55; } }.pl-speed { width: auto; min-width: 2.75rem; padding: 0 .5rem; border-radius: 999px; font-size: .92rem; font-variant-numeric: lining-nums; font-weight: 600; }.pl-fwd, .pl-speed, .pl-scrub--bar, .pl-close { display: none; }@media (min-width: 560px) { .pl-fwd, .pl-close { display: inline-grid; } }@media (min-width: 1000px) {.pl-bar { gap: .7rem; padding: .8rem 1rem; }.pl-art { width: 3.8rem; height: 3.8rem; }.pl-meta { flex: 0 1 14rem; }.pl-speed { display: inline-grid; }.pl-scrub--bar { display: flex; flex: 1; }}.pl-scrub { align-items: center; gap: .7rem; font-size: .82rem; color: var(--ink-3); font-variant-numeric: lining-nums tabular-nums; }.pl-scrub--panel { display: flex; margin: 1rem 0 .5rem; }.pl-range {flex: 1; appearance: none; -webkit-appearance: none; height: 1.6rem; background: transparent; margin: 0; cursor: pointer;--pct: 0%;}.pl-range::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--gold) var(--pct), var(--line-3) var(--pct)); }.pl-range::-moz-range-track { height: 4px; border-radius: 2px; background: var(--line-3); }.pl-range::-moz-range-progress { height: 4px; border-radius: 2px; background: var(--gold); }.pl-range::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: var(--gold-hi); margin-top: -5px; border: 0; }.pl-range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--gold-hi); border: 0; }.pl-range:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 2px; }.pl-panel {border-top: 1px solid var(--line-2); padding: 1rem 1rem 1.2rem; max-height: min(60vh, 32rem); overflow-y: auto;overscroll-behavior: contain; scrollbar-width: thin;}.pl-panel[hidden] { display: none; }.pl-panel-head { display: flex; gap: 1rem; align-items: center; }.pl-panel-head img { width: 4.5rem; height: 4.5rem; border-radius: 4px; flex: none; }.pl-panel-kicker { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); font-weight: 560; }.pl-panel-title { font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; color: var(--gold); line-height: 1.1; }.pl-panel-links { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .92rem; margin-top: .2rem; }.pl-panel-links a { color: var(--ink-2); }.pl-panel-row { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }.pl-panel-row .pl-speed, .pl-panel-row .pl-fwd, .pl-panel-row .pl-close { display: inline-grid; }.pl-chapters { list-style: none; display: grid; gap: .1rem; margin-top: .6rem; }.pl-chapters .chapter { font-size: .98rem; }@media (min-width: 1000px) { .pl-panel .pl-scrub--panel { display: none; } }@media (min-width: 1000px) {.pl-panel .pl-panel-head, .pl-panel .pl-panel-row { display: none; }.pl-panel { max-height: min(50vh, 26rem); padding: .8rem 1rem 1rem; }.pl-chapters { columns: 2; column-gap: 2rem; display: block; margin-top: 0; }.pl-chapters li { break-inside: avoid; }}.search-dialog {
width: min(100% - 1.5rem, 42rem); max-height: min(85vh, 44rem); margin: 8vh auto auto; padding: 0;
border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-1); color: var(--ink);
box-shadow: 0 30px 80px rgba(0, 0, 0, .7); overflow: hidden;
}
.search-dialog::backdrop { background: rgba(8, 4, 8, .72); backdrop-filter: blur(3px); }
.search-form { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-bottom: 1px solid var(--line-2); }
.search-form .i { color: var(--gold-2); width: 1.4rem; height: 1.4rem; }
.search-input { flex: 1; border: 0; background: none; font-size: 1.25rem; padding: .4rem 0; outline: none; color: var(--ink); }
.search-input::placeholder { color: var(--ink-3); font-style: italic; }
.search-body { overflow-y: auto; max-height: calc(min(85vh, 44rem) - 4rem); padding: .4rem .5rem 1rem; }
.search-hint { color: var(--ink-3); font-style: italic; padding: 1rem .6rem; font-size: 1rem; }
.search-results { list-style: none; display: grid; gap: .2rem; }
.search-results a { display: block; padding: .7rem .8rem; border-radius: var(--radius); text-decoration: none; color: var(--ink); }
.search-results a:hover, .search-results a[aria-selected="true"] { background: var(--bg-2); }
.sr-section { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--red); font-weight: 560; }
.sr-title { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: var(--gold); line-height: 1.15; }
.sr-excerpt { display: block; font-size: .95rem; color: var(--ink-2); margin-top: .15rem; }
.sr-excerpt mark { background: rgba(217, 181, 98, .28); color: var(--ink); border-radius: 2px; padding: 0 .1em; }
@media (max-width: 640px) { .search-dialog { margin-top: 1rem; max-height: calc(100vh - 2rem); } }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .22s; animation-timing-function: var(--ease); }
.player, .tabbar, .masthead { view-transition-name: none; }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
.hero-mist { animation: none; }
::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media print {
.masthead, .tabbar, .player, .colophon, .actions, .filters, .jump, .map-tools, .story-rail, .story-progress, .chapter-links, .pager { display: none !important; }
body { background: #fff; color: #000; font-size: 11pt; }
.prose a { color: #000; }
}
