.lgrid{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;will-change:scroll-position;padding:8px 2px 18px;scrollbar-width:none}.lgrid::-webkit-scrollbar{display:none}@media(hover:hover)and (pointer:fine){.lgrid{cursor:grab}}.lgrid.dragging{cursor:grabbing;user-select:none}.lgrid>.ltile{flex:0 0 clamp(240px,31%,300px);scroll-snap-align:start}.lnav{display:flex;gap:8px;flex:0 0 auto}.lnav.lnav-hidden{display:none}.lnav-btn{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;background:var(--bg2);color:var(--fg);border:1px solid var(--rule-strong);font-family:var(--font-mono);font-size:1.15rem;line-height:1;padding:0;transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease)}.lnav-btn:hover:not(:disabled){border-color:var(--accB);color:var(--accB);transform:translateY(-2px)}html[data-theme=light] .lnav-btn:hover:not(:disabled){border-color:var(--fg);box-shadow:3px 3px 0 var(--accB)}.lnav-btn:disabled{opacity:.28;cursor:default}.ltile{position:relative;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--rule-strong);background:var(--bg2);transition:transform .26s var(--ease),border-color .26s var(--ease),box-shadow .26s var(--ease);outline:none}.ltile:hover,.ltile:focus-visible{transform:translateY(-6px) scale(1.025);border-color:var(--accB);box-shadow:0 18px 40px -22px #000000b3,0 0 0 1px var(--accB) inset;z-index:2}html[data-theme=light] .ltile:hover,html[data-theme=light] .ltile:focus-visible{border-color:var(--fg);box-shadow:7px 7px 0 var(--accB)}.lscreen{position:relative;aspect-ratio:1 / 1;overflow:hidden;display:grid;place-items:center;background:radial-gradient(120% 120% at 50% 32%,#1b1813,#0c0b09 72%);transform:translateZ(0);contain:paint}.lscreen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);opacity:.4}.lglyph{position:relative;width:46%;height:46%}.lp{position:absolute;inset:0;-webkit-mask:var(--m) center / contain no-repeat;mask:var(--m) center / contain no-repeat}.lp.base{background:#efe7d4}.lp.m{background:#ff1f8c;mix-blend-mode:screen;transform:translate(1.6px)}.lp.c{background:#2bd4ff;mix-blend-mode:screen;transform:translate(-1.6px)}.ltile.cut .lglyph{animation:lcut-shake .46s steps(2) both}.ltile.cut .lp.m{animation:lcut-m .46s steps(1) both}.ltile.cut .lp.c{animation:lcut-c .46s steps(1) both}.ltile.cut .lp.base{animation:lcut-b .46s steps(1) both}@keyframes lcut-shake{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px) scale(1.05)}60%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes lcut-m{0%{transform:translate(1.6px);clip-path:inset(0)}18%{transform:translate(13px);clip-path:inset(28% 0 40% 0)}40%{transform:translate(-9px);clip-path:inset(60% 0 8% 0)}60%{transform:translate(6px);clip-path:inset(10% 0 70% 0)}to{transform:translate(1.6px);clip-path:inset(0)}}@keyframes lcut-c{0%{transform:translate(-1.6px);clip-path:inset(0)}18%{transform:translate(-13px);clip-path:inset(42% 0 30% 0)}40%{transform:translate(9px);clip-path:inset(6% 0 72% 0)}60%{transform:translate(-6px);clip-path:inset(66% 0 6% 0)}to{transform:translate(-1.6px);clip-path:inset(0)}}@keyframes lcut-b{0%{opacity:1}16%{opacity:.25}30%{opacity:1}46%{opacity:.5}to{opacity:1}}@keyframes lcut-m-l{0%{transform:translate(2px,-1.5px);clip-path:inset(0)}18%{transform:translate(13px,-3px);clip-path:inset(28% 0 40% 0)}40%{transform:translate(-9px,2px);clip-path:inset(60% 0 8% 0)}60%{transform:translate(6px,-2px);clip-path:inset(10% 0 70% 0)}to{transform:translate(2px,-1.5px);clip-path:inset(0)}}@keyframes lcut-c-l{0%{transform:translate(-2px,1.5px);clip-path:inset(0)}18%{transform:translate(-13px,3px);clip-path:inset(42% 0 30% 0)}40%{transform:translate(9px,-2px);clip-path:inset(6% 0 72% 0)}60%{transform:translate(-6px,2px);clip-path:inset(66% 0 6% 0)}to{transform:translate(-2px,1.5px);clip-path:inset(0)}}.ltag{position:absolute;top:10px;left:10px;z-index:3;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#2bd4ff;border:1px solid rgba(43,212,255,.4);padding:3px 7px;background:#05050766}.lcue{position:absolute;bottom:10px;right:12px;z-index:3;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#97a3ba;display:inline-flex;align-items:center;gap:.4em;opacity:.82;transform:translateY(0);transition:opacity .2s var(--ease),transform .18s var(--ease)}.ltile:hover .lcue,.ltile:focus-visible .lcue{opacity:1;transform:translate(2px)}.lcue.is-demo{color:#ff1f8c;opacity:1}.lcue-soon{left:12px;right:auto}.lmeta{padding:13px 14px 16px}.lmeta h3{font-family:var(--font-head);color:var(--fg);font-size:1.18rem;font-weight:600;letter-spacing:.01em;margin:0;transition:text-shadow .2s}.ltile:hover .lmeta h3,.ltile:focus-visible .lmeta h3{text-shadow:.05em 0 var(--accA),-.05em 0 var(--accB)}html[data-theme=light] .ltile:hover .lmeta h3{text-shadow:.04em -.03em 0 var(--accA)}.lmeta .role{font-family:var(--font-mono);font-size:.72rem;color:var(--mut);letter-spacing:.07em;text-transform:uppercase;margin-top:4px}@media(max-width:880px){.lgrid{gap:16px}.lgrid>.ltile{flex-basis:56%}}@media(max-width:520px){.lgrid{gap:12px}.lgrid>.ltile{flex-basis:80%}.lglyph{width:52%;height:52%}}.lnarrative{margin:14px 0 0;max-width:64ch;font-family:var(--font-mono);font-size:.82rem;line-height:1.6;color:var(--mut);letter-spacing:.01em}.lgroup{margin-top:clamp(34px,5vw,56px)}.lgroup-head{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.lgroup-title{font-family:var(--font-head);font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:600;color:var(--fg);margin:0}.lgroup-sub{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;color:var(--mut);margin:4px 0 0}.lglyph-char{font-family:var(--font-head);font-weight:700;font-size:clamp(2.6rem,7vw,3.8rem);line-height:1;color:#6b7488;opacity:.8;user-select:none}.ltile.is-soon{opacity:.9}.ltile.is-soon:hover,.ltile.is-soon:focus-visible{opacity:1}.ltile.is-soon .lglyph-char{transition:color .26s var(--ease),opacity .26s var(--ease)}.ltile.is-soon:hover .lglyph-char{color:#2bd4ff;opacity:1}.lbadge-soon{position:absolute;bottom:10px;right:12px;z-index:3;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accA);border:1px solid color-mix(in srgb,var(--accA) 40%,transparent);padding:3px 7px;background:#05050759}
