.confirm{place-items:start center;width:100vw;height:100vh;padding-top:28vh;display:grid;position:fixed;inset:0}@media (width>=720px){.confirm{place-items:center;padding-top:0}}.confirm__panel{width:min(440px, calc(100vw - var(--s-5)));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-6);gap:var(--s-4);box-shadow:inset 0 1px 0 var(--frost), 0 30px 60px -28px var(--ink);animation:confirm-in var(--dur-mid) var(--ease);display:grid}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:no-preference){.confirm{transition:overlay .16s var(--ease) allow-discrete, display .16s var(--ease) allow-discrete}.confirm::backdrop{transition:opacity .16s var(--ease);opacity:1}@starting-style{.confirm::backdrop{opacity:0}}.confirm:not([open])::backdrop{opacity:0}.confirm__panel{opacity:1;transition:opacity .16s var(--ease), transform .16s var(--ease);animation:none;transform:translateY(0)scale(1)}@starting-style{.confirm__panel{opacity:0;transform:translateY(8px)scale(.985)}}.confirm:not([open]) .confirm__panel{opacity:0;transform:translateY(8px)scale(.985)}}.confirm__title{font-family:var(--font-display);font-size:var(--t-lg);font-weight:var(--w-title);color:var(--text);letter-spacing:var(--tr-tight);margin:0;line-height:1.2}.confirm__body{font-size:var(--t-base);color:var(--text-muted);margin:0;line-height:1.55}.confirm__error{font-size:var(--t-sm);color:var(--danger);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:oklch(30% .08 25);margin:0}.confirm__actions{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-2);display:flex}.confirm__cancel,.confirm__confirm{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;padding:var(--s-3) var(--s-5);border-radius:var(--r-pod);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.confirm__cancel{color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.confirm__cancel:hover:not(:disabled){background:var(--border)}.confirm__confirm{color:var(--text);background:var(--danger)}.confirm__confirm:hover:not(:disabled){background:var(--danger-dim)}.confirm__cancel:disabled,.confirm__confirm:disabled{opacity:.6;cursor:not-allowed}.nav-transition{z-index:9999;pointer-events:auto;animation:nav-transition-in .16s var(--ease) both;background:0 0;place-items:center;display:grid;position:fixed;inset:0}.nav-transition__video{object-fit:cover;width:100%;height:100%;display:block}@keyframes nav-transition-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.nav-transition{animation:none}}.api-key-settings{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface) 80%, transparent);display:grid}.api-key-settings__heading{font-family:var(--font-display);font-size:var(--t-sm);font-weight:var(--w-display);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--emerald);margin:0}.api-key-settings__hint{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0;line-height:1.4}.api-key-settings__form,.api-key-settings__live{gap:var(--s-2);margin-top:var(--s-2);display:grid}.api-key-settings__label{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle)}.api-key-settings__row{align-items:stretch;gap:var(--s-2);display:flex}.api-key-settings__input{min-width:0;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--t-xs);flex:1}.api-key-settings__input:focus{border-color:var(--emerald);outline:none}.api-key-settings__save{padding:var(--s-2) var(--s-3);border:1px solid var(--emerald);border-radius:var(--r-md);background:var(--emerald);color:#14181c;font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);text-transform:uppercase;letter-spacing:var(--tr-eyebrow);cursor:pointer}.api-key-settings__save:disabled{opacity:.5;cursor:not-allowed}.api-key-settings__small-btn{padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-subtle);font-family:var(--font-display);font-size:.625rem;font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;cursor:pointer;background:0 0}.api-key-settings__small-btn:hover{border-color:var(--emerald);color:var(--text)}.api-key-settings__small-btn--danger:hover{border-color:var(--danger);color:var(--danger)}.api-key-settings__error{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--danger);margin:0}.api-key-settings__cta{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0}.api-key-settings__cta a{color:var(--emerald);text-decoration:none}.api-key-settings__cta a:hover{text-decoration:underline}.api-key-settings__current{align-items:stretch;gap:var(--s-2);display:flex}.api-key-settings__masked{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-subtle);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.05em;-webkit-user-select:none;user-select:none;flex:1;display:flex}.api-key-settings__masked-tail{color:var(--text);font-feature-settings:"tnum" 1}.api-key-settings__masked-tag{font-family:var(--font-display);font-size:.625rem;font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--emerald);margin-left:auto}.api-key-settings__usage{gap:var(--s-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.api-key-settings__usage>div{padding:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.api-key-settings__usage dt{font-family:var(--font-display);font-size:.625rem;font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-subtle);margin:0}.api-key-settings__usage dd{font-family:var(--font-mono);font-size:var(--t-sm);font-feature-settings:"tnum" 1;color:var(--text);margin:4px 0 0}.devices-panel{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface) 80%, transparent);display:grid}.devices-panel__hint{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0;line-height:1.4}.devices-panel__loading,.devices-panel__empty{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0}.devices-panel__empty code{font-family:var(--font-mono);padding:0 var(--s-1);background:color-mix(in oklch, var(--surface) 60%, transparent);border-radius:var(--r-sm);font-size:.95em}.devices-panel__list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.devices-panel__item{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:color-mix(in oklch, var(--surface) 60%, transparent);display:flex}.devices-panel__item-main{gap:2px;min-width:0;display:grid}.devices-panel__item-header{align-items:baseline;gap:var(--s-2);min-width:0;display:flex}.devices-panel__platform{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--emerald);flex-shrink:0}.devices-panel__name{font-family:var(--font-body);font-size:var(--t-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.devices-panel__rename-input{font-family:var(--font-body);font-size:var(--t-sm);padding:2px var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);flex:1;min-width:0}.devices-panel__item-meta{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle)}.devices-panel__actions{gap:var(--s-2);flex-shrink:0;display:flex}.devices-panel__btn{font-family:var(--font-mono);font-size:var(--t-xs);padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background .12s,color .12s}.devices-panel__btn:hover:not(:disabled){background:color-mix(in oklch, var(--surface) 50%, var(--emerald) 10%)}.devices-panel__btn:disabled{opacity:.5;cursor:not-allowed}.devices-panel__btn--ghost{background:0 0}.devices-panel__btn--danger{color:var(--danger,#d04949);border-color:color-mix(in oklch, var(--danger,#d04949) 30%, var(--border))}.devices-panel__btn--danger:hover:not(:disabled){background:color-mix(in oklch, var(--danger,#d04949) 12%, var(--surface));color:var(--danger,#d04949)}.devices-panel__footer{margin-top:var(--s-1);justify-content:flex-end;display:flex}.devices-panel__error{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--danger,#d04949);margin:0}.invites-panel{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface) 80%, transparent);display:grid}.invites-panel__hint{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0;line-height:1.4}.invites-panel__loading,.invites-panel__empty{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0}.invites-panel__create{gap:var(--s-2);display:grid}.invites-panel__create-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.invites-panel__input{min-width:0;font-family:var(--font-body);font-size:var(--t-sm);padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);flex:12rem}.invites-panel__input:focus-visible{border-color:var(--emerald);outline:none}.invites-panel__expiry{align-items:center;gap:var(--s-1);font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);display:inline-flex}.invites-panel__select{font-family:var(--font-mono);font-size:var(--t-xs);padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text)}.invites-panel__reveal{gap:var(--s-2);padding:var(--s-3);border:1px solid var(--emerald);border-radius:var(--r-sm);background:var(--emerald-bg);display:grid}.invites-panel__reveal-title{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--emerald);margin:0}.invites-panel__reveal-row{align-items:center;gap:var(--s-2);display:flex}.invites-panel__code{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text);padding:var(--s-1) var(--s-2);background:color-mix(in oklch, var(--surface) 70%, transparent);border-radius:var(--r-sm);-webkit-user-select:all;user-select:all;word-break:break-all;flex:1}.invites-panel__section{gap:var(--s-2);display:grid}.invites-panel__section-title{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-muted);margin:0}.invites-panel__list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.invites-panel__item{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:color-mix(in oklch, var(--surface) 60%, transparent);display:flex}.invites-panel__item-main{gap:2px;min-width:0;display:grid}.invites-panel__item-name{align-items:baseline;gap:var(--s-2);font-family:var(--font-body);font-size:var(--t-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.invites-panel__item-name code{font-family:var(--font-mono);font-size:.95em}.invites-panel__item-meta{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle)}.invites-panel__badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tr-hud);color:var(--emerald);background:var(--emerald-bg);border-radius:var(--r-pod);flex-shrink:0;padding:1px 6px;font-size:.625rem}.invites-panel__status{text-transform:uppercase;letter-spacing:var(--tr-hud);font-size:.625rem}.invites-panel__status--active{color:var(--emerald)}.invites-panel__status--expired,.invites-panel__status--exhausted,.invites-panel__status--revoked{color:var(--text-subtle)}.invites-panel__btn{font-family:var(--font-mono);font-size:var(--t-xs);padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.invites-panel__btn:hover:not(:disabled){background:color-mix(in oklch, var(--surface) 50%, var(--emerald) 10%)}.invites-panel__btn:disabled{opacity:.5;cursor:not-allowed}.invites-panel__btn--primary{color:var(--text);background:var(--emerald-bg);border-color:var(--emerald);justify-self:start}.invites-panel__btn--primary:hover:not(:disabled){background:color-mix(in oklch, var(--emerald) 25%, var(--surface))}.invites-panel__btn--ghost{background:0 0;justify-self:start}.invites-panel__btn--danger{color:var(--danger,#d04949);border-color:color-mix(in oklch, var(--danger,#d04949) 30%, var(--border))}.invites-panel__btn--danger:hover:not(:disabled){background:color-mix(in oklch, var(--danger,#d04949) 12%, var(--surface));color:var(--danger,#d04949)}.invites-panel__error{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--danger,#d04949);margin:0}.user-menu{display:inline-flex;position:relative}.user-menu__trigger{align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-1);height:32px;font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-muted);background:color-mix(in oklch, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--border);border-radius:var(--r-pod,999px);box-shadow:inset 0 1px 0 var(--frost), 0 18px 40px -22px var(--ink);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);display:inline-flex}.user-menu__trigger:hover{color:var(--text);border-color:var(--text-subtle)}.user-menu__avatar{width:24px;height:24px;font-family:var(--font-display);font-weight:var(--w-display);letter-spacing:0;color:oklch(18% 0 0);background:var(--emerald);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;display:grid}.user-menu__name{white-space:nowrap}.user-menu__dropdown{top:calc(100% + var(--s-2));min-width:260px;padding:var(--s-2);border:1px solid var(--emerald);border-radius:var(--r-card,12px);box-shadow:inset 0 1px 0 var(--frost-stronger), 0 0 0 4px oklch(0% 0 0/.45), 0 24px 48px -24px var(--ink);z-index:1;animation:user-menu-in .14s var(--ease) both;background:oklch(16% .014 158);gap:0;display:grid;position:absolute;right:0}@keyframes user-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu__divider{border:0;border-top:1px solid var(--border);margin:var(--s-2) 0}.user-menu__eyebrow{font-family:var(--font-display);font-size:.6875rem;font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-subtle);margin:0 0 var(--s-1);padding:0 var(--s-2)}.user-menu__header{padding:var(--s-2) 0 0}.user-menu__identity{justify-content:space-between;align-items:center;gap:var(--s-3);padding:0 var(--s-2) var(--s-1);display:flex}.user-menu__username{font-family:var(--font-display);font-size:var(--t-md);font-weight:var(--w-title);color:var(--text);letter-spacing:var(--tr-tight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__role{font-family:var(--font-mono);letter-spacing:var(--tr-hud);text-transform:uppercase;padding:3px var(--s-2);border-radius:var(--r-pod);flex-shrink:0;font-size:.6875rem}.user-menu__role--admin{color:var(--emerald);background:var(--emerald-bg);border:1px solid var(--emerald)}.user-menu__role--user{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.user-menu__toggle{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-md);cursor:pointer;font:inherit;color:inherit;transition:background var(--dur-fast) var(--ease);background:0 0;border:0;display:flex}.user-menu__toggle:hover{background:oklch(0% 0 0/.25)}.user-menu__toggle-label{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);transition:color var(--dur-fast) var(--ease)}.user-menu__toggle-track{border-radius:var(--r-pod);background:var(--surface-2);border:1px solid var(--border);width:36px;height:20px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-shrink:0;position:relative}.user-menu__toggle-track--on{background:var(--emerald-bg);border-color:var(--emerald)}.user-menu__toggle-thumb{background:var(--text-muted);width:16px;height:16px;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);border-radius:50%;position:absolute;top:1px;left:1px}.user-menu__toggle-track--on .user-menu__toggle-thumb{background:var(--emerald);transform:translate(16px)}.user-menu__apps{padding:0}.user-menu__app-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.user-menu__app{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--text);font-family:var(--font-display);font-size:var(--t-sm);font-weight:var(--w-ui);letter-spacing:var(--tr-tight);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);text-decoration:none;display:flex}.user-menu__app:hover{color:var(--emerald);background:oklch(0% 0 0/.35)}.user-menu__app-arrow{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--text-subtle);transition:transform var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.user-menu__app:hover .user-menu__app-arrow{color:var(--emerald);transform:translate(2px)}.user-menu__signout{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0}.user-menu__signout:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in oklch, var(--danger) 12%, transparent)}.user-menu__signout-error{margin:var(--s-2) var(--s-1) 0;color:var(--danger);font-family:var(--font-mono);font-size:var(--t-xs);line-height:1.35}@media (width<=720px){.user-menu__name{display:none}.user-menu__trigger{padding:var(--s-1);justify-content:center;width:32px}.user-menu__dropdown{min-width:240px}}.user-menu__discord{gap:var(--s-2);display:grid}.user-menu__discord-status{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-subtle);margin:0}.user-menu__discord-input{width:100%;padding:var(--s-2) var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text);background:color-mix(in oklch, var(--surface) 80%, transparent);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease);outline:none}.user-menu__discord-input:focus{border-color:var(--emerald)}.user-menu__discord-actions{gap:var(--s-2);display:flex}.user-menu__discord-action{padding:var(--s-2) var(--s-3);font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);background:color-mix(in oklch, var(--emerald) 12%, var(--surface));border:1px solid var(--emerald);border-radius:var(--r-pod,999px);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:auto}.user-menu__discord-action:hover:not(:disabled){background:color-mix(in oklch, var(--emerald) 30%, var(--surface));color:var(--text)}.user-menu__discord-action:disabled{opacity:.6;cursor:progress}.user-menu__discord-action--danger{border-color:var(--danger);background:color-mix(in oklch, var(--danger) 12%, var(--surface))}.user-menu__discord-action--danger:hover:not(:disabled){background:color-mix(in oklch, var(--danger) 25%, var(--surface))}.user-menu__discord-message{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--text-muted);margin:0;line-height:1.4}.user-menu__disclosure{border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in oklch, var(--surface) 80%, transparent);padding:0}.user-menu__disclosure[open]{border-color:var(--emerald)}.user-menu__disclosure-summary{cursor:pointer;padding:var(--s-3) var(--s-4);justify-content:space-between;align-items:baseline;gap:var(--s-3);list-style:none;display:flex}.user-menu__disclosure-summary::-webkit-details-marker{display:none}.user-menu__disclosure[open] .user-menu__disclosure-summary{padding-bottom:var(--s-2)}.user-menu__disclosure-status{font-family:var(--font-mono);font-feature-settings:"tnum" 1;color:var(--text-subtle);text-transform:none;letter-spacing:0;font-size:.625rem}.user-menu__disclosure>:not(summary){padding-left:var(--s-4);padding-right:var(--s-4)}.user-menu__disclosure>:last-child{padding-bottom:var(--s-3)}.emerald-mark{display:block}.top-nav__brand-stack{top:var(--pod-inset,16px);left:var(--pod-inset,16px);z-index:var(--z-nav,200);justify-items:start;gap:2px;display:grid;position:fixed}.top-nav__brand{align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-3);white-space:nowrap;font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-sm);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);-webkit-user-select:none;user-select:none;cursor:pointer;transition:opacity var(--dur-fast) var(--ease);display:inline-flex}.top-nav__here{margin-left:var(--s-3);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--tr-hud);text-transform:uppercase;color:var(--emerald);opacity:.85;pointer-events:none}.top-nav__brand:hover{opacity:.85}.top-nav__brand-gems{flex-shrink:0;transform:translateY(2px)}.top-nav__brand-mark{color:var(--emerald)}.top-nav__brand-sub{color:var(--text)}.top-nav__tabs{top:var(--pod-inset,16px);z-index:var(--z-nav,200);align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 320px);display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.top-nav__tab{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);padding:0 var(--s-4);background:color-mix(in oklch, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--border);border-radius:var(--r-pod,999px);min-height:44px;box-shadow:inset 0 1px 0 var(--frost), 0 18px 40px -22px var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;display:inline-flex}.top-nav__tab:hover{color:var(--emerald);border-color:var(--emerald);box-shadow:inset 0 1px 0 var(--frost-stronger), 0 22px 44px -22px var(--ink), 0 0 24px -8px oklch(62% .18 158/.45);transform:translateY(-1px)}.top-nav__tab:focus-visible{outline:2px solid var(--emerald);outline-offset:2px}.top-nav__right{top:var(--pod-inset,16px);right:var(--pod-inset,16px);z-index:var(--z-nav,200);align-items:center;gap:var(--s-2);display:inline-flex;position:fixed}.top-nav__watch{align-items:center;gap:var(--s-2);white-space:nowrap;font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);padding:var(--s-2) var(--s-3);border-radius:var(--r-pod);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex-shrink:0;display:inline-flex}.top-nav__watch:hover{background:color-mix(in oklch, var(--surface) 60%, transparent)}.top-nav__watch:hover .top-nav__watch-arrow{color:var(--emerald);transform:translate(2px)}.top-nav__watch-glyph{color:var(--emerald);flex-shrink:0;transform:translateY(-1px)}.top-nav__watch-arrow{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:0;color:var(--text-subtle);white-space:nowrap;transition:color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-shrink:0}@media (width<=720px){.top-nav__brand-sub,.top-nav__watch-label,.top-nav__watch-arrow{display:none}.top-nav__tab{padding:0 var(--s-3);min-height:40px}.top-nav__tabs{max-width:calc(100vw - 200px)}}@media (width<=480px){.top-nav__tab{padding:0 var(--s-3);min-height:38px;font-size:.6875rem}.top-nav__tabs{gap:var(--s-1);max-width:calc(100vw - 160px)}}.home-nav__brand{top:var(--pod-inset,16px);left:var(--pod-inset,16px);z-index:var(--z-nav,200);align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-3);white-space:nowrap;font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-sm);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);-webkit-user-select:none;user-select:none;cursor:pointer;transition:opacity var(--dur-fast) var(--ease);display:inline-flex;position:fixed}.home-nav__brand:hover{opacity:.85}.home-nav__brand-gems{flex-shrink:0;transform:translateY(2px)}.home-nav__brand-mark{color:var(--emerald)}.home-nav__brand-sub{color:var(--text)}.home-nav__right{top:var(--pod-inset,16px);right:var(--pod-inset,16px);z-index:var(--z-nav,200);align-items:center;gap:var(--s-2);display:inline-flex;position:fixed}.home-nav__watch{align-items:center;gap:var(--s-2);white-space:nowrap;font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);padding:var(--s-2) var(--s-3);border-radius:var(--r-pod);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex-shrink:0;display:inline-flex}.home-nav__watch:hover{background:color-mix(in oklch, var(--surface) 60%, transparent)}.home-nav__watch:hover .home-nav__watch-arrow{color:var(--emerald);transform:translate(2px)}.home-nav__watch-glyph{color:var(--emerald);flex-shrink:0;transform:translateY(-1px)}.home-nav__watch-arrow{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:0;color:var(--text-subtle);white-space:nowrap;transition:color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex-shrink:0}@media (width<=720px){.home-nav__brand-sub,.home-nav__watch-label,.home-nav__watch-arrow{display:none}}.home{flex:auto;min-height:100vh}.home__scroll-hint{top:calc(100vh - var(--pod-inset,16px) - 88px - var(--s-4));z-index:var(--z-nav,200);align-items:center;gap:var(--s-2);padding:6px var(--s-3);pointer-events:none;color:var(--emerald);background:color-mix(in oklch, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px)saturate(140%);border:1px solid var(--emerald);border-radius:var(--r-pod,999px);text-shadow:0 0 8px oklch(62% .18 158/.9),0 0 16px oklch(62% .18 158/.45);box-shadow:0 0 18px -8px oklch(62% .18 158/.55), 0 8px 20px -14px var(--ink);animation:home-scroll-cue 2.6s var(--ease) infinite;flex-direction:row;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.home__scroll-hint svg{color:var(--emerald);filter:drop-shadow(0 0 4px oklch(62% .18 158/.7));width:14px;height:14px}.home__scroll-label{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-sm);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}@keyframes home-scroll-cue{0%,to{opacity:.5;transform:translate(-50%)}50%{opacity:.95;transform:translate(-50%,6px)}}@media (prefers-reduced-motion:reduce){.home__scroll-hint{opacity:.7;animation:none}}.home__about{flex-direction:column;display:flex;position:relative}.home__panel{min-height:92vh;padding:calc(var(--pod-inset,16px) + var(--pod-h,56px) + var(--s-5)) var(--s-5) var(--s-7);justify-content:flex-end;align-items:flex-start;display:flex}.home__panel-inner{width:100%;max-width:360px;padding:var(--s-6) var(--s-6);background:color-mix(in oklch, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--emerald);border-radius:var(--r-xl);box-shadow:inset 0 1px 0 var(--frost-stronger), 0 32px 60px -28px var(--ink), 0 0 48px -10px oklch(62% .18 158/.55), 0 0 0 1px oklch(62% .18 158/.35);text-align:left;animation:4s ease-in-out infinite home-panel-pulse}@keyframes home-panel-pulse{0%,to{box-shadow:inset 0 1px 0 var(--frost-stronger), 0 32px 60px -28px var(--ink), 0 0 48px -10px oklch(62% .18 158/.55), 0 0 0 1px oklch(62% .18 158/.35)}50%{box-shadow:inset 0 1px 0 var(--frost-stronger), 0 32px 60px -28px var(--ink), 0 0 64px -8px oklch(62% .18 158/.7), 0 0 0 1px oklch(62% .18 158/.5)}}@media (prefers-reduced-motion:reduce){.home__panel-inner{animation:none}}.home__panel-eyebrow{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-xs);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--emerald);margin-bottom:var(--s-4);display:block}.home__panel-title{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-lg);letter-spacing:var(--tr-display);color:var(--text);margin:0 0 var(--s-4);line-height:1.15}.home__panel-body{font-family:var(--font-body);font-size:var(--t-sm);color:var(--text-muted);margin:0;line-height:1.6}.home__panel-steps{gap:var(--s-3);counter-reset:home-step;margin:0;padding:0;list-style:none;display:grid}.home__panel-step{gap:var(--s-3);font-family:var(--font-body);font-size:var(--t-sm);color:var(--text-muted);grid-template-columns:auto 1fr;align-items:baseline;line-height:1.55;display:grid}.home__panel-step-num{font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-display);letter-spacing:var(--tr-eyebrow);color:var(--emerald);border:1px solid var(--emerald);background:color-mix(in oklch, var(--emerald) 12%, var(--surface));font-feature-settings:"tnum" 1;border-radius:999px;place-items:center;width:22px;height:22px;display:inline-grid}.home__about-floor{height:calc(var(--pod-inset,16px) + var(--pod-h,56px) + var(--s-7))}.home__entries{bottom:var(--pod-inset,16px);z-index:var(--z-nav,200);align-items:center;gap:var(--s-3);flex-wrap:nowrap;display:flex;position:fixed;left:50%;transform:translate(-50%)}.home__entry{font-family:var(--font-display);font-weight:var(--w-display);font-size:var(--t-sm);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text);padding:var(--s-4) var(--s-6);text-align:center;background:color-mix(in oklch, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--border);border-radius:var(--r-pod,999px);min-width:180px;box-shadow:inset 0 1px 0 var(--frost), 0 18px 40px -22px var(--ink);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.home__entry:hover{border-color:var(--emerald);color:var(--emerald);box-shadow:inset 0 1px 0 var(--frost-stronger), 0 22px 44px -22px var(--ink), 0 0 24px -8px oklch(62% .18 158/.45);transform:translateY(-1px)}.home__entry:focus-visible{border-color:var(--emerald);color:var(--emerald)}@media (width<=720px){.home{padding:0}.home__panel{min-height:auto;padding:calc(var(--pod-inset,16px) + var(--pod-h,48px) + var(--s-4)) var(--s-4) var(--s-6);justify-content:flex-end}.home__panel-inner{max-width:none;padding:var(--s-5) var(--s-5)}.home__panel-title{font-size:var(--t-md)}.home__entries{left:var(--s-4);right:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr));width:auto;display:grid;transform:none}.home__entry{min-width:0;padding:var(--s-3) var(--s-4)}}@media (width>=721px){.home__panel-inner{max-width:440px;padding:var(--s-7) var(--s-7)}.home__panel-title{font-size:var(--t-xl)}.home__panel-body{font-size:var(--t-md);line-height:1.65}}@media (width>=721px) and (width<=1023px){.home__entry{min-width:140px;padding:var(--s-4) var(--s-5)}}@media (width>=1280px){.home__panel-inner{max-width:480px}}.kraken{z-index:0;pointer-events:none;opacity:.72;position:fixed;inset:0;overflow:hidden}.kraken__video{object-fit:cover;object-position:center center;background-color:oklch(16% .012 158);width:100%;height:100%;display:block;position:absolute;inset:0}@media (aspect-ratio>=19/10){.kraken__video{object-fit:contain}}.kraken__video--kraken{z-index:0;opacity:1;filter:saturate(.88)hue-rotate(35deg)contrast(1.06)brightness(.84)}.kraken__video--resting{z-index:1;opacity:0}.kraken--resting .kraken__video--resting{opacity:1}@media (width<=720px){.kraken{opacity:.6}}.loading-pulse{z-index:1;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);font-family:var(--font-display);font-size:var(--t-sm);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-muted);pointer-events:none;animation:1.8s ease-in-out infinite loading-pulse-text;display:inline-flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-pulse__glyph{color:var(--emerald);filter:drop-shadow(0 0 6px oklch(62% .18 158/.55));transform-origin:50%;align-items:center;animation:1.8s ease-in-out infinite loading-pulse-glyph;display:inline-flex}.loading-pulse__label{font-feature-settings:"tnum" 1}@keyframes loading-pulse-text{0%,to{opacity:.55}50%{opacity:1}}@keyframes loading-pulse-glyph{0%,to{filter:drop-shadow(0 0 4px oklch(62% .18 158/.35));transform:scale(.92)}50%{filter:drop-shadow(0 0 14px oklch(62% .18 158/.85));transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.loading-pulse,.loading-pulse__glyph{animation:none}.loading-pulse__glyph{transform:none}}.replay-btn{right:var(--pod-inset,16px);bottom:var(--pod-inset,16px);z-index:var(--z-nav,50);align-items:center;gap:var(--s-2);padding:0 var(--s-3);height:32px;font-family:var(--font-display);font-size:var(--t-xs);font-weight:var(--w-ui);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-muted);background:color-mix(in oklch, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--border);border-radius:var(--r-pod,999px);box-shadow:inset 0 1px 0 var(--frost), 0 18px 40px -22px var(--ink);cursor:pointer;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);display:inline-flex;position:fixed}.replay-btn:hover{color:var(--emerald);border-color:var(--emerald);transform:translateY(-1px)}.replay-btn:focus-visible{color:var(--emerald);border-color:var(--emerald)}.replay-btn__icon{flex-shrink:0;transform:translateY(-1px)}@media (width<=480px){.replay-btn__label{display:none}.replay-btn{justify-content:center;width:32px;padding:0}}.top-nav__brand-stack{view-transition-name:nav-brand}.top-nav__tabs{view-transition-name:nav-tabs}.top-nav__right{view-transition-name:nav-right}.tv-tab__dock{view-transition-name:search-dock}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.18s;animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:.18s;animation-timing-function:var(--ease)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(16% .012 158);--surface:oklch(20% .014 158);--surface-2:oklch(24% .016 158);--border:oklch(30% .02 158);--text:oklch(94% .008 158);--text-muted:oklch(70% .012 158);--text-subtle:oklch(52% .014 158);--emerald:oklch(62% .18 158);--emerald-dim:oklch(45% .13 158);--emerald-bg:oklch(30% .08 158);--danger:oklch(62% .18 25);--danger-dim:oklch(45% .13 25);--frost:oklch(94% .008 158/.06);--frost-stronger:oklch(94% .008 158/.1);--ink:oklch(4% 0 0/.55);--scrim:oklch(6% .005 158/.72);--font-display:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, "SF Pro Display", "Inter", sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "Inter", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", monospace;--t-xs:.75rem;--t-sm:.875rem;--t-base:1rem;--t-md:1.125rem;--t-lg:1.5rem;--t-xl:2.25rem;--t-2xl:3rem;--w-body:400;--w-ui:500;--w-title:600;--w-display:700;--tr-display:-.02em;--tr-tight:-.01em;--tr-eyebrow:.14em;--tr-hud:.04em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--s-9:96px;--r-sm:6px;--r-md:12px;--r-lg:14px;--r-xl:18px;--r-pod:500px;--ease:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-mid:.22s;--dur-slow:.28s;--z-overlay:10;--z-nav:200;--z-modal-bg:300;--z-modal:400;--z-toast:500;--content-max:1040px;--pod-h:56px;--pod-inset:16px;--hero-pad-top:132px;--emerald-hover:color-mix(in oklch, var(--emerald) 88%, white 12%);--emerald-ghost:color-mix(in oklch, var(--emerald) 12%, transparent);--hairline-emerald:color-mix(in oklch, var(--emerald) 30%, transparent);--elev-card:0 1px 0 0 var(--ink), 0 2px 6px -2px var(--ink), 0 12px 28px -10px var(--ink), inset 0 1px 0 0 var(--frost)}@property --focus-glow{syntax:"<number>";inherits:false;initial-value:0}@property --hud-sweep{syntax:"<angle>";inherits:false;initial-value:0deg}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-mid:.01ms;--dur-slow:.01ms}}@media (width<=520px){:root{--pod-h:48px;--pod-inset:8px;--hero-pad-top:96px;--t-2xl:2rem}}*,:before,:after{box-sizing:border-box}html,body,#root{margin:0;padding:0}html,body{height:100%}body{-webkit-tap-highlight-color:transparent;background-color:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--w-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;text-rendering:optimizelegibility;background-image:radial-gradient(80% 60% at 50% -10%,oklch(26% .05 158/.55) 0%,oklch(16% .012 158/0) 60%),radial-gradient(60% 40% at 80% 110%,oklch(22% .04 158/.45) 0%,oklch(16% .012 158/0) 60%);background-attachment:fixed;line-height:1.5}#root{z-index:1;flex-direction:column;min-height:100%;display:flex;position:relative}main{z-index:1;position:relative}.constellation{z-index:0;pointer-events:none;opacity:.55;position:fixed;inset:0;overflow:hidden}.constellation__sky{width:140%;height:120%;animation:constellation-drift 80s var(--ease) infinite alternate;position:absolute;inset:-10% -20%}@keyframes constellation-drift{0%{transform:translate(-2%)}to{transform:translate(2%,-1%)}}@media (prefers-reduced-motion:reduce){.constellation__sky{animation:none}}::selection{background:color-mix(in oklch, var(--emerald) 30%, transparent);color:var(--text)}input,textarea{caret-color:var(--emerald)}:focus{outline:none}:focus-visible{outline:2px solid var(--emerald);outline-offset:2px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}dialog{color:inherit;background:0 0;border:0;max-width:none;max-height:none;margin:0;padding:0}dialog::backdrop{background:var(--scrim)}.suggestion-badge{vertical-align:middle;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.65rem;font-weight:700;display:inline-block}.suggestion-badge--iptv{color:#fff;background:#1a7a4a}.iptv-shell{padding-top:4rem}.iptv-shell__subnav{justify-content:center;gap:.5rem;padding:.5rem 1rem 1rem;display:flex}.iptv-shell__subtab{color:var(--text,#f5f5f5);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;padding:.4rem 1.1rem;font-size:.85rem;transition:background .15s,border-color .15s}.iptv-shell__subtab:hover{background:#ffffff1f}.iptv-shell__subtab--active{background:var(--emerald,#1a7a4a);border-color:#0000}.iptv-conn-pill{color:var(--text,#f5f5f5);font-variant-numeric:tabular-nums;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem .9rem;font-size:.8rem;display:inline-flex}.iptv-conn-pill:hover{background:#ffffff1f}.iptv-conn-pill__dot{background:var(--emerald,#1a7a4a);border-radius:50%;width:.5rem;height:.5rem}.iptv-conn-pill--full{border-color:#ff63638c}.iptv-conn-pill--full .iptv-conn-pill__dot{background:#ff6363}.iptv-conn-modal{z-index:1100;background:#000000db;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.iptv-conn-modal__panel{background:#101010;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;width:min(100%,640px);max-height:calc(100vh - 2rem);display:flex;overflow:hidden}.iptv-conn-modal__header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.iptv-conn-modal__header h2{margin:0;font-size:1rem}.iptv-conn-modal__header--alert{background:#ff636324}.iptv-conn-modal__close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:1.4rem;line-height:1}.iptv-conn-modal__summary{color:var(--text-dim,#bbb);margin:0;padding:1rem;font-size:.9rem}.iptv-conn-modal__empty{color:var(--text-dim,#888);margin:0;padding:0 1rem 1rem;font-size:.85rem}.iptv-conn-modal__list{margin:0;padding:0 0 1rem;list-style:none;overflow:auto}.iptv-conn-row{border-top:1px solid #ffffff0f;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;padding:.75rem 1rem;display:grid}.iptv-conn-row__main{align-items:baseline;gap:.5rem;min-width:0;display:flex}.iptv-conn-row__kind{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim,#888);flex-shrink:0;font-size:.7rem}.iptv-conn-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.iptv-conn-row__meta{color:var(--text-dim,#888);flex-wrap:wrap;grid-column:1/2;gap:.4rem .8rem;font-size:.78rem;display:flex}.iptv-conn-row__kick{color:#fff;cursor:pointer;background:#b03a3a;border:0;border-radius:4px;grid-area:1/2/span 2;padding:.4rem .8rem;font-size:.82rem}.iptv-conn-row__kick:hover{background:#c84747}.iptv-conn-row__kick:disabled{opacity:.6;cursor:wait}.iptv-tab{padding:0 1rem 5rem}.iptv-tab__toolbar{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1612eb;border-top:1px solid #ffffff14;gap:.5rem;margin:1rem -1rem -5rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:0}.iptv-tab__search{flex:1;padding:.5rem}.iptv-tab__category{padding:.5rem}.iptv-tab__status{color:var(--text-dim,#888);padding:1rem}.iptv-tab__status--error{color:var(--text-error,#c33)}.iptv-tab__pager{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.iptv-tab__pager button{padding:.5rem .75rem}.iptv-tab__page-count{color:var(--text-dim,#888);margin-right:auto;font-size:.9rem}.iptv-channel-grid,.iptv-poster-grid{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.iptv-channel-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.iptv-poster-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.iptv-channel-card,.iptv-poster-card{background:var(--card-bg,#181818);border-radius:6px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:relative;overflow:hidden}.iptv-channel-card{flex-direction:row;align-items:flex-start;min-height:86px;padding-right:3.75rem}.iptv-channel-card__icon{object-fit:contain;width:48px;height:48px}.iptv-channel-card__icon--placeholder{background:#333}.iptv-channel-card__body{flex-direction:column;gap:.25rem;min-width:0;padding-bottom:1.4rem;display:flex}.iptv-channel-card__meta{align-items:center;gap:.5rem;min-width:0;display:flex}.iptv-channel-card__num{color:var(--text-dim,#888);text-align:right;min-width:2.5em}.iptv-channel-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.iptv-channel-card__epg{color:var(--text-dim,#aaa);gap:.1rem;font-size:.82rem;line-height:1.25;display:grid}.iptv-channel-card__epg span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.iptv-channel-card__guide{color:#f5f5f5;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:4px;padding:.25rem .5rem;font-size:.78rem;line-height:1;position:absolute;bottom:.45rem;right:.45rem}.iptv-channel-card__guide:hover{background:#ffffff24}.iptv-poster-card__img{aspect-ratio:2/3;object-fit:cover;border-radius:4px;width:100%}.iptv-poster-card__img--placeholder{background:#333}.iptv-poster-card__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.2;display:-webkit-box;overflow:hidden}.iptv-poster-card__year{color:var(--text-dim,#888);font-size:.8rem}.iptv-fav-toggle{z-index:2;color:#f5f5f5;text-shadow:0 1px 4px #000000d9;cursor:pointer;background:0 0;border:0;place-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.2rem;display:grid;position:absolute;top:.35rem;right:.35rem}.iptv-fav-toggle--on{color:gold}.iptv-resume-bar{background:var(--emerald,#4caf50);pointer-events:none;border-radius:0;height:3px;position:absolute;bottom:0;left:0}.iptv-channel-card[role=button],.iptv-poster-card[role=button],.iptv-series-detail__episode[role=button]{cursor:pointer}.iptv-channel-card[role=button]:focus-visible,.iptv-poster-card[role=button]:focus-visible,.iptv-series-detail__episode[role=button]:focus-visible{outline-offset:2px;outline:2px solid #79d7ff}.iptv-player-modal{z-index:1000;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.iptv-player-modal__header{color:#fff;justify-content:space-between;align-items:center;width:100%;max-width:960px;padding:.5rem 1rem;display:flex}.iptv-player-modal__close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem}.iptv-guide-modal{z-index:1000;color:#fff;background:#000000db;justify-content:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.iptv-guide-modal__panel{background:#101010;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;width:min(100%,920px);max-height:calc(100vh - 2rem);margin:auto 0;display:flex;overflow:hidden}.iptv-guide-modal__header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.iptv-guide-modal__header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.2;overflow:hidden}.iptv-guide-modal__close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1}.iptv-guide-modal__status{color:var(--text-dim,#aaa);margin:0;padding:1rem}.iptv-guide-modal__status--error{color:var(--text-error,#ff7b7b)}.iptv-guide-list{margin:0;padding:0;list-style:none;overflow:auto}.iptv-guide-list__item{border-bottom:1px solid #ffffff14;grid-template-columns:9.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem 1rem;display:grid}.iptv-guide-list__time{color:var(--text-dim,#aaa);font-size:.85rem}.iptv-guide-list__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.iptv-guide-list__catchup{color:#fff;cursor:pointer;background:#1d6f4f;border:1px solid #fff3;border-radius:4px;padding:.3rem .55rem}.iptv-guide-list__catchup:disabled{opacity:.6;cursor:wait}.iptv-guide-list__note{color:var(--text-dim,#888);white-space:nowrap;font-size:.82rem}@media (width<=640px){.iptv-guide-list__item{grid-template-columns:minmax(0,1fr) auto;gap:.35rem .6rem}.iptv-guide-list__time{grid-column:1/-1}}.iptv-tab__viewtoggle{border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;display:inline-flex;overflow:hidden}.iptv-tab__viewtoggle button{color:var(--text-dim,#bbb);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:.5rem .9rem;font-size:.8rem}.iptv-tab__viewtoggle button.is-active{background:var(--emerald,#1a7a4a);color:#fff}.epg-guide{-webkit-overflow-scrolling:touch;background:#0c0c0c;border:1px solid #ffffff14;border-radius:6px;height:calc(100dvh - 12.5rem);min-height:320px;position:relative;overflow:auto}.epg-guide__content{position:relative}.epg-guide__header{z-index:20;display:flex;position:sticky;top:0}.epg-guide__corner{z-index:5;color:var(--text-dim,#888);text-transform:uppercase;letter-spacing:.05em;background:#141414;border-bottom:1px solid #ffffff1a;border-right:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;display:flex;position:sticky;left:0}.epg-guide__times{background:#141414;border-bottom:1px solid #ffffff1a;flex-shrink:0;position:relative}.epg-guide__tick{height:100%;color:var(--text-dim,#9a9a9a);white-space:nowrap;pointer-events:none;border-left:1px solid #ffffff0f;align-items:center;padding-left:.4rem;font-size:.74rem;display:flex;position:absolute;top:0}.epg-guide__tick--hour{color:#d8d8d8;border-left-color:#ffffff24}.epg-guide__body{position:relative}.epg-guide__nowline{z-index:6;pointer-events:none;background:#ff5a5a;width:2px;position:absolute;box-shadow:0 0 6px #ff5a5ab3}.epg-guide__row{display:flex}.epg-guide__chan{z-index:10;color:#f5f5f5;text-align:left;cursor:pointer;background:#161616;border-bottom:1px solid #ffffff0f;border-right:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:.5rem;padding:0 .6rem;display:flex;position:sticky;left:0}.epg-guide__chan:hover{background:#1e1e1e}.epg-guide__chan:focus-visible{outline-offset:-2px;outline:2px solid #79d7ff}.epg-guide__chan-num{text-align:right;min-width:2em;color:var(--text-dim,#888);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.8rem}.epg-guide__chan-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;font-weight:600;overflow:hidden}.epg-guide__track{border-bottom:1px solid #ffffff0f;flex-shrink:0;position:relative}.epg-guide__prog{color:#e8e8e8;text-align:left;cursor:default;background:#1f2a24;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:.3rem;margin:0;padding:0 .5rem;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden}.epg-guide__prog-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.epg-guide__prog-badge{color:#7fe0b0;flex-shrink:0;font-size:.8rem}.epg-guide__prog--live{cursor:pointer;background:#1d5c40;border-color:#7ce0b080}.epg-guide__prog--live:hover{background:#237049}.epg-guide__prog--past{opacity:.6}.epg-guide__prog--past:not(.epg-guide__prog--static){opacity:.92;cursor:pointer;border-color:#7fe0b059}.epg-guide__prog:not(.epg-guide__prog--static):hover{border-color:#ffffff4d}.epg-guide__prog:focus-visible{outline-offset:1px;outline:2px solid #79d7ff}.iptv-series-detail{color:#fff;width:min(100%,960px);max-height:72vh;padding:0 1rem 1rem;overflow:auto}.iptv-series-detail__season{margin-bottom:1rem}.iptv-series-detail__episodes{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.iptv-series-detail__episode{background:var(--card-bg,#181818);border-radius:6px;grid-template-columns:3rem 1fr;align-items:center;gap:.75rem;padding:.6rem .75rem;display:grid;position:relative;overflow:hidden}
