.timeline-entry.threaded-chapter { border-left: 2px solid #356f72; padding-left: 10px; }
:root {
  --ink: #17181c;
  --ink-soft: #23252b;
  --panel: #f1eee6;
  --paper: #faf8f1;
  --line: #d2cec2;
  --muted: #686a70;
  --cyan: #42d9c8;
  --coral: #e96d51;
  --gold: #d6a83f;
  --focus: #197f76;
  --radius: 6px;
  font-family: "Avenir Next", "Trebuchet MS", sans-serif;
  color: var(--ink);
  background: var(--ink);
  font-synthesis: none;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background-color: var(--ink);
  background-image: radial-gradient(#383b43 0.7px, transparent 0.7px);
  background-size: 14px 14px;
}

body.app-loading { overflow: hidden; }
body.app-loading > .topbar,
body.app-loading > .drawer-backdrop,
body.app-loading > .account-drawer,
body.app-loading > main { visibility: hidden; }
body.auth-required { overflow: hidden; }
body.auth-required > .topbar,
body.auth-required > .drawer-backdrop,
body.auth-required > .account-drawer,
body.auth-required > main { display: none !important; }

.game-auth {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(390px, 0.65fr);
  min-height: 100dvh;
  color: #f6f0df;
  background: #111217;
}
.auth-world {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background-color: #182321;
  background-image: linear-gradient(90deg, transparent 65%, #111217 100%), url("./landing-assets/orun-fissure-guardian.png");
  background-position: center, center;
  background-size: cover, cover;
}
.auth-world::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, #08100d1f 30%, #070909de 100%);
}
.auth-world::after {
  position: absolute;
  right: 8%;
  bottom: 7%;
  left: 8%;
  content: "SEU MUNDO CONTINUA DE ONDE PAROU";
  color: #f8f1dc;
  font: 600 clamp(26px, 4vw, 58px)/0.95 "Baskerville", Georgia, serif;
  text-shadow: 0 3px 24px #000;
}
.game-auth-card {
  align-content: center;
  gap: 22px;
  width: min(100%, 520px);
  min-height: 100dvh;
  padding: clamp(36px, 7vw, 88px) clamp(28px, 5vw, 72px);
  border-left: 1px solid #383a42;
  background-color: #17181d;
  background-image: linear-gradient(#34363d33 1px, transparent 1px), linear-gradient(90deg, #34363d33 1px, transparent 1px);
  background-size: 24px 24px;
}
.auth-brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; color: #f6f0df; text-decoration: none; }
.auth-brand span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--cyan); color: var(--cyan); font-size: 11px; font-weight: 800; }
.auth-brand strong { font: 600 16px/1 "Baskerville", Georgia, serif; }
.game-auth-card h1 { margin: 8px 0 10px; color: #fffaf0; font-size: clamp(34px, 4vw, 52px); line-height: 0.96; }
.game-auth-card p { max-width: 420px; margin: 0; color: #a9abb3; font: 15px/1.55 "Baskerville", Georgia, serif; }
.game-auth-card .field { gap: 8px; }
.game-auth-card .field > span { color: #c9c7bf; font-size: 10px; text-transform: uppercase; }
.game-auth-card input { min-height: 48px; padding-inline: 14px; border-color: #474a53; color: #f8f3e7; background: #101115e8; }
.game-auth-card input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px #42d9c822; }
.game-auth-card .primary-button { min-height: 50px; margin-top: 2px; }
.auth-error { min-height: 20px; color: #ff9d89 !important; font: 12px/1.4 "Avenir Next", sans-serif !important; }
.auth-fields { display: grid; gap: 14px; }
.auth-switch { padding: 7px; color: var(--cyan); background: transparent; border: 0; font: 700 11px "Avenir Next", sans-serif; cursor: pointer; }
.auth-recaptcha { min-height: 78px; justify-self: center; }
.auth-back { width: fit-content; color: #999ca5; font-size: 11px; text-decoration: none; }
.auth-back:hover { color: var(--cyan); }

button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 64px;
  display: grid;
  grid-template-columns: auto minmax(170px, 1fr) auto minmax(170px, 1fr);
  align-items: center;
  padding: 0 24px;
  color: #f8f4e9;
  background: rgba(23, 24, 28, 0.96);
  border-bottom: 1px solid #3b3d44;
  backdrop-filter: blur(12px);
}

.menu-button { display: grid; align-content: center; gap: 4px; width: 38px; height: 38px; padding: 9px; border: 1px solid #444750; border-radius: 3px; background: #101115; }
.menu-button span { display: block; width: 100%; height: 1px; background: #d6d1c5; }
.menu-button:hover, .menu-button[aria-expanded="true"] { border-color: var(--cyan); }
.brand { display: flex; align-items: center; gap: 11px; color: #f8f4e9; text-decoration: none; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--cyan);
  color: var(--cyan);
  font: 700 11px/1 "Avenir Next", sans-serif;
}
.brand strong { display: block; font: 600 18px/1 "Baskerville", Georgia, serif; }
.brand div span { display: block; margin-top: 4px; color: #999ca5; font-size: 10px; text-transform: uppercase; }

.view-tabs { display: flex; padding: 3px; background: #0f1013; border: 1px solid #373941; border-radius: var(--radius); }
.tab { min-width: 92px; padding: 7px 13px; border: 0; border-radius: 3px; color: #aeb0b8; background: transparent; }
.tab.is-active { color: var(--ink); background: var(--cyan); font-weight: 700; }

.server-state { justify-self: end; color: #aeb0b8; font-size: 12px; }
.server-state span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 3px #42d9c822; }
.server-state.is-offline span { background: var(--coral); }
.topbar-account { justify-self: end; display: flex; align-items: center; gap: 10px; }
.wallet-chip { display: grid; gap: 2px; min-width: 116px; min-height: 40px; padding: 6px 11px; border: 1px solid #41444c; border-radius: 3px; color: #ece7db; background: #101115; text-align: left; }
.wallet-chip small { color: #858892; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.wallet-chip strong { color: var(--gold); font-size: 12px; }
.profile-button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--cyan); border-radius: 50%; color: var(--cyan); background: #14201f; font-weight: 800; }

.drawer-backdrop { position: fixed; z-index: 39; inset: 0; background: #050608a8; backdrop-filter: blur(3px); }
.account-drawer { position: fixed; z-index: 40; top: 0; right: 0; display: grid; grid-template-rows: auto auto 1fr auto; width: min(380px, 100vw); height: 100dvh; padding: 24px; color: #eee9dc; background: #15161b; border-left: 1px solid #44464e; box-shadow: -24px 0 70px #0009; transform: translateX(105%); transition: transform 180ms ease; }
.account-drawer.is-open { transform: translateX(0); }
.account-drawer > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #383a42; }
.account-drawer > header strong, .account-drawer > header small { display: block; }
.account-drawer > header strong { font: 600 17px/1.2 "Baskerville", Georgia, serif; }
.account-drawer > header small { margin-top: 3px; color: #8f929b; font-size: 10px; }
.account-drawer > header button { width: 34px; height: 34px; border: 0; color: #aaa9a4; background: transparent; font-size: 22px; }
.drawer-balance { margin: 20px 0; padding: 18px; border: 1px solid #494537; background: #211f19; }
.drawer-balance > span, .drawer-balance > strong { display: block; }
.drawer-balance > span { color: #9c988c; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.drawer-balance > strong { margin: 8px 0 13px; color: var(--gold); font: 600 28px/1 "Baskerville", Georgia, serif; }
.drawer-balance button { padding: 0; border: 0; color: #d7c584; background: transparent; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.drawer-balance button:hover { color: #fff0b7; }
.account-drawer nav { display: grid; align-content: start; gap: 6px; }
.account-drawer nav button, .account-drawer nav a { display: grid; grid-template-columns: 24px 1fr; align-items: center; min-height: 46px; padding: 10px 12px; border: 1px solid transparent; border-radius: 3px; color: #aaa9a4; background: transparent; text-align: left; text-decoration: none; }
.account-drawer nav button:hover, .account-drawer nav a:hover, .account-drawer nav .is-active { border-color: #3d4948; color: #f4efe3; background: #1d2928; }
.account-drawer nav b { font-size: 12px; }
.drawer-logout { min-height: 44px; border: 1px solid #593d39; border-radius: 3px; color: #e69a8a; background: #241a1a; font-weight: 700; }

main { min-height: calc(100vh - 64px); }
.studio-view { display: none; grid-template-columns: minmax(320px, 420px) 1fr; height: calc(100vh - 64px); min-height: 0; }
.studio-view.is-active { display: grid; }

.controls-panel { padding: 26px 28px 40px; background: var(--panel); border-right: 1px solid #050506; overflow: auto; }
.panel-heading, .gallery-heading, .workspace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.panel-heading { margin-bottom: 24px; }
h1 { margin: 2px 0 0; font: 600 25px/1.1 "Baskerville", Georgia, serif; letter-spacing: 0; }
.eyebrow { color: var(--coral); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; }

form { display: grid; gap: 17px; }
.field, .stat-grid label { display: grid; gap: 6px; min-width: 0; }
.field > span, .stat-grid span, .range-field > span { color: #4f5157; font-size: 11px; font-weight: 700; }
.field small { justify-self: end; margin-top: -3px; color: var(--muted); font-size: 10px; }

input, textarea, select {
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #bbb8ae;
  border-radius: 3px;
  outline: none;
  color: var(--ink);
  background: var(--paper);
}
textarea { resize: vertical; line-height: 1.45; }
input:focus, textarea:focus, select:focus { border-color: var(--focus); box-shadow: 0 0 0 2px #197f7622; }

.seed-row { display: grid; grid-template-columns: 1fr 38px; align-items: end; gap: 8px; }
.portable-seed-field { display: grid; gap: 8px; padding: 11px; border: 1px solid #cbc7bc; background: #e8e4da; }
.portable-seed-field textarea { min-height: 70px; font: 10px/1.45 "SFMono-Regular", Consolas, monospace; overflow-wrap: anywhere; }
.seed-actions { display: flex; justify-content: flex-end; gap: 7px; }
.secondary-form-button { min-height: 32px; padding: 6px 11px; border: 1px solid #aaa79e; border-radius: 3px; color: var(--ink); background: transparent; font-size: 11px; font-weight: 700; }
.secondary-form-button:hover { border-color: var(--focus); color: var(--focus); background: #f7f4eb; }
.icon-button { width: 38px; height: 38px; padding: 0; border: 1px solid #aaa79e; border-radius: 3px; color: var(--ink); background: transparent; font-size: 19px; }
.icon-button:hover { border-color: var(--ink); background: #e5e1d7; }

fieldset { min-width: 0; margin: 2px 0 0; padding: 14px; border: 1px solid #cbc7bc; border-radius: var(--radius); }
legend { padding: 0 7px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.art-mode-fieldset { padding: 5px; }
.segmented-control { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.segmented-control label { position: relative; min-width: 0; cursor: pointer; }
.segmented-control input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.segmented-control span { display: grid; place-items: center; min-height: 38px; padding: 8px 10px; border: 1px solid transparent; border-radius: 3px; color: #55575d; background: #e5e1d7; }
.segmented-control strong { font-size: 12px; }
.segmented-control input:checked + span { border-color: var(--focus); color: #f4fffc; background: var(--focus); }
.segmented-control input:focus-visible + span { box-shadow: 0 0 0 2px #197f7633; }
.range-field { display: grid; gap: 7px; }
.range-field + .range-field { margin-top: 12px; }
.advanced-fields { display: grid; gap: 12px; }
.scene-family-field { margin-top: 1px; }
.consumables-fieldset { display: grid; gap: 11px; }
.consumable-picker { display: grid; grid-template-columns: minmax(0, 1fr) 64px 38px; align-items: end; gap: 8px; }
.consumable-picker .icon-button { font-size: 22px; }
.quantity-field input { padding-inline: 6px; }
.consumable-list { display: grid; gap: 6px; }
.consumable-list > p { margin: 2px 0; color: var(--muted); font-size: 11px; }
.consumable-entry { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 7px 8px; border-left: 3px solid var(--focus); background: #e5e1d7; }
.consumable-entry strong, .consumable-entry small { display: block; }
.consumable-entry strong { font-size: 11px; }
.consumable-entry small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.remove-consumable { width: 27px; height: 27px; padding: 0; border: 1px solid #b5b1a6; border-radius: 3px; color: #6b3028; background: transparent; font-weight: 800; }
.range-field > span { display: flex; justify-content: space-between; }
input[type="range"] { height: 5px; padding: 0; border: 0; accent-color: var(--focus); background: #c9c5ba; }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.stat-grid input { padding-inline: 7px; }

.preview-workspace { display: grid; grid-template-rows: 72px minmax(0, 1fr); min-width: 0; min-height: 0; color: #f6f2e8; }
.workspace-toolbar { padding: 0 30px; background: var(--ink-soft); border-bottom: 1px solid #3b3d44; }
.workspace-toolbar strong { display: block; margin-top: 3px; font: 600 18px/1 "Baskerville", Georgia, serif; }
.toolbar-actions { display: flex; gap: 9px; }
.primary-button, .secondary-button { min-height: 38px; padding: 8px 14px; border-radius: 3px; font-weight: 700; }
.primary-button { border: 1px solid var(--cyan); color: var(--ink); background: var(--cyan); }
.primary-button:disabled { cursor: wait; opacity: 0.45; }
.secondary-button { border: 1px solid #575a64; color: #efecdf; background: transparent; }
.secondary-button:hover { border-color: #9da0a9; background: #ffffff08; }

.preview-stage { position: relative; display: grid; place-items: center; min-height: 0; padding: 24px 32px 46px; overflow: hidden; }
.stage-grid { position: absolute; inset: 0; opacity: 0.18; background-image: linear-gradient(#747782 1px, transparent 1px), linear-gradient(90deg, #747782 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent); }
.render-shell { position: relative; z-index: 1; width: min(880px, calc(100% - 32px), calc((100vh - 190px) * 1.143)); aspect-ratio: 320 / 280; filter: drop-shadow(0 20px 30px #0009); }
.render-shell img { display: block; width: 100%; height: 100%; object-fit: contain; }
.render-shell.is-loading img { opacity: 0.35; }
.render-shell.has-error { outline: 1px solid var(--coral); }
.render-loading { position: absolute; inset: 0; display: none; place-items: center; grid-auto-flow: column; gap: 5px; }
.render-shell.is-loading .render-loading { display: grid; }
.render-loading span { width: 7px; height: 7px; background: var(--cyan); animation: pulse 0.8s steps(2) infinite alternate; }
.render-loading span:nth-child(2) { animation-delay: 0.16s; }
.render-loading span:nth-child(3) { animation-delay: 0.32s; }
@keyframes pulse { to { transform: translateY(-9px); background: var(--gold); } }

.render-meta { position: absolute; z-index: 1; bottom: 22px; display: flex; gap: 20px; color: #a9abb3; font: 11px/1 monospace; }
.render-meta span { min-width: 0; }
.render-meta #render-seed { max-width: min(52vw, 520px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.render-meta span + span::before { content: "/"; margin-right: 20px; color: #565861; }

.gallery-view { display: none; min-height: calc(100vh - 64px); padding: 34px clamp(20px, 4vw, 64px) 60px; color: #f7f3e8; }
.gallery-view.is-active { display: block; }
.gallery-heading { margin-bottom: 28px; }
.gallery-heading .secondary-button { min-width: 105px; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 24px 18px; }
.gallery-card { margin: 0; min-width: 0; }
.gallery-card button { display: block; width: 100%; padding: 0; border: 1px solid #44464e; border-radius: var(--radius); overflow: hidden; background: #0e0f12; }
.gallery-card button:hover { border-color: var(--cyan); transform: translateY(-2px); }
.gallery-card img { display: block; width: 100%; aspect-ratio: 320 / 280; object-fit: contain; }
.gallery-card figcaption { padding-top: 10px; }
.gallery-card strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 16px/1.2 "Baskerville", Georgia, serif; }
.gallery-card span { display: block; margin-top: 4px; color: #999ca5; font-size: 10px; text-transform: uppercase; }
.gallery-skeleton { aspect-ratio: 320 / 280; border: 1px solid #41434a; background: #272930; animation: shimmer 1s steps(4) infinite alternate; }
@keyframes shimmer { to { background: #353841; } }

.chronicle-view { display: none; grid-template-columns: 290px minmax(0, 1fr); min-height: calc(100vh - 64px); color: #f7f3e8; }
.chronicle-view.is-active { display: grid; }
.chronicle-sidebar { padding: 28px 22px; background: #111216; border-right: 1px solid #3b3d44; }
.chronicle-sidebar-heading, .chronicle-heading, .section-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.chronicle-sidebar-heading { margin-bottom: 24px; }
.chronicle-sidebar .icon-button { color: #ddd8ca; border-color: #4b4d55; }
.collection-creator { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-bottom: 24px; }
.collection-creator .field > span { color: #aaa9a4; }
.collection-creator .primary-button { padding-inline: 12px; }
.collection-list { display: grid; gap: 6px; }
.collection-button { display: grid; gap: 4px; width: 100%; padding: 12px; border: 1px solid #353740; border-radius: 3px; color: #ddd9ce; background: #1b1c21; text-align: left; }
.collection-button strong { font: 600 15px/1.1 "Baskerville", Georgia, serif; }
.collection-button span { color: #898c95; font-size: 10px; }
.collection-button.is-active { border-color: var(--cyan); background: #202b2c; }
.chronicle-workspace { min-width: 0; padding: 34px clamp(22px, 4vw, 54px) 60px; }
.chronicle-heading { align-items: flex-end; padding-bottom: 26px; border-bottom: 1px solid #3b3d44; }
.chronicle-heading p { margin: 8px 0 0; color: #999ca5; font-size: 12px; }
.chronicle-actions { display: flex; align-items: center; gap: 10px; }
.chronicle-mode { display: flex; padding: 3px; border: 1px solid #454750; border-radius: 3px; background: #141519; }
.chronicle-mode button { min-height: 32px; padding: 6px 11px; border: 0; border-radius: 2px; color: #9699a2; background: transparent; font-size: 10px; font-weight: 700; }
.chronicle-mode button.is-active { color: var(--ink); background: var(--coral); }
.chronicle-columns { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(250px, 0.8fr); gap: 38px; margin-top: 28px; }
.chronicle-columns[hidden], .story-book[hidden] { display: none; }
.section-title { margin-bottom: 18px; }
.section-title h2 { margin: 0; font: 600 18px/1 "Baskerville", Georgia, serif; }
.section-title span { color: #898c95; font-size: 10px; text-transform: uppercase; }
.section-title > div:first-child > span { display: block; margin-top: 5px; }
.timeline-sort { display: flex; padding: 3px; border: 1px solid #454750; border-radius: 3px; background: #141519; }
.timeline-sort button { min-height: 28px; padding: 5px 9px; border: 0; border-radius: 2px; color: #9699a2; background: transparent; font-size: 10px; font-weight: 700; }
.timeline-sort button.is-active { color: var(--ink); background: var(--cyan); }
.timeline { position: relative; display: grid; gap: 12px; padding-left: 26px; }
.timeline::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: 7px; width: 1px; background: #4a4c54; }
.timeline-empty { margin: 30px 0; color: #8f929b; font: 16px/1.5 "Baskerville", Georgia, serif; }
.timeline-entry { position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 15px; padding: 15px; border: 1px solid #3b3d44; border-radius: var(--radius); background: #202126; }
.timeline-entry::before { content: ""; position: absolute; left: -24px; top: 22px; width: 9px; height: 9px; border: 2px solid var(--ink); border-radius: 50%; background: var(--coral); }
.timeline-date strong, .timeline-date span { display: block; }
.timeline-date strong { color: var(--cyan); font-size: 12px; }
.timeline-date span { margin-top: 4px; color: #858892; font-size: 9px; }
.timeline-copy h3 { margin: 0; font: 600 17px/1.1 "Baskerville", Georgia, serif; }
.timeline-copy p { margin: 6px 0 0; color: #b2b2ae; font-size: 11px; line-height: 1.45; }
.timeline-copy small { display: block; margin-top: 7px; color: #777a83; font-size: 9px; text-transform: uppercase; }
.chapter-record { margin-top: 10px; border-top: 1px solid #383a42; }
.chapter-record summary { padding: 8px 0 2px; color: var(--cyan); cursor: pointer; font-size: 10px; font-weight: 700; }
.chapter-record dl { display: grid; gap: 7px; margin: 9px 0 4px; }
.chapter-record dl > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 8px; }
.chapter-record dt { color: #7f828b; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.chapter-record dd { margin: 0; color: #c7c4bb; font-size: 10px; line-height: 1.4; }
.chapter-cast { margin: 10px 0; }
.chapter-continuity, .book-continuity { margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid #70b9c0; background: #172224; color: #c3cfce; }
.chapter-continuity > span, .book-continuity > strong { display: block; margin-bottom: 4px; color: #70b9c0; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.chapter-continuity p, .book-continuity p { margin: 0; line-height: 1.5; }
.chapter-continuity.origin { border-left-color: var(--gold); }
.chapter-cast h4 { margin: 0 0 7px; color: var(--coral); font-size: 9px; text-transform: uppercase; }
.chapter-cast article { display: grid; grid-template-columns: minmax(105px, 0.45fr) minmax(0, 1fr); gap: 9px; padding: 7px 0; border-bottom: 1px solid #34363d; }
.chapter-cast article div { display: grid; align-content: start; }
.chapter-cast article strong { color: var(--ink); font-size: 10px; }
.chapter-cast article span { color: var(--gold); font-size: 8px; text-transform: uppercase; }
.chapter-cast article p { margin: 0; }
.chapter-cast article small { display: block; margin-top: 5px; color: #979aa2; font-size: 9px; line-height: 1.4; }
.chapter-cast article small b { margin-right: 4px; color: var(--coral); text-transform: uppercase; }
.character-profile { margin: 9px 0 0; padding-top: 7px; border-top: 1px dotted #3c3e45; }
.character-profile > div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 8px; padding: 3px 0; }
.character-profile dt { color: #a7a196; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.character-profile dd { margin: 0; color: #c7c2b8; font-size: 9px; line-height: 1.45; }
.instinctive-profile { border-color: #58715e; }
.instinctive-profile dt, .instinctive-profile strong { color: #94b49a; }
.character-drama { margin-top: 9px; padding: 9px 10px; border-left: 2px solid #b96d47; background: #241f1c; }
.character-drama > strong { color: #d7986f; font-size: 8px; text-transform: uppercase; }
.character-drama p { margin: 4px 0 0 !important; color: #c9bbb0; font-size: 9px; }
.character-drama b { color: #e0c0a7; }
.chapter-record .thread-question { padding: 8px; border-left: 2px solid var(--coral); background: #271f20; }
.chapter-record .thread-question.inherited { border-left-color: var(--cyan); background: #1c2829; }
.chapter-mysticism { margin-top: 12px; padding: 11px; border: 1px solid #616047; background: #28271d; }
.chapter-mysticism h4 { margin: 0 0 5px; color: var(--gold); font-size: 9px; text-transform: uppercase; }
.chapter-mysticism p { margin: 0; color: #d2cdbb; font-size: 10px; line-height: 1.5; }
.chapter-mysticism small { display: block; margin-top: 6px; color: #a78e83; font-size: 9px; }
.chapter-life-event, .chapter-mentions { margin: 10px 0 0; padding: 9px; border-left: 2px solid #767983; background: #1b1c21; color: #bbb8af; font-size: 10px; }
.chapter-life-event strong, .chapter-mentions strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: 8px; text-transform: uppercase; }
.chapter-life-event.death { border-left-color: #b94f47; }
.chapter-life-event.resurrection { border-left-color: var(--gold); }
.chapter-life-event small, .life-ledger small { display: block; margin-top: 4px; color: #d3aaa4; }
.open-chapter { align-self: center; width: 34px; height: 34px; padding: 0; border: 1px solid #555862; border-radius: 3px; color: #e4dfd3; background: transparent; font-size: 18px; }
.codex-panel { min-width: 0; }
.codex-group + .codex-group { margin-top: 24px; }
.codex-group h3 { margin: 0 0 9px; color: #8e9199; font-size: 10px; text-transform: uppercase; }
.codex-entry { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 9px 0; border-bottom: 1px solid #34363d; }
.codex-entry strong { font-size: 12px; }
.codex-entry span { color: #858892; font-size: 9px; }
.codex-state { color: var(--gold) !important; text-transform: uppercase; }
.seed-modal { width: min(520px, calc(100vw - 28px)); padding: 0; border: 1px solid #5d6069; border-radius: var(--radius); color: var(--ink); background: var(--panel); box-shadow: 0 24px 70px #000b; }
.seed-modal::backdrop { background: #08090cc7; backdrop-filter: blur(4px); }
.seed-modal-card { display: grid; gap: 18px; padding: 24px; }
.seed-modal-card header { display: flex; align-items: center; justify-content: space-between; }
.seed-modal-card > p { margin: -4px 0 2px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.modal-seed-row { display: grid; grid-template-columns: 1fr 38px; gap: 8px; }
.seed-modal-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }
.pack-store-button { min-height: 38px; padding: 0 14px; border: 1px solid #766332; border-radius: 3px; color: #f1d78d; background: #272317; font-weight: 800; }
.pack-store-button span { margin-right: 6px; color: var(--gold); }
.pack-store-button:hover { border-color: var(--gold); background: #332b17; }
.pack-modal { width: min(1180px, calc(100vw - 28px)); height: min(780px, calc(100dvh - 28px)); max-height: calc(100dvh - 28px); padding: 0; border: 1px solid #555862; border-radius: 6px; color: #f4efe3; background: #121318; box-shadow: 0 28px 90px #000d; overflow: hidden; }
.pack-modal::backdrop { background: #06070ae8; backdrop-filter: blur(7px); }
.pack-modal-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; background-color: #121318; background-image: linear-gradient(#3538422b 1px, transparent 1px), linear-gradient(90deg, #3538422b 1px, transparent 1px); background-size: 26px 26px; }
.pack-modal-header { z-index: 3; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 26px 18px; border-bottom: 1px solid #393b43; background: #16171ce8; }
.pack-modal-header h1 { color: #fff9eb; font-size: 30px; }
.pack-close { color: #c7c4bb; background: #0d0e11; }
.pack-store-view { min-height: 0; padding: 24px 26px 28px; overflow-y: auto; }
.pack-store-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.pack-store-intro p { max-width: 630px; margin: 0; color: #a9abb3; font: 15px/1.5 "Baskerville", Georgia, serif; }
.pack-store-intro p strong { color: #f3cf6d; }
.pack-store-intro p > span { display: block; margin-top: 5px; color: #d8d1bd; font-size: 12px; }
.pack-store-intro > div { flex: 0 0 auto; min-width: 140px; padding-left: 18px; border-left: 1px solid #494537; }
.pack-store-intro span, .pack-purchase-bar span { display: block; color: #858892; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pack-store-intro > div strong { display: block; margin-top: 5px; color: var(--gold); font: 600 22px/1 "Baskerville", Georgia, serif; }
.pack-store-intro > div button { margin-top: 8px; padding: 0; border: 0; color: #d7c584; background: transparent; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pack-store-intro > div button:hover { color: #fff0b7; }
.pack-collection-context { display: grid; grid-template-columns: 38px minmax(220px, .7fr) minmax(240px, 1fr); align-items: center; gap: 14px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid #41605d; border-left: 3px solid var(--cyan); background: #172322; }
.pack-collection-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #397a74; color: var(--cyan); background: #10201e; }
.pack-collection-context label { display: grid; gap: 5px; }
.pack-collection-context label > span, .pack-bound-chronicle span { color: #87aaa6; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.pack-collection-context select { min-width: 0; height: 36px; padding: 0 34px 0 10px; border: 1px solid #49706c; border-radius: 3px; color: #f3eee2; background: #101918; font-size: 12px; font-weight: 800; }
.pack-collection-context p { margin: 0; color: #abbcb9; font: 12px/1.45 "Baskerville", Georgia, serif; }
.pack-collection-empty { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 18px; padding: 14px; border: 1px solid #6b5c35; border-left: 3px solid var(--gold); background: #242116; }
.pack-collection-empty > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #766735; color: var(--gold); }
.pack-collection-empty strong { color: #f1e9d5; font: 600 16px/1.15 "Baskerville", Georgia, serif; }
.pack-collection-empty p { margin: 4px 0 0; color: #9e9786; font-size: 9px; line-height: 1.4; }
.pack-collection-empty button { min-height: 38px; padding: 0 13px; border: 1px solid var(--gold); border-radius: 3px; color: #17181c; background: var(--gold); font-size: 10px; font-weight: 900; }
.pack-tiers { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #41434b; background: #0d0e12; }
.pack-tiers[inert] { opacity: .38; filter: grayscale(.65); }
.pack-tiers button { position: relative; display: grid; align-content: end; min-width: 0; min-height: 220px; padding: 20px 16px 18px; border: 0; border-right: 1px solid #34363d; color: #f4efe3; background-color: #18191e; background-image: linear-gradient(145deg, transparent 48%, #35384255 49%, transparent 50%); text-align: left; overflow: hidden; transition: background-color 160ms ease, box-shadow 160ms ease; }
.pack-tiers button:last-child { border-right: 0; }
.pack-tiers button::before { position: absolute; top: 18px; left: 16px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #535660; content: "✦"; color: #777a83; font-size: 10px; }
.pack-tiers button:hover { background-color: #202127; }
.pack-tiers button.is-selected { z-index: 1; color: #fff8df; background-color: #292617; box-shadow: inset 0 0 0 2px var(--gold), 0 0 28px #d6a83f1c; }
.pack-tiers button.is-selected::before { border-color: var(--gold); color: var(--gold); }
.pack-tiers button em { position: absolute; top: 0; right: 0; padding: 6px 8px; color: #111216; background: var(--gold); font-size: 8px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.pack-tiers button > span { color: #8e9199; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pack-tiers button > strong { margin-top: 7px; color: inherit; font: 600 23px/1 "Baskerville", Georgia, serif; }
.pack-tiers button > b { margin-top: 10px; color: var(--gold); font-size: 15px; }
.pack-tiers button > small { min-height: 28px; margin-top: 6px; color: #8c8e96; font-size: 9px; line-height: 1.4; }
.pack-purchase-bar { position: sticky; bottom: -28px; z-index: 4; display: flex; align-items: center; justify-content: flex-end; gap: 24px; min-height: 78px; margin: 22px -26px -28px; padding: 14px 26px; border-top: 1px solid #41434b; background: #15161bf2; backdrop-filter: blur(8px); }
.pack-purchase-bar > div { text-align: right; }
.pack-purchase-bar > div strong { display: block; margin-top: 4px; color: #e7e1d3; font-size: 12px; }
.pack-purchase-bar .primary-button:disabled { opacity: .35; filter: grayscale(.7); cursor: not-allowed; }
.sealed-inventory { margin-top: 24px; border-top: 1px solid #393b43; }
.sealed-inventory > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 18px 0 10px; }
.sealed-inventory > header span { color: #e4dfd3; font: 600 17px/1 "Baskerville", Georgia, serif; }
.sealed-inventory > header p { max-width: 560px; margin: 5px 0 0; color: #858892; font-size: 10px; line-height: 1.45; }
.sealed-inventory > header small { color: #777a83; font-size: 9px; text-transform: uppercase; }
#sealed-order-list { display: grid; gap: 7px; }
.sealed-order { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 18px; min-height: 54px; padding: 9px 11px 9px 15px; border-left: 2px solid var(--gold); background: #1c1d22; }
.sealed-order.is-in-progress { border-left-color: var(--cyan); background: #192323; }
.sealed-order strong, .sealed-order small { display: block; }
.sealed-order strong { color: #e8e3d7; font-size: 12px; }
.sealed-order small { margin-top: 3px; color: #7f828a; font-size: 9px; }
.sealed-order > span { color: var(--gold); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sealed-order button { min-height: 34px; padding: 0 12px; border: 1px solid #5b5136; color: #ead18c; background: #242116; font-size: 10px; font-weight: 800; }
.sealed-order.is-in-progress button { border-color: #397a74; color: #8ce9df; background: #162a28; }
.pack-opening-view { position: relative; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto auto; min-height: 0; padding: 20px 26px 24px; overflow: hidden; }
.pack-bound-chronicle { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-bottom: 10px; }
.pack-bound-chronicle strong { color: var(--cyan); font: 600 15px/1 "Baskerville", Georgia, serif; }
.pack-progress { display: grid; grid-template-columns: 120px minmax(120px, 1fr) 140px; align-items: center; gap: 14px; color: #9a9ca4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pack-progress > div { height: 3px; background: #30323a; overflow: hidden; }
.pack-progress i { display: block; width: 0; height: 100%; background: var(--gold); box-shadow: 0 0 12px var(--gold); transition: width 350ms ease; }
.pack-progress strong { color: #d3cdbf; text-align: right; }
.pack-ritual { position: relative; min-height: 0; display: grid; place-items: center; margin: 16px 0; border: 1px solid #30323a; background-color: #0c0d10; background-image: linear-gradient(130deg, #42d9c80b 0 25%, transparent 25% 75%, #e96d510b 75%); overflow: hidden; }
.pack-ritual::before, .pack-ritual::after { position: absolute; content: ""; pointer-events: none; }
.pack-ritual::before { inset: 12%; border: 1px solid #d6a83f26; transform: rotate(4deg); }
.pack-ritual::after { top: 50%; left: 50%; width: min(440px, 70%); height: 1px; background: #d6a83f6b; box-shadow: 0 -110px 0 #42d9c82e, 0 110px 0 #e96d512e; transform: translate(-50%, -50%); }
.pack-rays { position: absolute; width: 420px; aspect-ratio: 1; border: 1px dashed #d6a83f42; transform: rotate(45deg); animation: pack-rays 18s linear infinite; }
.sealed-pack { position: relative; z-index: 2; width: min(240px, 45vw); aspect-ratio: 0.72; display: grid; align-content: center; justify-items: center; gap: 7px; border: 1px solid #8d773d; color: #f0d789; background-color: #222017; background-image: repeating-linear-gradient(135deg, transparent 0 13px, #d6a83f0c 13px 14px); box-shadow: 0 26px 55px #000b, inset 0 0 0 8px #121318, inset 0 0 0 9px #70602f; animation: sealed-pack-breathe 2.8s ease-in-out infinite; }
.sealed-pack::before { position: absolute; inset: 48% -10px auto; height: 13px; content: ""; border-top: 1px solid #a68b43; border-bottom: 1px solid #5d4b25; background: #262116; }
.sealed-pack span { font-size: 9px; font-weight: 900; letter-spacing: 0; }
.sealed-pack strong { font: 600 24px/1 "Baskerville", Georgia, serif; }
.sealed-pack small { color: #9d8d62; font-size: 7px; font-weight: 800; }
.sealed-pack i { position: absolute; z-index: 2; top: calc(50% - 18px); display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #b99a4c; border-radius: 50%; color: #17181c; background: var(--gold); font-style: normal; box-shadow: 0 0 24px #d6a83f66; }
.pack-ritual.is-opening .sealed-pack { animation: pack-break 700ms cubic-bezier(.2,.8,.2,1) forwards; }
.pack-ritual.is-revealing .pack-rays { border-color: #d6a83f80; animation-duration: 5s; }
.discovered-card { z-index: 2; display: grid; grid-template-columns: minmax(210px, 0.68fr) minmax(250px, 0.8fr); width: min(760px, calc(100% - 36px)); min-height: 360px; border: 1px solid #9b8342; background: #17181d; box-shadow: 0 28px 65px #000c, 0 0 45px #d6a83f24; animation: card-discover 650ms cubic-bezier(.16,.8,.22,1) both; }
.discovered-card.rarity-uncommon { border-color: #69b887; box-shadow: 0 28px 65px #000c, 0 0 45px #69b88738; }
.discovered-card.rarity-rare { border-color: #67a9da; box-shadow: 0 28px 65px #000c, 0 0 50px #67a9da42; }
.discovered-card.rarity-epic { border-color: #d16ce0; box-shadow: 0 28px 65px #000c, 0 0 55px #d16ce04d; }
.discovered-card.rarity-legendary { border-color: #e9b84a; box-shadow: 0 28px 65px #000c, 0 0 65px #e96d5152; }
.discovered-card-art { position: relative; min-height: 360px; display: grid; place-items: center; background: #090a0c; overflow: hidden; }
.discovered-card-art img { display: block; width: 100%; height: 100%; max-height: 470px; object-fit: contain; image-rendering: pixelated; }
.discovered-card-art:not(.is-loading) .discovery-loading { display: none; }
.discovery-loading { position: absolute; display: flex; gap: 7px; }
.discovery-loading span { width: 7px; height: 7px; background: var(--gold); animation: reveal-pulse 900ms ease-in-out infinite alternate; }
.discovery-loading span:nth-child(2) { animation-delay: 180ms; }
.discovery-loading span:nth-child(3) { animation-delay: 360ms; }
.discovered-card-copy { align-self: stretch; display: grid; align-content: center; padding: 32px; border-left: 1px solid #3b3d44; background-image: linear-gradient(145deg, transparent 65%, #d6a83f12); }
.discovered-card-copy > span { color: var(--gold); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.discovered-card-copy h2 { margin: 9px 0 14px; color: #fff8e8; font: 600 32px/1 "Baskerville", Georgia, serif; }
.discovered-card-copy p { margin: 0; color: #aaa79f; font: 14px/1.55 "Baskerville", Georgia, serif; }
.pack-opening-status { min-height: 55px; text-align: center; }
.pack-opening-status span { color: var(--gold); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.pack-opening-status p { margin: 5px auto 0; max-width: 620px; color: #92949c; font: 13px/1.4 "Baskerville", Georgia, serif; }
.pack-opening-actions { display: flex; align-items: center; justify-content: center; gap: 12px; }
.pack-pause-button { min-height: 42px; padding: 0 15px; border: 1px solid #62656e; border-radius: 3px; color: #d1cdc3; background: #202127; font-size: 10px; font-weight: 800; }
.pack-pause-button:hover { border-color: #8b8e97; color: #fff9ec; background: #292a30; }
.pack-action-button { min-width: 210px; min-height: 46px; padding: 0 20px; border: 1px solid #d6a83f; border-radius: 3px; color: #16171b; background: var(--gold); font-weight: 900; box-shadow: 0 8px 25px #d6a83f24; }
.pack-action-button span { margin-right: 7px; }
.pack-action-button:disabled { opacity: 0.55; cursor: wait; }
@keyframes sealed-pack-breathe { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-7px) rotate(1deg); } }
@keyframes pack-rays { to { transform: rotate(405deg); } }
@keyframes pack-break { 0% { opacity: 1; transform: scale(1); } 45% { opacity: 1; transform: scale(1.07) rotate(2deg); filter: brightness(1.7); } 100% { opacity: 0; transform: scale(1.45); filter: brightness(2.4); } }
@keyframes card-discover { from { opacity: 0; transform: translateY(42px) scale(.9) rotateY(18deg); } to { opacity: 1; transform: none; } }
@keyframes reveal-pulse { to { opacity: .25; transform: translateY(-5px); } }
.balance-modal { width: min(780px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); padding: 0; border: 1px solid #555862; border-radius: 6px; color: #f4efe3; background: #121318; box-shadow: 0 28px 90px #000d; overflow: hidden; }
.balance-modal::backdrop { background: #06070ad9; backdrop-filter: blur(6px); }
.balance-modal-shell { background-color: #15161b; background-image: linear-gradient(#3538422b 1px, transparent 1px), linear-gradient(90deg, #3538422b 1px, transparent 1px); background-size: 24px 24px; }
.balance-modal-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid #3b3d44; background: #17181ded; }
.balance-modal-shell > header h1 { color: #fff8e8; font-size: 28px; }
.balance-modal-shell > header .icon-button { color: #c5c2ba; background: #0d0e11; }
.balance-checkout { display: grid; grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr); min-height: 480px; }
.balance-current { display: grid; align-content: center; padding: 34px 28px; border-right: 1px solid #3b3d44; background-color: #222016; background-image: repeating-linear-gradient(135deg, transparent 0 15px, #d6a83f0b 15px 16px); }
.balance-current > span, .balance-step { color: #9b8c62; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.balance-current > strong { margin: 10px 0 12px; color: var(--gold); font: 600 34px/1 "Baskerville", Georgia, serif; }
.balance-current > small { max-width: 180px; color: #928d80; font-size: 10px; line-height: 1.5; }
.balance-form { display: grid; align-content: center; gap: 20px; min-width: 0; padding: 30px; }
.balance-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 9px; }
.balance-presets button { min-height: 39px; border: 1px solid #454750; border-radius: 3px; color: #bbb8af; background: #101115; font-size: 11px; font-weight: 800; }
.balance-presets button:hover { border-color: #746331; color: #f1d78d; }
.balance-presets button.is-selected { border-color: var(--gold); color: #17181c; background: var(--gold); }
.balance-value-field, .balance-cpf { display: grid; gap: 6px; margin-top: 10px; color: #aaa79e; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.balance-value-field input, .balance-cpf input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #474a53; border-radius: 3px; color: #f7f2e7; background: #0e0f12; outline: none; }
.balance-value-field input:focus, .balance-cpf input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px #d6a83f1c; }
.balance-methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-top: 9px; }
.balance-methods button { display: grid; grid-template-columns: 27px 1fr; align-items: center; min-height: 62px; padding: 10px 12px; border: 1px solid #454750; border-radius: 3px; color: #bbb8af; background: #101115; text-align: left; }
.balance-methods button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #5b5e67; color: #92949c; }
.balance-methods button strong { font-size: 11px; }
.balance-methods button small { color: #7d8088; font-size: 8px; }
.balance-methods button.is-selected { border-color: var(--cyan); color: #f0ece2; background: #172322; }
.balance-methods button.is-selected > span { border-color: var(--cyan); color: var(--cyan); }
.balance-cpf-saved, .balance-notice { margin: 0; padding: 10px 12px; border-left: 2px solid var(--cyan); color: #aeb2b2; background: #172120; font-size: 10px; }
.balance-cpf-saved strong { color: #e6e1d6; }
.balance-notice { border-left-color: #6d81a5; background: #191e27; }
.balance-error { min-height: 16px; margin: -7px 0 0; color: #ff9d89; font-size: 10px; }
.balance-submit { display: grid; grid-template-columns: 24px 1fr; align-items: center; min-height: 48px; padding: 0 18px; border: 1px solid var(--gold); border-radius: 3px; color: #16171b; background: var(--gold); font-weight: 900; }
.balance-submit > span { font-size: 19px; }
.balance-submit:disabled { opacity: .55; cursor: wait; }
.balance-pix, .balance-success { justify-items: center; min-height: 520px; padding: 32px; text-align: center; }
.balance-pix:not([hidden]), .balance-success:not([hidden]) { display: grid; align-content: center; }
.pix-status-mark, .balance-success-mark { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 13px; border: 1px solid var(--cyan); color: var(--cyan); background: #152120; font-size: 17px; }
.balance-pix h2, .balance-success h2 { margin: 6px 0 7px; color: #fff8e8; font: 600 30px/1 "Baskerville", Georgia, serif; }
.balance-pix > p, .balance-success > p { max-width: 470px; margin: 0 0 18px; color: #9698a0; font: 13px/1.5 "Baskerville", Georgia, serif; }
.balance-pix > img { width: 210px; height: 210px; padding: 8px; border: 1px solid #6c6f78; background: #fff; image-rendering: auto; }
.balance-pix-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: min(520px, 100%); margin-top: 14px; border: 1px solid #43464e; background: #0d0e11; }
.balance-pix-copy code { min-width: 0; padding: 11px 12px; color: #aaaeb2; font: 9px/1.35 ui-monospace, monospace; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.balance-pix-copy button { border: 0; border-left: 1px solid #43464e; color: #e9cf84; background: #222016; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.balance-waiting { display: flex; align-items: center; gap: 8px; margin: 14px 0; color: #9b9da4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.balance-waiting i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px #d6a83f1b; animation: payment-waiting 1s ease-in-out infinite alternate; }
.balance-new-payment { min-width: 190px; min-height: 40px; padding: 0 15px; border: 1px solid #71747d; border-radius: 3px; color: #f1ede2; background: #25262c; font-size: 10px; font-weight: 800; }
.balance-new-payment:hover { border-color: var(--cyan); color: #b6fff7; background: #1d2a29; }
.balance-success-mark { border-color: var(--gold); color: #15161b; background: var(--gold); font-size: 21px; }
.balance-success > strong { margin: 4px 0 24px; color: var(--gold); font: 600 38px/1 "Baskerville", Georgia, serif; }
.balance-success .primary-button { min-width: 230px; }
@keyframes payment-waiting { to { opacity: .35; transform: scale(.75); } }
.chapter-modal { width: min(1060px, calc(100vw - 28px)); height: min(820px, calc(100vh - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 1px solid #5d6069; border-radius: var(--radius); color: var(--ink); background: var(--panel); box-shadow: 0 24px 70px #000b; overflow: hidden; }
.chapter-modal::backdrop { background: #08090cdb; backdrop-filter: blur(4px); }
.chapter-modal-card { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; padding: 20px; }
.chapter-modal-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.chapter-modal-card h1 { margin: 3px 0 0; font: 600 26px/1 "Baskerville", Georgia, serif; }
.chapter-modal-content { display: grid; min-height: 0; grid-template-columns: minmax(260px, 0.86fr) minmax(0, 1.14fr); gap: 24px; }
.chapter-image-shell { position: sticky; top: 0; display: grid; place-items: center; min-height: 300px; max-height: 100%; align-self: start; background: #111216; overflow: hidden; }
.chapter-image-shell img { display: block; width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.chapter-image-shell:not(.is-loading) .render-loading { display: none; }
.chapter-modal-copy { min-height: 0; padding-right: 10px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.chapter-modal-copy > p { margin: 0 0 16px; color: #4f5055; font: 14px/1.55 "Baskerville", Georgia, serif; }
.chapter-modal-copy .chapter-cast article { grid-template-columns: minmax(120px, 0.4fr) minmax(0, 1fr); }
.chapter-modal-copy .chapter-cast article strong { font-size: 12px; }
.chapter-modal-copy .chapter-cast article p, .chapter-modal-copy dd { font-size: 11px; }
.chapter-modal-copy dl { display: grid; gap: 9px; margin: 14px 0 0; }
.chapter-modal-copy dl > div { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; }
.chapter-modal-copy dt { color: #858892; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.chapter-modal-copy dd { margin: 0; color: #34353a; line-height: 1.45; }
.chapter-era-context { margin: 0 0 16px; padding: 14px 16px; border-left: 3px solid var(--coral); background: #e7e2d7; }
.chapter-era-context h4 { margin: 0 0 8px; color: #9b3f2d; font-size: 9px; text-transform: uppercase; }
.chapter-era-context p { margin: 0; color: #3d3e42; font: 12px/1.55 "Baskerville", Georgia, serif; }
.chapter-era-context p + p { margin-top: 8px; }
.chapter-era-context strong { display: block; margin-bottom: 2px; color: #24252a; font: 800 8px/1.4 "Avenir Next", "Trebuchet MS", sans-serif; text-transform: uppercase; }

.story-book { width: min(1240px, 100%); margin: 36px auto 80px; }
.book-empty { color: var(--muted); font: 18px/1.5 "Baskerville", Georgia, serif; }
.book-cover { min-height: 220px; display: grid; align-content: end; padding: 34px 0; border-bottom: 3px double #555861; }
.book-cover > span, .book-part > header > span, .book-lives > header > span { color: var(--coral); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.book-cover h1 { max-width: 680px; margin: 7px 0 12px; font: 600 clamp(34px, 6vw, 62px)/0.95 "Baskerville", Georgia, serif; }
.book-cover p { max-width: 590px; margin: 0; color: #999ca5; font: 14px/1.55 "Baskerville", Georgia, serif; }
.book-page-stack { min-height: min(820px, 82vh); }
.book-part { display: none; grid-template-columns: 150px minmax(0, 1fr); gap: 26px; padding: 28px 0 40px; }
.book-part.is-active { display: grid; }
.book-part > header { align-self: start; position: sticky; top: 24px; }
.book-chapters { position: relative; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; filter: drop-shadow(0 24px 34px #050a0b66); }
.book-chapters::after { position: absolute; z-index: 2; top: 0; bottom: 0; left: 50%; width: 1px; content: ""; background: linear-gradient(180deg, transparent, #807454 8%, #354545 50%, #807454 92%, transparent); box-shadow: -5px 0 13px #17202038, 5px 0 13px #fff8; pointer-events: none; }
.book-part > header h2, .book-lives > header h2 { margin: 6px 0; font: 600 24px/1.05 "Baskerville", Georgia, serif; }
.book-part > header p { margin: 0; color: #777a83; font-size: 10px; }
.book-page { min-height: 760px; padding: 30px clamp(22px, 3vw, 38px) 38px; border: 1px solid #aebbb5; color: #263231; background-color: #e9eeea; background-image: linear-gradient(90deg, #75898512 1px, transparent 1px), linear-gradient(#7589850a 1px, transparent 1px), radial-gradient(circle at 50% 12%, #fff 0, #eef2ed 46%, #dfe7e3 100%); background-size: 28px 28px, 28px 28px, 100% 100%; box-shadow: inset 0 0 48px #8aa09a1f; overflow: hidden; }
.book-page:nth-child(odd) { border-radius: 6px 0 0 6px; box-shadow: inset -18px 0 28px #72857f1a, inset 0 0 48px #8aa09a1f; }
.book-page:nth-child(even) { border-radius: 0 6px 6px 0; box-shadow: inset 18px 0 28px #72857f1a, inset 0 0 48px #8aa09a1f; }
.book-page[hidden] { display: none; }
.book-page.is-active { display: block; animation: book-page-enter 280ms ease-out; }
.book-pagination { position: sticky; z-index: 3; top: 50px; display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; gap: 12px; margin: 0 0 16px; padding: 8px; border: 1px solid #3b3d44; background: #18191df2; backdrop-filter: blur(8px); }
.book-pagination:last-of-type { position: static; margin: 16px 0 0; }
.book-pagination button { width: 38px; height: 34px; border: 1px solid #555861; color: var(--ink); background: #25262b; font-size: 18px; }
.book-pagination button:disabled { color: #555861; cursor: default; }
.book-pagination span { color: #898c94; font-size: 9px; font-weight: 800; text-align: center; text-transform: uppercase; }
.book-pagination b { color: var(--gold); }
.book-pagination span > b { display: block; }
.book-pagination span > small { display: block; margin-top: 3px; color: #777a83; font: inherit; }
.book-page-kind { margin: 18px 0 0; padding-bottom: 8px; border-bottom: 1px solid #aab9b4; color: #71612d; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-opening-layout { margin-top: 24px; }
.book-card-spread { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 3vw, 24px); width: min(100%, 340px); margin: 0 auto 26px; }
.book-card-face { min-width: 0; margin: 0; }
.book-card-face > div { position: relative; aspect-ratio: 160 / 256; overflow: hidden; border: 1px solid #4b4d54; background: #101115; box-shadow: 0 14px 30px #0007; }
.book-card-face img { display: block; width: 200%; max-width: none; height: 100%; image-rendering: pixelated; }
.book-card-face.after img { transform: translateX(-50%); }
.book-memory-card { width: min(100%, 520px); margin: 0 auto 26px; }
.book-memory-card > div { position: relative; aspect-ratio: 320 / 224; overflow: hidden; border: 1px solid #5f5848; background: #101115; box-shadow: 0 14px 30px #0007; }
.book-memory-card img { display: block; width: 100%; height: 100%; image-rendering: pixelated; }
.book-card-loading { position: absolute; inset: 0; display: grid; place-items: center; color: #777a83; font-size: 9px; text-transform: uppercase; }
.book-page[data-image-loaded="true"] .book-card-loading { display: none; }
.book-page-lead { max-width: 560px; margin: 24px auto 0; color: #4a5a57; font: italic 15px/1.65 "Baskerville", Georgia, serif; text-align: center; }
@keyframes book-page-enter { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: translateX(0); } }
.book-page > header span { color: #3e7472; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.book-page > header h3 { margin: 5px 0 3px; color: #202d2d; font: 600 28px/1.05 "Baskerville", Georgia, serif; }
.book-page > header small { color: #667572; font-size: 9px; text-transform: uppercase; }
.book-context-link { padding: 0; border: 0; border-bottom: 1px solid #5d7779; color: var(--cyan); background: transparent; font: inherit; text-transform: inherit; }
.book-context-link:hover, .book-context-link:focus-visible { color: var(--ink); border-bottom-color: var(--ink); }
.book-chapter > p { margin: 17px 0 0; color: #354442; font: 16px/1.7 "Baskerville", Georgia, serif; }
.book-chapter .book-thread { padding-left: 13px; border-left: 2px solid var(--cyan); color: #aebfc0; }
.book-chapter blockquote { margin: 22px 0 0; padding: 14px 16px; border-left: 3px solid var(--coral); color: #e1b3a9; background: #251d1e; font: italic 16px/1.5 "Baskerville", Georgia, serif; }
.book-life-event small { display: block; margin: 3px 0 5px; color: #8c9693; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.book-lives { padding-top: 52px; }
.book-lives > header { margin-bottom: 24px; }
.book-life { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 34px; padding: 18px 0; border-top: 1px solid #3b3d44; }
.book-life h3 { margin: 0; font: 600 19px/1.1 "Baskerville", Georgia, serif; }
.book-life > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 10px; padding-bottom: 10px; }
.book-life time { color: var(--cyan); font-size: 10px; font-weight: 800; }
.book-life p { margin: 0; color: #b9b6ae; font-size: 11px; line-height: 1.5; }
.book-life p strong { display: block; color: var(--gold); font-size: 8px; text-transform: uppercase; }
.book-life p small { display: block; margin-top: 3px; color: #747781; }
.book-guide-nav { position: sticky; z-index: 4; top: 0; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 0 34px; padding: 6px; border-top: 1px solid #555861; border-bottom: 1px solid #555861; background: #18191deF; backdrop-filter: blur(8px); }
.book-guide-nav button { min-height: 38px; border: 0; color: #8e9199; background: transparent; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.book-guide-nav button.is-active { color: #16171a; background: var(--gold); }
.book-pane { display: none; }
.book-pane.is-active { display: block; }
.rarity-mark { display: inline-flex; align-items: center; width: fit-content; min-height: 20px; padding: 3px 7px; border: 1px solid #565962; color: #aaa; font: 800 8px/1 sans-serif; text-transform: uppercase; }
.rarity-mark.uncommon { border-color: #49705a; color: #8bc59f; }
.rarity-mark.rare { border-color: #476d78; color: #83c0ca; }
.rarity-mark.epic { border-color: #745984; color: #c9a0df; }
.rarity-mark.legendary { border-color: #8e7737; color: #e2c66a; }
.book-page > header .rarity-mark { margin-top: 9px; }
.book-document { margin-top: 22px; padding: 22px 0; border-top: 1px solid #aebbb5; border-bottom: 1px solid #aebbb5; }
.book-document > header { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; align-items: baseline; margin-bottom: 20px; }
.book-document > header > span { color: var(--coral); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.book-document > header > strong { color: #2e3c3a; font: 600 15px/1.2 "Baskerville", Georgia, serif; }
.book-document > header > small { grid-column: 2; color: #697875; font-size: 8px; text-transform: uppercase; }
.book-setting { margin: 0 0 22px; padding: 13px 15px; border-left: 2px solid #59696b; color: #aebbbc; background: #1b2022; font: italic 14px/1.6 "Baskerville", Georgia, serif; }
.book-passages p { margin: 0 0 15px; color: #33413f; font: 16px/1.75 "Baskerville", Georgia, serif; }
.book-passages .opening-passage::first-letter { float: left; margin: 5px 7px 0 0; color: var(--gold); font: 600 42px/0.72 "Baskerville", Georgia, serif; }
.book-literary-text { min-width: 0; }
.book-literary-text > p { margin: 0 0 18px; color: #33413f; font: 16px/1.78 "Baskerville", Georgia, serif; }
.book-literary-text .opening-passage::first-letter { float: left; margin: 6px 8px 0 0; color: #9a633f; font: 600 44px/0.72 "Baskerville", Georgia, serif; }
.book-fragment-source { padding-bottom: 10px; border-bottom: 1px solid #b8c3bf; color: #72807d !important; font: 800 8px/1.4 "Avenir Next", "Trebuchet MS", sans-serif !important; text-transform: uppercase; }
.book-scene-cast { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 10px; margin: 0 0 20px; padding: 11px 0 12px; border-bottom: 1px solid #c6cfca; }
.book-scene-cast > span { padding-top: 3px; color: #8a5639; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.book-scene-cast > div { display: grid; gap: 8px; }
.book-scene-cast p { margin: 0; color: #4c5b58; font: 12px/1.45 "Avenir Next", "Trebuchet MS", sans-serif; }
.book-scene-cast strong { color: #263432; font: 600 14px/1.2 "Baskerville", Georgia, serif; }
.book-scene-cast small { margin: 0 7px; color: #76837f; font: 800 7px/1 "Avenir Next", "Trebuchet MS", sans-serif; text-transform: uppercase; }
.book-scene-cast em { font-style: normal; }
.book-scene-cast em::before { color: #9aa5a1; content: "· "; }
.book-memory-explanation { margin: 0 0 22px !important; padding: 13px 15px; border-left: 2px solid #9a633f; color: #694b3c !important; font-style: italic !important; }
.book-literary-ending { margin-top: 26px; }
.book-literary-continuation { margin-top: 24px; }
.book-continuation-label { margin: 0; padding-bottom: 9px; border-bottom: 1px solid #aab9b4; color: #64716f; font: 800 9px/1.4 "Avenir Next", "Trebuchet MS", sans-serif; text-transform: uppercase; }
.book-last-line { margin-top: 32px !important; padding-top: 18px; border-top: 1px solid #a78c62; color: #694b3c !important; font-style: italic; }
.book-time-transition { display: flex; align-items: center; gap: 10px; margin: 24px 0 12px; color: #7b5144; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-time-transition::before, .book-time-transition::after { height: 1px; background: #b8aaa0; content: ""; }
.book-time-transition::before { width: 22px; }
.book-time-transition::after { flex: 1; }
.book-time-transition span { color: #687674; white-space: nowrap; }
.book-time-transition:first-child { margin-top: 0; }
.book-document.form-letter .book-passages { padding-left: 18px; border-left: 1px solid #584d43; }
.book-document.form-inscription .book-passages p { color: #c4bda7; letter-spacing: 0; }
.book-document.form-world-memory { border-top-color: #70b9c0; }
.book-document.form-world-memory > header span { color: #70b9c0; }
.world-memory-profile { margin: 18px 0 24px; padding: 16px 18px; border: 1px solid #385a5d; background: #172224; }
.world-memory-profile > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid #345054; }
.world-memory-profile > header span { color: #70b9c0; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.world-memory-profile > header strong { color: #d8e6e5; font: 600 18px/1.2 "Baskerville", Georgia, serif; }
.world-memory-profile dl { margin: 0; }
.world-memory-profile dl > div { display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 14px; padding: 8px 0; border-bottom: 1px dotted #314649; }
.world-memory-profile dl > div:last-child { border-bottom: 0; }
.world-memory-profile dt { color: #83aeb0; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.world-memory-profile dd { margin: 0; color: #c3cfce; font: 13px/1.5 "Baskerville", Georgia, serif; }
.guide-personal-profile { margin: 12px 0; padding: 11px 13px; border-left: 2px solid #b96d47; background: #211e1c; }
.guide-personal-profile p { margin: 5px 0; }
.guide-personal-profile strong { display: inline-block; min-width: 116px; color: #d7986f; font-size: 8px; text-transform: uppercase; }
.book-thought { margin: 22px 8% 0; padding: 12px 16px; border: 0; border-top: 1px solid #48565a; border-bottom: 1px solid #48565a; color: #b9c8c8; background: transparent; font: italic 15px/1.55 "Baskerville", Georgia, serif; }
.book-thought span { display: block; margin-bottom: 5px; color: #788f91; font: 800 8px/1.2 sans-serif; text-transform: uppercase; }
.entity-commentary { margin: 25px 0 4px; padding: 17px 19px; border-left: 3px double var(--gold); background: #242218; }
.entity-commentary span { color: var(--gold); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.entity-commentary p { margin: 7px 0 0; color: #ddd4af; font: italic 18px/1.5 "Baskerville", Georgia, serif; }
.book-document > footer { margin-top: 22px; padding-top: 10px; border-top: 1px dotted #45474e; color: #787b84; font-size: 9px; line-height: 1.5; }
.book-document > footer strong { margin-right: 7px; color: #9b9ea6; text-transform: uppercase; }
.book-resolution { margin: 26px 0 18px; padding: 16px 18px; border-top: 1px solid #9e8760; border-bottom: 1px solid #9e8760; color: #33413f; }
.book-resolution > span { display: block; color: #9a633f; font: 800 8px/1 sans-serif; text-transform: uppercase; }
.book-resolution > p { margin: 8px 0 5px; font: italic 17px/1.55 "Baskerville", Georgia, serif; }
.book-resolution > small { display: block; color: #68736f; font: 12px/1.5 "Baskerville", Georgia, serif; }
.book-resolution .book-question { margin-top: 14px; }
.book-chapter-archive { margin-top: 20px; border-top: 1px solid #aebbb5; color: #465451; }
.book-chapter-archive > summary { padding: 13px 2px; color: #60706d; cursor: pointer; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-chapter-archive[open] > summary { color: #9a633f; }
.book-chapter-archive > div { padding: 2px 0 12px; }
.book-history-shift { margin: 24px 0; padding: 16px 18px; border: 1px solid #4b4430; background: #211f19; }
.book-history-shift header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.book-history-shift header span { color: var(--gold); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-history-shift header strong { color: #d9c980; font: 600 16px/1.2 "Baskerville", Georgia, serif; }
.book-history-shift p { margin: 7px 0; color: #b9b4a4; font: 13px/1.55 "Baskerville", Georgia, serif; }
.book-history-shift p b { color: #ded8c5; }
.book-history-shift footer { margin-top: 12px; padding-top: 9px; border-top: 1px solid #47412f; color: #aaa187; font-size: 9px; text-transform: uppercase; }
.book-history-shift footer b { margin-right: 8px; color: var(--gold); }
.book-term { --entity-color: #aeb1b8; position: relative; display: inline; padding: 0 2px; border: 0; border-bottom: 2px solid var(--entity-color); color: color-mix(in srgb, var(--entity-color) 78%, white); background: color-mix(in srgb, var(--entity-color) 10%, transparent); font: inherit; letter-spacing: inherit; text-align: inherit; }
.book-term:hover, .book-term:focus-visible { color: #fff; background: color-mix(in srgb, var(--entity-color) 24%, transparent); }
.book-term::after { content: attr(data-reference-tooltip); position: absolute; z-index: 20; left: 50%; bottom: calc(100% + 9px); width: max-content; max-width: min(280px, 70vw); padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--entity-color) 55%, #454750); color: #ece8dd; background: #111216f5; box-shadow: 0 8px 24px #0009; font: 700 9px/1.45 sans-serif; text-transform: uppercase; white-space: normal; pointer-events: none; opacity: 0; transform: translate(-50%, 4px); transition: opacity 120ms ease, transform 120ms ease; }
.book-term:hover::after, .book-term:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.type-personagem { --entity-color: #70b9c0; }
.type-animal { --entity-color: #83b978; }
.type-criatura { --entity-color: #df806b; }
.type-lugar { --entity-color: #d5b95f; }
.type-mundo { --entity-color: #7199d1; }
.type-reliquia { --entity-color: #b490c9; }
.type-capitulo { --entity-color: #a4a6ae; }
.book-legend { margin-top: 72px; padding: 24px 0 8px; border-top: 3px double #555861; }
.book-legend header > span { color: var(--coral); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-legend h2 { margin: 5px 0 18px; font: 600 26px/1.1 "Baskerville", Georgia, serif; }
.book-legend > div { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.book-legend > div > span { --entity-color: #aeb1b8; padding: 5px 7px; border-left: 4px solid var(--entity-color); color: color-mix(in srgb, var(--entity-color) 80%, white); background: color-mix(in srgb, var(--entity-color) 10%, transparent); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-legend > p { margin: 16px 0 0; color: #81848c; font-size: 10px; line-height: 1.5; }
.reference-entry summary span { color: var(--coral); }
.chapter-source { margin: 0 0 16px; padding: 11px 12px; border-left: 2px solid var(--gold); background: #211f19; }
.chapter-source > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.chapter-source > div > span, .chapter-source > small { color: #898b92; font-size: 8px; text-transform: uppercase; }
.chapter-source > strong { display: block; margin-top: 7px; color: #d4cdb6; }
.chapter-source > p { margin: 4px 0; color: #9c998f; font-size: 10px; }
.chapter-thought, .chapter-entity { margin: 12px 0; padding: 10px 12px; border-left: 2px solid #5c7476; color: #b8c4c4; background: #1b2022; font: italic 11px/1.5 "Baskerville", Georgia, serif; }
.chapter-entity { border-left-color: var(--gold); color: #d2c69e; background: #252217; }
.chapter-thought strong, .chapter-entity strong { display: block; margin-bottom: 4px; color: inherit; font: 800 8px/1.2 sans-serif; text-transform: uppercase; }
.chapter-interactions { margin: 16px 0; padding: 12px 14px; border-left: 2px solid var(--cyan); background: #1a2021; }
.chapter-interactions h4 { margin: 0 0 9px; color: var(--cyan); font-size: 9px; text-transform: uppercase; }
.chapter-interactions article { padding: 9px 0; border-bottom: 1px solid #304042; }
.chapter-interactions article:last-child { border-bottom: 0; }
.chapter-interactions p { margin: 4px 0; color: #aebbbb; font-size: 11px; line-height: 1.5; }
.chapter-interactions article > strong { display: block; margin-bottom: 2px; color: #d4dddd; font-size: 9px; }
.chapter-interactions small { display: block; margin-top: 5px; color: #91a5a5; font-size: 9px; line-height: 1.45; }
.chapter-interactions small b { margin-right: 5px; color: #bed1d1; text-transform: uppercase; }
.chapter-interactions .relationship-state { color: #c6d1cb; }
.relationship-metrics { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 7px; }
.relationship-metrics span { color: #8da4a4; font-size: 8px; text-transform: uppercase; }
.chapter-history { margin: 16px 0; padding: 13px 14px; border: 1px solid #524a32; background: #221f18; }
.chapter-history h4 { margin: 0 0 9px; color: var(--gold); font-size: 9px; text-transform: uppercase; }
.chapter-history p { margin: 5px 0; color: #bbb5a4; font-size: 11px; line-height: 1.5; }
.chapter-history p strong { display: block; color: #ddd1a0; font-size: 9px; text-transform: uppercase; }
.chapter-history small { display: block; margin-top: 10px; color: #888273; line-height: 1.45; }
.chapter-journey, .chapter-apparition { margin: 16px 0; padding: 13px 14px; border-left: 3px solid #7199d1; background: #1b2028; }
.chapter-apparition { border-left-color: #d5b95f; background: #242117; }
.chapter-apparition.malignant { border-left-color: #df806b; background: #281b1a; }
.chapter-journey h4, .chapter-apparition h4 { margin: 0 0 9px; color: #a9c4e8; font-size: 9px; text-transform: uppercase; }
.chapter-journey header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.journey-state { display: inline-block; padding: 3px 7px; border: 1px solid #7199d1; color: #c9ddf6; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.journey-state.trapped { border-color: #c47b65; color: #efb09c; }
.journey-state.returned { border-color: #6ea784; color: #a9d7b9; }
.journey-state.settled { border-color: #c3a45d; color: #e3ca8f; }
.chapter-apparition h4 { color: #e1c96f; }
.chapter-journey p, .chapter-apparition p, .chapter-appearance-change { margin: 6px 0; color: #b9c1cd; font-size: 11px; line-height: 1.5; }
.chapter-journey p strong, .chapter-apparition p strong, .chapter-appearance-change strong { display: block; color: #d8dde6; font-size: 8px; text-transform: uppercase; }
.guide-heading { padding: 14px 0 28px; border-bottom: 1px solid #3b3d44; }
.guide-heading span { color: var(--coral); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.guide-heading h2 { margin: 6px 0; font: 600 34px/1 "Baskerville", Georgia, serif; }
.guide-heading p { max-width: 560px; margin: 0; color: #8e9199; font-size: 11px; line-height: 1.5; }
.guide-list, .guide-section { margin-top: 28px; }
.guide-section + .guide-section { margin-top: 42px; }
.guide-section > h3 { margin: 0 0 10px; color: var(--cyan); font-size: 10px; text-transform: uppercase; }
.guide-era-overview { margin-bottom: 32px; padding-bottom: 26px; border-bottom: 1px solid #464850; }
.guide-era-overview > h4, .guide-rule-history > h4 { margin: 0 0 12px; color: var(--gold); font-size: 9px; text-transform: uppercase; }
.guide-era-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: #3b3d44; }
.guide-era { min-width: 0; padding: 13px; background: #1b1c20; }
.guide-era time { color: var(--cyan); font-size: 8px; }
.guide-era h4 { margin: 6px 0; color: #d6d2c8; font: 600 15px/1.15 "Baskerville", Georgia, serif; }
.guide-era p { min-height: 72px; margin: 0 0 10px; color: #908e88; font-size: 9px; line-height: 1.5; }
.guide-era > small { color: #696c74; font-size: 8px; }
.guide-era .guide-history-link { grid-template-columns: 1fr; padding: 7px 0; }
.guide-era .guide-history-link time { display: none; }
.guide-era .guide-history-link small { display: none; }
.guide-rule-history { margin: 20px 0; padding-top: 16px; border-top: 1px solid #3b3d44; }
.guide-rule-history article { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px dotted #3b3d44; }
.guide-rule-history time { color: var(--cyan); font-size: 9px; font-weight: 800; }
.guide-rule-history strong { color: #d7ca98; font-size: 9px; text-transform: uppercase; }
.guide-rule-history p { margin: 4px 0 6px; color: #aaa79f; font-size: 10px; line-height: 1.45; }
.guide-rule-history button { padding: 0; border: 0; color: #81858e; background: transparent; font-size: 8px; text-align: left; text-decoration: underline; }
.guide-character, .guide-entry { border-top: 1px solid #3b3d44; }
.guide-character:last-child, .guide-entry:last-child { border-bottom: 1px solid #3b3d44; }
.guide-character summary, .guide-entry summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 4px; cursor: pointer; list-style: none; }
.guide-character summary::-webkit-details-marker, .guide-entry summary::-webkit-details-marker { display: none; }
.guide-character summary div, .guide-entry summary { min-width: 0; }
.guide-character summary strong, .guide-entry summary strong { display: block; font: 600 18px/1.1 "Baskerville", Georgia, serif; }
.guide-character summary span, .guide-entry summary span { display: block; margin-top: 3px; color: #7f828b; font-size: 9px; text-transform: uppercase; }
.guide-entry summary::after { content: "+"; color: var(--cyan); font-size: 18px; }
.guide-entry[open] summary::after { content: "−"; }
.life-state { flex: 0 0 auto; padding: 5px 7px; border: 1px solid #4b4e56; color: #aeb1b8; font-size: 8px; text-transform: uppercase; }
.life-state.alive { border-color: #47745d; color: #85c7a2; }
.life-state.dead { border-color: #713e3a; color: #d17b72; }
.life-state.resurrected { border-color: #847342; color: #e0c76e; }
.guide-detail { padding: 4px 4px 20px; }
.guide-detail > p { margin: 7px 0; color: #aaa79f; font-size: 11px; line-height: 1.5; }
.guide-detail > p > strong { margin-right: 6px; color: #d5d1c7; font-size: 9px; text-transform: uppercase; }
.guide-detail > h4 { margin: 20px 0 7px; color: var(--cyan); font-size: 8px; text-transform: uppercase; }
.guide-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 10px 0; }
.guide-tags > span { margin-right: 3px; color: #777a83; font-size: 8px; font-weight: 800; }
.guide-tags > b { padding: 4px 6px; border: 1px solid #3e4149; color: #b8b5ad; background: #202126; font-size: 8px; font-weight: 600; text-transform: uppercase; }
.guide-history { border-top: 1px solid #303239; }
.guide-history-link { display: grid; width: 100%; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 10px 2px; border: 0; border-bottom: 1px solid #303239; color: inherit; background: transparent; text-align: left; }
.guide-history-link:hover, .guide-history-link:focus-visible { background: #22242a; }
.guide-history-link time { padding-top: 2px; color: var(--cyan); font-size: 9px; font-weight: 800; }
.guide-history-link strong, .guide-history-link small { display: block; }
.guide-history-link strong { color: #d5d1c7; font: 600 14px/1.2 "Baskerville", Georgia, serif; }
.guide-history-link small { margin-top: 3px; color: #71747d; font-size: 8px; text-transform: uppercase; }
.guide-fact { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid #2f3137; }
.guide-fact time { color: var(--cyan); font-size: 9px; font-weight: 800; }
.guide-fact p { margin: 0; color: #b9b6ae; font-size: 11px; line-height: 1.5; }
.guide-fact p strong, .guide-fact p small { display: block; }
.guide-fact p strong { color: var(--gold); font-size: 8px; text-transform: uppercase; }
.guide-fact p small { margin-top: 3px; color: #71747d; }
.life-ledger { padding: 10px 12px; border-left: 3px solid #b94f47; background: #261b1b; }
.life-ledger.resurrection { border-left-color: var(--gold); background: #292619; }
.life-ledger strong { display: block; color: var(--ink); }
.guide-appearance { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; margin: 12px 0; padding: 11px 12px; background: #1b2022; }
.appearance-swatch { width: 18px; height: 18px; border: 2px solid #d7d2c4; background: var(--appearance-color); box-shadow: 0 0 0 1px #111; }
.guide-appearance p { margin: 0; color: #b8c4c4; font-size: 11px; line-height: 1.5; }
.guide-appearance strong, .appearance-ledger strong { display: block; color: var(--cyan); font-size: 8px; text-transform: uppercase; }
.appearance-ledger { padding: 10px 12px; border-left: 3px solid #7199d1; background: #1b2028; color: #b9c1cd; font-size: 11px; line-height: 1.5; }
.appearance-ledger small { display: block; margin-top: 3px; color: #747d8a; }
.guide-world-memory { margin: 12px 0; padding: 12px 14px; border-left: 3px solid #70b9c0; background: #172224; }
.guide-world-memory > strong { color: #70b9c0; font-size: 8px; text-transform: uppercase; }
.guide-world-memory p { margin: 6px 0; color: #b8c7c6; font: 12px/1.5 "Baskerville", Georgia, serif; }
.guide-world-memory small { color: #718486; }
.guide-entry.mystical summary strong { color: var(--gold); text-transform: capitalize; }
.guide-relic { display: flex; justify-content: space-between; gap: 12px; padding: 12px 4px; border-top: 1px solid #3b3d44; }
.guide-relic span { color: #7f828b; font-size: 9px; text-transform: uppercase; }
.magical-item > summary { align-items: center; }
.magical-item .item-state { color: #b490c9; font-size: 8px; text-transform: uppercase; }
.magical-item .item-state.destroyed { color: #c57969; }
.magical-item .item-state.forgotten { color: #858994; }
.artifact-memory p strong { color: #b490c9; }
.chapter-magical-items { margin-top: 18px; padding: 14px 16px; border-left: 3px solid #9b75ad; background: #201c24; }
.chapter-magical-items article + article { margin-top: 12px; padding-top: 12px; border-top: 1px solid #493b50; }
.chapter-magical-items header { display: flex; justify-content: space-between; gap: 12px; }
.chapter-magical-items header span { color: #b490c9; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.chapter-magical-items p { margin: 7px 0 0; }
.guide-mystery { padding: 18px 4px; border-bottom: 1px solid #3b3d44; }
.guide-mystery span { color: var(--cyan); font-size: 9px; text-transform: uppercase; }
.guide-mystery p { margin: 7px 0; color: #d5d1c7; font: italic 18px/1.45 "Baskerville", Georgia, serif; }
.guide-mystery b { color: #898c95; font-size: 8px; text-transform: uppercase; }
.book-mysticism { margin-top: 20px; padding: 14px 16px; border-left: 3px solid var(--gold); background: #28271d; }
.book-mysticism strong { color: var(--gold); font-size: 9px; text-transform: uppercase; }
.book-mysticism p { margin: 6px 0; color: #cac5b4; font-size: 12px; line-height: 1.5; }
.book-mysticism small { color: #a98d83; }
.book-journey, .book-apparition, .book-appearance-change { margin-top: 20px; padding: 14px 16px; border-left: 3px solid #7199d1; background: #1b2028; }
.book-temporal-sequence, .chapter-temporal-sequence { margin-top: 20px; padding: 14px 16px; border-left: 3px solid #d0a85c; background: #211f1a; }
.book-temporal-sequence header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.book-temporal-sequence header span, .book-temporal-sequence time, .chapter-temporal-sequence time { color: #d9bc7d; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-temporal-sequence ol, .chapter-temporal-sequence ol { display: grid; gap: 10px; margin: 0; padding: 0 0 0 18px; }
.book-temporal-sequence li, .chapter-temporal-sequence li { padding-left: 5px; }
.book-temporal-sequence li::marker, .chapter-temporal-sequence li::marker { color: #d0a85c; }
.book-temporal-sequence p, .chapter-temporal-sequence p { margin: 3px 0 0; }
.book-apparition { border-left-color: #d5b95f; background: #242117; }
.book-apparition.malignant { border-left-color: #df806b; background: #281b1a; }
.book-appearance-change { border-left-color: #70b9c0; background: #192324; }
.book-journey header, .book-apparition header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.book-journey header span, .book-apparition header span, .book-appearance-change > strong { color: #9bb7dd; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.book-apparition header span, .book-apparition header strong { color: #dcc66f; }
.book-apparition.malignant header span, .book-apparition.malignant header strong { color: #e4917f; }
.book-journey p, .book-apparition p, .book-appearance-change p { margin: 6px 0; color: #c2c7cf; font: 13px/1.5 "Baskerville", Georgia, serif; }
.book-appearance-change small { color: #789193; }
.book-life-event { margin: 14px 0 0; padding: 11px 13px; border-left: 3px solid #b94f47; background: #261b1b; color: #c9b4b0; font-size: 11px; }
.book-life-event.resurrection { border-left-color: var(--gold); background: #292619; }
.book-life-event strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 8px; text-transform: uppercase; }
.book-era-context { margin: 22px 0; padding: 18px 20px; border: 1px solid #4d4f57; border-left: 3px solid var(--coral); background: #17181dcc; }
.book-era-context header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.book-era-context header span { color: var(--coral); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.book-era-context header strong { color: #f0ece2; font: 600 16px/1.2 "Baskerville", Georgia, serif; }
.book-era-context p { margin: 6px 0 0; color: #bbb8af; font: 13px/1.6 "Baskerville", Georgia, serif; }
.book-era-context b { color: #e3ded2; font-family: "Avenir Next", "Trebuchet MS", sans-serif; font-size: 9px; text-transform: uppercase; }

.toast { position: fixed; z-index: 50; right: 22px; bottom: 22px; max-width: min(360px, calc(100vw - 44px)); padding: 11px 14px; border-radius: 3px; color: #fff; background: #34363d; box-shadow: 0 10px 30px #0006; opacity: 0; transform: translateY(12px); pointer-events: none; transition: 160ms ease; }
.toast.is-visible { opacity: 1; transform: translateY(0); }
.toast.is-error { background: #8f382b; }

@media (max-width: 860px) {
  .game-auth { grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1fr); }
  .auth-world::after { font-size: 30px; }
  .topbar { grid-template-columns: auto 1fr auto; padding-inline: 14px; }
  .topbar .brand div span, .server-state { display: none; }
  .view-tabs { position: fixed; z-index: 19; right: 12px; bottom: 12px; left: 12px; justify-content: stretch; box-shadow: 0 12px 35px #0008; }
  .view-tabs .tab { flex: 1; }
  .topbar-account { grid-column: 3; }
  .wallet-chip { min-width: 94px; }
  .profile-button { display: none; }
  main { padding-bottom: 66px; }
  .studio-view.is-active { display: block; }
  .controls-panel { border-right: 0; }
  .studio-view { height: auto; min-height: calc(100vh - 64px); }
  .preview-workspace { min-height: 700px; }
  .preview-stage { min-height: 620px; }
  .chronicle-view.is-active { grid-template-columns: 220px minmax(0, 1fr); }
  .chronicle-view.is-active:has(.story-book:not([hidden])) { display: block; }
  .chronicle-view.is-active:has(.story-book:not([hidden])) .chronicle-sidebar { display: none; }
  .chronicle-columns { grid-template-columns: 1fr; }
  .pack-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pack-tiers button { min-height: 170px; border-bottom: 1px solid #34363d; }
  .pack-tiers button:last-child { grid-column: 1 / -1; min-height: 130px; }
}

@media (max-width: 560px) {
  .game-auth { display: block; overflow-y: auto; }
  .auth-world { display: none; }
  .game-auth-card { width: 100%; min-height: 100dvh; padding: 32px 22px; border-left: 0; }
  .game-auth-card h1 { font-size: 39px; }
  .topbar { height: auto; min-height: 62px; }
  .brand div span { display: none; }
  .brand strong { font-size: 16px; }
  .view-tabs .tab { min-width: 72px; padding-inline: 9px; }
  .controls-panel { padding: 22px 17px 32px; }
  .field-grid { grid-template-columns: 1fr; }
  .preview-workspace { grid-template-rows: auto 1fr; min-height: 650px; }
  .workspace-toolbar { align-items: flex-start; flex-direction: column; padding: 16px 17px; }
  .toolbar-actions { width: 100%; }
  .toolbar-actions button { flex: 1; padding-inline: 8px; }
  .world-memory-profile dl > div { grid-template-columns: 1fr; gap: 3px; }
  .preview-stage { min-height: 520px; padding-inline: 16px; }
  .render-shell { width: min(88vw, 400px); }
  .gallery-view { padding-inline: 17px; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }
  .chronicle-view.is-active { display: block; }
  .chronicle-sidebar { border-right: 0; border-bottom: 1px solid #3b3d44; }
  .chronicle-workspace { padding-inline: 17px; }
  .chronicle-heading { align-items: flex-start; flex-direction: column; }
  .chronicle-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .chronicle-heading .primary-button, .chronicle-mode { width: 100%; }
  .pack-store-button { width: 100%; }
  .chronicle-mode button { flex: 1; }
  .timeline-entry { grid-template-columns: 86px minmax(0, 1fr) auto; gap: 9px; }
  .section-title { align-items: flex-start; }
  .chapter-modal-card { overflow-y: auto; }
  .chapter-modal-content { display: block; min-height: auto; }
  .chapter-image-shell { position: static; min-height: 0; max-height: none; margin-bottom: 20px; }
  .chapter-image-shell img { height: auto; }
  .chapter-modal-copy { overflow: visible; padding-right: 0; }
  .chapter-modal-copy .chapter-cast article { grid-template-columns: 1fr; }
  .chapter-cast .character-profile > div { grid-template-columns: 1fr; gap: 1px; }
  .pack-modal-header { padding: 17px 18px 14px; }
  .pack-modal-header h1 { font-size: 23px; }
  .pack-store-view { padding: 18px; }
  .pack-store-intro { align-items: flex-start; flex-direction: column; }
  .pack-store-intro > div { padding: 0; border-left: 0; }
  .pack-collection-context, .pack-collection-empty { grid-template-columns: 34px minmax(0, 1fr); }
  .pack-collection-context p, .pack-collection-empty button { grid-column: 1 / -1; }
  .pack-collection-empty button { width: 100%; }
  .pack-tiers { display: grid; grid-template-columns: 1fr; }
  .pack-tiers button, .pack-tiers button:last-child { grid-column: auto; min-height: 112px; border-right: 0; }
  .pack-purchase-bar { bottom: -18px; align-items: stretch; flex-direction: column; gap: 10px; margin: 18px -18px -18px; padding: 12px 18px; }
  .pack-purchase-bar > div { text-align: left; }
  .sealed-order { grid-template-columns: minmax(0, 1fr) auto; }
  .sealed-order > span { grid-column: 1; }
  .pack-opening-view { padding: 16px; overflow-y: auto; }
  .pack-progress { grid-template-columns: 1fr auto; }
  .pack-bound-chronicle { align-items: center; flex-direction: column; gap: 4px; text-align: center; }
  .pack-progress > div { grid-column: 1 / -1; grid-row: 2; }
  .pack-ritual { min-height: 420px; }
  .discovered-card { grid-template-columns: 1fr; width: min(310px, calc(100% - 24px)); min-height: 0; }
  .discovered-card-art { min-height: 0; aspect-ratio: 160 / 210; }
  .discovered-card-copy { padding: 18px; border-top: 1px solid #3b3d44; border-left: 0; }
  .discovered-card-copy h2 { margin-block: 6px 9px; font-size: 23px; }
  .discovered-card-copy p { font-size: 11px; }
  .pack-opening-actions { align-items: stretch; flex-direction: column-reverse; }
  .pack-opening-actions button { width: 100%; }
  .balance-modal-shell > header { padding: 17px 18px 14px; }
  .balance-modal-shell > header h1 { font-size: 23px; }
  .balance-checkout { display: block; max-height: calc(100dvh - 84px); overflow-y: auto; }
  .balance-current { display: grid; grid-template-columns: 1fr auto; padding: 18px; border-right: 0; border-bottom: 1px solid #3b3d44; }
  .balance-current > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 25px; }
  .balance-current > small { margin-top: 4px; }
  .balance-form { padding: 22px 18px; }
  .balance-presets { grid-template-columns: repeat(2, 1fr); }
  .balance-pix, .balance-success { min-height: calc(100dvh - 84px); padding: 24px 18px; }
  .balance-pix > img { width: min(210px, 64vw); height: auto; aspect-ratio: 1; }
  .balance-pix-copy { grid-template-columns: 1fr; }
  .balance-pix-copy button { min-height: 40px; border-top: 1px solid #43464e; border-left: 0; }
  .book-cover { min-height: 170px; }
  .book-part, .book-life { grid-template-columns: 1fr; gap: 18px; }
  .book-part > header { position: static; }
  .book-chapters { display: block; filter: drop-shadow(0 16px 24px #050a0b55); }
  .book-chapters::after { display: none; }
  .book-page { min-height: 0; max-height: none; padding: 22px 16px 26px; border-radius: 0; overflow: visible; }
  .book-page:nth-child(odd) { border-radius: 6px 6px 0 0; box-shadow: inset 0 0 36px #8aa09a1f; }
  .book-page:nth-child(even) { border-top: 0; border-radius: 0 0 6px 6px; box-shadow: inset 0 0 36px #8aa09a1f; }
  .book-reading-page > .book-page-kind { display: none; }
  .book-page-stack { min-height: 0; }
  .book-pagination { top: 48px; }
  .book-card-spread { gap: 12px; width: min(100%, 310px); }
  .book-chapter > header h3 { font-size: 25px; }
  .book-guide-nav { grid-template-columns: repeat(2, 1fr); }
  .book-guide-nav button:last-child { grid-column: 1 / -1; }
    .guide-era-list { grid-template-columns: 1fr; }
    .guide-era p { min-height: 0; }
  .book-document > header { grid-template-columns: 1fr; }
  .book-document > header > small { grid-column: 1; }
  .book-term::after { position: fixed; right: 16px; bottom: 16px; left: 16px; width: auto; max-width: none; transform: translateY(4px); }
  .book-term:hover::after, .book-term:focus-visible::after { transform: translateY(0); }
  .guide-character summary, .guide-entry summary { align-items: flex-start; }
  .guide-fact { grid-template-columns: 70px minmax(0, 1fr); }
  .guide-history-link { grid-template-columns: 68px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .sealed-pack, .pack-rays, .pack-ritual.is-opening .sealed-pack, .discovered-card, .discovery-loading span, .balance-waiting i { animation: none; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}