/* A quiet cosmic divider and readable glass footer in both drawer states. */
.tv #sidebar:not([hidden]){border-right-color:rgba(157,178,255,.14)}
.tv #sidebar::after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(157,197,255,.28) 24%,rgba(147,111,255,.36) 76%,transparent);pointer-events:none;z-index:2}
.tv .nav-bottom{width:calc(var(--sidebar-width) - 22px);border:1px solid rgba(173,191,255,.23);border-radius:16px;background:rgba(8,16,43,.66);-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15);box-shadow:0 4px 18px rgba(0,0,20,.2),inset 0 1px rgba(225,232,255,.08);transition:width .24s cubic-bezier(.2,.75,.3,1)}
/* The grid keeps its geometry; gutters give the focus halo room to breathe. */
.rail,.tv .rail{position:relative;padding:28px;margin:-28px;scroll-padding-inline:28px}
.grid,.tv .grid{position:relative;padding:28px;margin:-28px}
.tv .section-heading{margin-bottom:24px}
.rail[data-more=true]{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 188px),rgba(0,0,0,.85) calc(100% - 138px),rgba(0,0,0,.4) calc(100% - 73px),transparent calc(100% - 28px));mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 188px),rgba(0,0,0,.85) calc(100% - 138px),rgba(0,0,0,.4) calc(100% - 73px),transparent calc(100% - 28px))}
.card,.tv .card{border-radius:18px;overflow:visible;isolation:isolate;z-index:0;transform:scale(1);transition:transform 180ms ease-out}
.card .poster{border-radius:16px 16px 0 0}
.card::before,.card::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;opacity:0;transition:opacity 180ms ease-out;z-index:6}
.card::after{border:2.5px solid #c8d8ff;box-shadow:0 0 1px 1px #fff,0 0 7px 2px #4169ff,0 0 18px 5px rgba(65,105,255,.6),0 0 25px 7px rgba(99,91,255,.32),inset 0 0 10px rgba(99,140,255,.12)}
@property --neon-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.card::before{inset:-1px;padding:3px;background:conic-gradient(from var(--neon-angle),#4169ff,#c8d8ff 12%,#635bff 30%,#4169ff 52%,#fff 64%,#635bff 80%,#4169ff);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;z-index:7}
.card:is(:hover,:focus,:focus-visible,.is-focused),.tv .card:is(:hover,:focus,:focus-visible,.is-focused){outline:none;border:0;z-index:10;transform:translateY(-4px)}
.card:is(:focus,:focus-visible,.is-focused)::before{opacity:1;animation:neon-orbit 5s linear infinite}
.card:is(:focus,:focus-visible,.is-focused)::after{opacity:1;animation:neon-breathe 3s ease-in-out infinite}
@keyframes neon-orbit{to{--neon-angle:360deg}}
@keyframes neon-breathe{0%,100%{opacity:.82}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.card,.tv .card,.card::before,.card::after,.tv .nav-bottom{transition:none}.card:is(:focus,:focus-visible,.is-focused)::before,.card:is(:focus,:focus-visible,.is-focused)::after{animation:none;opacity:1}}
.card:is(:focus,:focus-visible,.is-focused)::after{border:2.5px solid #c8d8ff}
