:root{--ink:#fff5ee;--ink-2:#e7d6e4;--muted:#b9a5c6;--gold:#ffc46b;--rose:#ff6f91;--violet:#b28cff;--line:rgba(255,245,238,.14);--card:rgba(20,11,38,.62);
  --grot:"Space Grotesk",system-ui,sans-serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--gutter:clamp(16px,4vw,48px)}
*{box-sizing:border-box;margin:0}
html{background:#0f0a22;color-scheme:dark}
body{min-height:100dvh;display:flex;flex-direction:column;color:var(--ink);font:16px/1.55 var(--sans);background:linear-gradient(180deg,#120b28 0,#1f1140 420px,#2c1650 900px,#120b28 1500px) no-repeat #120b28}
a{color:inherit}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--gutter);font:500 15px/1 var(--grot)}
.bar a{text-decoration:none}
.bar nav{display:flex;align-items:center;gap:20px}
.bar nav a{color:var(--ink-2)}
.bar nav a:hover,.bar nav a[aria-current=page]{color:var(--gold)}
.ghost{padding:9px 13px;border:1px solid var(--line);border-radius:999px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;white-space:nowrap}
.logo span{font-weight:500;color:var(--muted)}
.logo i{width:14px;height:20px;border-radius:3px;border:2px solid currentColor;display:block;position:relative}
.logo i::after{content:"";position:absolute;left:-2px;right:-2px;top:7px;height:2px;background:currentColor}
main{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:0 var(--gutter) 64px}
h1{font:700 clamp(36px,5.4vw,64px)/1.03 var(--grot);letter-spacing:-.03em;text-wrap:balance}
h1 em{font-style:normal;color:var(--gold)}
h2{font:700 clamp(22px,2.4vw,28px)/1.15 var(--grot);letter-spacing:-.015em}
h3{font:500 12.5px/1.2 var(--mono);color:var(--muted);margin-bottom:10px}
.hero{padding:clamp(24px,5vw,56px) 0 28px;max-width:46rem}
.hero p{margin-top:16px;font:500 clamp(17px,1.5vw,20px)/1.4 var(--grot);color:var(--ink-2);text-wrap:pretty}
.tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 22px}
.search{flex:1 1 240px;max-width:420px;height:44px;padding:0 15px;border-radius:12px;border:1px solid var(--line);background:rgba(255,245,238,.06);color:var(--ink);font:400 15px/1 var(--sans)}
.search::placeholder{color:var(--muted)}
.search:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.seg{display:flex;gap:2px;padding:3px;border-radius:12px;border:1px solid var(--line);background:rgba(255,245,238,.04)}
.seg button{height:36px;padding:0 13px;border:0;border-radius:9px;background:none;color:var(--muted);font:500 13.5px/1 var(--grot);cursor:pointer}
.seg button[aria-pressed=true]{background:rgba(255,245,238,.14);color:var(--ink)}
.count{margin-left:auto;font:400 13px/1 var(--mono);color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.card{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--card);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:rgba(255,196,107,.6);transform:translateY(-2px)}
.card img{width:72px;height:72px;border-radius:17px;display:block;background:#1c1234}
.card b{display:block;font:700 17px/1.2 var(--grot);letter-spacing:-.01em}
.card p{margin-top:4px;font-size:14px;line-height:1.38;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;font:400 12px/1.3 var(--mono);color:var(--muted)}
.tick{color:var(--gold)}
.empty{padding:48px 0;color:var(--muted);text-align:center}
.steps{margin-top:44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.step{padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,245,238,.03)}
.step b{display:block;font:700 16px/1.25 var(--grot);margin-bottom:6px}
.step p{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.link{color:var(--gold);text-underline-offset:3px}
.back{display:inline-block;margin:10px 0 22px;font:500 14px/1 var(--grot);color:var(--muted);text-decoration:none}
.back:hover{color:var(--ink)}
.head{display:grid;grid-template-columns:128px 1fr;gap:clamp(16px,3vw,28px);align-items:center}
.head img{width:128px;height:128px;border-radius:30px;display:block;background:#1c1234}
.head h1{font-size:clamp(32px,4.4vw,52px)}
.head p{margin-top:8px;font:500 clamp(16px,1.4vw,19px)/1.38 var(--grot);color:var(--ink-2);text-wrap:pretty}
.detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(16px,3vw,32px);margin-top:30px;align-items:start}
.pane{padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.pane+.pane{margin-top:12px}
.shot{display:block;width:100%;border-radius:14px;aspect-ratio:4/3;object-fit:cover;background:#1c1234;margin-bottom:12px}
.ol{padding-left:20px;display:grid;gap:6px;color:var(--ink-2)}
.reach{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag{padding:4px 9px;border-radius:8px;background:rgba(255,245,238,.08);font:400 12.5px/1.3 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.small{font-size:14px;line-height:1.45;color:var(--ink-2)}
dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}
dt{color:var(--muted);font:400 12.5px/1.6 var(--mono)}
dd{margin:0;overflow-wrap:anywhere;color:var(--ink-2)}
.mono{font:400 12px/1.5 var(--mono)}
.rows{display:grid;gap:6px;font:400 13px/1.4 var(--mono);color:var(--ink-2)}
.rows div{display:flex;justify-content:space-between;gap:12px}
.rows a{color:var(--gold);text-underline-offset:3px}
.doc{max-width:46rem}
.doc h2{margin:34px 0 10px}
.doc p,.doc li{color:var(--ink-2);text-wrap:pretty}
.doc p{margin:10px 0}
.doc ul{padding-left:20px;display:grid;gap:6px}
pre{margin:12px 0;padding:14px 16px;border-radius:12px;background:rgba(5,3,14,.6);border:1px solid var(--line);font:400 13.5px/1.6 var(--mono);color:var(--ink);overflow-x:auto}
code{font:400 .9em/1 var(--mono);color:var(--ink)}
footer{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding:22px var(--gutter);font:400 13px/1.4 var(--mono);color:var(--muted);border-top:1px solid var(--line)}
.player{margin-bottom:12px}
.play{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0b0b10;border:1px solid var(--line)}
.play img{display:block;width:100%;height:100%;object-fit:cover;opacity:.55}
.play img.poster-icon{width:96px;height:96px;position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);opacity:1;border-radius:22px}
.play iframe{display:block;width:100%;height:100%;border:0}
.run{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;height:48px;padding:0 22px;border:0;border-radius:999px;background:linear-gradient(180deg,#ffd68c,var(--gold));color:#2a1229;font:700 16px/1 var(--grot);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.playbar{display:flex;align-items:center;gap:12px;margin:10px 0 6px;font:400 13px/1.4 var(--mono);color:var(--muted)}
.chip{height:32px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:rgba(255,245,238,.06);color:var(--ink);font:500 13.5px/1 var(--grot);cursor:pointer}
.chip:disabled{opacity:.4;cursor:default}
.player details{margin-top:4px}
.player summary{cursor:pointer;color:var(--ink-2)}
.player details p{margin:8px 0;color:var(--muted)}
.requests{padding-left:22px;display:grid;gap:3px;max-height:220px;overflow:auto;font:400 12px/1.45 var(--mono);color:var(--ink-2)}
.requests li{overflow-wrap:anywhere}
.requests span{color:var(--muted)}
.requests .miss,.requests .miss span{color:var(--rose)}
.variant{margin-top:12px}
.variant .rows{margin-top:6px}
@media (max-width:640px){
  .bar{flex-wrap:wrap;gap:12px}
  .bar nav{gap:14px;width:100%;font-size:14px}
  .bar nav .ghost{margin-left:auto}
  .head{grid-template-columns:84px 1fr}
  .head img{width:84px;height:84px;border-radius:20px}
  .detail{grid-template-columns:minmax(0,1fr)}
  .count{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){.card{transition:none}}
.devices{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.device{padding:2px 8px;border-radius:999px;border:1px solid rgba(255,196,107,.35);background:rgba(255,196,107,.08);font:500 11.5px/1.5 var(--mono);color:#ffd9a3;white-space:nowrap}
.head .devices{margin-top:10px}
.install+.install{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.install .ol{margin-top:6px}
