:root{
  --lex-rule:color-mix(in srgb,var(--ink) 16%,transparent);
  --lex-muted:color-mix(in srgb,var(--ink) 52%,transparent);
  --lex-faint:color-mix(in srgb,var(--ink) 31%,transparent);
  --lex-field:color-mix(in srgb,var(--bg) 92%,var(--ink) 8%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);min-height:100vh;transition:background .7s,color .7s}
button,input{font:inherit}
.lex-hero{position:relative;min-height:390px;padding:clamp(108px,14vw,170px) max(5vw,32px) 48px;overflow:hidden;border-bottom:1px solid var(--lex-rule)}
.lex-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 17%,transparent),transparent 44%),repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),var(--lex-rule) 12.5%);pointer-events:none}
.lex-hero-copy{position:relative;z-index:1;max-width:880px}
.lex-kicker{margin:0 0 18px;font:10px/1.5 var(--mono);letter-spacing:.24em;color:var(--accent);text-transform:uppercase}
.lex-hero h1{margin:0;font-family:var(--mincho);font-size:clamp(48px,8vw,108px);font-weight:400;line-height:.92;letter-spacing:.02em}
.lex-hero h1 span{display:block;margin-top:14px;font-size:.42em;letter-spacing:.18em;color:var(--muted)}
.lex-deck{max-width:42ch;margin:28px 0 0;font-family:var(--mincho);font-size:clamp(16px,1.8vw,23px);line-height:1.8;color:var(--muted)}
.lex-orbit{position:absolute;right:clamp(30px,9vw,150px);top:92px;width:min(31vw,390px);aspect-ratio:1;border:1px solid var(--lex-rule);border-radius:50%;opacity:.82}
.lex-orbit::before,.lex-orbit::after,.lex-orbit i{content:"";position:absolute;border:1px solid var(--lex-rule);border-radius:50%}
.lex-orbit::before{inset:16%}.lex-orbit::after{inset:34%}.lex-orbit i:nth-child(1){left:50%;top:-12%;height:124%;border-radius:0}.lex-orbit i:nth-child(2){top:50%;left:-12%;width:124%;border-radius:0}.lex-orbit i:nth-child(3){inset:8% 33%}
.lex-orbit b,.lex-orbit em{position:absolute;font:12px var(--mono);letter-spacing:.18em;color:var(--muted);font-style:normal;font-weight:400}
.lex-orbit b:nth-of-type(1){left:8%;top:46%}.lex-orbit b:nth-of-type(2){right:7%;top:46%}.lex-orbit em{left:47%;bottom:7%;color:var(--accent)}
.lex-statline{position:absolute;z-index:1;right:max(5vw,32px);bottom:44px;display:flex;border-top:1px solid var(--lex-rule);border-bottom:1px solid var(--lex-rule)}
.lex-statline span{min-width:112px;padding:12px 16px;border-left:1px solid var(--lex-rule)}
.lex-statline b{font:18px var(--mono);color:var(--accent)}.lex-statline small{display:block;margin-top:5px;font:9px var(--mono);letter-spacing:.14em;color:var(--lex-muted)}

.lex-layout{display:grid;grid-template-columns:minmax(230px,18vw) minmax(0,1fr) minmax(250px,21vw);min-height:720px}
.lex-index,.lex-specimen,.lex-relations{min-width:0;padding:38px clamp(22px,3vw,48px)}
.lex-index{border-right:1px solid var(--lex-rule)}
.lex-relations{border-left:1px solid var(--lex-rule)}
.lex-search{position:relative;display:block;border-bottom:1px solid var(--lex-rule);padding-bottom:14px}
.lex-search>span{display:block;margin-bottom:9px;font:9px var(--mono);letter-spacing:.18em;color:var(--lex-muted)}
.lex-search input{width:100%;border:0;background:transparent;color:var(--ink);outline:0;padding:4px 28px 4px 0;font-family:var(--mincho);font-size:16px}
.lex-search input::placeholder{color:var(--lex-faint)}
.lex-search kbd{position:absolute;right:0;bottom:18px;border:1px solid var(--lex-rule);padding:1px 5px;color:var(--lex-faint);font:10px var(--mono)}
.lex-filters{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 20px}
.lex-filter{border:1px solid var(--lex-rule);background:transparent;color:var(--lex-muted);padding:7px 9px;cursor:pointer;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.lex-filter[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.lex-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--lex-rule)}
.lex-list button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--lex-rule);background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.lex-list button:hover,.lex-list button:focus-visible{color:var(--accent);outline:0}
.lex-list button[aria-current="true"]{color:var(--accent)}
.lex-list .num{font:9px var(--mono);letter-spacing:.12em;color:var(--lex-faint)}
.lex-list .term{font:16px/1.2 var(--mincho)}
.lex-list .term small{display:block;margin-top:5px;font:9px/1.4 var(--mono);letter-spacing:.08em;color:var(--lex-muted)}
.lex-empty{padding:24px 0;color:var(--lex-muted);font:12px/1.8 var(--mono)}

.lex-specimen{padding-top:48px}
.lex-specimen-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding-bottom:30px;border-bottom:1px solid var(--lex-rule)}
.lex-id{margin:0 0 12px;font:9px var(--mono);letter-spacing:.22em;color:var(--accent)}
.lex-specimen h2{margin:0;font-family:var(--mincho);font-size:clamp(43px,6vw,84px);font-weight:400;line-height:1}
.lex-names{margin-top:13px;color:var(--lex-muted);font:12px/1.7 var(--mono);letter-spacing:.08em}
.lex-status{border-left:1px solid var(--accent);padding-left:14px;text-align:right}
.lex-status b{display:block;color:var(--accent);font:9px var(--mono);letter-spacing:.16em;text-transform:uppercase}.lex-status span{display:block;margin-top:7px;color:var(--lex-muted);font:10px var(--mono)}
.lex-language-mark{display:flex;gap:16px;margin:24px 0 34px;font:9px var(--mono);letter-spacing:.14em;color:var(--lex-faint)}
.lex-language-mark .active{color:var(--accent)}
.lex-body{max-width:72ch;font-family:var(--mincho);font-size:clamp(16px,1.45vw,20px);line-height:2;color:var(--muted)}
.lex-body p{margin:0 0 1.35em}.lex-body strong{color:var(--ink);font-weight:600}
.wikilink{display:inline;border:0;border-bottom:1px solid var(--accent);padding:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit}
.wikilink:hover,.wikilink:focus-visible{background:color-mix(in srgb,var(--accent) 12%,transparent);outline:0}
.lex-provenance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:54px;border-top:1px solid var(--lex-rule);border-bottom:1px solid var(--lex-rule)}
.lex-provenance div{padding:14px 12px;border-right:1px solid var(--lex-rule)}.lex-provenance div:last-child{border-right:0}
.lex-provenance small{display:block;color:var(--lex-faint);font:8px var(--mono);letter-spacing:.15em}.lex-provenance span{display:block;margin-top:7px;overflow-wrap:anywhere;color:var(--lex-muted);font:10px/1.55 var(--mono)}
.lex-loading{padding:48px 0;color:var(--lex-muted);font:12px var(--mono);letter-spacing:.12em}

.lex-map{position:relative;aspect-ratio:1;margin:0 auto 30px;max-width:270px}
.lex-map svg{display:block;width:100%;height:100%;overflow:visible}
.lex-map line{stroke:var(--lex-rule);stroke-width:1}.lex-map circle{fill:none;stroke:var(--lex-rule)}.lex-map circle.core{stroke:var(--accent);fill:var(--accent)}
.lex-map text{fill:var(--lex-muted);font:8px var(--mono);letter-spacing:.04em}.lex-map text.core{fill:var(--ink);font-size:10px}
.lex-rel-section{margin-top:28px;border-top:1px solid var(--lex-rule);padding-top:15px}
.lex-rel-section h3{margin:0 0 8px;color:var(--lex-faint);font:9px var(--mono);letter-spacing:.16em;text-transform:uppercase}
.lex-rel-link{display:flex;justify-content:space-between;gap:10px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--lex-rule);background:transparent;color:var(--muted);text-align:left;cursor:pointer;font:13px var(--mincho)}
.lex-rel-link::after{content:"→";color:var(--accent)}.lex-rel-link:hover,.lex-rel-link:focus-visible{color:var(--accent);outline:0}
.lex-source-path{overflow-wrap:anywhere;color:var(--lex-muted);font:10px/1.7 var(--mono)}
.lex-footer{display:flex;justify-content:space-between;gap:24px;padding:28px max(5vw,32px);border-top:1px solid var(--lex-rule);color:var(--lex-faint);font:9px var(--mono);letter-spacing:.14em}

@media(max-width:980px){
  .lex-orbit{right:-80px;opacity:.5}.lex-statline{position:relative;right:auto;bottom:auto;margin-top:38px;width:max-content}
  .lex-layout{grid-template-columns:230px minmax(0,1fr)}.lex-relations{grid-column:2;border-left:0;border-top:1px solid var(--lex-rule);display:grid;grid-template-columns:230px 1fr 1fr;gap:24px}.lex-map{margin:0}.lex-rel-section{margin-top:0}
}
@media(max-width:700px){
  .lex-hero{min-height:420px;padding:92px 22px 30px}.lex-hero h1{font-size:54px}.lex-orbit{width:260px;right:-126px;top:96px}.lex-deck{max-width:29ch}.lex-statline{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.lex-statline span{min-width:0;padding-inline:9px}
  .lex-layout{display:block}.lex-index,.lex-specimen,.lex-relations{padding:28px 22px}.lex-index{border-right:0;border-bottom:1px solid var(--lex-rule)}
  .lex-list{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding:0 22px 8px 0}.lex-list li{flex:0 0 230px;scroll-snap-align:start}.lex-list button{min-height:88px;padding-right:14px}.lex-list .term{font-size:17px;overflow-wrap:anywhere}
  .lex-specimen-head{grid-template-columns:1fr}.lex-status{text-align:left}.lex-provenance{grid-template-columns:1fr}.lex-provenance div{border-right:0;border-bottom:1px solid var(--lex-rule)}
  .lex-relations{display:block;border-left:0}.lex-map{max-width:230px}.lex-rel-section{margin-top:25px}.lex-footer{display:block;padding-inline:22px}.lex-footer span{display:block;margin:8px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
