.codex-shell{flex-direction:column;gap:1rem;min-height:0;display:flex}.codex-main-tabs{gap:var(--unit-2);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.codex-main-tab-icon{flex-shrink:0}.codex-panel{min-height:0}.codex-inline-strong{color:var(--text-primary);font-weight:650}.codex-inline-code{font-family:var(--font-mono,ui-monospace, monospace);background:#ffffff0f;border-radius:.25rem;padding:.1em .35em;font-size:.92em}.codex-entity-link,.codex-entity-link-static{color:var(--text-gold);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-gold) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--text-gold) 45%, transparent);text-underline-offset:.15em}.codex-entity-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.codex-entity-link:hover{color:var(--secondary)}.codex-rich-paragraph+.codex-rich-paragraph{margin-top:.85rem}.codex-lore-layout{gap:var(--unit-4);grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:stretch;min-height:0;display:grid}.codex-lore-list,.codex-lore-detail{border:2px solid var(--outline-variant);background:linear-gradient(160deg, #8fbcbb0a, transparent 42%), var(--surface-container-low);box-shadow:inset 0 0 26px #000000d1}.codex-lore-list{min-height:0;max-height:min(72vh,760px);padding:var(--unit-3);gap:var(--unit-2);flex-direction:column;display:flex;overflow:hidden}.codex-lore-list h2{justify-content:space-between;align-items:center;gap:var(--unit-2);padding-bottom:var(--unit-2);border-bottom:2px solid var(--outline-variant);color:var(--secondary);font-family:var(--font-display);flex-shrink:0;margin:0;font-size:1.05rem;display:flex}.codex-lore-list h2 span{color:var(--outline);font-family:var(--font-mono);font-size:12px}.codex-lore-search{flex-shrink:0;display:block}.codex-lore-search-input{border:1px solid var(--outline-variant);background:var(--surface);width:100%;color:var(--on-surface);padding:var(--unit-2);font-family:var(--font-mono);font-size:12px}.codex-lore-search-input::placeholder{color:var(--on-surface-variant)}.codex-lore-search-input:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 2px #e9c17626}.codex-lore-tabs{padding:var(--unit-2);background:linear-gradient(160deg,#ffdad408,#0000 55%),#00000038;border:1px solid #aa898447;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid;box-shadow:inset 0 0 14px #0006}.codex-lore-tabs .codex-lore-tab{letter-spacing:.04em;border-width:1px;justify-content:space-between;gap:.4rem;width:100%;min-width:0;min-height:30px;padding:.3rem .45rem;font-size:.62rem}.codex-lore-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.codex-lore-tab-count{min-width:1.25rem;color:var(--on-surface-variant);font-variant-numeric:tabular-nums;text-align:center;background:#00000059;border:1px solid #aa898447;flex-shrink:0;padding:.1rem .3rem}.codex-lore-tab-active .codex-lore-tab-count{border-color:color-mix(in srgb, var(--primary) 45%, var(--outline-variant));color:var(--primary-container);background:#00000047}.codex-lore-entries{gap:var(--unit-2);overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.codex-lore-empty{padding:var(--unit-2);margin:0;font-size:13px}.codex-lore-entry{align-items:center;gap:var(--unit-2);text-align:left;border:1px solid var(--outline-variant);border-left:4px solid var(--tertiary,var(--secondary));background:var(--surface);width:100%;color:var(--on-surface);padding:var(--unit-2);cursor:pointer;flex-shrink:0;grid-template-columns:10px minmax(0,1fr);display:grid}.codex-lore-entry:hover,.codex-lore-entry-active{background:var(--surface-container-high);border-color:var(--tertiary,var(--secondary))}.codex-lore-entry-accent{background:var(--tertiary,var(--secondary));border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.codex-lore-entry-copy{min-width:0}.codex-lore-entry strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.15;display:block;overflow:hidden}.codex-lore-entry small{color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:10px;display:block}.codex-lore-detail{min-width:0;min-height:0;max-height:min(72vh,760px);padding:var(--unit-3);gap:var(--unit-3);overscroll-behavior:contain;background-image:radial-gradient(circle at 12% 0,#8fbcbb1f,#0000 52%),linear-gradient(160deg,#8fbcbb09,#0000 42%);flex-direction:column;display:flex;overflow-y:auto}.codex-lore-kicker{margin-bottom:var(--unit-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tertiary,var(--secondary));font-size:11px;font-weight:700;display:inline-block}.codex-lore-detail-header{padding-bottom:var(--unit-2);border-bottom:2px solid var(--outline-variant);flex-shrink:0}.codex-lore-detail-header h1{color:var(--primary);margin:0;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.1}.codex-lore-summary{margin:var(--unit-2) 0 0;color:var(--on-surface-variant);font-size:14px;font-style:italic;line-height:1.55}.codex-lore-body{line-height:1.65;font-family:var(--font-prose);color:var(--on-surface)}.bestiary-flavor,.item-catalog-flavor{color:var(--text-secondary);margin-top:.65rem;line-height:1.55}.codex-vision-toolbar{border:1px solid color-mix(in srgb, var(--text-gold) 28%, transparent);background:color-mix(in srgb, var(--text-gold) 8%, transparent);border-radius:.4rem;flex-direction:column;gap:.55rem;margin:0 0 .75rem;padding:.65rem .75rem;display:flex}.codex-vision-banner{flex-direction:column;gap:.25rem;display:flex}.codex-vision-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--text-gold);align-self:flex-start;font-size:.72rem;font-weight:700}.codex-vision-hint{margin:0;font-size:.85rem;line-height:1.4}.codex-vision-controls{flex-wrap:wrap;gap:.4rem;display:flex}.codex-vision-chip{font-size:.82rem}.codex-vision-chip-active{border-color:color-mix(in srgb, var(--text-gold) 55%, transparent);color:var(--text-gold);background:color-mix(in srgb, var(--text-gold) 12%, transparent)}.codex-discovery-foot{margin:0 0 .65rem;font-size:.85rem}.bestiary-empty{margin:.5rem 0;padding:.5rem}@media (max-width:1100px){.codex-main-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.codex-main-tabs{grid-template-columns:1fr}}@media (max-width:900px){.codex-lore-layout{grid-template-columns:1fr}.codex-lore-list,.codex-lore-detail{max-height:none}.codex-lore-entries{max-height:320px}}
.landing-brand,.auth-tome-brand,.game-sidebar-brand,.game-nav-brand{font-family:var(--font-inscription);letter-spacing:.08em;text-shadow:var(--text-shadow);color:var(--text-ember)}.field span,.btn,.game-sidebar-link,.game-sidebar-logout,.game-nav-link,.chat-tab,.combat-live-pill,.stat-cell-label,.tavern-tab-copy span,.vault-bag-sort-label,.dungeon-journal-title,.dungeon-journal-type,.inspect-stat-label,.quest-detail-meta,.patron-board-title span,.quest-focus-hero-meta,.quest-history-past-hint,.auth-tome-fragment cite,.text-label,.text-label-caps,.page-kicker,.guide-panel-kicker,.guide-article-kicker,.quest-objectives h3{font-family:var(--font-display);font-variant:small-caps;letter-spacing:.05em;text-transform:none;color:var(--text-secondary);font-weight:600;font-size:var(--text-xs)}input,textarea,select,.game-select-trigger,.game-select-option{font-family:var(--font-prose);font-size:var(--text-sm);letter-spacing:.01em;line-height:1.45}.chat-log,.chat-panel-tavern .chat-log,.dungeon-journal-msg,.quest-body,.guide-article-paragraph,.guide-intro-lead{font-size:var(--text-base);line-height:var(--leading-prose)}.combat-log-narrative{font-size:var(--text-sm);line-height:var(--leading-prose)}.stat-cell-value,.text-stat,.text-data-mono{font-size:var(--text-sm)}.stat-cell-label,.game-nav-link,.chat-tab{font-size:var(--text-xs)}h1,h2,h3,.text-display-xl,.text-display-lg,.card h2,.page-kicker-heading,.guide-article-title,.guide-article-subtitle,.vault-panel-title,.quest-detail-header h1{color:var(--text-heading)}a,.btn-primary{color:var(--text-accent)}.btn-primary:hover:not(:disabled){color:var(--on-primary-container)}.chat-log,.chat-panel-tavern .chat-log,.combat-topbar-actor,.dungeon-journal-msg,.inspect-affix strong,.inspect-affix p,.inspect-affix span,.vault-meta p,.tavern-salon-chat-head p,.tavern-menu-copy,.tavern-patron-welcome,.presence-hint{font-family:var(--font-prose);line-height:var(--leading-prose)}.dungeon-journal-msg{color:var(--text-primary)}.inspect-affix p,.inspect-affix span{color:var(--text-secondary)}.stat-cell-value,.vault-panel-title span,.vault-bag-tab-copy span,.combat-topbar-timer,.game-sidebar-nav-badge,.tavern-tab-badge,.dungeon-journal-count,.dungeon-journal-time,.dungeon-journal-count.text-data-mono,.leaderboard-rank{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.vault-meta .vault-meta-title{font-family:var(--font-display);font-variant:small-caps;letter-spacing:.06em}.game-header p,.game-footer{font-family:var(--font-prose);color:var(--text-secondary);line-height:1.45}.game-footer{font-size:var(--text-xs)}.game-footer .text-label-caps,.game-footer .text-data-mono{font-size:inherit}

