@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700;800&family=Spectral:wght@500;600;700&display=swap");
[hidden]{display:none!important}

:root{color-scheme:dark;--bg:#0e1318;--panel:#151c23;--panel2:#1a222b;--panel3:#202a34;--surface:var(--panel);--surface-soft:var(--panel2);--line:#303b46;--border:var(--line);--text:#edf1ed;--fg:var(--text);--muted:#a8b2bc;--subtle:var(--muted);--gold:#dfb45c;--gold2:#f0ce83;--accent:var(--gold);--on-gold:#1b1509;--red:#e4776e;--red-surface:#311f20;--red-text:#ffd9d5;--red-muted:#eab3ae;--green:#58c89b;--green-surface:#172a24;--green-text:#d9f8eb;--green-muted:#a9d9c5;--gold-surface:#30291c;--gold-text:#f7e3b4;--gold-muted:#d9c28f;--nav-bg:rgba(14,19,24,.92);--shadow:0 18px 55px rgba(0,0,0,.3);--radius-sm:9px;--radius-md:14px;--radius-lg:18px}
:root[data-theme="light"]{color-scheme:light;--bg:#f2f0ea;--panel:#fbfaf7;--panel2:#f1eee7;--panel3:#e8e3da;--surface:var(--panel);--surface-soft:var(--panel2);--line:#d2ccc0;--border:var(--line);--text:#252a27;--fg:var(--text);--muted:#68716e;--subtle:var(--muted);--gold:#9a6a17;--gold2:#7f5510;--accent:var(--gold);--on-gold:#fffaf0;--red:#b84b43;--red-surface:#f6e3e0;--red-text:#672823;--red-muted:#8d4c46;--green:#177957;--green-surface:#dff0e8;--green-text:#16543f;--green-muted:#3e715f;--gold-surface:#f2e7ce;--gold-text:#64470f;--gold-muted:#80662f;--nav-bg:rgba(251,250,247,.92);--shadow:0 18px 50px rgba(61,49,30,.1)}
html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:"Source Sans 3","Segoe UI",system-ui,sans-serif;transition:background-color .18s ease,color .18s ease}
h1,h2,h3,.intro h1,.hero h1,.card h2,.patch-document h2,.panel-heading h2,.result-title-row h2,.semantic-head h3,.ascendancy-title h3,.history-heading h3,.validation-head h2,.summary-review h2,.timeline-version strong{font-family:"Spectral",Georgia,serif;letter-spacing:-.02em}
.site-header{min-height:72px;display:flex;align-items:center;gap:28px;justify-content:space-between;padding:12px max(24px,4vw);border-bottom:1px solid var(--line);background:var(--nav-bg);backdrop-filter:blur(16px);position:relative;z-index:20}.site-brand{color:var(--text);text-decoration:none;font-weight:800;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.site-nav a{color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:var(--radius-sm)}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--text);background:var(--panel2)}
.theme-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);padding:9px 13px;cursor:pointer;white-space:nowrap}.freshness{width:min(1440px,92vw);margin:18px auto 0;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);color:var(--muted);display:flex;justify-content:space-between;gap:15px;box-shadow:var(--shadow)}.freshness strong{color:var(--text)}.freshness.pending{border-color:var(--gold);background:var(--gold-surface);color:var(--gold-muted)}.freshness.pending strong{color:var(--gold-text)}.freshness a,a{color:var(--accent)}
.hero,.controls,.general-notes,.card,.patch-document,.compare-panel,.results,.gem-overview,.semantic-card,.official-notes,.official-document,.intermediate-history,.full-timeline,.transition-list details,.timeline-entry,.class-comparison>.semantic-head,.ascendancy-card,.policy-card,.validation-toolbar,.validation-card,.ai-summary,.summary-columns>div,.source-provenance{background:var(--panel);color:var(--text);border-color:var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow)}
.compare-panel,.results,.policy-card,.validation-toolbar,.validation-card{background:linear-gradient(145deg,var(--panel2),var(--panel))}.card,.patch-document,.semantic-card,.official-document,.timeline-entry,.ascendancy-card,.validation-card{box-shadow:0 10px 28px rgba(0,0,0,.12)}
input,select,textarea,.value,.suggestions,.change-row,.legend,.passive-values>div,.passive-description,.compatibility-grid>div,.official-items>div,.overview-tag,.entity-dropdown,.granted-skill,.new-entity,.ai-panel{background:var(--panel2);color:var(--text);border-color:var(--line);border-radius:var(--radius-sm)}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent);outline:0}
.field input,.field select,.controls input,.controls select,.validation-toolbar select,.review-form input,.review-form select,.review-form textarea,.search input,.search div button,.entity-dropdown{background:var(--panel2);color:var(--text);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}select option{background:var(--panel);color:var(--text)}
.primary,.tabs button[aria-selected="true"],#compare,.filters button.active{background:var(--gold);color:var(--on-gold);border-color:var(--gold);border-radius:var(--radius-sm)}.tabs button,button,.badge,.pill,.status-pill,.verification,.data-badge,.overview-tag,.tag{border-radius:var(--radius-sm)}.tabs button{background:var(--panel2);color:var(--muted);border-color:var(--line)}.tabs button:hover{color:var(--text);background:var(--panel3)}.secondary{color:var(--text);border-color:var(--line);border-radius:var(--radius-sm)}.suggestion:hover,.suggestion.active{background:var(--panel3)}
.lead,.overview-description,.official-document-title strong,.official-items p,.timeline-item p,.granted-skill p,.summary-overview,.ai-summary>p{color:var(--text)}
/* Semantic fills own their foreground colours in both themes. */
.value.old,.before,.comparison-before,[data-state="removed"]{background:var(--red-surface);color:var(--red-text);border-color:color-mix(in srgb,var(--red) 55%,var(--line))}.value.new,.after,.comparison-after,[data-state="added"]{background:var(--green-surface);color:var(--green-text);border-color:color-mix(in srgb,var(--green) 55%,var(--line))}.value.old *,.before *,.comparison-before *,[data-state="removed"] *,.value.new *,.after *,.comparison-after *,[data-state="added"] *{color:inherit}.old{border-left-color:var(--red)}.new{border-left-color:var(--green)}.removed-value{color:var(--red-text)}.added-value{color:var(--green-text)}
.tag.removed,.passive-row.removed .passive-status{color:var(--red-text);border-color:var(--red);background:var(--red-surface)}.tag.added,.passive-row.added .passive-status{color:var(--green-text);border-color:var(--green);background:var(--green-surface)}.passive-row.added{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.passive-row.removed{border-color:color-mix(in srgb,var(--red) 45%,var(--line))}
.passive-row.modified,.passive-row.renamed,.passive-row.renamed_modified,.summary-warning,.ai-panel.warning{background:var(--gold-surface);color:var(--gold-text);border-color:var(--gold)}.summary-warning *,.ai-panel.warning *{color:inherit}.granted-skill{color:var(--text);border-left-color:var(--gold)}.granted-skill strong,.granted-skill p{color:inherit}.status-pill.awaiting_snapshot,.verification.awaiting_snapshot{color:var(--gold-text);border-color:var(--gold);background:var(--gold-surface)}.status-pill.confirmed,.verification.confirmed,.badge.confirmed{color:var(--green-text);border-color:var(--green);background:var(--green-surface)}.status-pill.mismatch,.verification.mismatch,.reject{color:var(--red-text);border-color:var(--red);background:var(--red-surface)}
.level-table-head,.level-table-row:nth-child(odd),.transition-list details,.passive-row{background:var(--panel2);color:var(--text);border-color:var(--line)}.timeline-list{background:var(--line)}.viewer{background:radial-gradient(circle,var(--panel3),var(--bg))}aside#nodeCard{background:color-mix(in srgb,var(--panel) 95%,transparent);color:var(--text);border-color:var(--line)}aside#nodeCard p{color:var(--text)}
.modifier-list{margin:0;padding-left:20px}.modifier-list li{margin:5px 0}.item-identity{display:flex;align-items:center;gap:18px}.item-image{width:74px;height:74px;object-fit:contain}.item-image.placeholder{display:grid;place-items:center;border:1px solid var(--line);background:var(--panel2);color:var(--gold);font-size:28px;border-radius:var(--radius-sm)}.home-hero{max-width:none;width:100%}
@media(max-width:850px){.site-header{align-items:flex-start;flex-direction:column;gap:8px}.site-nav{width:100%;padding-right:58px}.theme-toggle{position:absolute;right:14px;top:14px}.freshness{display:block}}
