.theme-tech-launch-dark { --radius: 16px; --shadow: 0 0 0 1px rgb(255 255 255 / .06), 0 20px 40px -20px rgb(0 0 0 / .8); --cover-bg: var(--bg); --cover-text: var(--text); --guest-bg: rgb(255 255 255 / .05); --aside-bg: var(--bg); --aside-text: var(--text); }
.theme-tech-launch-dark h1, .theme-tech-launch-dark h2 { font-weight: 700; letter-spacing: -.03em; }
.theme-tech-launch-dark .cover h1, .theme-tech-launch-dark .sec-title, .theme-tech-launch-dark .inv-aside h1 { background: linear-gradient(90deg, var(--primary), var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.theme-tech-launch-dark .cover h1 { font-size: 40px; }
.theme-tech-launch-dark .tl-grid { left: -50%; right: -50%; bottom: -10%; height: 55%; transform: perspective(400px) rotateX(62deg); background-image: linear-gradient(color-mix(in srgb, var(--accent) 50%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 50%, transparent) 1px, transparent 1px); background-size: 40px 40px; mask-image: linear-gradient(to top, #000, transparent); animation: gridMove 4s linear infinite; }
@keyframes gridMove { to { background-position: 0 40px; } }
.theme-tech-launch-dark .tl-orb { border-radius: 50%; filter: blur(60px); opacity: .55; }
.theme-tech-launch-dark .tl-orb.a { width: 260px; height: 260px; top: 8%; left: -80px; background: var(--primary); animation: float 8s ease-in-out infinite; }
.theme-tech-launch-dark .tl-orb.b { width: 220px; height: 220px; top: 30%; right: -80px; background: var(--accent); animation: float 10s ease-in-out infinite reverse; }
.theme-tech-launch-dark .tl-orb.s { width: 200px; height: 200px; top: 10%; right: -100px; background: var(--primary); opacity: .25; }
.theme-tech-launch-dark .sec { overflow: hidden; }
.theme-tech-launch-dark .sec-alt { background: var(--surface); }
.theme-tech-launch-dark .card, .theme-tech-launch-dark .wish, .theme-tech-launch-dark .field { background: rgb(255 255 255 / .03); border: 1px solid rgb(255 255 255 / .08); }
.theme-tech-launch-dark .form input, .theme-tech-launch-dark .form select, .theme-tech-launch-dark .form textarea { background: rgb(255 255 255 / .04); }
.theme-tech-launch-dark .btn-open { background: linear-gradient(90deg, var(--primary), var(--accent)); color: #fff; }
.theme-tech-launch-dark .cd { background: rgb(255 255 255 / .04); color: var(--text); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.theme-tech-launch-dark .cd b { color: var(--accent); }
.theme-tech-launch-dark .host-photo { border-radius: 20px; width: 130px; height: 130px; object-fit: contain; background: rgb(255 255 255 / .05); border-color: transparent; box-shadow: 0 0 0 1px var(--primary); }
.theme-tech-launch-dark .host-name { font-size: 24px; color: var(--text); }
.theme-tech-launch-dark .amp { display: none; }
.theme-tech-launch-dark .rundown time { color: var(--accent); font-family: ui-monospace, monospace; }
.theme-tech-launch-dark .gift { background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--accent) 60%, #000)); }
.theme-tech-launch-dark .closing .names { font-family: var(--font-heading); font-weight: 700; font-size: 26px; color: var(--accent); }
.theme-tech-launch-dark .navbar { background: rgb(20 20 30 / .8); }
/* Judul yang dipecah per huruf (efek text_reveal): background-clip:text tidak menembus span per huruf,
   jadi gradien dipasang di tiap huruf dengan posisi bergeser sesuai indeks agar tetap menyambung. */
.theme-tech-launch-dark .split { background: none; color: var(--primary); }
.theme-tech-launch-dark .split .ch { background: linear-gradient(90deg, var(--primary), var(--accent)) calc(var(--i) * -.6em) 0 / 24em 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
