*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#050505;color:#aaa;font-family:'SF Mono',Menlo,'Cascadia Mono',Consolas,monospace;font-size:15px;line-height:1.7;overflow:hidden;height:100vh}
canvas{position:fixed;inset:0;z-index:0}
#scene{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;perspective:1200px}
#t{width:clamp(620px,58vw,920px);max-width:calc(100vw - 40px);height:82vh;background:radial-gradient(ellipse at center,#121318,#0e0f14);border:1px solid rgba(255,255,255,.04);border-radius:18px;overflow:hidden;pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform;box-shadow:0 0 80px rgba(100,140,200,.04),inset 0 0 60px rgba(0,0,0,.3);-webkit-mask-image:linear-gradient(to right,transparent,#000 8px,#000 calc(100% - 8px),transparent),linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8px,#000 calc(100% - 8px),transparent),linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent);mask-composite:intersect}
#s{height:100%;overflow-y:auto;overflow-x:hidden;padding:48px 44px 80px;position:relative;z-index:1}
#s::-webkit-scrollbar{width:3px}
#s::-webkit-scrollbar-track{background:transparent}
#s::-webkit-scrollbar-thumb{background:#222;border-radius:2px}
h1{text-align:center;margin-bottom:6px;height:110px}
h1 img{height:100%;width:auto;opacity:0;transform:scale(.96);transition:opacity .4s ease-out,transform .4s ease-out}
h1 img.in{opacity:1;transform:scale(1)}
.sub{color:#556;font-size:13px;margin-bottom:40px;text-align:center}
p{margin-bottom:16px}
hr{border:none;border-top:1px solid #181818;margin:72px 0}
h3{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#667;margin-bottom:16px;margin-top:64px}
h3:first-child{margin-top:0}
pre{background:#1C1916;border:1px solid #141210;border-radius:3px;padding:12px 14px;overflow-x:auto;font-size:12px;line-height:1.6;margin-bottom:10px;color:#A89E92}
pre b{color:#88AAB8;font-weight:400}
pre i{color:#5E5750;font-style:normal}
pre .ks{color:#C4986A}
pre .kn{color:#94A878}
pre .kl{color:#CCC4B6}
pre .kd{color:#5E5750}
code{font-family:inherit;color:#8bb0d4;background:#0c0c0c;padding:1px 5px;border-radius:2px;font-size:13px}
dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;font-size:13px}
dt{color:#667;text-align:right}
dd{color:#999}
dd code{background:none;padding:0;color:#8bb0d4}
.hero{display:flex;flex-direction:column;gap:12px;margin-bottom:10px}
.hero-term{}
.hero-img{position:relative;border-radius:5px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px rgba(0,0,0,.6)}
.hero-img a:first-child{display:block}
.hero-img img{width:100%;height:auto;border-radius:3px;border:1px solid #1a1a1a;display:block;opacity:0;transition:opacity .5s ease-out}
.hero-img img.in{opacity:1}
.hero-img--transparent{border:none;box-shadow:none}
.hero-img--transparent img{border:none}
.hero-img .hero-cap{position:absolute;bottom:8px;right:10px;margin:0}
.hero-cap{font-size:11px;color:#556;margin-top:6px}
.hero-cap a{color:#667;text-decoration:none;border-bottom:1px solid #1a1a1a}
.hero-cap a:hover{color:#8bb0d4;border-color:#8bb0d4}
.hero-cap code{font-size:11px;background:none;padding:0;color:#88AAB8}
.hero .term{margin-top:0;margin-bottom:0}
.act{margin-bottom:0}
.act-head{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8bb0d4;margin-bottom:6px}
.act-pitch{font-size:15px;color:#778;line-height:1.6;margin-bottom:20px}
.act-pitch code{font-size:12px}
.act-detail{font-size:13px;color:#556;line-height:1.7;margin-top:12px}
.act-detail code{font-size:11px;background:none;padding:0;color:#667}
.enrich-list{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:10px;font-size:12px;color:#556}
.enrich-list span{color:#667;background:#0c0c0c;padding:2px 8px;border-radius:2px;border:1px solid #161616}
footer{font-size:11px;color:#222;margin-top:40px}
.term{margin-top:16px;margin-bottom:10px;border-radius:5px;overflow:hidden;background:var(--tb);border:1px solid var(--tbrd);box-shadow:0 4px 24px rgba(0,0,0,.6);
--tb:#282a36;--tbar:#21222c;--tbrd:rgba(255,255,255,.08);--tt:rgba(248,248,242,.5);--tp:#6272a4;--tc:#ff79c6;--tf:rgba(248,248,242,.55);--ts:#50fa7b;--tu:#ffb86c;--tj:#6272a4;--tcm:#6272a4;--trk:#8be9fd;--trv:#50fa7b;--trn:#bd93f9;--trb:rgba(248,248,242,.25);--tsp:rgba(255,255,255,.06);--tl:rgba(248,248,242,.2)}
.term[data-theme="2"]{--tb:#002b36;--tbar:#073642;--tbrd:rgba(0,43,54,.6);--tt:#839496;--tp:#586e75;--tc:#268bd2;--tf:#839496;--ts:#859900;--tu:#cb4b16;--tj:#586e75;--tcm:#586e75;--trk:#2aa198;--trv:#859900;--trn:#d33682;--trb:#657b83;--tsp:#073642;--tl:#586e75}
.term[data-theme="3"]{--tb:#2e3440;--tbar:#3b4252;--tbrd:rgba(46,52,64,.6);--tt:rgba(216,222,233,.55);--tp:#4c566a;--tc:#88c0d0;--tf:rgba(216,222,233,.55);--ts:#a3be8c;--tu:#ebcb8b;--tj:#4c566a;--tcm:#4c566a;--trk:#8fbcbb;--trv:#a3be8c;--trn:#b48ead;--trb:rgba(216,222,233,.25);--tsp:#3b4252;--tl:#4c566a}
.term[data-theme="4"]{--tb:#272822;--tbar:#1e1f1a;--tbrd:rgba(39,40,34,.6);--tt:rgba(248,248,242,.5);--tp:#75715e;--tc:#f92672;--tf:rgba(248,248,242,.55);--ts:#a6e22e;--tu:#fd971f;--tj:#75715e;--tcm:#75715e;--trk:#66d9ef;--trv:#a6e22e;--trn:#ae81ff;--trb:rgba(248,248,242,.25);--tsp:#3e3d32;--tl:#75715e}
.term[data-theme="5"]{--tb:#282828;--tbar:#1d2021;--tbrd:rgba(40,40,40,.6);--tt:rgba(235,219,178,.55);--tp:#665c54;--tc:#fb4934;--tf:rgba(235,219,178,.55);--ts:#b8bb26;--tu:#fe8019;--tj:#665c54;--tcm:#665c54;--trk:#83a598;--trv:#b8bb26;--trn:#d3869b;--trb:rgba(235,219,178,.25);--tsp:#3c3836;--tl:#665c54}
.term[data-theme="6"]{--tb:#1a1b26;--tbar:#16161e;--tbrd:rgba(26,27,38,.6);--tt:rgba(169,177,214,.55);--tp:#565f89;--tc:#f7768e;--tf:rgba(169,177,214,.55);--ts:#9ece6a;--tu:#ff9e64;--tj:#565f89;--tcm:#565f89;--trk:#7dcfff;--trv:#9ece6a;--trn:#bb9af7;--trb:rgba(169,177,214,.25);--tsp:#24283b;--tl:#565f89}
.term-bar{display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--tbar);border-bottom:1px solid var(--tsp)}
.term-dot{width:9px;height:9px;border-radius:50%}
.term-dot.r{background:#ff5f57}.term-dot.y{background:#febc2e}.term-dot.g{background:#28c840}
.term-bar .term-title{margin-left:auto;font-size:11px;color:var(--tl);letter-spacing:.02em}
.term-bar .term-theme{font-size:10px;color:var(--tp);margin-left:8px;letter-spacing:.02em}
.term-body{padding:14px 16px;font-size:13px;line-height:1.65;color:var(--tt);overflow-x:auto;white-space:pre}
.term .p{color:var(--tp)}.term .cmd{color:var(--tc);font-weight:600}.term .cmd-open{color:#f97316;font-weight:600}.term .flg{color:var(--tf)}
.term .str{color:var(--ts)}.term .url{color:var(--tu)}.term .jsn{color:var(--tj)}.term .tok{color:var(--tu)}
.term .cmt{color:var(--tcm)}.term .rk{color:var(--trk)}.term .rv{color:var(--trv)}.term .rn{color:var(--trn)}
.term .resp{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--tsp)}
.term .resp-label{color:var(--tl);font-size:10px;letter-spacing:.05em;display:block;margin-bottom:6px}
.term .rb{color:var(--trb)}
.term-file,.term-link{color:var(--tu);text-decoration:none;border-bottom:1px dashed var(--tl);transition:border-color .2s}
.term-file:hover,.term-link:hover{border-color:var(--tu);cursor:pointer}
@media(max-width:480px){#s{padding:32px 24px 60px}.lede{font-size:19px}#t{height:90vh}}
