.world-page { --measure:70ch; font:400 16px/1.7 var(--font-body); }
.world-page .micro { font:400 10px/1.6 var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.world-page .plate { border-bottom:1px solid var(--line-strong); padding:8px 0 24px; }
.world-page .plate-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.world-page .mark h1 { font-size:clamp(28px,3.5vw,42px); margin:0 0 12px; }
.world-page .stamp { display:flex; gap:24px; }
.world-page .stamp b { color:var(--cyan); font-weight:500; }
.world-page .shell { display:grid; grid-template-columns:200px minmax(0,1fr); gap:40px; margin-top:28px; }
.world-page .rail { position:sticky; top:104px; align-self:start; max-height:calc(100vh - 130px); overflow:auto; }
.world-page .filter { width:100%; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); padding:10px 12px; margin-bottom:24px; font:400 13px/1.5 var(--font-body); }
.world-page .filter::placeholder { color:var(--muted); }
.world-page .group { margin-bottom:24px; }
.world-page .group h2 { margin:0 0 8px; }
.world-page .rail ul { list-style:none; padding:0; margin:0; }
.world-page .rail a { display:flex; align-items:center; gap:12px; padding:7px 0; color:var(--muted); text-decoration:none; font-size:13px; border-top:1px solid var(--line); }
.world-page .rail a:hover,.world-page .rail a[aria-current] { color:var(--cyan); }
.world-page .rail em { margin-left:auto; font-style:normal; font-size:9px; }
.world-page .doc { display:block; padding:4px 0; }
.world-page .head { margin-bottom:24px; }
.world-page .head h1 { margin:10px 0; font-size:clamp(28px,3vw,40px); }
.world-page .aka { color:var(--muted); font-size:15px; }
.world-page .specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.world-page .specs dd { margin:4px 0 0; font-size:14px; }
.world-page .prose { max-width:var(--measure); }
.world-page .prose p { margin:0 0 1em; }
.world-page .lede { font-size:17px; color:var(--muted); }
.world-page .link { color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }
.world-page .link.dead { color:var(--muted); text-decoration-style:dotted; }
.world-page .empty { padding:18px; border-left:2px solid var(--amber); background:var(--surface); color:var(--muted); }
.world-page .empty b { display:block; margin-bottom:8px; color:var(--amber); }
.world-page .spine { max-width:var(--measure); }
.world-page .ev { display:grid; grid-template-columns:65px minmax(0,1fr); gap:24px; }
.world-page .ev .yr { font:500 23px/1.4 var(--font-heading); color:var(--cyan); }
.world-page .yr small { display:block; font:400 9px/1.5 var(--font-mono); color:var(--muted); }
.world-page .ev .body { border-left:1px solid var(--line-strong); padding:0 0 24px 24px; }
.world-page .ev p { margin:0 0 16px; }
.world-page .gap { margin-left:89px; padding:4px 0 18px 24px; border-left:1px dashed var(--line-strong); }
.world-page .refs { margin-top:36px; padding-top:20px; border-top:1px solid var(--line-strong); }
.world-page .refs h2 { margin:0 0 16px; }
.world-page .refs ul { list-style:none; padding:0; }
.world-page .refs li { border-top:1px solid var(--line); padding:14px 0; color:var(--muted); font-size:14px; }
.world-page .refs .src { display:block; color:var(--cyan); margin-bottom:8px; text-decoration:none; }
.world-page .refs mark { color:var(--ink); background:var(--cyan-fill); padding:0 3px; }
.world-page .none { color:var(--muted); font-size:14px; }
@media(max-width:1100px) { .world-page .shell { grid-template-columns:170px minmax(0,1fr); gap:24px; } }
@media(max-width:900px) {
  .world-page .shell { grid-template-columns:1fr; }
  .world-page .rail { position:static; max-height:none; }
  .world-page .rail-groups { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .world-page .doc { border-top:1px solid var(--line); padding-top:24px; }
  .world-page .filter { font-size:16px; }
}
@media(max-width:480px) { .world-page .ev { grid-template-columns:45px minmax(0,1fr); gap:12px; } .world-page .ev .body { padding-left:16px; } .world-page .gap { margin-left:57px; padding-left:16px; } }
