:root {
  color-scheme: light dark;
  --stage:#000; --header-top:#3a3a3a; --header-mid:#262626; --header-bottom:#1a1a1a;
  --slate:#abbebe; --slate-edge:#8ca3a3; --field:#999; --surface:#f2f2e6;
  --row:#fff; --row-alt:#fbfbf4; --ink:#333; --heading:#201a10; --muted:#6c6c5c;
  --rule:#cfcfc0; --control-border:#878775; --link-hover:#000099; --nav-ink:#223333;
  --nav-emphasis:#733700; --ember:#cc6600; --ember-light:#e68a2e; --ember-dark:#a85200;
  --action-mid:#954900; --action-bottom:#7e3e00; --header-text:#ddd;
  --headline-accent:#a85200; --nav-pipe:#7c9494; --focus-inner:#000; --focus-outer:#fff;
}
* { box-sizing:border-box; }
html { background:var(--stage); font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; }
body { margin:0; min-width:0; background:var(--stage); color:var(--ink); font-size:13px; font-weight:400; line-height:1.5; }
a { color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
a:hover { color:var(--link-hover); }
a:focus-visible { outline:2px solid var(--focus-inner); outline-offset:2px; box-shadow:0 0 0 4px var(--focus-outer); }
h1,h2,h3,p { overflow-wrap:anywhere; }
h1,h2,h3 { color:var(--heading); }
h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:700; line-height:1.15; }
h1 small { display:block; margin-bottom:4px; color:var(--muted); font:400 11px/1.3 Verdana,Geneva,Arial,Helvetica,sans-serif; letter-spacing:.04em; }
h1 span { color:var(--headline-accent); }
h2 { margin:0 0 8px; font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; font-size:14px; font-weight:700; line-height:1.5; }
p { margin:8px 0 0; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:10px 14px; background:#fff; color:#000; font-size:13px; font-weight:700; line-height:1.5; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.site-shell { container:shell / inline-size; width:min(922px,100%); margin:0 auto; background:var(--field); }
.site-header { position:relative; display:flex; height:92px; align-items:center; justify-content:space-between; gap:24px; padding:0 18px; border-bottom:3px solid var(--ember); background:linear-gradient(to bottom,var(--header-top) 0%,var(--header-mid) 55%,var(--header-bottom) 100%); }
.wordmark { flex:none; color:var(--header-text); font:700 30px/1.5 Georgia,"Times New Roman",serif; letter-spacing:.5px; text-decoration:none; text-shadow:0 1px 0 #000,0 2px 3px rgba(0,0,0,.6); }
.wordmark:hover { color:var(--header-text); }
.wordmark-local { color:var(--ember-light); }
.tagline { margin:0; color:#b8b8b8; font-size:11px; font-style:italic; font-weight:400; line-height:1.5; text-align:right; }
.site-nav { display:flex; min-height:39px; align-items:center; flex-wrap:wrap; padding:5px 18px; border-bottom:1px solid var(--slate-edge); background:var(--slate); }
.site-nav a { display:inline-flex; min-height:28px; align-items:center; color:var(--nav-ink); font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--nav-emphasis); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.site-nav > span { margin:0 9px; color:var(--nav-pipe); }
.scene-ticker { display:grid; height:26px; grid-template-columns:max-content minmax(0,1fr); border-bottom:1px solid var(--ember-dark); background:linear-gradient(to bottom,var(--ember-light),var(--ember)); color:#2a1400; font-size:11px; font-weight:700; line-height:1.5; }
.scene-ticker__label { display:flex; height:26px; align-items:center; padding:0 10px; background:#2a1400; color:var(--ember-light); letter-spacing:.5px; white-space:nowrap; }
.scene-ticker__message { display:flex; min-width:0; height:26px; align-items:center; padding:0 10px; overflow:visible; white-space:nowrap; }
.directory-layout { display:grid; grid-template-areas:"rail main"; grid-template-columns:195px minmax(0,1fr); gap:16px; padding:16px; background:var(--field); }
.directory-main { grid-area:main; min-width:0; }
.directory-rail { display:flex; grid-area:rail; min-width:0; flex-direction:column; gap:14px; }
.directory-main > * + * { margin-top:16px; }
.portal-panel,.box { border:1px solid var(--rule); background:var(--surface); }
.box > h2 { margin:0; padding:5px 9px; border-bottom:1px solid var(--slate-edge); background:var(--slate); color:var(--nav-ink); font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; font-size:12px; font-weight:700; line-height:1.5; }
.hero-panel { padding:22px 22px 20px; }
.hero-panel > p:not(.action-row) { max-width:590px; }
.action-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:16px; }
.button { display:inline-flex; min-height:36px; align-items:center; justify-content:center; padding:7px 14px; border:1px solid var(--ember-dark); border-radius:3px; font-size:12px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 1px 2px rgba(0,0,0,.4); }
.button--primary { background:linear-gradient(to bottom,var(--ember-dark),var(--action-mid),var(--action-bottom)); color:#fff8ee; }
.button--primary:hover { background:linear-gradient(to bottom,var(--action-mid),var(--action-bottom),#733700); color:#fff8ee; }
.button--secondary { border-color:var(--slate-edge); background:linear-gradient(to bottom,#b8caca,var(--slate),var(--slate-edge)); color:#1e2b2b; }
.button--secondary:hover { color:#000099; }
.spotlight-panel { display:grid; grid-template-columns:max-content 64px minmax(0,1fr); align-items:stretch; gap:14px; padding:14px; }
.spotlight-label { align-self:start; padding:4px 8px; background:var(--ember-dark); color:#fff8ee; font-size:10px; font-weight:700; line-height:1.5; }
.spotlight-panel h2 { font-size:15px; line-height:1.5; }
.spotlight-panel p { font-size:12px; line-height:1.5; }
.spotlight-panel a { font-size:11px; line-height:1.5; }
.entity-tile { display:grid; width:104px; aspect-ratio:1; place-items:center; border:2px solid #fff; background:linear-gradient(135deg,#4b4b4b,#292929); color:#d8d0ca; font:700 42px/1.5 Georgia,"Times New Roman",serif; box-shadow:0 2px 5px rgba(0,0,0,.5); }
.entity-tile--small { width:64px; aspect-ratio:auto; align-self:stretch; font-size:22px; line-height:1.5; }
.category-panel,.build-panel { padding:14px; }
.category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:10px 0 0; padding:0; list-style:none; }
.category-grid li { min-width:0; border:1px solid var(--rule); background:var(--row); }
.category-grid a { display:flex; min-height:104px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:10px 6px; color:var(--ink); text-align:center; text-decoration:none; }
.category-grid a:hover strong { color:var(--link-hover); text-decoration:underline; }
.category-grid strong { font-size:11px; font-weight:700; line-height:1.5; }
.category-grid small { color:var(--muted); font-size:10px; font-weight:400; line-height:1.5; }
.category-glyph { display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--slate-edge); border-radius:50%; background:linear-gradient(to bottom,#d6e2e2,#abbebe,#8ca3a3); color:#223333; box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(0,0,0,.35); }
.category-glyph svg { width:17px; height:17px; fill:#1e2b2b; }
.build-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:14px 0 0; padding:0; list-style:none; }
.build-list li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; }
.build-list li > span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--ember-dark); color:#fff8ee; font-size:11px; font-weight:700; line-height:1.5; }
.build-list strong { font-size:12px; font-weight:700; line-height:1.5; }
.build-list p { color:var(--muted); font-size:11px; font-weight:400; line-height:1.5; }
.fact-list { margin:0; padding:8px 10px; }
.fact-list div { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:6px 0; border-bottom:1px dotted var(--rule); }
.fact-list div:last-child { border-bottom:0; }
.fact-list dt { color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }
.fact-list dd { margin:0; font-size:12px; font-weight:700; line-height:1.5; overflow-wrap:anywhere; }
.rail-links,.status-list { margin:0; padding:0; list-style:none; }
.rail-links li { padding:8px 10px; border-bottom:1px dotted var(--rule); }
.rail-links li:last-child { border-bottom:0; }
.rail-links a { display:inline-block; font-size:12px; font-weight:400; line-height:1.5; }
.rail-links span { display:block; color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }
.status-list { padding:6px 10px 10px; }
.status-list li { padding:5px 0; border-bottom:1px dotted var(--rule); font-size:12px; font-weight:400; line-height:1.5; }
.status-list li:last-child { border-bottom:0; }
.site-footer { padding:14px 18px; border-top:1px solid var(--slate-edge); background:var(--slate); color:var(--nav-ink); font-size:11px; font-weight:400; line-height:1.5; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:6px 9px; }
.site-footer a { color:var(--nav-ink); }
.site-footer p { margin-top:10px; }
.profile-layout { align-items:start; }
.error-layout { grid-template-areas:"main"; grid-template-columns:minmax(0,1fr); }
.profile-identity { padding:22px; }
.profile-identity h1 { font-size:28px; }
.profile-meta { color:var(--muted); font-size:12px; font-weight:400; line-height:1.5; }
.status-badge { display:inline-block; margin-top:8px; padding:3px 8px; border:1px solid var(--control-border); background:var(--row-alt); color:var(--ink); font-size:10px; font-weight:700; line-height:1.5; }
.profile-section { padding:16px; }
.profile-section ul { margin:10px 0 0; padding-left:22px; }
.profile-section p,.profile-section li,.beta-box p { font-size:12px; font-weight:400; line-height:1.5; }
.profile-section li + li { margin-top:6px; }
.profile-table { width:100%; margin-top:12px; border-collapse:collapse; table-layout:fixed; font-size:12px; font-weight:400; line-height:1.5; }
.profile-table th,.profile-table td { padding:9px 8px; border-bottom:1px dotted var(--rule); text-align:left; overflow-wrap:anywhere; }
.profile-table th { color:var(--muted); font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.04em; text-transform:uppercase; }
.profile-table tbody tr:nth-child(odd) { background:var(--row); }
.profile-table tbody tr:nth-child(even) { background:var(--row-alt); }
.beta-box { padding:14px; }
.beta-box .button { margin-top:10px; }
.profile-art { width:100%; max-width:195px; }
.profile-links { padding:8px 10px; }
.profile-links p,.profile-links a { font-size:12px; font-weight:400; line-height:1.5; }
.profile-links a { display:block; padding:6px 0; }
.profile-links a + a { border-top:1px dotted var(--rule); }
@container shell (max-width:699px) {
  .directory-layout { grid-template-areas:"main" "rail"; grid-template-columns:minmax(0,1fr); }
  .directory-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container shell (max-width:639px) {
  .tagline { display:none; }
}
@container shell (max-width:538px) {
  .scene-ticker { height:auto; min-height:74px; grid-template-columns:minmax(0,1fr); grid-template-rows:26px minmax(48px,auto); }
  .scene-ticker__label { width:100%; }
  .scene-ticker__message { height:auto; min-height:48px; align-items:center; padding:6px 10px; overflow:visible; overflow-wrap:anywhere; white-space:normal; line-height:1.5; }
}
@container shell (max-width:479px) {
  .site-header { align-items:flex-start; justify-content:center; flex-direction:column; gap:5px; padding:16px 12px; }
  .site-nav { padding-inline:10px; }
  .site-nav > span { margin-inline:6px; }
  .directory-layout { padding:10px; gap:10px; }
  .directory-main > * + * { margin-top:10px; }
  .directory-rail { display:flex; }
  .hero-panel,.profile-identity { padding:16px; }
  .spotlight-panel { grid-template-columns:minmax(0,1fr); }
  .spotlight-label { justify-self:start; }
  .entity-tile--small { width:64px; height:64px; aspect-ratio:1; align-self:start; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .build-list { grid-template-columns:1fr; }
}
@media (prefers-color-scheme:dark) {
  :root { --slate:#263a3a; --slate-edge:#1a2a2a; --field:#111211; --surface:#20211d; --row:#272820; --row-alt:#2d2e26; --ink:#f2f2e6; --heading:#fff8ee; --muted:#c9c9ba; --rule:#8c8c78; --control-border:#8c8c78; --link-hover:#8db7ff; --nav-ink:#f2f2e6; --nav-emphasis:#f2a04c; --headline-accent:#e68a2e; --nav-pipe:#c9c9ba; }
  .category-glyph { border-color:var(--rule); }
  .button--secondary { background:linear-gradient(to bottom,#b8caca,#abbebe,#8ca3a3); color:#1e2b2b; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto; } }
@media (forced-colors:active) {
  .portal-panel,.box,.category-grid li,.entity-tile,.status-badge,.button { border:1px solid CanvasText; }
  .site-nav a[aria-current="page"] { outline:1px solid CanvasText; }
  .category-glyph svg { fill:CanvasText; }
}
