/* xenith.ltd. Generated by site.mjs (estate-sites, claude). Edit the generator or the content module, not this file. */
/* Fonts: Space Grotesk and DM Sans, SIL Open Font License 1.1, served from this site (licences in /assets/fonts). */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/space-grotesk.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url(/assets/fonts/dm-sans.woff2) format("woff2")}
:root{--head:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;--body:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--mono:ui-monospace,"Cascadia Mono","SFMono-Regular",Consolas,monospace;--ground:#0a1322;--ground-2:#132a4a;--glow:#1d4a75;--ink:#eef4fb;--muted:#a9bdd3;--a:#5fd4c4;--b:#f1d27a;--b2:#c9a227;--pill:#f1d27a;--surface:rgba(255,255,255,.045);--surface-2:rgba(255,255,255,.075);--line:rgba(255,255,255,.1);--under:rgba(255,255,255,.32);--wide:72rem;--read:40rem;color-scheme:dark}
*{box-sizing:border-box}
html{background:var(--ground);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;background:radial-gradient(1100px 520px at 50% -120px,var(--glow) 0%,transparent 70%),linear-gradient(180deg,var(--ground-2),var(--ground) 640px);background-repeat:no-repeat;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible{outline:2px solid var(--b);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--ground);padding:8px 14px;border-radius:8px;text-decoration:none;font-weight:600;z-index:9}
.skip:focus{top:12px}
header.top{width:100%;max-width:var(--wide);margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--head);font-weight:600;font-size:17px;letter-spacing:.005em}
.brand svg{width:30px;height:30px;flex:none}
nav.site ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}
nav.site a{text-decoration:none;color:var(--muted);padding:6px 0;display:inline-block;border-bottom:1px solid transparent}
nav.site a:hover{color:var(--ink);border-bottom-color:var(--under)}
nav.site a[aria-current]{color:var(--ink);border-bottom-color:var(--a)}
main{flex:1;width:100%;max-width:var(--wide);margin:0 auto;padding:20px 20px 40px}
main:focus{outline:none}
h1,h2,h3{font-family:var(--head);line-height:1.12;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(34.0px,5.60vw,60px);font-weight:700;margin:.2em 0 .35em;max-width:18em}
h2{font-size:clamp(23px,3vw,30px);font-weight:600;margin:2.2em 0 .6em}
h3{font-size:19px;font-weight:600;margin:1.6em 0 .4em}
p{margin:0 0 1em}
.read{max-width:var(--read)}
.lede{font-size:clamp(18px,2.1vw,21px);line-height:1.55;color:var(--ink);max-width:36em}
.muted{color:var(--muted)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--a);margin:0}
.crumbs{font-size:14px;color:var(--muted);margin:6px 0 0}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.crumbs a:hover{color:var(--ink)}
.hero{display:flex;flex-direction:column;align-items:flex-start;padding:28px 0 8px}
.hero .mark{width:120px;height:120px;margin:0 0 18px;overflow:visible}
.mark .core{animation:glow 3.5s ease-in-out infinite}
@keyframes drift-a{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
@keyframes drift-b{0%,100%{transform:translateX(0)}50%{transform:translateX(-10px)}}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.55}}
.mark .node{animation:pulse 7s ease-in-out infinite}.mark .n1{animation-delay:-1.17s}.mark .n2{animation-delay:-2.33s}.mark .n3{animation-delay:-3.5s}.mark .n4{animation-delay:-4.67s}.mark .n5{animation-delay:-5.83s}.mark .node{transform-box:fill-box;transform-origin:center}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(.82)}}
@media (prefers-reduced-motion:reduce){.mark *{animation:none!important;opacity:1}.mark .wave{opacity:0}}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:28px 0 8px;padding:0;list-style:none}
.door{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px}
.door a{text-decoration:none}
.door h2,.door h3{margin:0;font-size:20px}
.door h2 a::after,.door h3 a::after{content:" \2192";color:var(--a)}
.door p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.grid{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:22px 18px}
.card a{text-decoration:none;display:block}
.card img,.card .tile{width:100%;height:auto;aspect-ratio:1/1;border-radius:8px;display:block;background:var(--surface-2);border:1px solid var(--line);object-fit:cover}
.card .tile{display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font-family:var(--head);font-size:15px;line-height:1.25;color:var(--ink)}
.card b{display:block;font-family:var(--head);font-weight:600;font-size:15.5px;line-height:1.3;margin-top:9px}
.card a:hover b{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:3px}
.card span{display:block;color:var(--muted);font-size:13.5px;line-height:1.4;margin-top:2px}
.card span.badge{display:inline-block;color:var(--a);font-size:11.5px;margin-top:6px}
.badge{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--a);border:1px solid var(--line);border-radius:999px;padding:1px 8px;display:inline-block;margin-top:5px}
.release{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px 40px;align-items:start;margin-top:14px}
.release .cover img,.release .cover .tile{width:100%;height:auto;aspect-ratio:1/1;border-radius:10px;border:1px solid var(--line);display:block;background:var(--surface-2)}
.release .cover .tile{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-family:var(--head);font-size:22px;line-height:1.2}
.release h1{margin-top:.05em}
dl.facts{display:grid;grid-template-columns:fit-content(13em) minmax(0,1fr);gap:4px 16px;margin:14px 0 18px;font-size:15px}
dl.facts dt{color:var(--muted)}
dl.facts dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
ul.links{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
ul.links a{display:inline-block;text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:14.5px}
ul.links a:hover{border-color:var(--a)}
figure.words{margin:26px 0;padding:4px 0 4px 20px;border-left:2px solid var(--a);max-width:var(--read)}
figure.words blockquote{margin:0}
figure.words p{margin:0 0 .7em}
figure.words figcaption{color:var(--muted);font-size:14px;margin-top:10px}
figure.words blockquote p.gap{color:var(--muted);letter-spacing:.3em}
ol.tracks{margin:10px 0 0;padding:0;list-style:none;max-width:var(--read);counter-reset:t}
ol.tracks li{display:flex;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);font-size:15.5px}
ol.tracks li::before{counter-increment:t;content:counter(t);color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.6em;text-align:right;font-size:14px}
ol.tracks .t{flex:1}
ol.tracks .d{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}
.pager{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:40px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px}
.pager a{text-decoration:none;color:var(--muted)}
.pager a:hover{color:var(--ink)}
.note{font-size:14.5px;color:var(--muted);max-width:var(--read)}
.inline a,.read a,.lede a,.note a,dl.facts a{text-decoration:none;border-bottom:1px solid var(--under)}
.inline a:hover,.read a:hover,.note a:hover,dl.facts a:hover{border-bottom-color:var(--ink)}
hr.soft{border:0;border-top:1px solid var(--line);margin:40px 0}
nav.constellation{width:100%;max-width:62rem;margin:40px auto 0;padding:26px 20px 0;border-top:1px solid var(--line);text-align:left}
nav.constellation h2{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;text-align:center}
nav.constellation h2 a{color:inherit;text-decoration:none;border-bottom:1px solid var(--under)}
nav.constellation h2 a:hover{color:var(--ink)}
nav.constellation .groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:18px 26px}
nav.constellation section{min-width:0}
nav.constellation h3{font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
nav.constellation ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
nav.constellation li a,nav.constellation li .here{display:block;text-decoration:none;color:var(--ink);padding:1px 0 1px 10px;border-left:2px solid transparent}
nav.constellation li .here{border-left-color:var(--ink)}
nav.constellation b{display:block;font-weight:600;font-size:14.5px;line-height:1.3}
nav.constellation .w{display:block;color:var(--muted);font-size:13.5px;line-height:1.35}
nav.constellation small{display:block;font-family:ui-monospace,"Cascadia Mono","SFMono-Regular",Consolas,monospace;font-size:12px;color:var(--muted);margin-top:1px}
nav.constellation li a:hover b{text-decoration:underline;text-underline-offset:3px}
nav.constellation li a:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}
nav.constellation.map{border-top:0;margin-top:8px;padding-top:0}
nav.constellation.map h2{display:none}
nav.constellation.map b{font-size:17px}
nav.constellation.map .w{font-size:15px}
footer a.sign{border-bottom:1px solid var(--under)}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
footer{text-align:center;color:var(--muted);font-size:13.5px;padding:18px 20px 30px}
footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--under)}
footer .sign{font-family:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;font-style:italic}
@media (max-width:760px){.release{grid-template-columns:1fr}.release .cover{max-width:340px}header.top{padding:14px 20px}.hero .mark{width:96px;height:96px}}
article.archived{max-width:var(--read);font-size:17px;line-height:1.7;overflow-wrap:break-word}
article.archived h2{font-size:24px;margin:1.6em 0 .5em}article.archived h3{font-size:20px;margin:1.4em 0 .4em}article.archived h4{font-size:17px;margin:1.2em 0 .3em}
article.archived hr{border:0;border-top:1px solid var(--line);margin:2em 0}
article.archived blockquote{margin:1.2em 0;padding:4px 0 4px 20px;border-left:2px solid var(--a);color:var(--ink)}
article.archived ul,article.archived ol{padding-left:1.3em}article.archived li{margin:.3em 0}article.archived li p{margin:.2em 0}
article.archived .table{overflow-x:auto;margin:1em 0}article.archived table{border-collapse:collapse;min-width:100%;font-size:15px}article.archived th,article.archived td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top;hyphens:auto}
@media (max-width:420px){article.archived table{font-size:14px}article.archived th,article.archived td{padding:5px 6px}}
article.arrival{font-family:var(--head);font-size:clamp(18px,2.2vw,21px);line-height:1.6;margin-top:26px;padding-left:20px;border-left:2px solid var(--a)}article.arrival p{margin:0 0 .9em}article.arrival blockquote{border:0;padding:0;margin:0}
article.room{font-size:16.5px;line-height:1.65;margin:6px 0 14px;padding-left:20px;border-left:2px solid var(--line)}article.room p{margin:0 0 .7em}
h1.piece-title{font-size:clamp(28px,4.4vw,44px);line-height:1.15;max-width:22em}
figure.plate{margin:22px 0 28px;max-width:560px}figure.plate img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block}
aside.record-box,aside.beside{max-width:var(--read);margin:34px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
aside.record-box article.record{font-size:15px;line-height:1.55}aside.record-box article.record p{margin:0 0 .2em}
aside.beside ul{margin:.3em 0 0;padding-left:1.2em;font-size:15.5px}
ul.pieces{list-style:none;margin:10px 0 28px;padding:0;max-width:var(--read)}ul.pieces li{padding:10px 0;border-bottom:1px solid var(--line)}ul.pieces.kind{margin-top:4px}
ul.pieces a{font-family:var(--head);font-weight:600;font-size:17px;text-decoration:none;border-bottom:1px solid var(--under)}ul.pieces a:hover{border-bottom-color:var(--ink)}
ul.pieces span{display:block;color:var(--muted);font-size:14px;margin-top:3px}
ul.kin{list-style:none;margin:14px 0 26px;padding:0;max-width:var(--read)}ul.kin li{padding:11px 0;border-bottom:1px solid var(--line);font-size:16px}
ul.kin b{display:block;font-family:var(--head);font-size:17px;margin-bottom:2px}ul.kin .w{color:var(--muted)}ul.kin .more{display:block;color:var(--muted);font-size:15px;margin-top:3px}
h2[id],h3[id]{scroll-margin-top:16px}
