.w-full {width:100%}.h-full {height:100%}.object-cover{object-fit:cover}.hidden {display:none}.flex {display:flex}.grid {display:grid}.block {display:block}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1 {gap:.25rem}.gap-2 {gap:.5rem}.gap-3 {gap:.75rem}.gap-4 {gap:1rem}.text-center{text-align:center}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes lx-beam-1 {0%,100%{opacity:.18;transform:rotate(-35deg) scaleY(1)}50%{opacity:.28;transform:rotate(-35deg) scaleY(1.08)}}@keyframes lx-beam-2 {0%,100%{opacity:.12;transform:rotate(20deg) scaleY(1)}50%{opacity:.22;transform:rotate(20deg) scaleY(1.06)}}@keyframes lx-beam-3 {0%,100%{opacity:.09;transform:rotate(-55deg) scaleY(1)}50%{opacity:.16;transform:rotate(-55deg) scaleY(1.1)}}@keyframes lx-float-a{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(12px,-18px) rotate(4deg)}66%{transform:translate(-8px,10px) rotate(-3deg)}}@keyframes lx-float-b{0%,100%{transform:translate(0,0) rotate(0deg)}40%{transform:translate(-14px,12px) rotate(-5deg)}80%{transform:translate(9px,-8px) rotate(3deg)}}@keyframes lx-float-c{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,14px)}}@keyframes lx-float-d{0%,100%{transform:translate(0,0) rotate(0deg)}60%{transform:translate(-10px,-12px) rotate(6deg)}}@keyframes lx-float-e{0%,100%{transform:translate(0,0)}45%{transform:translate(14px,-10px)}}@keyframes lx-float-f{0%,100%{transform:translate(0,0) rotate(0deg)}55%{transform:translate(-12px,8px) rotate(-4deg)}}@keyframes lx-chip-a {0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(-6px);opacity:1}}@keyframes lx-chip-b {0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(5px);opacity:.95}}@keyframes lx-chip-c {0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-8px);opacity:1}}@keyframes lx-live {0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.7)}60%{box-shadow:0 0 0 5px rgba(var(--accent-rgb),0)}}@keyframes lx-topbar {0%{left:-100%}100%{left:100%}}@keyframes lx-ticker {from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes lx-in-up {from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes lx-in-card{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lx-sweep {0%{left:-80%}100%{left:130%}}@keyframes lx-glow-pulse{0%,100%{opacity:.5}50%{opacity:.85}}.lx-stage{position:relative;height:100dvh;max-height:100dvh;overflow:hidden;background:#06060f;display:flex;flex-direction:column}.lx-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.lx-bg__noise{position:absolute;inset:0;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-size:180px;opacity:.4}.lx-bg__beam{position:absolute;width:3px;height:120vh;background:linear-gradient(to bottom, transparent, rgba(var(--accent-rgb),.35) 40%, rgba(var(--accent-rgb),.18) 70%, transparent);filter:blur(3px);transform-origin:top center;pointer-events:none}.lx-bg__beam--1{left:18%;top:-10%;animation:lx-beam-1 9s ease-in-out infinite}.lx-bg__beam--2{left:65%;top:-15%;animation:lx-beam-2 12s ease-in-out infinite 1s}.lx-bg__beam--3{left:42%;top:-5%;animation:lx-beam-3 15s ease-in-out infinite 3s}.lx-bg::before,.lx-bg::after{content:'';position:absolute;border-radius:50%;pointer-events:none;filter:blur(90px);animation:lx-glow-pulse 7s ease-in-out infinite}.lx-bg::before{width:650px;height:650px;top:-20%;left:-15%;background:radial-gradient(ellipse, rgba(var(--accent-rgb),.22) 0%, transparent 65%)}.lx-bg::after{width:500px;height:500px;bottom:-15%;right:-10%;background:radial-gradient(ellipse, rgba(99,102,241,.16) 0%, transparent 65%);animation-delay:3.5s}.lx-orb{position:absolute;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 20px rgba(0,0,0,.35),0 0 12px rgba(var(--accent-rgb),.08);z-index:2}.lx-orb img{opacity:.75}.lx-orb--1{top:14%;left:8%;animation:lx-float-a 16s ease-in-out infinite}.lx-orb--2{top:22%;right:12%;animation:lx-float-b 19s ease-in-out infinite 1.5s}.lx-orb--3{top:62%;left:6%;animation:lx-float-c 14s ease-in-out infinite 0.8s}.lx-orb--4{top:72%;right:8%;animation:lx-float-d 17s ease-in-out infinite 2s}.lx-orb--5{top:42%;left:4%;animation:lx-float-e 21s ease-in-out infinite 0.3s}.lx-orb--6{top:55%;right:5%;animation:lx-float-f 18s ease-in-out infinite 1s}.lx-orb--7{top:85%;left:18%;animation:lx-float-b 20s ease-in-out infinite 0.5s}.lx-orb--8{top:32%;right:4%;animation:lx-float-c 15s ease-in-out infinite 2.5s}.lx-orb--9{top:78%;right:16%;animation:lx-float-e 22s ease-in-out infinite 1.2s}@media (max-width: 700px){.lx-orb{display:none}}.lx-chip{position:absolute;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;color:rgba(var(--accent-rgb),.9);background:rgba(var(--accent-rgb),.07);border:1px solid rgba(var(--accent-rgb),.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2;pointer-events:none;white-space:nowrap}.lx-chip__dot{width:5px;height:5px;border-radius:50%;background:rgba(var(--accent-rgb),1);box-shadow:0 0 6px rgba(var(--accent-rgb),.8);flex-shrink:0;animation:lx-live 2s ease infinite}.lx-chip--1{top:20%;left:18%;animation:lx-chip-a 7s ease-in-out infinite}.lx-chip--2{top:38%;right:20%;animation:lx-chip-b 9s ease-in-out infinite 1s}.lx-chip--3{top:68%;left:22%;animation:lx-chip-c 8s ease-in-out infinite 2s}@media (max-width: 700px){.lx-chip{display:none}}.lx-center{position:relative;z-index:10;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1.5rem 1rem;overflow:hidden}.lx-hero{text-align:center;flex-shrink:0;animation:lx-in-up .6s cubic-bezier(.22,1,.36,1) both}.lx-hero__badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.62rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--accent-rgb),.8);padding:.28rem .75rem;border-radius:999px;background:rgba(var(--accent-rgb),.07);border:1px solid rgba(var(--accent-rgb),.2);margin-bottom:1rem}.lx-hero__badge-dot{width:5px;height:5px;border-radius:50%;background:rgba(var(--accent-rgb),1);box-shadow:0 0 6px rgba(var(--accent-rgb),1);flex-shrink:0;animation:lx-live 2.4s ease infinite}.lx-hero__title{font-size:clamp(1.5rem, 3.5vw + .5dvh, 3.2rem);font-weight:900;letter-spacing:-.05em;line-height:1.05;margin:0;color:#e8e8f5}.lx-hero__title--glow{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 18px rgba(var(--accent-rgb),.4))}.lx-card{position:relative;width:100%;max-width:400px;flex-shrink:0;border-radius:1.25rem;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.042);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.1),0 24px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);padding:1.5rem 1.75rem 1.25rem;display:flex;flex-direction:column;gap:.85rem;overflow:hidden;animation:lx-in-card .7s .1s cubic-bezier(.22,1,.36,1) both}.lx-card__topbar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),.7) 50%, transparent);overflow:hidden}.lx-card__topbar-fill{position:absolute;top:0;bottom:0;width:60%;background:rgba(var(--accent-rgb),.9);animation:lx-topbar 2.5s ease-in-out infinite;filter:blur(1px)}.lx-card__head{display:flex;align-items:center;gap:.5rem;padding-top:.25rem}.lx-card__brand{display:flex;align-items:center;gap:.55rem}.lx-card__brand-icon{width:30px;height:30px;border-radius:.45rem;overflow:hidden;box-shadow:0 0 12px rgba(var(--accent-rgb),.4);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04)}.lx-card__brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.lx-card__brand-name{font-size:.92rem;font-weight:900;letter-spacing:-.03em;color:#ddddf0}.lx-card__live{margin-left:auto;display:inline-flex;align-items:center;gap:.28rem;font-size:.58rem;font-weight:800;letter-spacing:.1em;color:rgba(var(--accent-rgb),1);padding:.14rem .48rem;border-radius:999px;background:rgba(var(--accent-rgb),.09);border:1px solid rgba(var(--accent-rgb),.25)}.lx-card__live-dot{width:5px;height:5px;border-radius:50%;background:rgba(var(--accent-rgb),1);animation:lx-live 1.8s ease infinite;flex-shrink:0}.lx-card__title{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;margin:0;color:#e0e0f0}.lx-card__sub{font-size:.8rem;color:#7878a8;margin:-.5rem 0 0;line-height:1.55}.lx-btn{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.25rem;background:#fff;border:1.5px solid rgba(var(--accent-rgb),.35);border-radius:.875rem;font-size:.88rem;font-weight:700;color:#111;cursor:pointer;transition:transform .13s,box-shadow .15s,border-color .15s;box-shadow:0 2px 14px rgba(0,0,0,.3);font-family:inherit}.lx-btn:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.7);box-shadow:0 0 22px rgba(var(--accent-rgb),.22),0 4px 20px rgba(0,0,0,.35)}.lx-btn:active{transform:none}.lx-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.lx-btn__sweep{position:absolute;top:0;bottom:0;width:55px;background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);transform:skewX(-18deg);pointer-events:none;animation:lx-sweep 3.2s ease-in-out infinite}.lx-btn__gicon{flex-shrink:0}.lx-error{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem .85rem;background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.22);border-radius:.625rem;font-size:.75rem;color:#f87171;line-height:1.5}.lx-error svg{flex-shrink:0;margin-top:2px}.lx-card__foot{display:flex;align-items:center;gap:.45rem;font-size:.62rem;color:#55556a;border-top:1px solid rgba(255,255,255,.04);padding-top:.75rem;flex-wrap:wrap}.lx-card__foot a{color:#6868a0;text-decoration:none;transition:color .12s}.lx-card__foot a:hover{color:rgba(var(--accent-rgb),.9)}.lx-features{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center;flex-shrink:0;animation:lx-in-up .7s .25s cubic-bezier(.22,1,.36,1) both}@media (max-height: 680px){.lx-features{display:none}}@media (max-height: 780px){.lx-hero{display:none}}.lx-feat{display:flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:600;color:#6868a0}.lx-feat__icon{width:22px;height:22px;border-radius:.35rem;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);flex-shrink:0}.lx-feat__icon img{opacity:.7}.lx-feat__sep{width:1px;height:14px;background:rgba(255,255,255,.06);flex-shrink:0}.lx-ticker{position:relative;z-index:10;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.015);flex-shrink:0;padding:.5rem 0;mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%)}.lx-ticker__track{display:flex;align-items:center;gap:1.25rem;white-space:nowrap;width:100%;justify-content:center;font-size:.62rem;font-weight:700;letter-spacing:.14em;color:#5a5a80}.lx-ticker__track span:not(.lx-ticker__dot){opacity:1}.lx-ticker__dot{display:inline-block;width:3px;height:3px;border-radius:50%;background:rgba(var(--accent-rgb),.5);flex-shrink:0}.spinner--dark{border-color:rgba(0,0,0,.12);border-top-color:#555}@keyframes spin {to{transform:rotate(360deg)}}@keyframes fadeUp {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fadeIn {from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideInRight{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.3)}50%{box-shadow:0 0 12px 2px rgba(var(--accent-rgb),.15)}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent-light);border-radius:50%;animation:spin .6s linear infinite;display:inline-block;flex-shrink:0;will-change:transform}#toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.4rem;pointer-events:none}.toast{pointer-events:all;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.8rem;font-family:inherit;font-weight:500;animation:toastIn .18s cubic-bezier(.22,1,.36,1);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.toast-success{border-color:rgba(52,211,153,.4);color:#34d399;background:rgba(10,26,20,.95)}.toast-error {border-color:rgba(248,113,113,.4);color:#fca5a5;background:rgba(28,12,12,.95)}.skeleton{background:linear-gradient(90deg, rgba(255,255,255,.04) 25%, rgba(255,255,255,.09) 50%, rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.page-enter{animation:fadeIn .1s cubic-bezier(.22,1,.36,1) both}.card-enter{animation:scaleIn .14s cubic-bezier(.22,1,.36,1) both}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.15);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.28)}*{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.15) transparent}:focus-visible{outline:2px solid rgba(var(--accent-rgb),.4);outline-offset:2px;border-radius:var(--radius-sm)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:transparent;position:relative;z-index:1}.app-shell.auth-pending{visibility:hidden}.app-header{display:flex;align-items:center;gap:.75rem;height:52px;padding:0 1rem;flex-shrink:0;background:var(--background, #0f0f14);border-bottom:1px solid var(--border);position:relative;z-index:20}.app-header-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.app-header-brand img{width:24px;height:24px}.app-header-brand-name{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.app-header-badge{font-size:.6rem;font-weight:600;padding:.12rem .4rem;border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;background:rgba(var(--accent-rgb),.14);color:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.25)}.app-header-spacer{flex:1}.header-premium-cta{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;padding:.2rem .65rem;border-radius:99px;background:rgba(var(--accent-rgb),.12);color:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.28);text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);will-change:transform}.header-premium-cta:hover{background:rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.45);box-shadow:0 0 12px rgba(var(--accent-rgb),.2);transform:translateY(-1px)}.header-premium-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;padding:.2rem .65rem;border-radius:99px;background:rgba(var(--accent-rgb),.12);color:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.25);box-shadow:0 0 8px rgba(var(--accent-rgb),.12)}.app-header-user{display:flex;align-items:center;gap:.5rem}.app-header-username{font-size:.78rem;color:var(--text-muted);display:none;font-weight:500}@media (min-width: 640px){.app-header-username{display:block}}.app-header-avatar{width:30px;height:30px;border-radius:50%;background:rgba(var(--accent-rgb),.15);border:1.5px solid rgba(var(--accent-rgb),.3);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--accent-light);overflow:hidden;flex-shrink:0;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.app-header-avatar:hover{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 8px rgba(var(--accent-rgb),.2)}.btn-menu{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:transparent;border:none;cursor:pointer;color:var(--text-dim);transition:background var(--t-fast),color var(--t-fast)}.btn-menu:hover{background:var(--bg-hover);color:var(--text-muted)}@media (min-width: 768px){.btn-menu{display:none}}.app-body{display:flex;flex:1;overflow:hidden}.app-sidebar{width:220px;flex-shrink:0;display:none;flex-direction:column;padding:.75rem 0;background:rgba(var(--bg-rgb), .6);border-right:1px solid var(--border);overflow:visible;transition:width .22s cubic-bezier(.4,0,.2,1);will-change:width}@media (min-width: 768px){.app-sidebar{display:flex}}.app-sidebar.collapsed{width:56px;overflow-x:visible}.app-sidebar.collapsed .sidebar-label,.app-sidebar.collapsed .sidebar-user-info,.app-sidebar.collapsed .sidebar-premium-badge{display:none}.app-sidebar.collapsed .sidebar-nav{padding:0 .35rem}.app-sidebar.collapsed .sidebar-link{justify-content:center;padding:.55rem;gap:0}.app-sidebar.collapsed .sidebar-link svg{opacity:.75}.app-sidebar.collapsed .sidebar-link::before{display:none}.app-sidebar.collapsed .sidebar-footer-row{justify-content:center;padding:0 .35rem .75rem;gap:.15rem;flex-wrap:wrap}.app-sidebar.collapsed .sidebar-collapse-toggle{margin:auto}.app-sidebar.collapsed .sidebar-user-section{justify-content:center;padding:.75rem .35rem}.app-sidebar.collapsed .sidebar-user-avatar-wrapper{margin:0 auto}.app-sidebar.collapsed .sidebar-signout-text{display:none}.sidebar-footer{overflow:visible}.sidebar-user-section{display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem 1rem;border-bottom:1px solid var(--border-subtle);margin-bottom:.5rem}.sidebar-user-avatar{width:40px;height:40px;border-radius:50%;background:rgba(var(--accent-rgb),.15);border:1.5px solid rgba(var(--accent-rgb),.3);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.68rem;color:var(--text-dim);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:.25rem 1rem .5rem}.sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:0 .5rem;flex:1;overflow-y:auto;overflow-x:visible}.sidebar-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-muted);text-decoration:none;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast);position:relative}.sidebar-link:hover{background:var(--bg-hover);color:var(--text)}.sidebar-link.active{background:rgba(var(--accent-rgb),.12);color:var(--accent-light);font-weight:600}.sidebar-link.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--accent-light);border-radius:0 3px 3px 0;box-shadow:0 0 8px rgba(var(--accent-rgb),.4)}.sidebar-link svg{flex-shrink:0;opacity:.6}.sidebar-link:hover svg{opacity:.85}.sidebar-link.active svg{opacity:1;color:var(--accent-light)}.sidebar-link .badge-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;margin-left:auto;flex-shrink:0;box-shadow:0 0 6px rgba(239,68,68,.6)}.sidebar-footer{margin-top:auto;padding:.5rem .5rem 0;border-top:1px solid var(--border-subtle);overflow:visible;flex-shrink:0}.app-main{flex:1;overflow-y:auto;padding:1.25rem 1.1rem}@media (min-width: 480px) {.app-main{padding:1.5rem 1.25rem}}@media (min-width: 768px) {.app-main{padding:1.75rem 1.75rem}}@media (min-width: 1280px){.app-main{padding:2rem 2.5rem}}.app-main-inner{max-width:none;width:100%;padding-top:0.5rem}.dash-layout{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 1100px){.dash-layout{flex-direction:row;align-items:start;gap:1.5rem}.dash-col-main{flex:1;min-width:0;order:1}.dash-col-side {width:280px;flex-shrink:0;order:2;position:sticky;top:1.5rem}}@keyframes toast-in{from{opacity:0;transform:translateX(1rem)}to {opacity:1;transform:translateX(0)}}.dash-2col{display:flex;flex-direction:column;gap:2.5rem}@media (min-width: 1024px){.dash-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:1.5rem;align-items:start}}.page-title{font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.025em;line-height:1.2}.page-subtitle{font-size:.8rem;color:var(--text-dim);margin-top:.25rem;line-height:1.5}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;transition:border-color var(--t-fast),box-shadow 0.2s cubic-bezier(.22,1,.36,1)}.card:hover{border-color:rgba(255,255,255,.15);box-shadow:0 2px 16px rgba(0,0,0,.25)}.card-accent{background:rgba(var(--accent-rgb),.06);border-color:rgba(var(--accent-rgb),.18)}.card-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.75rem}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),box-shadow 0.18s cubic-bezier(.22,1,.36,1),transform 0.15s cubic-bezier(.22,1,.36,1),filter var(--t-fast);font-family:inherit;text-decoration:none;line-height:1.4;will-change:transform}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 12px rgba(var(--accent-rgb),.35)}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 3px 18px rgba(var(--accent-rgb),.45);transform:translateY(-1px)}.btn-primary:active{transform:none;filter:brightness(.95)}.btn-ghost{background:var(--bg-elevated);color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text);border-color:rgba(255,255,255,.15)}.btn-danger{background:rgba(239,68,68,.08);color:#f87171;border-color:rgba(239,68,68,.15)}.btn-danger:hover{background:rgba(239,68,68,.12)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none !important;pointer-events:none}.badge{display:inline-flex;align-items:center;font-size:.67rem;font-weight:600;padding:.12rem .45rem;border-radius:99px;line-height:1.4}.badge-purple {background:rgba(139,92,246,.14);color:#c4b5fd;border:1px solid rgba(139,92,246,.28)}.badge-green {background:rgba(52,211,153,.12);color:#6ee7b7;border:1px solid rgba(52,211,153,.25)}.badge-yellow {background:rgba(251,191,36,.12);color:#fde68a;border:1px solid rgba(251,191,36,.25)}.badge-red {background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.badge-muted {background:rgba(255,255,255,.06);color:var(--text-muted);border:1px solid var(--border)}.badge-accent {background:rgba(var(--accent-rgb),.14);color:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.28)}.form-input,.form-select,.form-textarea{width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .8rem;font-size:.82rem;color:var(--text);font-family:inherit;outline:none;transition:border-color 0.15s cubic-bezier(.22,1,.36,1),box-shadow 0.15s cubic-bezier(.22,1,.36,1)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-dim)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.form-textarea{resize:vertical}.form-label{display:block;font-size:.72rem;font-weight:600;color:var(--text-dim);margin-bottom:.35rem;letter-spacing:.03em}.form-select option{background:var(--bg-card)}.divider{height:1px;background:var(--border-subtle);margin:1.15rem 0}.sidebar-overlay{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none}.sidebar-overlay.open{display:block;animation:fadeIn .1s cubic-bezier(.22,1,.36,1) both}.app-sidebar-mobile{position:fixed;top:0;bottom:0;left:0;width:240px;z-index:40;display:flex;flex-direction:column;padding:.75rem 0;background:var(--bg);border-right:1px solid var(--border-subtle);transform:translateX(-100%);transition:transform 0.22s cubic-bezier(.22,1,.36,1);overflow-x:hidden;overflow-y:auto;will-change:transform}.app-sidebar-mobile.open{transform:translateX(0)}@media (min-width: 768px){.app-sidebar-mobile,.sidebar-overlay{display:none !important}}[data-sidebar-support]{position:relative}[data-badge]{display:inline-flex !important;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:99px;font-size:.6rem;font-weight:700;background:#ef4444;color:#fff;margin-left:auto;box-shadow:0 0 6px rgba(239,68,68,.4)}.section-label{display:flex;align-items:center;gap:.45rem;font-size:.65rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.65rem}.section-label-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.section-label-dot.jelly{background:#a78bfa;box-shadow:0 0 8px rgba(167,139,250,.6)}.section-label-dot.emby {background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.6)}.session-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .9rem;transition:border-color var(--t-fast),box-shadow 0.2s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:.5rem}.session-card:hover{border-color:rgba(255,255,255,.18);box-shadow:0 2px 12px rgba(0,0,0,.2)}.session-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.session-card-title{font-size:.83rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-card-sub{font-size:.7rem;color:var(--text-dim);margin-top:.1rem}.session-badge{font-size:.62rem;font-weight:700;padding:.15rem .5rem;border-radius:99px;flex-shrink:0;letter-spacing:.02em}.session-badge-playing{background:rgba(var(--accent-rgb),.15);color:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.3);box-shadow:0 0 6px rgba(var(--accent-rgb),.15)}.session-badge-paused{background:rgba(255,255,255,.06);color:var(--text-muted);border:1px solid var(--border)}.session-progress{height:2px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}.session-progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg, var(--accent), var(--accent-light));transition:width .4s ease}.session-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-meta-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.67rem;color:var(--text-muted);background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.12rem .4rem}.carousel-section{position:relative}.carousel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.carousel-header-left{display:flex;align-items:center;gap:.45rem}.carousel-nav-group{display:flex;gap:.35rem}.carousel-nav-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow 0.18s cubic-bezier(.22,1,.36,1);flex-shrink:0}.carousel-nav-btn:hover{background:rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.35);color:var(--accent-light);box-shadow:0 0 10px rgba(var(--accent-rgb),.15)}.carousel-nav-btn:disabled,.carousel-nav-btn[data-disabled="true"]{opacity:.3;cursor:default;pointer-events:none}.carousel-wrapper{position:relative;overflow:hidden;margin:0 -1rem;padding:0 1rem}@media (min-width: 768px){.carousel-wrapper{margin:0 -1.5rem;padding:0 1.5rem}}@media (min-width: 1280px){.carousel-wrapper{margin:0 -2rem;padding:0 2rem}}.carousel-track{display:flex;gap:.65rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem;scroll-behavior:smooth}.carousel-track::-webkit-scrollbar{display:none}.carousel-item{flex-shrink:0;width:130px;scroll-snap-align:start;cursor:pointer;position:relative}@media (min-width: 480px){.carousel-item{width:140px}}@media (min-width: 768px){.carousel-item{width:150px}}@media (min-width: 1280px){.carousel-item{width:160px}}.carousel-poster{aspect-ratio:2/3;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform 0.18s cubic-bezier(.22,1,.36,1),border-color var(--t-fast),box-shadow 0.18s cubic-bezier(.22,1,.36,1);will-change:transform}.carousel-item:hover .carousel-poster{transform:translateY(-5px) scale(1.02);border-color:rgba(var(--accent-rgb),.5);box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 0 1px rgba(var(--accent-rgb),.18),0 0 20px rgba(var(--accent-rgb),.1)}.carousel-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.25s cubic-bezier(.22,1,.36,1)}.carousel-item:hover .carousel-poster img{transform:scale(1.04)}.carousel-poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-dim)}.carousel-poster-overlay{position:absolute;inset:0;background:linear-gradient( to bottom, transparent 45%, rgba(0,0,0,.55) 75%, rgba(0,0,0,.82) 100% );pointer-events:none}.carousel-poster-info{position:absolute;bottom:0;left:0;right:0;padding:.5rem .5rem .45rem;pointer-events:none}.carousel-poster-title{font-size:.72rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.6)}.carousel-poster-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.22rem;gap:.25rem}.carousel-poster-year{font-size:.62rem;color:rgba(255,255,255,.65);font-weight:500}.carousel-poster-ep{font-size:.6rem;font-weight:700;color:var(--accent-light);letter-spacing:.02em}.carousel-type-badge{position:absolute;top:.45rem;right:.45rem;font-size:.58rem;font-weight:700;padding:.18rem .42rem;border-radius:5px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(var(--accent-rgb),.75);color:#fff;letter-spacing:.03em;text-transform:uppercase;border:1px solid rgba(var(--accent-rgb),.5);box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:2}.carousel-type-badge.type-movie{background:rgba(59,130,246,.8);border-color:rgba(59,130,246,.5)}.carousel-type-badge.type-episode{background:rgba(139,92,246,.8);border-color:rgba(139,92,246,.5)}.carousel-type-badge.type-series{background:rgba(16,185,129,.8);border-color:rgba(16,185,129,.5)}.carousel-type-badge.type-music{background:rgba(245,158,11,.8);border-color:rgba(245,158,11,.5)}.skeleton-poster{aspect-ratio:2/3;border-radius:var(--radius)}.skeleton-line {height:.55rem;border-radius:4px;margin-top:.35rem}.skeleton-line-sm{height:.45rem;border-radius:4px;margin-top:.2rem;width:60%}.msg-row{display:flex;gap:.65rem;align-items:flex-start}.msg-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.msg-avatar-support{background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);color:var(--accent-light)}.msg-avatar-user{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim)}.msg-bubble{flex:1;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:4px var(--radius) var(--radius) var(--radius);padding:.65rem .9rem}.msg-bubble-support{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.18);border-radius:var(--radius) 4px var(--radius) var(--radius)}.msg-meta{font-size:.7rem;color:var(--text-dim);margin-bottom:.25rem}.msg-meta strong{color:var(--text-muted);font-weight:600}.msg-body{font-size:.82rem;color:var(--text);line-height:1.6;white-space:pre-wrap}.loading-overlay{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;background:rgba(var(--bg-rgb), .8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes pageFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.app-main > *,.app-main-inner > *{animation:pageFadeIn 80ms cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion: reduce){.app-main > *,.app-main-inner > *{animation:none}}@keyframes fadeIn{from{opacity:0}to {opacity:1}}@keyframes fadeOut{from{opacity:1}to {opacity:0}}.list-item,.data-row,.user-card,.device-row,.task-row,.plugin-card,.library-card,.episode-row,.track-row{content-visibility:auto;contain-intrinsic-size:auto 80px}.media-card,.recently-added-card{content-visibility:auto;contain-intrinsic-size:auto 220px}.lazy-img{opacity:0;transition:opacity 240ms cubic-bezier(.22, 1, .36, 1);background:linear-gradient( 110deg, hsla(var(--border), .35) 25%, hsla(var(--border), .55) 50%, hsla(var(--border), .35) 75% );background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}.lazy-img.loaded{opacity:1;background:none;animation:none}@keyframes shimmer{0% {background-position:200% 0}100%{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.lazy-img{transition:opacity 80ms linear;animation:none}}