/*
 * constellation · magic-shrooms.com
 * 1 Concept: the vocabulary of magic mushrooms as a star map. Every term is a star, its colour the topic,
 *   its size the number of cross-references; a line is a "see also". The night sky above, the reference below.
 * 2 Type: Urbanist (labels, headings, UI) + Andada Pro (definitions, body), self-hosted woff2.
 * 3 Palette: night #0f1714, fog #edf0ec, paper #fbfcfa, ink #16201b, star gold #e6b740;
 *   topic stars lilac / lichen / cyan / amber / coral / gold (light variants on night, dark variants on fog).
 * 4 Layout signature: interactive concept graph with a docked definition card and topic filters;
 *   topic pages open on a cropped map of their own cluster, with entries as term cards and chip rows.
 * 5 Detail: "magnitude" ladder, truffles from mild to very strong drawn as stars that grow brighter.
 */
@font-face{font-family:Urbanist;font-weight:500 700;font-display:swap;src:url(fonts/urbanist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Urbanist;font-weight:500 700;font-display:swap;src:url(fonts/urbanist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Andada Pro";font-weight:400 600;font-display:swap;src:url(fonts/andada-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Andada Pro";font-weight:400 600;font-display:swap;src:url(fonts/andada-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Andada Pro";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/andada-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Andada Pro";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/andada-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --night:#0f1714;--night2:#17221d;--line:#2c3a33;--fog:#edf0ec;--paper:#fbfcfa;--ink:#16201b;--muted:#4b5850;--rule:#d3dad4;
  --gold:#e6b740;--star:#f4efe0;
  --c0:#b9a1ff;--d0:#5a3fb3;--c1:#93d177;--d1:#2e6825;--c2:#6dc9da;--d2:#106676;--c3:#f2aa5c;--d3:#8a4d0b;--c4:#ff8f7c;--d4:#ad301c;--c5:#e6b740;--d5:#765600;
  --ui:Urbanist,"Avenir Next","Segoe UI",sans-serif;--text:"Andada Pro",Georgia,serif;
  --r:14px;--max:1240px
}
.t-0{--c:var(--c0);--d:var(--d0)}.t-1{--c:var(--c1);--d:var(--d1)}.t-2{--c:var(--c2);--d:var(--d2)}
.t-3{--c:var(--c3);--d:var(--d3)}.t-4{--c:var(--c4);--d:var(--d4)}.t-5{--c:var(--c5);--d:var(--d5)}.t-x{--c:var(--star);--d:var(--ink)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--fog);color:var(--ink);font:400 1.0625rem/1.65 var(--text)}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
h1,h2,h3,.eyebrow,.btn,.chip,nav,summary{font-family:var(--ui)}
h1,h2,h3{line-height:1.15;letter-spacing:-.01em;font-weight:700}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:.5rem .8rem;z-index:20}
.skip:focus{left:8px}
.dot{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--c);margin-right:.45em;vertical-align:.05em;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 30%,transparent)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:.4em;background:var(--gold);color:var(--ink);font-weight:700;font-size:.95rem;padding:.7em 1.1em;border-radius:999px;text-decoration:none;border:2px solid var(--gold)}
.btn::after{content:"\2192"}
.btn:hover{background:var(--star);border-color:var(--star)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:transparent;border-color:var(--gold);color:inherit}

/* header */
.top{background:var(--night);color:var(--star);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}
.top-in{max-width:var(--max);margin:auto;padding:.6rem 1.1rem;display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:700 1.15rem/1 var(--ui);margin-right:auto}
.brand img{background:var(--fog);border-radius:9px;padding:3px}
.brand small{display:block;font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#a9b8af;margin-top:.2rem}
.menu summary{cursor:pointer;list-style:none;font-weight:600;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px}
.menu summary::-webkit-details-marker{display:none}
.menu ul{list-style:none;margin:0;padding:0}
.menu nav a{display:block;text-decoration:none;padding:.55rem .2rem;font-weight:600}
.menu nav a[aria-current]{color:var(--gold)}
.menu[open] nav{position:absolute;left:0;right:0;top:100%;background:var(--night);padding:.5rem 1.2rem 1rem;border-bottom:1px solid var(--line)}
.btn-shop{font-size:.85rem;padding:.55em .9em}
@media (max-width:719px){.btn-shop{display:none}}
.topnav{display:none}
@media (min-width:1080px){
  .menu{display:none}
  .topnav{display:flex;gap:.15rem}
  .topnav a{padding:.45rem .7rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none}
  .topnav a:hover,.topnav a[aria-current]{background:var(--night2)}
  .topnav a[aria-current]{color:var(--gold)}
}
/* home: sky */
.sky{background:var(--night);color:var(--star);padding:2.2rem 0 2.6rem}
.sky-head{max-width:var(--max);margin:auto;padding:0 1.1rem}
.sky h1{font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch;margin:0 0 .8rem}
@media (min-width:1080px){.sky-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:3rem;align-items:end}.sky-head .eyebrow{grid-column:1/-1}.sky h1{margin:0}.sky .lead{margin:0 0 1rem}.filters{grid-column:1/-1;margin-top:1.2rem}}
.sky .lead{max-width:62ch;color:#c4cfc8;margin:0 0 1.3rem;font-size:1.08rem}
.filters{display:flex;flex-wrap:wrap;gap:.45rem}
.filter{font:600 .9rem var(--ui);color:var(--star);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.45em .9em;cursor:pointer}
.filter:hover{border-color:#5c6d63}
.filter[aria-pressed=true]{background:var(--star);color:var(--night);border-color:var(--star)}
.sky-body{max-width:var(--max);margin:1.4rem auto 0;padding:0 1.1rem;display:grid;gap:1rem}
.chart{position:relative;border:1px solid var(--line);border-radius:var(--r);background:#0c1310;overflow-x:auto;overscroll-behavior-x:contain}
.chart-hint{font:500 .82rem var(--ui);color:#94a59a;margin:0;padding:.7rem .9rem 0}
.chart-hint a{color:var(--star)}
.graph{display:block;width:100%;min-width:900px;height:auto;font-family:var(--ui)}
.graph .edges line{stroke:#33453b;stroke-width:1.1}
.graph .node{cursor:pointer;outline:none}
.graph .hit{fill:transparent}
.graph .star{fill:var(--c);stroke:var(--night);stroke-width:2}
.graph text{fill:#d8e0db;font-size:17px;font-weight:600;paint-order:stroke;stroke:#0c1310;stroke-width:4px;stroke-linejoin:round}
.graph .node:hover text,.graph .node:focus-visible text{fill:#fff}
.graph .node:focus-visible .star,.graph .node.is-active .star{stroke:var(--star);stroke-width:3}
.graph .node:focus-visible .hit{stroke:var(--gold);stroke-width:2;stroke-dasharray:3 3}
.graph.is-sel .node:not(.is-active):not(.is-rel),.graph .node.is-off{opacity:.22}
.graph.is-sel .edges line{opacity:.25}
.graph .edges line.is-lit{stroke:var(--gold);opacity:1;stroke-width:2}
.graph .edges line.is-off{opacity:.08}
.graph .node.is-active text{fill:var(--gold)}
.card{background:var(--night2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.2rem 1.3rem;align-self:start}
.card-topic{font:600 .78rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--c,var(--gold));margin:0 0 .35rem}
.card-name{font-size:1.75rem;margin:0 0 .6rem}
.card-def{margin:0 0 1rem;color:#d3dcd6;font-size:1rem;line-height:1.6}
.card-rel{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.card .chip{color:var(--star);border-color:#3c4d44;background:transparent}
.card .chip:hover{border-color:var(--c)}
.card-more{font:700 .95rem var(--ui);color:var(--gold)}
.card-prod{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);text-decoration:none}
.card-prod img{width:64px;height:64px;object-fit:contain;background:var(--paper);border-radius:10px;padding:4px}
.card-prod span{font:600 .9rem/1.3 var(--ui)}
.card-prod b{display:block;color:var(--gold);margin-top:.2rem}
@media (min-width:1080px){
  .sky-body{grid-template-columns:minmax(0,1fr) 340px}
  .graph{min-width:0}
  .card{position:sticky;top:84px;min-height:340px}
}
@media (max-width:1079px){
  .card.is-open{position:sticky;bottom:0;z-index:5;max-height:46vh;overflow:auto;box-shadow:0 -10px 30px rgba(0,0,0,.35)}
  .card-x{display:block}
}

/* chips */
.chip{display:inline-flex;align-items:center;gap:.35em;font:600 .86rem/1.2 var(--ui);text-decoration:none;padding:.38em .75em;border-radius:999px;border:1px solid var(--rule);background:var(--paper);cursor:pointer}
.chip::before{content:"";width:.55em;height:.55em;border-radius:50%;background:var(--c,var(--muted))}
.chip:hover{border-color:var(--d,var(--ink))}

/* home: reading + ladder + A to Z */
.intro{max-width:var(--max);margin:auto;padding:2.6rem 1.1rem 1rem}
.intro .prose{max-width:68ch}
.ladder{background:var(--paper);border-block:1px solid var(--rule);padding:2.6rem 1.1rem}
.ladder-head{max-width:var(--max);margin:0 auto 1.4rem}
.ladder-head .eyebrow{color:var(--d5)}
.ladder h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .5rem}
.ladder-head p:last-child{max-width:64ch;margin:0;color:var(--muted)}
.mag{list-style:none;margin:0 auto;padding:0;max-width:var(--max);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.mag-step{display:flex;flex-direction:column;gap:.6rem}
.mag-star{height:54px;display:flex;align-items:center}
.mag-star::before{content:"";display:block;width:calc(var(--s) * 1px);height:calc(var(--s) * 1px);border-radius:50%;background:var(--gold);box-shadow:0 0 0 calc(var(--s) * .22px) color-mix(in srgb,var(--gold) 25%,transparent);margin-left:6px}
.m1{--s:10}.m2{--s:16}.m3{--s:22}.m4{--s:30}.m5{--s:38}
.mag-label{font:700 .82rem var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--d5)}
.mag .pc{flex:1}
.ladder-cta{max-width:var(--max);margin:1.6rem auto 0;display:flex;flex-wrap:wrap;gap:.6rem}
.az{max-width:var(--max);margin:auto;padding:2.8rem 1.1rem 3rem}
.az>h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 1rem}
.az-nav{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.6rem;font-weight:700}
.az-nav a,.az-nav span{min-width:2.1rem;text-align:center;padding:.3rem .45rem;border-radius:8px}
.az-nav a{background:var(--paper);border:1px solid var(--rule);text-decoration:none}
.az-nav span{color:#a3aea7}
.az-cols{columns:1;column-gap:2.4rem}
@media (min-width:760px){.az-cols{columns:2}}
@media (min-width:1150px){.az-cols{columns:3}}
.az-group{break-inside:avoid-column}
.az-group h3{font-size:1.5rem;color:var(--muted);margin:.4rem 0 .4rem;border-bottom:1px solid var(--rule);padding-bottom:.2rem}
.az-group ul{list-style:none;margin:0 0 1rem;padding:0}
.az-item{padding:.55rem 0 .7rem;border-bottom:1px dotted var(--rule);break-inside:avoid}
.az-item[hidden]{display:none}
.az-item:target{background:color-mix(in srgb,var(--c) 18%,transparent);border-radius:8px;padding-inline:.5rem}
.az-name{font:700 1.08rem var(--ui);text-decoration:none}
.az-name:hover{text-decoration:underline}
.az-topic{font:600 .72rem var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--d);margin-left:.4rem}
.az-item p{margin:.2rem 0 0;font-size:.97rem;line-height:1.5}
.az-see{font:500 .85rem/1.5 var(--ui);color:var(--muted)}

/* topic + content pages */
.page-head{background:var(--night);color:var(--star)}
.page-head-in{max-width:var(--max);margin:auto;padding:2rem 1.1rem 2.2rem;display:grid;gap:1.2rem;align-items:center}
.crumb{font:600 .88rem var(--ui);margin:0 0 .8rem;color:#a9b8af}
.crumb a{color:var(--star)}
.page-head h1{font-size:clamp(1.9rem,4vw,3.1rem);margin:0 0 .7rem;max-width:22ch}
.page-head .lead{color:#c4cfc8;max-width:62ch;margin:0 0 .8rem}
.ph-meta{font:500 .85rem var(--ui);color:#94a59a;margin:0}
.mini{width:100%;max-height:330px;font-family:var(--ui)}
.mini line{stroke:#40534a;stroke-width:1.3}
.mini line.stub{stroke:var(--c);stroke-dasharray:3 4;opacity:.8}
.mini .star{fill:var(--c,var(--gold));stroke:var(--night);stroke-width:2}
.is-topic .mini .star{fill:var(--c)}
.mini text{fill:#dfe6e1;font-size:17px;font-weight:600;paint-order:stroke;stroke:var(--night);stroke-width:4px}
.mini a:hover text,.mini a:focus-visible text{fill:var(--gold)}
@media (min-width:900px){.page-head.has-map .page-head-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.page-body{max-width:var(--max);margin:auto;padding:2.2rem 1.1rem 3rem}
.page-body>.prose{max-width:72ch}
@media (min-width:1000px){
  .page-body.has-rail{display:grid;grid-template-columns:230px minmax(0,1fr);gap:3rem}
  .rail{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto}
}
@media (max-width:999px){.rail{display:none}}
.rail{font:500 .9rem/1.35 var(--ui)}
.rail-title{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);margin:0 0 .6rem}
.rail-group{font-weight:700;margin:.9rem 0 .3rem;font-size:.82rem}
.rail ol{list-style:none;margin:0;padding:0 0 0 .7rem;border-left:2px solid var(--rule)}
.rail li a{display:block;padding:.22rem .5rem;text-decoration:none;color:var(--muted);border-left:2px solid transparent;margin-left:calc(-.7rem - 2px)}
.rail li a.is-here,.rail li a:hover{color:var(--ink);border-left-color:var(--d);font-weight:700}

/* prose */
.prose h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin:2.4rem 0 .9rem}
.prose h3{font-size:1.3rem;margin:1.8rem 0 .5rem}
.prose p,.prose li{max-width:70ch}
.prose ul,.prose ol{padding-left:1.2rem}
.prose li{margin:.3rem 0}
.prose a{color:var(--ink);text-decoration-color:color-mix(in srgb,var(--ink) 45%,transparent)}
.prose a:hover{text-decoration-color:var(--ink)}
.prose figure{margin:1.4rem 0}
.prose img{border-radius:var(--r)}
.table{overflow-x:auto;margin:1.2rem 0;border:1px solid var(--rule);border-radius:var(--r);background:var(--paper)}
.table table{border-collapse:collapse;width:100%;font:500 .95rem/1.4 var(--ui)}
.table th,.table td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--rule);vertical-align:top}
.table th{font-weight:700;background:#f2f4f1}
.table tr:last-child td{border-bottom:0}

/* term cards */
.entries>h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:2.6rem 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--rule)}
.entries>h2:first-child,.entries>p+h2{margin-top:2rem}
.term{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--d);border-radius:var(--r);padding:1.15rem 1.3rem 1.2rem;margin:0 0 1rem;max-width:74ch}
.term h3{margin:0 0 .25rem;font-size:1.45rem;display:flex;align-items:center;gap:.5rem}
.term h3::before{content:"";width:.55em;height:.55em;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--d);flex:none}
.term:target{border-color:var(--d);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 45%,transparent)}
.term-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;font:600 .78rem var(--ui);margin:0 0 .6rem!important}
.term-topic{color:var(--d);letter-spacing:.08em;text-transform:uppercase}
.term-locate{color:var(--muted)}
.term p{margin:.5rem 0}
.see{display:flex;flex-wrap:wrap;gap:.5rem .6rem;align-items:center;margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--rule)}
.see-l{font:700 .72rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.see ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.see li{margin:0}
.see .chip{background:var(--fog)}

/* product cards */
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;margin:1rem 0}
.product-feature{margin:1rem 0}
.pc{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.pc:hover{border-color:var(--ink);transform:translateY(-2px)}
.pc-img{background:#fff;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:.6rem;border-bottom:1px solid var(--rule)}
.pc-img img{max-height:100%;width:auto;object-fit:contain}
.pc-body{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem 1rem;font-family:var(--ui);flex:1}
.pc-kind{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--d5)}
.pc-name{font-weight:700;font-size:1rem;line-height:1.25}
.pc-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem;color:var(--muted);margin-top:auto;padding-top:.3rem}
.pc-price{font-weight:700;color:var(--ink);font-size:1.05rem}
.pc-go{margin-top:.5rem;align-self:flex-start;background:var(--ink);color:var(--paper);font-weight:700;font-size:.85rem;padding:.45em .85em;border-radius:999px}
.pc-go::after{content:" \2192"}
.pc:hover .pc-go{background:var(--d0)}
.pc-feature{flex-direction:row;max-width:560px}
.pc-feature .pc-img{aspect-ratio:auto;width:42%;border-bottom:0;border-right:1px solid var(--rule)}
.pc-feature .pc-body{padding:1rem 1.1rem}
.pc-feature .pc-name{font-size:1.15rem}
.term .products,.term .product-feature{margin:.9rem 0 .4rem}

/* shop band + next topics */
.shopband{background:var(--night);color:var(--star);padding:2.4rem 1.1rem}
.shopband-in{max-width:var(--max);margin:auto;display:grid;gap:1.4rem;align-items:center}
@media (min-width:900px){.shopband-in{grid-template-columns:minmax(0,1fr) minmax(0,480px)}}
.shopband-t{font-size:1.3rem;line-height:1.4;max-width:40ch;margin:0 0 1rem}
.shopband .btn-ghost{color:var(--star)}
.shopband .pc{color:var(--ink)}
.next{max-width:var(--max);margin:auto;padding:2.6rem 1.1rem 3rem}
.next h2{font-size:1.5rem;margin:0 0 1rem}
.next ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}
.next a{display:flex;flex-direction:column;gap:.2rem;height:100%;padding:1rem 1.1rem;background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--d);border-radius:var(--r);text-decoration:none}
.next a:hover{border-color:var(--d)}
.next-n{font:600 .78rem var(--ui);color:var(--muted)}
.next-l{font:700 1.2rem var(--ui)}
.next-t{font-size:.92rem;line-height:1.4;color:var(--muted)}

/* footer */
.foot{background:var(--night);color:#c4cfc8;font:500 .92rem/1.55 var(--ui)}
.foot-in{max-width:var(--max);margin:auto;padding:2.4rem 1.1rem;display:grid;gap:1.2rem}
.foot-pub{display:flex;gap:1rem;align-items:center}
.foot-pub img{flex:none;width:88px}
.foot-pub p{margin:0;max-width:62ch}
.foot strong,.foot a{color:var(--star)}
.foot-disc{margin:0;max-width:80ch;color:#94a59a}
.foot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;border-top:1px solid var(--line);padding-top:1rem}
.foot-nav a{text-decoration:none}
.foot-nav a:hover{text-decoration:underline}

@media (prefers-reduced-motion:no-preference){
  .graph .star,.graph text,.graph .edges line{transition:opacity .25s,stroke .25s}
  .graph .edges line.is-lit{stroke-dasharray:400;stroke-dashoffset:400;animation:draw .7s ease-out forwards}
  @keyframes draw{to{stroke-dashoffset:0}}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.card-sub{font:600 .72rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#94a59a;margin:0 0 .45rem}
@media (max-width:759px){
  .mag{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1.1rem;gap:.8rem;padding-bottom:.6rem;margin-inline:-1.1rem;padding-inline:1.1rem}
  .mag-step{flex:0 0 72%;scroll-snap-align:start}
  .mag .pc-img{aspect-ratio:1/1;max-height:190px}
  .pc-feature{flex-direction:column}
  .pc-feature .pc-img{width:auto;border-right:0;border-bottom:1px solid var(--rule);height:220px}
  .pc-feature .pc-img img{max-height:200px}
}
.pc-go{white-space:nowrap}
.prose img[src*="mascot"]{max-width:180px;border-radius:0}
main{flex:1}
.card-x{display:none;float:right;font:600 .85rem var(--ui);color:var(--star);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.3em .8em;cursor:pointer}
@media (max-width:1079px){.card-x{display:block}}
