/* D · Orbit inner pages. Loaded after style.css. */
.v-d .nav nav a[aria-current]{color:var(--tx);box-shadow:inset 0 -2px 0 var(--acc);padding-bottom:4px}
.v-d .phero{padding:140px 40px 24px}.v-d .phero h1{font-size:clamp(46px,7vw,96px);text-transform:uppercase;letter-spacing:-.02em;line-height:.95}
.v-d .phero.sm h1{font-size:clamp(40px,5.4vw,72px)}
.v-d .phero .acc{color:var(--acc)}
.v-d .phero .kick a:hover{color:var(--acc)}
[data-theme=dark] .v-d .phero::after{bottom:-60vh;opacity:.7}
.v-d main>.sec.first,.v-d main>.sec:nth-child(2){margin-top:40px}
.v-d .hchips{margin:28px 0 0}
.v-d button.chip{background:transparent;font:inherit;font-size:12px;cursor:pointer}
.v-d .sh h2{text-transform:uppercase}.v-d .sh h2 .tag{letter-spacing:.08em;text-transform:none}
.v-d .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.v-d .panel{border:1px solid var(--cb);border-radius:var(--r);background:var(--card);padding:24px}
.v-d .panel.np{padding:0;overflow:hidden}
.v-d .ph2{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--mu);font-weight:600;margin-bottom:14px}
/* logo tile: dark in both themes so white marks stay visible */
.v-d .lgo{width:52px;height:52px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#1a212b;border:1px solid #2c3542}
.v-d .lgo img{width:36px;height:36px;object-fit:contain}
.v-d .lgo.ini{font-weight:650;font-size:20px;color:#d7dde4;background:radial-gradient(circle at 30% 25%,#1c2533,#0b0f15)}
.v-d .lgo.big{width:76px;height:76px;border-radius:18px}.v-d .lgo.big img{width:52px;height:52px}
.v-d .dt .lgo{margin-bottom:6px}
/* directory */
.v-d .shelf{margin-top:96px}
.v-d .thead{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.v-d .thead h1{min-width:0}
.v-d .tgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);max-width:1136px;padding:0;margin:40px auto 0}
.v-d .kv{display:grid;gap:14px;margin-bottom:14px}.v-d .kv div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.v-d .kv dt{color:var(--mu);font-size:13px;text-transform:uppercase;letter-spacing:.14em}.v-d .kv dd{font-weight:600;text-align:right;overflow-wrap:anywhere}
/* plays */
.v-d .play{overflow:hidden}.v-d .play[hidden]{display:none}
.v-d .pth{width:calc(100% + 48px);margin:-24px -24px 6px;aspect-ratio:16/9;object-fit:cover;display:block;border-bottom:1px solid var(--line)}
.v-d .pth.st{position:relative}.v-d .pth.st>img{width:100%;height:100%;object-fit:cover}.v-d .pth.st .lgo{position:absolute;left:18px;bottom:16px}
.v-d .play .dc{margin:0}
.v-d .play details{font-size:14px;color:var(--mu)}.v-d .play summary{cursor:pointer;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx)}.v-d .play details ol{padding:10px 0 0 20px;display:grid;gap:4px}
.v-d .pa{gap:12px}.v-d .pa .meta{font-size:12px;min-width:0;overflow-wrap:anywhere}
/* avatars */
.v-d .av{width:28px;height:28px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#e9eef3;background:radial-gradient(circle at 30% 25%,#2a3442,#0d1219);border:1px solid #2a3442;vertical-align:middle}
.v-d .av.t-spark{border-color:var(--spark);color:#cfe4ff}.v-d .av.t-blaze{border-color:var(--blaze);color:#c9f5ee}.v-d .av.t-legend{border-color:var(--legend);color:#b8d42e}.v-d .av.t-founding{border-color:var(--founding);color:#e3dcff}
.v-d .cl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.v-d .cl .ts{margin:0}.v-d .cl .msg{margin:0;flex:1 1 220px;min-width:0}
.v-d .cl.typing{display:block}
/* forum + chat */
.v-d .chat.starry{height:auto}
[data-theme=light] .v-d .chat.starry{background:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.9)),url(../assets/stars-ink.svg) 0 0/900px 560px,var(--card)}
.v-d .cmp-f{display:flex;gap:10px;margin-top:16px}.v-d .cmp-f input,.v-d .nf input{flex:1;min-width:0;font:inherit;font-size:15px;color:var(--tx);background:var(--bg2);border:1px solid var(--cb);border-radius:99px;padding:12px 18px}
.v-d .cmp-f input:focus,.v-d .nf input:focus{outline:2px solid var(--acc);outline-offset:1px}
.v-d .chat .cmp-f .btn{margin-top:0}
.v-d .boards td{color:var(--mu);font-variant-numeric:tabular-nums}.v-d .boards td:first-child{color:var(--tx)}
.v-d .bc{display:flex;gap:14px;align-items:center}.v-d .bi img{width:44px;height:44px;border-radius:10px;border:1px solid var(--cb);object-fit:cover}
.v-d .boards td:first-child a:hover{color:var(--acc)}
.v-d .tl{padding:6px 24px}.v-d .tl li{display:flex;gap:14px;align-items:flex-start}.v-d .tl li>div{min-width:0}.v-d .tl .av{margin-top:2px}
.v-d .fm{flex-wrap:wrap;row-gap:4px}.v-d .fm .un{font-size:11px;text-transform:none;letter-spacing:.04em}
.v-d .chatlay,.v-d .pglay{display:grid;grid-template-columns:220px 1fr 220px;gap:var(--gap);max-width:1136px;padding:0;margin:40px auto 0}
.v-d .pglay{grid-template-columns:240px 1fr}
.v-d .chatlay>*{min-width:0}.v-d .chatlay .chat{min-height:520px}
.v-d .chn{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--mu);font-size:14px}.v-d .chn img{border-radius:7px;width:28px;height:28px;object-fit:cover}
.v-d .chn i{margin-left:auto;font-style:normal;font-size:11px;color:var(--mu)}.v-d .chn:hover,.v-d .chn.on{background:var(--bg2);color:var(--tx)}.v-d .chn.on{box-shadow:inset 2px 0 0 var(--acc)}
.v-d .ou{display:flex;align-items:center;gap:10px;padding:6px 0}.v-d .onl .btn{margin-top:16px}
/* news */
.v-d .ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.v-d .ncard.big{grid-column:span 2;grid-row:span 2}.v-d .ncard.big h3{font-size:26px}
.v-d .nim{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#0a0d12}.v-d .nim.fit{object-fit:contain;background:#000}.v-d .nim.st{position:relative}.v-d .nim.st>img{width:100%;height:100%;object-fit:cover}.v-d .nim.st .lgo{position:absolute;left:18px;bottom:16px}
.v-d .ncard .ds{display:block}.v-d .ncard .src{margin-top:10px}
/* compare */
.v-d .cmp[hidden]{display:none}.v-d .cmp{margin-top:40px}
.v-d .vs{display:flex;align-items:center;gap:18px;margin-bottom:24px}.v-d .vsx{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);font-weight:600}
.v-d .cl2{max-width:820px;margin:0 0 28px}.v-d .vl{padding-left:20px;display:grid;gap:8px}.v-d .cmp .panel+.panel{margin-top:var(--gap)}
.v-d .tw{overflow-x:auto}.v-d .ctab{width:100%;border-collapse:collapse;font-size:14.5px}
.v-d .ctab th,.v-d .ctab td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.v-d .ctab tbody th{color:var(--mu);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;width:22%}
.v-d .ch{display:flex;align-items:center;gap:12px;font-size:17px}
/* tiers */
.v-d .tiers.t3{grid-template-columns:repeat(3,1fr)}.v-d .tiers.t3 .tier{grid-column:auto;padding:0 0 24px;overflow:hidden}
.v-d .tier>*:not(.tart){margin-left:24px;margin-right:24px}
.v-d .tart{position:relative;height:150px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);margin-bottom:10px}
.v-d .tart .tbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v-d .tart img:not(.tbg){position:relative;width:96px;height:96px}
.v-d .rec{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:600}
.v-d .t-spark h3{color:var(--spark)}.v-d .t-blaze h3{color:var(--blaze)}.v-d .t-legend h3{color:var(--legend)}
.v-d .perk{list-style:none;display:grid;gap:8px;font-size:14.5px;flex:1}.v-d .perk li::before{content:"✓ ";color:var(--acc)}
.v-d .fcard.fwide{flex-direction:row;padding:32px;gap:32px}.v-d .fcard.fwide img{width:112px;height:112px}
.v-d .pvg{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.v-d .pvc{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.v-d .pvc>.av{display:none}
.v-d .nf{display:flex;gap:12px;flex:1 1 360px;max-width:520px}
/* prose */
.v-d .prose{max-width:none}.v-d .prose h2{font-size:14px;letter-spacing:.22em;text-transform:uppercase;margin:28px 0 10px}.v-d .prose h2:first-child{margin-top:0}
.v-d .prose h3{margin:20px 0 8px}.v-d .prose p,.v-d .prose li{color:var(--tx);opacity:.9;margin:8px 0;max-width:72ch}.v-d .prose ul{padding-left:22px}
@media (max-width:1180px){.v-d .tgrid,.v-d .chatlay,.v-d .pglay{margin-left:32px;margin-right:32px}}
@media (max-width:1000px){.v-d .chatlay{grid-template-columns:1fr}.v-d .chs{display:flex;flex-wrap:wrap;gap:6px}.v-d .chs .ph2{width:100%;margin-bottom:4px}.v-d .onl{display:none}}
@media (max-width:900px){
 .v-d .phero{padding:116px 20px 16px}.v-d .tgrid,.v-d .chatlay,.v-d .pglay{margin-left:18px;margin-right:18px;grid-template-columns:1fr}
 .v-d .ngrid{grid-template-columns:1fr}.v-d .ncard.big{grid-column:auto;grid-row:auto}.v-d .ncard.big h3{font-size:20px}
 .v-d .news .tile:nth-child(n+3),.v-d .ngrid .tile{display:block}
 .v-d .tiers.t3,.v-d .pvg{grid-template-columns:1fr}.v-d .fcard.fwide{flex-direction:column;padding:24px}
 .v-d .shelf{margin-top:72px}.v-d .panel{padding:18px}.v-d .tl{padding:4px 16px}
 .v-d .boards th:nth-child(3),.v-d .boards td:nth-child(3){display:none}.v-d .boards th:nth-child(2),.v-d .boards td:nth-child(2){display:table-cell}
 .v-d .ctab,.v-d .ctab thead,.v-d .ctab tbody,.v-d .ctab tr,.v-d .ctab th,.v-d .ctab td{display:block;width:auto}.v-d .ctab thead{display:none}
 .v-d .ctab tbody th{border:0;padding:16px 16px 4px}.v-d .ctab td{padding:6px 16px 10px;border:0}.v-d .ctab tr{border-bottom:1px solid var(--line);padding-bottom:8px}
 .v-d .ctab td::before{content:attr(data-h) ": ";font-weight:650;color:var(--acc)}
 .v-d .nf{flex-direction:column}.v-d .cmp-f .btn{padding:10px 14px}
 .v-d .pa{flex-wrap:wrap}}
@media (max-width:520px){.v-d .pglay .chs{display:flex;flex-wrap:wrap}.v-d .pglay .chs .ph2{width:100%}}
.v-d .ft li.fli{display:flex;gap:14px;align-items:flex-start}.v-d .fli>div{min-width:0}.v-d .fli .bi img{width:36px;height:36px}
.v-d .tier>.btn.wide{width:auto;align-self:stretch}
/* forum boards */
.v-d .lgo.ic{background:#10151d;border-color:#26303c}.v-d .lgo.ic img{width:28px;height:28px}
.v-d .lgo.big.ic img{width:40px;height:40px}
.v-d .bc{align-items:flex-start}.v-d .bc>div{min-width:0}.v-d .bc .lock{margin-left:8px}
.v-d .boards td:first-child span{display:block}.v-d .boards td:first-child span.lgo{display:inline-flex}
.v-d .subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v-d .sbf{font-size:12px;padding:3px 10px;border:1px solid var(--cb);border-radius:99px;color:var(--mu)}.v-d .sbf:hover{color:var(--tx);border-color:var(--acc)}
.v-d .fsec+.fsec{margin-top:var(--gap)}.v-d .boards thead th:first-child{color:var(--acc);letter-spacing:.2em}
.v-d .boards th:nth-child(2),.v-d .boards th:nth-child(3),.v-d .boards td:nth-child(2),.v-d .boards td:nth-child(3){text-align:right;width:84px}
.v-d .lpc{width:250px}.v-d .lpc a{display:block;font-size:13.5px;color:var(--tx)}.v-d .lpc a:hover{color:var(--acc)}
.v-d .tl .lgo{width:40px;height:40px;border-radius:10px}.v-d .tl .lgo img{width:26px;height:26px}.v-d .tl .lgo.ic img{width:22px;height:22px}
.v-d .kd{color:var(--acc)}.v-d .fm span:first-child{color:var(--acc)}
.v-d .chn .lgo{width:30px;height:30px;border-radius:8px}.v-d .chn .lgo img{width:18px;height:18px}
.v-d .th1{font-size:clamp(30px,4vw,52px)!important;text-transform:none!important;letter-spacing:-.02em!important;line-height:1.1!important;max-width:980px}
.v-d .post header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.v-d .pbody{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px;line-height:1.65}
.v-d .post+.post{margin-top:var(--gap)}
@media (max-width:900px){.v-d .lpc,.v-d .boards th:nth-child(4){display:none}.v-d .boards th:nth-child(2),.v-d .boards td:nth-child(2){display:none}.v-d .boards td:nth-child(3),.v-d .boards th:nth-child(3){display:table-cell;width:56px}.v-d .bc .lgo{width:40px;height:40px}}
/* forum section header bands */
.v-d .fsec+.fsec{margin-top:56px}
.v-d .gh{display:flex;align-items:center;gap:16px;padding:18px 22px;background:color-mix(in srgb,var(--tx) 5%,var(--card));border-bottom:1px solid var(--cb);box-shadow:inset 4px 0 0 var(--acc)}
.v-d .gh h3{font-size:19px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--tx)}
.v-d .gh p{font-size:13.5px;color:var(--mu);margin-top:2px}.v-d .gh>div{flex:1;min-width:0}
.v-d .gn{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:650;white-space:nowrap}
.v-d .fsec .boards thead th:first-child{color:var(--mu);letter-spacing:.07em}
[data-theme=light] .v-d .gh{background:color-mix(in srgb,var(--acc) 7%,#f1f2ec)}
@media (max-width:900px){.v-d .fsec+.fsec{margin-top:40px}.v-d .gh{padding:14px 16px;gap:12px;flex-wrap:wrap}.v-d .gh h3{font-size:16px}.v-d .gn{width:100%;padding-left:64px}}
/* whole-site faint starfield below the hero (dark); light keeps the faint dot grid */
[data-theme=dark] body.v-d{background:radial-gradient(120% 60% at 50% 0%,#0a1420 0%,transparent 60%) no-repeat,url(../assets/stars-faint.svg) 0 0/1600px 1000px repeat,#03050a}
.v-d .gimg{width:120px;height:68px;border-radius:10px;object-fit:cover;flex:none;border:1px solid var(--cb)}
.v-d .gh{padding:16px 22px 16px 20px}.v-d .gh h3{font-size:21px}
@media (max-width:900px){.v-d .gimg{width:96px;height:54px}.v-d .gn{padding-left:108px}}
.v-d .boards td:first-child a.sbf{display:inline-block;font-size:12px;font-weight:500;line-height:1.5}
/* section color flow (after the old site's per-section --th glows): soft galaxy glow behind each section, stars show through */
.v-d main{overflow-x:clip}
.v-d main>.sec,.v-d main>.two,.v-d .fsec{position:relative;--th:184,212,46}
.v-d main>:is(.sec,.two):nth-of-type(4n+2),.v-d .fsec:nth-of-type(4n+2){--th:45,212,191}
.v-d main>:is(.sec,.two):nth-of-type(4n+3),.v-d .fsec:nth-of-type(4n+3){--th:90,169,255}
.v-d main>:is(.sec,.two):nth-of-type(4n+4),.v-d .fsec:nth-of-type(4n+4){--th:200,212,224}
.v-d main>.sec::before,.v-d main>.two::before{content:"";position:absolute;inset:-90px -60px;z-index:-1;pointer-events:none;
 background:radial-gradient(55% 60% at 12% 18%,rgba(var(--th),.11),transparent 70%),radial-gradient(45% 55% at 92% 85%,rgba(var(--th),.06),transparent 72%)}
.v-d main>.hero::before{content:none}
.v-d .fsec{box-shadow:0 18px 50px -30px rgba(var(--th),.55)}
.v-d .fsec .gh{box-shadow:inset 4px 0 0 rgb(var(--th));background:radial-gradient(70% 140% at 0 0,rgba(var(--th),.14),transparent 65%),color-mix(in srgb,var(--tx) 5%,var(--card))}
.v-d .fsec .gn{color:rgb(var(--th))}
[data-theme=light] .v-d main>.sec::before,[data-theme=light] .v-d main>.two::before{opacity:.55}
[data-theme=light] .v-d .fsec .gh{box-shadow:inset 4px 0 0 var(--acc);background:radial-gradient(70% 140% at 0 0,rgba(var(--th),.16),transparent 65%),#f1f2ec}
[data-theme=light] .v-d .fsec .gn{color:var(--acc)}
/* forum sections: each its own glowing starfield container */
.v-d .fsec{padding:12px;border:1px solid rgba(var(--th),.42)!important;border-radius:14px;overflow:hidden;isolation:isolate;
 background:radial-gradient(70% 60% at 8% 0%,rgba(var(--th),.20),transparent 70%),radial-gradient(50% 50% at 100% 100%,rgba(var(--th),.10),transparent 70%),url(../assets/stars.svg) 0 0/800px 500px,#060a10!important;
 box-shadow:0 0 0 1px rgba(var(--th),.08),0 0 28px -6px rgba(var(--th),.35),0 24px 60px -34px rgba(var(--th),.6)!important}
.v-d .fsec+.fsec{margin-top:64px}
.v-d .fsec::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(1.6px 1.6px at 14% 22%,#fff,transparent),radial-gradient(1.4px 1.4px at 63% 12%,rgb(var(--th)),transparent),radial-gradient(1.8px 1.8px at 88% 40%,#fff,transparent),radial-gradient(1.3px 1.3px at 36% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 77% 6%,rgb(var(--th)),transparent);
 animation:tw 3.6s ease-in-out infinite alternate}
@keyframes tw{0%{opacity:.25}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.v-d .fsec::after{animation:none}}
.v-d .fsec>*{position:relative;z-index:1}
.v-d .fsec .gh{background:linear-gradient(90deg,rgba(var(--th),.16),rgba(10,13,18,.55) 60%)!important;border:0;border-radius:10px;margin-bottom:12px;box-shadow:inset 3px 0 0 rgb(var(--th))!important}
.v-d .fsec .boards,.v-d .fsec .ft{background:var(--card);border:1px solid var(--cb);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}
.v-d .fsec .ft{padding:4px 20px;margin:0;list-style:none}
[data-theme=light] .v-d .fsec{background:radial-gradient(70% 60% at 8% 0%,rgba(var(--th),.16),transparent 70%),url(../assets/stars-ink.svg) 0 0/800px 500px,#eef0ea!important;border-color:rgba(var(--th),.55)!important;box-shadow:0 0 22px -8px rgba(var(--th),.45)!important}
[data-theme=light] .v-d .fsec::after{opacity:.0;animation:none}
[data-theme=light] .v-d .fsec .gh{background:linear-gradient(90deg,rgba(var(--th),.18),rgba(255,255,255,.75) 60%)!important;box-shadow:inset 3px 0 0 var(--acc)!important}
[data-theme=light] .v-d .fsec{--th:63,88,0}[data-theme=light] .v-d .fsec:nth-of-type(4n+2){--th:15,118,110}[data-theme=light] .v-d .fsec:nth-of-type(4n+3){--th:29,95,184}[data-theme=light] .v-d .fsec:nth-of-type(4n+4){--th:90,100,112}
@media (max-width:900px){.v-d .fsec{padding:8px}.v-d .fsec+.fsec{margin-top:44px}.v-d .fsec .ft{padding:2px 12px}}
/* visible starfield v2: page gaps, header bands, forum containers; translucent panels (dark) */
[data-theme=dark] body.v-d{background:radial-gradient(120% 60% at 50% 0%,#0a1420 0%,transparent 60%) no-repeat,url(../assets/stars-site.svg) 0 0/1200px 800px repeat,#03050a}
[data-theme=dark] .v-d{--card:rgba(10,13,18,.88)}
[data-theme=dark] .v-d .fsec{background:radial-gradient(70% 60% at 8% 0%,rgba(var(--th),.20),transparent 70%),radial-gradient(50% 50% at 100% 100%,rgba(var(--th),.10),transparent 70%),url(../assets/stars-site.svg) 0 0/900px 600px,url(../assets/stars-site.svg) 300px 200px/600px 400px,#060a10!important}
[data-theme=dark] .v-d .fsec .gh{background:linear-gradient(90deg,rgba(var(--th),.16),rgba(10,13,18,.25) 60%)!important}
[data-theme=dark] .v-d .gh{background:linear-gradient(90deg,rgba(var(--th,184,212,46),.14),rgba(10,13,18,.3) 60%)}
/* equal-height cards, clamped text, footer pinned to bottom */
.v-d .plays,.v-d .dir,.v-d .ngrid,.v-d .news{align-items:stretch}
.v-d .play,.v-d .dt,.v-d .ncard{display:flex;flex-direction:column;height:100%}
.v-d .play h3,.v-d .dt h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v-d .play .ds,.v-d .dt .ds,.v-d .ncard .ds{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:none}
.v-d .play .pr{flex:none;height:8.2em;max-height:none}
.v-d .play details{flex:none}
.v-d .play .pa,.v-d .dt .dp{margin-top:auto}
.v-d .ncard .tb{display:flex;flex-direction:column;flex:1}.v-d .ncard .src{margin-top:auto;padding-top:10px}
.v-d .ncard h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v-d .ncard.big h3{-webkit-line-clamp:4}.v-d .ncard.big .ds{-webkit-line-clamp:5}
.v-d .cmp .panel{height:auto}
/* glassy 3D board icons */
.v-d .lgo.g3d{background:transparent;border:0;overflow:hidden;box-shadow:0 0 14px -4px rgba(184,212,46,.35)}
.v-d .lgo.g3d img,.v-d .tl .lgo.g3d img,.v-d .lgo.big.g3d img{width:100%;height:100%;object-fit:cover}
.v-d .lgo.glass{background:linear-gradient(160deg,#1c2630,#0b1016);border:1px solid rgba(184,212,46,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 14px -4px rgba(45,212,191,.4)}
.v-d .bc .lgo{width:48px;height:48px;border-radius:12px}
.v-d .gico{width:64px;height:64px;border-radius:16px;flex:none;box-shadow:0 0 22px -6px rgba(var(--th),.7)}
.v-d .gh h3{font-size:22px}
@media (max-width:900px){.v-d .gico{width:52px;height:52px}.v-d .gn{padding-left:64px}}
.v-d .pth{max-width:none;flex:none}
/* QC: tier 3 sample color white/silver (no #b8d42e) */
[data-theme=dark] .v-d{--legend:#e6ebf0}[data-theme=light] .v-d{--legend:#3d4a57}
.v-d .av.t-legend{color:#eef2f6}
/* long links never overflow */
.v-d a,.v-d .meta,.v-d .ds,.v-d .pbody,.v-d .prose{overflow-wrap:anywhere}.v-d img,.v-d input,.v-d table{max-width:100%;box-sizing:border-box}
/* light: starry panels with depth */
[data-theme=light] .v-d .fsec{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 30px -14px rgba(20,30,20,.28),0 0 22px -10px rgba(var(--th),.5)!important;border-color:rgba(var(--th),.6)!important}
[data-theme=light] .v-d .chat.starry,[data-theme=light] .v-d .panel{box-shadow:0 8px 24px -16px rgba(20,30,20,.3);border-color:color-mix(in srgb,var(--acc) 30%,#d6d8cf)}
/* week in AI strip */
.v-d .wks{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap)}
.v-d .wk{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--cb);border-radius:var(--r);background:var(--card);transition:border-color .3s}
.v-d .wk:hover{border-color:var(--acc)}.v-d .wkd{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.v-d .wk b{font-size:15px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.v-d .wk .meta{margin-top:auto}
@media (max-width:900px){.v-d .wks{grid-template-columns:1fr}}
/* forum preview demo extras */
.v-d .onrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 4px}.v-d .onrow .av{width:24px;height:24px;font-size:11px;margin-left:-4px}.v-d .onrow .meta{margin-right:6px}
.v-d .nd{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accink);background:var(--acc);border-radius:99px;padding:1px 7px;margin-right:8px;vertical-align:2px}
.v-d .disc{color:var(--acc);font-weight:600;margin-left:4px}
/* QC: compact home hero (<=70% of 800px) so chat+forum row shows */
.v-d .hero:not(.phero){padding:104px 40px 28px}
.v-d .hero:not(.phero) h1{font-size:clamp(46px,6.4vw,92px)}
.v-d .hero:not(.phero) .lede{margin-top:16px;font-size:17px}.v-d .hero:not(.phero) .cta{margin-top:24px}
.v-d .hero:not(.phero) .stats{margin-top:26px;padding-top:14px}
.v-d main>.two#pulse{margin-top:28px}
@media (max-width:900px){.v-d .hero:not(.phero){padding:104px 20px 28px}}
/* chat pickers (emoji + KLIPY GIF) */
.v-d .chat{position:relative}
.v-d .pkb{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--cb);background:var(--bg2);color:var(--tx);font:inherit;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,box-shadow .15s}
.v-d .pkb.gifb{font-size:11px;font-weight:700;letter-spacing:.08em}
.v-d .pkb:hover,.v-d .pkb.on{border-color:#b8d42e;box-shadow:0 0 0 1px #b8d42e,0 0 18px -4px color-mix(in srgb,#b8d42e 70%,transparent)}
.v-d .pkb:focus-visible{outline:2px solid #b8d42e;outline-offset:2px}
.v-d .pkw{position:relative;height:0}
.v-d .pk{position:absolute;right:0;bottom:12px;z-index:5;width:min(380px,100%);max-height:340px;overflow:auto;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,#b8d42e 45%,var(--line));background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 18px 50px -12px #000a,0 0 30px -10px color-mix(in srgb,#b8d42e 55%,transparent)}
[data-theme=light] .v-d .pk{box-shadow:0 18px 40px -14px #0003,0 0 26px -12px color-mix(in srgb,#6f8a00 60%,transparent);border-color:color-mix(in srgb,#6f8a00 45%,var(--line))}
.v-d .pk[hidden]{display:none}
.v-d .pkh{margin:4px 0 6px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accink)}
[data-theme=dark] .v-d .pkh{color:#b8d42e}
.v-d .emg{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;margin-bottom:6px}
.v-d .emo{height:38px;border:0;border-radius:8px;background:none;font-size:22px;cursor:pointer;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.v-d .emo:hover,.v-d .emo:focus-visible{background:color-mix(in srgb,#b8d42e 18%,transparent);outline:none}
.v-d .gfq{width:100%;box-sizing:border-box;font:inherit;font-size:14px;color:var(--tx);background:var(--bg2);border:1px solid var(--cb);border-radius:99px;padding:9px 14px;margin-bottom:10px}
.v-d .gfq:focus{outline:2px solid #b8d42e;outline-offset:1px}
.v-d .gfg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-height:80px}
.v-d .gfo{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg2);cursor:pointer;aspect-ratio:1}
.v-d .gfo img{display:block;width:100%;height:100%;object-fit:cover}
.v-d .gfo:hover,.v-d .gfo:focus-visible{border-color:#b8d42e;outline:none;box-shadow:0 0 14px -4px #b8d42e}
.v-d .gfn{grid-column:1/-1;margin:8px 0}
.v-d .gfcr{margin:10px 0 0;font-size:11px;letter-spacing:.06em;color:var(--mu);text-align:right}
.v-d .gfcr b{color:var(--tx);letter-spacing:.12em}
.v-d .cgif{display:block;max-width:min(220px,100%);border-radius:10px;margin-top:4px}
@media (max-width:600px){.v-d .pk{left:0;right:0;width:auto;max-height:300px}.v-d .gfg{grid-template-columns:repeat(3,1fr)}.v-d .pkb{width:40px;height:40px}.v-d .cmp-f{gap:6px}}
.v-d .gfp:not([hidden]){display:flex;flex-direction:column;overflow:hidden}.v-d .gfp .gfg{flex:1;overflow:auto;min-height:0}.v-d .gfp .gfq,.v-d .gfp .gfcr{flex:none}
.v-d .gfp .gfg{max-height:220px}@media (max-width:600px){.v-d .gfp .gfg{max-height:190px}}
.v-d .gfp .gfg{grid-auto-rows:104px;align-content:start}.v-d .gfp .gfo{aspect-ratio:auto;height:104px}@media (max-width:600px){.v-d .gfp .gfg{grid-auto-rows:90px}.v-d .gfp .gfo{height:90px}}
[data-theme=light] .v-d .pkh{color:#4a5a00;font-weight:600}
/* QC: neutral placeholder tier tiles (no bronze/copper art) + Founding sample label */
.v-d .rbp{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;margin-right:4px;vertical-align:-3px;font:700 10px/1 var(--fm,monospace);color:var(--tx);background:color-mix(in srgb,var(--tx) 10%,var(--bg2));border:1px dashed color-mix(in srgb,var(--tx) 45%,transparent)}
.v-d .tag.fsm{font-style:normal;margin-left:6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border-radius:99px;border:1px solid color-mix(in srgb,var(--founding) 55%,transparent);color:var(--tx);vertical-align:2px;white-space:nowrap}
.v-d .sendb .si{display:none}
.v-d .cl .rpt{margin-left:8px;font:inherit;font-size:11px;letter-spacing:.06em;color:var(--mu);background:none;border:1px solid var(--line);border-radius:99px;padding:0 12px;min-height:44px;cursor:pointer;vertical-align:middle}
.v-d .cl .rpt:hover,.v-d .cl .rpt:focus-visible{border-color:#b8d42e;color:var(--tx);outline:none}
@media (max-width:600px){.v-d .pkb{width:44px;height:44px}.v-d .cmp-f .btn.sendb{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border-radius:50%}.v-d .sendb .sl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.v-d .sendb .si{display:block}.v-d .cmp-f{gap:6px}.v-d .cmp-f input{min-width:160px;padding:12px 14px}}
/* footer lockup: Trace Bolt beside the wordmark */
.v-d .foot .fbrand{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--tx);text-decoration:none}
.v-d .foot .fbrand b{color:var(--acc)}
.v-d .foot .fbrand .bmark{width:20px;height:20px}
.v-d .brand .bmark{image-rendering:auto;shape-rendering:geometricPrecision}
.v-d .btn.paused{opacity:.6;cursor:default}.v-d .pkb[hidden]{display:none}

/* How supporters look: label right under the name on every card; Wizard name gets its own ice-galaxy glow */
.v-d .pvc{justify-content:flex-start;gap:6px}.v-d .pvc .un{display:inline-flex;align-items:center;gap:8px;line-height:1.25;min-height:22px}.v-d .pvc .rb{flex:none;width:18px;height:18px;display:block}.v-d .pvc .meta{margin:0}.v-d .pvc .tag{margin-top:6px}
.v-d .n-legend{background:linear-gradient(90deg,#ffffff 0%,#cfe9ff 40%,#8fd3ff 70%,#f2f8ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 5px rgba(150,205,255,.6))}
[data-theme=light] .v-d .n-legend{background:linear-gradient(90deg,#1b3550,#2f6fa8 60%,#1b3550);-webkit-background-clip:text;background-clip:text;filter:none}

/* tart-plain: badge on a faint starry field only (no planet/orbit art) */
.v-d .tart{background:url(../assets/stars-faint.svg) 0 0/520px 340px repeat,radial-gradient(60% 70% at 50% 50%,color-mix(in srgb,var(--acc) 6%,transparent),transparent 70%)}
[data-theme=light] .v-d .tart{background:url(../assets/stars-ink.svg) 0 0/520px 340px repeat;opacity:1}
.v-d .tart .tbg{display:none}

/* wizard-ice: Wizard name is ice-blue (not white, not #b8d42e) */
.v-d .n-legend{background:none!important;color:#a8e6ff!important;-webkit-text-fill-color:#a8e6ff!important;text-shadow:0 0 8px rgba(168,230,255,.55);filter:none!important}
[data-theme=light] .v-d .n-legend{color:#1d6f96!important;-webkit-text-fill-color:#1d6f96!important;text-shadow:none}
@media (max-width:640px){.v-d .tart{height:104px}.v-d .tart img:not(.tbg){width:60px;height:60px}}


/* soft-horizon: keep the planet edge line + glow; the planet body fades out (no dark band, no hard line at the hero bottom) */
.v-d .hero::after,.v-d .phero::after{background:none!important}

/* legend-ice */
[data-theme=dark] .v-d{--legend:#a8e6ff}[data-theme=light] .v-d{--legend:#1d6f96}

/* tart-stars-only: just the dark starry field behind the badge */
.v-d .tart{background:url(../assets/stars-faint.svg) 0 0/520px 340px repeat,#03050a!important;box-shadow:none!important}
.v-d .tart::before,.v-d .tart::after{content:none!important}
.v-d .tart img:not([src*="badges/"]){filter:none!important;box-shadow:none!important}

/* hero-fade: the horizon glow fades out at the bottom of every hero (no hard line) */
.v-d .hero{padding-bottom:120px!important;margin-bottom:-90px!important;-webkit-mask-image:linear-gradient(#000 calc(100% - 100px),transparent);mask-image:linear-gradient(#000 calc(100% - 100px),transparent)}

/* horizon-glow2: thin planet edge only; the glow is a soft gradient (no box-shadow band, no hard line) */
.v-d .hero::after,.v-d .phero::after{box-shadow:none!important;background:none!important}
.v-d .hero::before,.v-d .phero::before{content:""!important;display:block!important;position:absolute;inset:0;pointer-events:none;opacity:1!important;-webkit-mask-image:none!important;mask-image:none!important;background:radial-gradient(75% 38% at 50% 82%,color-mix(in srgb,var(--acc) 11%,transparent) 0%,color-mix(in srgb,#5aa9ff 4%,transparent) 45%,transparent 75%)!important}

/* sec-glow-fade: section glows fade in and out (no hard line where they meet the hero) */
.v-d main>.sec::before,.v-d main>.two::before{-webkit-mask-image:linear-gradient(transparent,#000 200px,#000 calc(100% - 200px),transparent);mask-image:linear-gradient(transparent,#000 200px,#000 calc(100% - 200px),transparent)}
/* badge motion: Cyber = circuit glow pulse + light sweep; Wizard = rainbow liquid morph + pulsing aura (wz-C); Spark static. CSS only, galaxy colors. */
@property --bwa{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --bsx{syntax:'<percentage>';inherits:false;initial-value:-60%}
/* Cyber (owner pick 2026-10-22, option E): teal/blue/purple/green gradient slides across the badge art, 4s loop. Needs <span class="cy-E"> around the img; the overlay is masked to the art, the img itself is never dimmed/greyed. */
html body:not(#zz) img:not(#zz)[src*="badges/cyber"]{-webkit-mask:none!important;mask:none!important;filter:none!important;opacity:1!important;animation:none!important;box-shadow:none!important;border-radius:50%}
html body:not(#zz) .cy-E{position:relative;display:inline-block;isolation:isolate;line-height:0;vertical-align:middle}
html body:not(#zz) .cy-E>img{display:block;margin:0!important}
html body:not(#zz) .cy-E:not(#zz)::after{content:"";position:absolute;inset:0;mix-blend-mode:color;pointer-events:none;-webkit-mask:url(/d/assets/badges/cyber.webp) center/contain no-repeat!important;mask:url(/d/assets/badges/cyber.webp) center/contain no-repeat!important;background-color:transparent!important;background-image:linear-gradient(110deg,#2dd4bf 0%,#3b82f6 20%,#8b5cf6 40%,#22c55e 60%,#2dd4bf 80%,#3b82f6 100%)!important;background-size:250% 100%!important;animation:cyE 4s linear infinite}
@keyframes cyE{from{background-position:0% 0}to{background-position:-200% 0}}
html body:not(#zz) .nbdg .cy-E{width:100%;height:100%}html body:not(#zz) .nbdg .cy-E>img{width:100%!important;height:100%!important}
html body:not(#zz) .un .cy-E{margin-right:4px}
html body:not(#zz) .tart .cy-E{margin-left:auto;margin-right:auto}html body:not(#zz) .tier>.cy-E{margin:0 auto 0 24px!important;align-self:flex-start}
@media (prefers-reduced-motion:reduce){html body:not(#zz) .cy-E:not(#zz)::after{animation:none!important;display:none!important}}
/* Wizard (owner pick 2026-10-22, option C): Liquid Morph + Pulsing Aura - soft rainbow blobs drift/melt over the art (masked, colour blend), blob-shaped aura behind morphs, pulses and cycles hue. Full rainbow is an owner-approved Wizard-only exception. Needs <span class="wz-C"> around the img; the img itself is never dimmed/greyed. */
html body:not(#zz) img:not(#zz)[src*="badges/wizard"]{background:none!important;padding:0!important;animation:none!important;filter:none!important;opacity:1!important;-webkit-mask:none!important;mask:none!important;border-radius:50%}
html body:not(#zz) .wz-C{position:relative;display:inline-block;isolation:isolate;line-height:0;vertical-align:middle}
html body:not(#zz) .wz-C>img{display:block;margin:0!important;position:relative;z-index:1}
html body:not(#zz) .wz-C:not(#zz)::after{content:""!important;position:absolute;inset:0;z-index:2;pointer-events:none;-webkit-mask:url(/d/assets/badges/wizard.webp) center/contain no-repeat!important;mask:url(/d/assets/badges/wizard.webp) center/contain no-repeat!important;mix-blend-mode:color;background:radial-gradient(circle at 25% 30%,#ff3b3b,transparent 35%),radial-gradient(circle at 75% 25%,#ffe14a,transparent 35%),radial-gradient(circle at 75% 75%,#2bb8ff,transparent 35%),radial-gradient(circle at 25% 75%,#ff4fd8,transparent 35%),radial-gradient(circle at 50% 50%,#3ddc84,transparent 30%),linear-gradient(135deg,#7a5cff,#ff9a1f)!important;background-size:150% 150%!important;animation:wzC-melt 7s ease-in-out infinite alternate,wzC-hue 9s linear infinite}
html body:not(#zz) .wz-C:not(#zz)::before{content:""!important;position:absolute;inset:-14%;z-index:0;border-radius:50%;pointer-events:none;--b:6px;background:radial-gradient(circle,#ff4fd8,#7a5cff 40%,#2bb8ff 60%,transparent 72%)!important;filter:blur(6px);animation:wzC-morph 5s ease-in-out infinite,wzC-hue 9s linear infinite reverse}
@keyframes wzC-melt{0%{background-position:0% 0%}33%{background-position:100% 30%}66%{background-position:40% 100%}100%{background-position:80% 60%}}
@keyframes wzC-hue{to{filter:hue-rotate(360deg) blur(var(--b,0px))}}
@keyframes wzC-morph{0%,100%{border-radius:50% 45% 55% 48%;transform:scale(.95) rotate(0);opacity:.5}50%{border-radius:42% 58% 46% 60%;transform:scale(1.06) rotate(60deg);opacity:.75}}
html body:not(#zz) .nbdg .wz-C{width:100%;height:100%}html body:not(#zz) .nbdg .wz-C>img{width:100%!important;height:100%!important}
html body:not(#zz) .un .wz-C{margin-right:4px}
html body:not(#zz) .tart .wz-C{margin-left:auto;margin-right:auto}html body:not(#zz) .tier>.wz-C{margin:0 auto 0 24px!important;align-self:flex-start}
@media (prefers-reduced-motion:reduce){html body:not(#zz) .wz-C:not(#zz){animation:none!important;filter:none!important}html body:not(#zz) .wz-C:not(#zz)::after,html body:not(#zz) .wz-C:not(#zz)::before{animation:none!important;display:none!important}}
/* thread avatar: drop decorative overlay that hid the letter */
body.v-d.dskin:not(#dz) main .av::before,body.v-d.dskin:not(#dz) main .av::after{content:none!important;display:none!important}

/* tier name colors (owner 2026-10-21): Spark sky, Cyber teal, Wizard green + soft glow. */
html:not(#zz) :is(.n-spark,.paid-turbo,.rkc-turbo){color:#7dd3fc!important;-webkit-text-fill-color:#7dd3fc!important;background:none!important;text-shadow:none!important}
html:not(#zz) :is(.n-blaze,.n-cyber,.paid-overclocked,.rkc-overclocked){color:#2dd4bf!important;-webkit-text-fill-color:#2dd4bf!important;background:none!important;text-shadow:none!important}
html:not(#zz) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){color:#b8d42e!important;-webkit-text-fill-color:#b8d42e!important;background:none!important;filter:none!important;text-shadow:0 0 8px rgba(184,212,46,.55),0 0 2px rgba(184,212,46,.4)!important}
html[data-theme=light]:not(#zz) :is(.n-spark,.paid-turbo,.rkc-turbo){color:#0b63a8!important;-webkit-text-fill-color:#0b63a8!important}
html[data-theme=light]:not(#zz) :is(.n-blaze,.n-cyber,.paid-overclocked,.rkc-overclocked){color:#0f766e!important;-webkit-text-fill-color:#0f766e!important}
html[data-theme=light]:not(#zz) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){color:#3f5800!important;-webkit-text-fill-color:#3f5800!important;text-shadow:0 0 6px rgba(63,88,0,.28)!important}
html:not(#zz) .n-founding{color:#b69cff!important;-webkit-text-fill-color:#b69cff!important;background:none!important;text-shadow:0 0 8px rgba(182,156,255,.45)!important}
html[data-theme=light]:not(#zz) .n-founding{color:#6d28d9!important;-webkit-text-fill-color:#6d28d9!important;text-shadow:none!important}
/* Cyber: the tier-card art rule (.tart img filter:none!important) beat the animation; exempt badges */
html body:not(#zz) .v-d .tart img:not(#zz)[src*="badges/wizard"]{filter:revert-layer}
/* board pages at phone width: inline New thread button instead of the floating + that covered the reply count */
@media (max-width:600px){html body:not(#zz) .ffab{display:none!important}html body:not(#zz) :is(.fbar3,.fbtools) .fnew{display:flex!important;width:100%;margin:8px 0 0}}
/* tier cards: perk rows line up, centered note under the row */
html:not(#zz) .v-d .perk{align-content:start!important;align-items:start!important;grid-auto-rows:max-content!important}
html:not(#zz) .v-d .tnote{text-align:center;color:var(--mut,#9aa3ad);font-size:14px;margin:20px auto 0;grid-column:1/-1}
/* home section labels ~20% bigger, tidy, no wrap */
html:not(#zz) .v-d .sh h2{font-size:16.5px!important;letter-spacing:.2em!important;white-space:nowrap!important}
@media (max-width:420px){html:not(#zz) .v-d .sh h2{font-size:15px!important;letter-spacing:.16em!important}}
/* poll card: Trace Bolt, green tokens, 48px answer rows */
html:not(#zz) .v-d .poll .sh h2{display:inline-flex;align-items:center;gap:8px}
html:not(#zz) .v-d .pbolt{display:inline-block}html:not(#zz) .v-d .pbolt.pbl{display:none}
html[data-theme=light]:not(#zz) .v-d .pbolt{display:none}html[data-theme=light]:not(#zz) .v-d .pbolt.pbl{display:inline-block}
html:not(#zz) .v-d .poll .opt{min-height:48px!important;display:flex;align-items:center}
html:not(#zz) .v-d .poll .opt .fill{background:rgba(184,212,46,.18)!important}
html[data-theme=light]:not(#zz) .v-d .poll .opt .fill{background:rgba(63,88,0,.14)!important}
html:not(#zz) .v-d .poll .opt .pc{color:#b8d42e!important}html[data-theme=light]:not(#zz) .v-d .poll .opt .pc{color:#3f5800!important}
/* Wizard name: green -> violet fade + soft glow (crisp at chat size; almost none in light). Founding: solid purple + slow shimmer. */
html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background:linear-gradient(90deg,#b8d42e,#b69cff)!important;-webkit-background-clip:text!important;background-clip:text!important;color:#b8d42e!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 0 3px rgba(184,212,46,.28)) drop-shadow(0 0 5px rgba(182,156,255,.18))!important}
html[data-theme=light]:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background:linear-gradient(90deg,#3f5800,#6d28d9)!important;-webkit-background-clip:text!important;background-clip:text!important;color:#3f5800!important;filter:drop-shadow(0 0 1px rgba(109,40,217,.12))!important}
html:not(#zz):not(#zy) :is(.n-legend,.n-wizard) img{-webkit-text-fill-color:initial}
@property --fsx{syntax:'<percentage>';inherits:false;initial-value:150%}
html:not(#zz):not(#zy) .n-founding{background:linear-gradient(100deg,#b69cff 0 calc(var(--fsx) - 12%),#ece6ff var(--fsx),#b69cff calc(var(--fsx) + 12%) 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:#b69cff!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;filter:none!important;animation:fshim 5s linear infinite}
html[data-theme=light]:not(#zz):not(#zy) .n-founding{background:linear-gradient(100deg,#6d28d9 0 calc(var(--fsx) - 12%),#7c3aed var(--fsx),#6d28d9 calc(var(--fsx) + 12%) 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:#6d28d9!important}
@keyframes fshim{0%{--fsx:-30%}55%,100%{--fsx:130%}}
@media (prefers-reduced-motion:reduce){html:not(#zz):not(#zy) .n-founding{animation:none!important;--fsx:200%}}
/* every hero/section glow layer fades out on all four sides: no hard top/bottom/side edge behind chip rows (planet edge lives on ::after and is untouched) */
html:not(#zz) .v-d :is(.hero,.phero,.sec,.two,.cmp,.band,.hero-band)::before{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 62%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%)!important;-webkit-mask-composite:source-in!important;mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 62%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%)!important;mask-composite:intersect!important;background-color:transparent!important}
/* Wizard name: slow green<->violet gradient shift (glow kept); static under reduced motion */
html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#b8d42e,#b69cff,#b8d42e)!important;background-size:200% 100%!important;animation:wzname 6s ease-in-out infinite alternate}
html[data-theme=light]:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#3f5800,#6d28d9,#3f5800)!important}
@keyframes wzname{from{background-position:0% 50%}to{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){animation:none!important;background-position:0% 50%!important}}
@media (min-width:421px){html:not(#zz) .v-d .sh h2{font-size:15px!important}}
/* Wizard name: cosmic tri-fade green -> teal -> violet, slow flow (owner 10/21) */
html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#b8d42e,#2dd4bf,#b69cff,#2dd4bf,#b8d42e)!important;background-size:300% 100%!important}
html[data-theme=light]:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#3f5800,#0f766e,#6d28d9,#0f766e,#3f5800)!important}
/* Wizard fade picker: fixed swatch classes (IDs from a fixed table; no server CSS) */
.fa-lime{--fa:#b8d42e}html[data-theme=light] .fa-lime{--fa:#3f5800}
.fb-lime{--fb:#b8d42e}html[data-theme=light] .fb-lime{--fb:#3f5800}
.fc-lime{--fc:#b8d42e}html[data-theme=light] .fc-lime{--fc:#3f5800}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-lime{background:#b8d42e!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-lime{background:#3f5800!important}
.fa-teal{--fa:#2dd4bf}html[data-theme=light] .fa-teal{--fa:#0f766e}
.fb-teal{--fb:#2dd4bf}html[data-theme=light] .fb-teal{--fb:#0f766e}
.fc-teal{--fc:#2dd4bf}html[data-theme=light] .fc-teal{--fc:#0f766e}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-teal{background:#2dd4bf!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-teal{background:#0f766e!important}
.fa-sky{--fa:#7dd3fc}html[data-theme=light] .fa-sky{--fa:#0b63a8}
.fb-sky{--fb:#7dd3fc}html[data-theme=light] .fb-sky{--fb:#0b63a8}
.fc-sky{--fc:#7dd3fc}html[data-theme=light] .fc-sky{--fc:#0b63a8}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-sky{background:#7dd3fc!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-sky{background:#0b63a8!important}
.fa-ice{--fa:#cfe9ff}html[data-theme=light] .fa-ice{--fa:#1b3550}
.fb-ice{--fb:#cfe9ff}html[data-theme=light] .fb-ice{--fb:#1b3550}
.fc-ice{--fc:#cfe9ff}html[data-theme=light] .fc-ice{--fc:#1b3550}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-ice{background:#cfe9ff!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-ice{background:#1b3550!important}
.fa-mint{--fa:#7fe0c8}html[data-theme=light] .fa-mint{--fa:#0b6b55}
.fb-mint{--fb:#7fe0c8}html[data-theme=light] .fb-mint{--fb:#0b6b55}
.fc-mint{--fc:#7fe0c8}html[data-theme=light] .fc-mint{--fc:#0b6b55}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-mint{background:#7fe0c8!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-mint{background:#0b6b55!important}
.fa-blue{--fa:#5aa9ff}html[data-theme=light] .fa-blue{--fa:#1d5fb8}
.fb-blue{--fb:#5aa9ff}html[data-theme=light] .fb-blue{--fb:#1d5fb8}
.fc-blue{--fc:#5aa9ff}html[data-theme=light] .fc-blue{--fc:#1d5fb8}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-blue{background:#5aa9ff!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-blue{background:#1d5fb8!important}
.fa-indigo{--fa:#a5b4fc}html[data-theme=light] .fa-indigo{--fa:#4338ca}
.fb-indigo{--fb:#a5b4fc}html[data-theme=light] .fb-indigo{--fb:#4338ca}
.fc-indigo{--fc:#a5b4fc}html[data-theme=light] .fc-indigo{--fc:#4338ca}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-indigo{background:#a5b4fc!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-indigo{background:#4338ca!important}
.fa-white{--fa:#eef1ec}html[data-theme=light] .fa-white{--fa:#14160f}
.fb-white{--fb:#eef1ec}html[data-theme=light] .fb-white{--fb:#14160f}
.fc-white{--fc:#eef1ec}html[data-theme=light] .fc-white{--fc:#14160f}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-white{background:#eef1ec!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-white{background:#14160f!important}
.fa-violet{--fa:#b69cff}html[data-theme=light] .fa-violet{--fa:#6d28d9}
.fb-violet{--fb:#b69cff}html[data-theme=light] .fb-violet{--fb:#6d28d9}
.fc-violet{--fc:#b69cff}html[data-theme=light] .fc-violet{--fc:#6d28d9}
html body:not(#zz):not(#zy) .fadepick .fp-sw.sw-violet{background:#b69cff!important}html[data-theme=light] body:not(#zz):not(#zy) .fadepick .fp-sw.sw-violet{background:#6d28d9!important}
html:not(#zz):not(#zy):not(#zx) .n-legend.nfade{background-image:linear-gradient(90deg,var(--fa),var(--fb),var(--fc),var(--fb),var(--fa))!important}
html:not(#zz) .fadepick{margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--card)}html:not(#zz) .fadepick h2{font-size:18px;margin:0 0 6px}html:not(#zz) .fp-prev{font-size:22px;font-weight:700;margin:14px 0}html:not(#zz) .fp-slot{border:0;padding:0;margin:12px 0}html:not(#zz) .fp-slot legend{font-size:13px;color:var(--mut);margin-bottom:6px}html:not(#zz) .fp-row{display:flex;flex-wrap:wrap;gap:10px}
html body:not(#zz) .fadepick .fp-sw{width:44px!important;height:44px!important;min-width:44px;border-radius:50%!important;border:2px solid var(--line2)!important;padding:0!important;cursor:pointer}html body:not(#zz) .fadepick .fp-sw[aria-pressed=true]{outline:3px solid var(--text)!important;outline-offset:2px}html:not(#zz) .fp-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
/* tri-fade: violet band widened and held mid-cycle so dark mode clearly lands on #b69cff */
html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#b8d42e 0%,#2dd4bf 24%,#b69cff 42%,#b69cff 58%,#2dd4bf 76%,#b8d42e 100%)!important;background-size:300% 100%!important;animation:wzname3 8s ease-in-out infinite}
html[data-theme=light]:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-image:linear-gradient(90deg,#3f5800 0%,#0f766e 24%,#6d28d9 42%,#6d28d9 58%,#0f766e 76%,#3f5800 100%)!important}
html:not(#zz):not(#zy):not(#zx) .n-legend.nfade{background-image:linear-gradient(90deg,var(--fa) 0%,var(--fb) 24%,var(--fc) 42%,var(--fc) 58%,var(--fb) 76%,var(--fa) 100%)!important}
@keyframes wzname3{0%,8%{background-position:0% 50%}42%,58%{background-position:50% 50%}92%,100%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){html:not(#zz):not(#zy) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){animation:none!important;background-position:0% 50%!important}}
/* picker: visible check on the selected swatch */
html body:not(#zz) .fadepick .fp-sw{position:relative}
html body:not(#zz) .fadepick .fp-sw[aria-pressed=true]::after{content:"✓"!important;display:grid!important;place-items:center;position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--text)!important;color:var(--bg)!important;font-size:13px;font-weight:800;line-height:1}
html:not(#zz) .fadepick .fp-slot legend b{color:var(--text);font-weight:600}
/* Wizard sample pill (matches Founding sample) */
html:not(#zz) .v-d .tag.wsm{font-style:normal;margin-left:6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;border-radius:99px;border:1px solid color-mix(in srgb,#2dd4bf 55%,transparent);color:var(--tx);vertical-align:2px;white-space:nowrap;background:none}
html[data-theme=light]:not(#zz) .v-d .tag.wsm{border-color:color-mix(in srgb,#0f766e 55%,transparent)}
/* tier headings: names sized to their text so the fade/shimmer shows; Founding title as prominent as the tier names */
html:not(#zz) .v-d :is(.tier h3,.fcard .ftitle).n-legend,html:not(#zz) .v-d .fcard .ftitle,html:not(#zz) .v-d .tier h3:is(.n-spark,.n-blaze){display:inline-block;width:fit-content}
html:not(#zz) .v-d .fcard .ftitle{font-family:inherit!important;font-size:22px!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important;margin:0 0 6px!important;opacity:1!important}
/* Wizard tri-fade: drive position through a registered property so !important background shorthands elsewhere can't freeze it */
@property --wzp{syntax:'<percentage>';inherits:false;initial-value:0%}
html:not(#zz):not(#zy):not(#zw) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){background-size:300% 100%!important;background-position:var(--wzp) 50%!important;animation:wzp3 8s ease-in-out infinite!important}
@keyframes wzp3{0%,8%{--wzp:0%}42%,58%{--wzp:50%}92%,100%{--wzp:100%}}
@media (prefers-reduced-motion:reduce){html:not(#zz):not(#zy):not(#zw) :is(.n-legend,.n-wizard,.paid-max_compute,.rkc-max-compute){animation:none!important;--wzp:0%}}
/* Fade picker: secondary reset button matches site outline buttons; 44px target */
html body:not(#zz):not(#zy) .fadepick .fp-act{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
html body:not(#zz):not(#zy) .fadepick .btn.fp-reset{background:transparent!important;color:var(--tx)!important;border:1px solid color-mix(in srgb,var(--tx) 45%,transparent)!important;min-height:44px;min-width:44px;box-shadow:none!important;opacity:1!important}
html body:not(#zz):not(#zy) .fadepick .btn.fp-reset:hover{border-color:var(--tx)!important}
html body:not(#zz):not(#zy) .fadepick .btn.fp-reset:focus-visible{outline:2px solid var(--tx);outline-offset:2px}
html body:not(#zz):not(#zy) .fadepick .fp-defnote{margin:6px 0 0;font-size:13px;color:var(--tx)}
html body:not(#zz):not(#zy) .fadepick .fp-defnote[hidden]{display:none}
html body:not(#zz) .v-d .fcard h3 small{margin-left:.35em}
/* Light mode: board/thread icon tiles are dark starry art; show a light version (inverted tile, hue kept) */
html[data-theme=light] body:not(#zz) img:is([src*="/forum/b/p2/"],[src*="boards3d/"]){filter:invert(1) hue-rotate(180deg) saturate(1.15) brightness(.98)!important}
/* Forum card: only the header Sign in / Join free remain */
html body:not(#zz) .fuser .fu-out:empty{display:none}
/* chat page: no channel list, chat takes the full width and is taller */
html body:not(#zz) .chatlay.chfull{display:block!important;grid-template-columns:none!important}
html body:not(#zz) .chatlay.chfull > .chat.main{width:100%!important;max-width:none!important;min-height:calc(100vh - 230px);min-height:calc(100dvh - 230px)}
@media (max-width:600px){html body:not(#zz) .chatlay.chfull > .chat.main{min-height:calc(100dvh - 190px)}}
/* Hotfix 10/21: header Sign in stays visible on phones (was display:none under 900/1180px) */
@media (max-width:1180px){html body:not(#zz) .nav a.btn.ghost[data-signin]{display:inline-flex!important;align-items:center;min-height:44px;padding:0 12px;font-size:12px;white-space:nowrap}
html body:not(#zz) .nav a.btn[data-signin]:not(.ghost){min-height:44px;padding:0 12px;font-size:12px;white-space:nowrap}}
@media (max-width:420px){html body:not(#zz) .nav a.btn[data-signin]{padding:0 9px;font-size:11px;letter-spacing:.04em}}
@media (max-width:420px){html body:not(#zz) .nav a.btn[data-signin]{padding:0 10px!important;font-size:11px!important;letter-spacing:.03em!important;min-width:0!important}
html body:not(#zz) .nav .wrap,html body:not(#zz) .nav>div{gap:8px!important}
html body:not(#zz) .nav .logo,html body:not(#zz) .nav .brand{letter-spacing:.06em!important;font-size:14px!important}}
/* Sweep fixes 10/21 */
html body:not(#zz) article.detail.nf{display:block!important;max-width:720px!important}
html body:not(#zz) article.detail.nf>*{max-width:none!important;width:auto!important}
html body:not(#zz) main.wrap.tiers>.t-foot{grid-column:1/-1!important;max-width:720px;width:auto!important}
html body:not(#zz) section.battle.ap-battle>.bt-in{grid-column:1/-1!important}
@media (max-width:700px){html body:not(#zz) section.battle.ap-battle{grid-template-columns:1fr!important}html body:not(#zz) section.battle .bt-in{grid-template-columns:1fr!important}html body:not(#zz) section.battle .bt-copy{width:auto!important;min-width:0}}
html body:not(#zz) td.qc .meta{white-space:nowrap!important;display:block}
html body:not(#zz) section.battle.ap-battle :is(h2,.bt-chip,.bt-chip *){color:#eef2f7!important}
html body:not(#zz) section.battle.ap-battle .bt-chip{white-space:normal}
html body:not(#zz) section.battle.ap-battle .btn.bt-go{color:#06131a!important;background:#5eead4!important;border-color:#5eead4!important;min-height:44px}
html body:not(#zz) section.battle.ap-battle .bt-chip{display:block!important;width:fit-content;max-width:100%;line-height:1.45}
html body:not(#zz) section.battle.ap-battle .bt-chip i{white-space:nowrap;margin:0 .3em}
/* Signed-in header chip (account.js) */
html body:not(#zz) .nav a[data-signin][hidden]{display:none!important}
html body:not(#zz) .acct{position:relative;display:inline-flex}
html body:not(#zz) .acct-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 4px;border-radius:99px;border:1px solid var(--line,rgba(127,127,127,.35));background:transparent;color:var(--tx,inherit);font:inherit;font-size:13px;cursor:pointer;max-width:220px}
html body:not(#zz) .acct-av{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}
html body:not(#zz) .acct-ini{display:inline-grid;place-items:center;background:color-mix(in srgb,#2dd4bf 30%,transparent);font-weight:700}
html body:not(#zz) .acct-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
html body:not(#zz) .acct-badge{width:18px;height:18px;flex:none}
html body:not(#zz) .acct-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;padding:6px;border-radius:12px;border:1px solid var(--line,rgba(127,127,127,.35));background:var(--bg,#0b0f14);box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:60;display:flex;flex-direction:column}
html[data-theme=light] body:not(#zz) .acct-menu{background:#fff}
html body:not(#zz) .acct-menu[hidden]{display:none}
html body:not(#zz) .acct-item{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:var(--tx,inherit);text-decoration:none;background:none;border:0;font:inherit;font-size:14px;text-align:left;cursor:pointer}
html body:not(#zz) .acct-item:hover,html body:not(#zz) .acct-item:focus-visible{background:color-mix(in srgb,#2dd4bf 16%,transparent)}
@media (max-width:420px){html body:not(#zz) .acct-name{max-width:84px}html body:not(#zz) .acct-btn{padding-right:8px;gap:6px}}
/* sign-up form: age checkbox sits inline with its label, 44px target */
html body:not(#zz) #apsign label.aps-age{display:flex!important;align-items:flex-start;gap:10px;text-align:left;min-height:44px;line-height:1.45;font-weight:500}
html body:not(#zz) #apsign label.aps-age[hidden]{display:none!important}
html body:not(#zz) #apsign label.aps-age input{flex:none;width:20px;height:20px;margin:2px 0 0}
/* Name style picker (settings, tier-change fix) */
html body:not(#zz) .stylepick{margin:28px 0;padding:18px 20px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:14px}
html body:not(#zz) .stylepick h2{margin:0 0 6px}
html body:not(#zz) .stylepick .sp-opts{border:0;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
html body:not(#zz) .stylepick .sp-opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px;border-radius:10px;cursor:pointer}
html body:not(#zz) .stylepick .sp-opt:hover{background:color-mix(in srgb,#2dd4bf 10%,transparent)}
html body:not(#zz) .stylepick .sp-opt input{width:18px;height:18px;margin:0;accent-color:#2dd4bf}
html body:not(#zz) .stylepick .sp-opt .un{font-weight:700}
html body:not(#zz) .stylepick .sp-msg{min-height:1.4em;margin:8px 0 0}
/* Signed-in chip (owner 10/21): avatar | "Signed in as" over badge + styled name. */
html body:not(#zz) .acct-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;min-width:0}
html body:not(#zz) .acct-as{font-size:10.5px;font-weight:500;opacity:.7;letter-spacing:.01em;white-space:nowrap}
html body:not(#zz) .acct-line{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:16ch}
html body:not(#zz) .acct-line .acct-badge{width:18px!important;height:18px!important;object-fit:contain}
html.ap-signed-in body:not(#zz) [data-signin][hidden]{display:none!important}
@media (max-width:480px){html body:not(#zz) .acct-as{display:none}html body:not(#zz) .acct-line{max-width:11ch}html body:not(#zz) .acct-btn{padding-right:10px}}
html body:not(#zz):not(#zy) .acct .acct-badge{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;padding:0!important;margin:0!important;border:0!important;box-sizing:border-box!important;object-fit:contain}
/* Home live chat (owner 10/21): real recent messages in fixed columns avatar | time | badge | name; message under the name. */
html body:not(#zz) .hchat .hc-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}
html body:not(#zz) .hchat .hc-list[hidden],html body:not(#zz) .hchat .hc-empty[hidden],html body:not(#zz) .who-list[hidden]{display:none}
html body:not(#zz) .hchat .hc-row{display:grid;grid-template-columns:28px 4.6em 18px minmax(0,1fr);column-gap:8px;row-gap:2px;align-items:center;margin:0;padding:0}
html body:not(#zz) .hchat .hc-av{grid-column:1;grid-row:1 / span 2;align-self:start;width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;font-size:13px;background:color-mix(in srgb,#2dd4bf 22%,transparent);color:var(--tx);object-fit:cover}
html body:not(#zz) .hchat .hc-t{grid-column:2;grid-row:1;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--mu);margin:0}
html body:not(#zz) .hchat .hc-bslot{grid-column:3;grid-row:1;width:18px;height:18px;display:grid;place-items:center}
html body:not(#zz) .hc-badge{width:18px!important;height:18px!important;min-width:18px;max-width:18px;object-fit:contain;display:block;margin:0!important;padding:0!important;border:0!important}
html body:not(#zz) .hchat .hc-nm{grid-column:4;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
html body:not(#zz) .hchat .hc-msg{grid-column:4;grid-row:2;min-width:0;overflow-wrap:anywhere;margin:0}
html body:not(#zz) .hchat .hc-empty{margin:0 0 14px}
@media (max-width:480px){html body:not(#zz) .hchat .hc-row{grid-template-columns:26px 4.2em 18px minmax(0,1fr);column-gap:6px}html body:not(#zz) .hchat .hc-av{width:26px;height:26px}html body:not(#zz) .hchat .hc-t{font-size:11px}}
/* Who's online pills: avatar + badge + handle, all the same height. */
html body:not(#zz) .who-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
html body:not(#zz) .who-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 3px;border-radius:99px;border:1px solid var(--line);background:color-mix(in srgb,var(--tx) 4%,transparent);max-width:100%}
html body:not(#zz) .who-av{width:26px;height:26px;border-radius:50%;flex:none;display:inline-grid;place-items:center;font-weight:700;font-size:12px;background:color-mix(in srgb,#2dd4bf 22%,transparent);color:var(--tx);object-fit:cover}
html body:not(#zz) .who-pill .hc-badge{flex:none}
html body:not(#zz) .who-nm{font-weight:650;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14ch}
html body.v-d:not(#zz) aside.who{display:block;margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px}html body.v-d:not(#zz) aside.who .wh{margin:0 0 2px}html body.v-d:not(#zz) aside.who #who-meta{margin:0}
/* Owner 10/21: same faint green divider on the home Live chat card */
html body:not(#zz) .hchat .hc-list{gap:0}
html body:not(#zz) .hchat .hc-row{padding:7px 0}
html body:not(#zz) .hchat .hc-row+.hc-row{border-top:1px solid rgba(184,212,46,.10)}
html[data-theme=light] body:not(#zz) .hchat .hc-row+.hc-row{border-top-color:rgba(63,88,0,.16)}
/* Owner 10/21: legacy signed-in bar removed; the header chip (account.js) with its menu is the only signed-in UI. */
html body:not(#zz) .fuser{display:none!important}

.v-d .ncard.nfull .ds{-webkit-line-clamp:unset;display:block;overflow:visible}.v-d .ncard .src a{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;margin:0}
/* polish2-1027: QC audit 10/27 accessibility + tap-size fixes (items 1-5, 7, 8) */
html body .chip.on>span,html body a.chip.on>span,html body button.chip.on>span{color:inherit!important}
html[data-theme=dark] body a.btn.fbtn,html[data-theme=dark] body .v-d a.btn.fbtn{color:rgb(11,13,5)!important;-webkit-text-fill-color:rgb(11,13,5)!important}
html body .btn,html body.v-d .btn,html body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),html body select,html body .chip,html body.v-d .chip,html body .seg button,html body.v-d .seg button,html body.v-d .chn,html body .pa .btn{min-height:44px!important;box-sizing:border-box}
html body .chip:not([hidden]),html body .seg button:not([hidden]){display:inline-flex;align-items:center;justify-content:center}
html body .meta a,html body .kick a,html body .crumb a,html body .sh a{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;margin-top:0;margin-bottom:0}
/* combo-1027: wrapping quick links and a.meta get full 44px boxes, no negative margins */
html body .qt{row-gap:0}html body .qt a{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;margin:0}
html body a.meta{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle}
html body summary{min-height:44px;padding-top:13px;padding-bottom:13px;margin-top:-13px;margin-bottom:-13px;box-sizing:border-box}
html body.v-d .ncard .ds,html body.v-d .ncard.big .ds,html body.v-d .play .ds,html body.v-d .dt .ds{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}
:focus-visible{outline:2px solid var(--acc,#b8d42e)!important;outline-offset:2px}
html[data-theme=light] :focus-visible{outline-color:var(--acc,#3f5800)!important}
html body.v-d .ngrid:has(>.ncard.nfull){align-items:start}html body.v-d .ngrid:has(>.ncard.nfull)>.ncard{height:auto}
