From c719bdf55800a5889fa23af441bdeaefd870b707 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 21 Jan 2026 20:22:49 +0000 Subject: [PATCH] feat: implement marquee scrolling for video card titles - Replaced CSS truncation with a custom marquee structure in `VideoCard.js` for titles and author names. - Added `css/tailwind.source.css` utilities for `.marquee-host`, `.marquee-static`, and `.marquee-track` animations. - Implemented `ResizeObserver` (shared singleton) to detect overflow and enable marquee only when needed. - Implemented `IntersectionObserver` (shared singleton) to trigger marquee on mobile when the card is in the center of the viewport. - Configured dynamic animation duration based on text content width to ensure constant scrolling speed. - Verified visual behavior via Playwright screenshots. --- css/tailwind.generated.css | 2 +- css/tailwind.source.css | 72 +++++++++++++++++ js/ui/components/VideoCard.js | 131 ++++++++++++++++++++++++++++--- verification/feed_info.png | Bin 44209 -> 0 bytes verification/verify_feed_info.py | 54 ------------- 5 files changed, 194 insertions(+), 65 deletions(-) delete mode 100644 verification/feed_info.png delete mode 100644 verification/verify_feed_info.py diff --git a/css/tailwind.generated.css b/css/tailwind.generated.css index 7277d437..3aa022d0 100644 --- a/css/tailwind.generated.css +++ b/css/tailwind.generated.css @@ -11,4 +11,4 @@ --player-modal-primary-inline-padding-lg,clamp(var(--space-sm),2.75vw,var(--space-lg)) )}}.revert-modal__layout{display:grid;gap:1.5rem}@media (min-width:1024px){.revert-modal__layout{grid-template-columns:minmax(var(--revert-modal-sidebar-min),var(--revert-modal-sidebar-width)) minmax(0,1fr)}}#playerModal.video-modal__primary{display:block}.video-modal__primary{display:flex;flex-direction:column;gap:1.5rem;min-width:0;min-height:0}#playerModal.video-modal__secondary{display:block}.video-modal__secondary{display:flex;flex-direction:column;gap:1rem;min-width:0;min-height:0;width:100%;align-self:stretch}.video-modal__similar{display:none}@media (min-width:1024px){#playerModal.video-modal__similar{display:block}.video-modal__similar{display:flex;flex-direction:column;gap:1.5rem;align-self:stretch;flex:1 1 auto;min-height:0}#playerModal .video-modal__similar .player-modal__module{height:100%;display:flex;flex:1 1 auto;min-height:0;flex-direction:column}#playerModal .video-modal__similar .player-modal__module-list{flex:1 1 auto;min-height:0}#playerModal .video-modal__similar .player-modal__module-scroll{height:100%;max-height:none;min-height:0}}#playerModal .player-modal__module-item{width:100%}#playerModal#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card){display:block}#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card){display:flex;width:100%;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:var(--space-md)}#playerModal#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card){display:block}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card){display:flex;width:100%;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:var(--space-md)}#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__media{width:clamp(var(--video-modal-item-media-min),18vw,var(--video-modal-item-media-max))}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__media{width:clamp(var(--video-modal-item-media-min),18vw,var(--video-modal-item-media-max))!important}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__media,#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__media{flex-shrink:0;overflow:hidden;border-radius:var(--radius-lg)}#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__content{padding:clamp(var(--space-sm),1.25vw,var(--space-md))}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__content{padding:clamp(var(--space-sm),1.25vw,var(--space-md))!important}#playerModal#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__content{display:block}#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;gap:var(--space-sm)}#playerModal#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__content{display:block}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;gap:var(--space-sm)}#playerModal#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__meta{display:block}#playerModal .player-modal__module-item>.card:not(.player-modal__similar-card) .video-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted-strong)}#playerModal#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__meta{display:block}#playerModal .player-modal__module-item>.\!card:not(.player-modal__similar-card) .video-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted-strong)}#playerModal .video-modal__similar .player-modal__module-list{gap:clamp(var(--space-2xs),.85vw,var(--space-sm))}.player-modal__similar-card{outline:2px solid transparent;outline-offset:2px}.player-modal__similar-card:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}#playerModal.player-modal__similar-card{display:block}.player-modal__similar-card{position:relative;display:flex;width:100%;min-width:0;align-items:flex-start;gap:.75rem;border-radius:var(--radius-xl);padding:.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.player-modal__similar-card:focus-within,.player-modal__similar-card:hover{background-color:var(--surface-panel-hover)}.player-modal__similar-card-media{position:relative;display:block;flex-shrink:0;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--surface-alt);width:var(--similar-card-media-width);aspect-ratio:16/9;background-image:var(--similar-card-thumb-url,none);background-position:50%;background-size:cover}@media (max-width:640px){.player-modal__similar-card-media{width:var(--similar-card-media-width-sm)}}.player-modal__similar-card-media img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}#playerModal.player-modal__similar-card-content{display:block}.player-modal__similar-card-content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;gap:.25rem}.player-modal__similar-card-title{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;line-height:1.375;color:var(--text-primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.player-modal__similar-card-title:focus-visible,.player-modal__similar-card:hover .player-modal__similar-card-title{color:var(--color-accent-strong)}#playerModal.player-modal__similar-card-author{display:block}.player-modal__similar-card-author{display:flex;min-width:0;align-items:center}#playerModal.player-modal__similar-card-author-meta{display:block}.player-modal__similar-card-author-meta{display:flex;min-width:0;flex-direction:column}.player-modal__similar-card-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs);line-height:var(--line-height-tight);font-weight:500;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.player-modal__similar-card:hover .player-modal__similar-card-author-name{color:var(--color-text-strong)}.player-modal__similar-card-author-npub{display:none}#playerModal.player-modal__similar-card-meta{display:block}.player-modal__similar-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:var(--font-size-2xs);line-height:var(--line-height-tight);color:var(--text-muted-strong);min-width:0}.player-modal__similar-card-timestamp{white-space:nowrap}.video-modal__stage{position:relative;isolation:isolate;overflow:visible;--video-modal-ambient-bleed:clamp(var(--space-2xl),12vw,var(--space-5xl));--video-modal-ambient-scale:1.38;--video-modal-ambient-blur:clamp(var(--video-modal-ambient-blur-min),20vw,var(--video-modal-ambient-blur-max));--video-modal-ambient-opacity:1}.video-modal__video{position:relative;z-index:1;border-radius:var(--radius-xl);padding-block:clamp(var(--space-xs),2.5vw,var(--space-md-plus));background-color:transparent;box-shadow:0 0 0 var(--border-width-hairline) color-mix(in srgb,var(--color-border-strong) 8%,transparent) inset;overflow:visible}.video-modal__ambient{position:absolute;inset:calc(var(--video-modal-ambient-bleed)*-1);border-radius:calc(var(--radius-3xl) + var(--video-modal-ambient-bleed));pointer-events:none;z-index:0;display:block;overflow:visible}.video-modal__ambient:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-overlay-strong) 18%,transparent) 0,color-mix(in srgb,var(--color-overlay) 34%,transparent) 62%,transparent 100%);opacity:.9;mix-blend-mode:screen;pointer-events:none}.video-modal__ambient-canvas{position:relative;width:100%;height:100%;display:block;transform:scale(var(--video-modal-ambient-scale));filter:blur(var(--video-modal-ambient-blur)) saturate(2) brightness(1.24);opacity:var(--video-modal-ambient-opacity)}@media (min-width:1024px){.video-modal__video{position:sticky;top:calc(var(--space-2xl) + var(--space-3xl));z-index:1}.video-modal__status{flex-basis:clamp(var(--space-xl),25%,var(--space-3xl));max-width:clamp(var(--space-xl),25%,var(--space-3xl))}.video-modal__details{position:relative;z-index:2;margin-top:var(--space-lg)}}#playerModal .video-modal__video video{position:relative;z-index:1;background-color:var(--color-black);border-radius:var(--radius-lg);box-shadow:var(--shadow-video-modal);max-height:min(80vh,56.25vw);-o-object-fit:contain;object-fit:contain}.video-modal__media{display:block;aspect-ratio:16/9;width:100%;-o-object-fit:contain;object-fit:contain}#playerModal.video-modal__details{display:block}.video-modal__details{display:flex;flex-direction:column;gap:1.5rem}.video-modal__meta{border-bottom-width:1px;border-color:var(--border-default);--tw-border-opacity:0.2;padding-bottom:1rem}#playerModal.video-modal__tags{display:block}.video-modal__tags{margin-left:-.25rem;margin-right:-.25rem;display:flex;gap:.5rem;padding-left:.25rem;padding-right:.25rem}.video-modal__similar .video-modal__tags{margin-bottom:clamp(var(--space-xs),.9vw,var(--space-md))}.video-modal__tags[hidden]{display:none}.video-modal__tags[data-fade]{position:relative}.video-modal__tags[data-fade]:after,.video-modal__tags[data-fade]:before{content:"";position:sticky;top:0;bottom:0;width:var(--space-lg);pointer-events:none;z-index:1}.video-modal__tags[data-fade]:before{left:0;background:linear-gradient(to right,var(--surface-overlay-muted),transparent)}.video-modal__tags[data-fade]:after{right:0;background:linear-gradient(to left,var(--surface-overlay-muted),transparent)}.video-tag-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);overflow:hidden}.video-tag-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius-full);border-width:1px;border-color:var(--status-neutral-border);background-color:var(--status-neutral-surface);padding:.25rem .75rem;font-size:var(--font-size-2xs);line-height:var(--line-height-tight);font-weight:500;color:var(--status-neutral-on);position:relative;justify-content:center;white-space:nowrap;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;min-height:calc(var(--space-sm) + var(--space-xs));margin-inline-end:.25rem}.video-tag-pill__label{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}#playerModal.video-tag-pill__icon{display:block}.video-tag-pill__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:0;transform:scale(.8)}.video-tag-pill__icon svg{height:.75rem;width:.75rem}.video-tag-pill:focus-visible .video-tag-pill__label,.video-tag-pill:hover .video-tag-pill__label{opacity:0}.video-tag-pill:focus-visible .video-tag-pill__icon,.video-tag-pill:hover .video-tag-pill__icon{opacity:1;transform:scale(1)}#playerModal.video-modal__actions-row{display:block}.video-modal__actions-row{display:flex;width:100%;flex-wrap:wrap;align-items:flex-start;-moz-column-gap:.75rem;column-gap:.75rem;row-gap:.75rem}@media (min-width:640px){.video-modal__actions-row{-moz-column-gap:1rem;column-gap:1rem}}.video-modal__actions-group,.video-modal__reactions{flex:1 1 var(--menu-min-width);min-inline-size:0}#playerModal.video-modal__reactions{display:block}.video-modal__reactions{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:flex-start;gap:.75rem}@media (min-width:640px){.video-modal__reactions{gap:1rem}}@media (min-width:768px){.video-modal__reactions{flex-basis:auto}}.video-modal__reaction-buttons{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.video-modal__reaction-button{--video-modal-reaction-active-bg:color-mix(in srgb,var(--color-accent) 22%,var(--surface-overlay-panel));--video-modal-reaction-active-border:color-mix(in srgb,var(--color-accent) 38%,var(--border-overlay))}.video-modal__reaction-button[aria-pressed=true]{color:var(--color-accent-strong);background-color:var(--video-modal-reaction-active-bg);border-color:var(--video-modal-reaction-active-border)}.video-modal__reaction-button[aria-pressed=true] .video-modal__reaction-count{color:var(--color-accent-strong)}.video-modal__reaction-count{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;color:var(--text-muted)}.video-modal__reaction-meter{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;flex:1 1 var(--menu-min-width);max-inline-size:100%}.video-modal__reaction-meter-label{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:500;color:var(--text-muted);min-inline-size:var(--video-modal-reaction-label-min-inline)}.video-modal__reaction-meter-track{position:relative;flex:1 1 auto;inline-size:100%;block-size:var(--space-xs);border-radius:var(--radius-full);background-color:var(--color-border-muted);overflow:hidden}.video-modal__reaction-meter-fill{position:absolute;inset-inline-start:0;inset-block-start:0;block-size:100%;max-inline-size:100%;inline-size:var(--video-modal-reaction-fill,0);width:var(--video-modal-reaction-fill,0);background-image:linear-gradient(90deg,var(--color-accent) 0,var(--color-accent-strong) 100%);transition:inline-size var(--motion-duration-base) var(--motion-ease-out)}.video-modal__reaction-meter-fill--empty{inline-size:0;width:0}#playerModal.video-modal__actions-group{display:block}.video-modal__actions-group{display:flex;flex-basis:100%;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:.75rem}@media (min-width:768px){.video-modal__actions-group{flex-basis:auto;justify-content:flex-end;margin-inline-start:auto}}.video-modal__action-button{display:inline-flex;height:2.75rem;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);min-width:var(--video-modal-action-min-width);padding-inline:var(--space-md);border-width:var(--border-width-hairline);border-style:solid}.bv-modal.video-modal__action-label,.profile-pane.video-modal__action-label,.video-modal__action-label{display:none}@media (min-width:640px){.video-modal__action-label{display:inline}}.video-modal__action-icon{height:1.25rem;width:1.25rem}.video-modal__channel,.video-modal__description,.video-modal__stats{border-radius:1rem;border-width:1px;border-color:var(--border-default);--tw-border-opacity:0.2;background-color:var(--surface-base);padding:1rem 1.25rem;--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.video-modal__description-body{overflow-wrap:anywhere;word-break:break-word}.video-modal__description-body a{color:var(--color-accent-strong);text-decoration:underline;text-decoration-color:currentColor;word-break:break-word}.video-modal__description-body a:focus-visible,.video-modal__description-body a:hover{color:var(--color-accent-pressed)}.video-modal__comments{border-radius:1rem;border-width:1px;border-color:var(--border-default);--tw-border-opacity:0.2;background-color:var(--surface-base);padding:1.25rem;--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.comment-thread,.video-modal__comments{display:flex;flex-direction:column;gap:var(--space-lg)}.comment-thread__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.comment-thread__title{font-size:var(--font-size-lg);line-height:var(--line-height-base);font-weight:600;color:var(--text-primary)}.comment-thread__count,.comment-thread__empty{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted);margin:0}.comment-thread__empty{padding:var(--space-md);border-radius:var(--radius-lg);border:var(--border-width-hairline) dashed color-mix(in srgb,var(--border-default) 40%,transparent);background-color:var(--surface-alt)}.comment-thread__list{display:flex;flex-direction:column;gap:var(--space-md);margin:0;padding:0;list-style:none}.comment-thread__item{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);padding-block:var(--space-sm);border-bottom:var(--border-width-hairline) solid var(--border-subtle)}.comment-thread__item:last-child{border-bottom:none;padding-bottom:0}.comment-thread__avatar{inline-size:var(--comment-avatar-size);block-size:var(--comment-avatar-size)}.comment-thread__avatar img{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;inline-size:100%;block-size:100%}.comment-thread__content{display:flex;flex-direction:column;gap:var(--space-xs);min-inline-size:0}.comment-thread__meta{font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.comment-thread__author{font-weight:600;color:var(--text-primary)}.comment-thread__timestamp{color:var(--text-muted)}.comment-thread__body{color:var(--text-primary);line-height:1.6;word-break:break-word}.comment-thread__actions{font-size:var(--font-size-xs);line-height:var(--line-height-tight);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.comment-thread__actions button{outline:2px solid transparent;outline-offset:2px}.comment-thread__actions button:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}.comment-thread__actions button{display:inline-flex;align-items:center;gap:.25rem;border-radius:var(--radius-full);border-width:1px;border-color:var(--border-subtle);background-color:var(--surface-base);padding:.25rem .75rem;font-size:var(--font-size-xs);line-height:var(--line-height-tight);font-weight:600;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.comment-thread__actions button:focus-visible,.comment-thread__actions button:hover{color:var(--text-primary);border-color:var(--border-default)}.comment-thread__replies{display:flex;flex-direction:column;gap:var(--space-md);margin:0;margin-inline-start:calc(var(--space-lg) + var(--space-sm));padding-inline-start:var(--space-md);padding-block-start:var(--space-md);border-inline-start:var(--border-width-hairline) solid var(--border-subtle);list-style:none}.comment-thread__load-more{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);border-width:1px;border-color:var(--border-subtle);background-color:var(--surface-base);padding:.5rem 1rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;color:var(--text-primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.comment-thread__load-more:focus-visible,.comment-thread__load-more:hover{border-color:var(--border-default);color:var(--text-primary);background-color:color-mix(in srgb,var(--surface-alt) 70%,transparent)}.comment-thread__disabled{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted);border-radius:var(--radius-lg);border:var(--border-width-hairline) dashed color-mix(in srgb,var(--border-default) 32%,transparent);background-color:var(--surface-alt);padding:var(--space-md)}.comment-composer{display:flex;flex-direction:column;gap:var(--space-md);border-top:var(--border-width-hairline) solid var(--border-subtle);padding-top:var(--space-lg)}.comment-composer__field{display:flex;flex-direction:column;gap:var(--space-2xs)}.comment-composer__label{font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;color:var(--text-primary)}.comment-composer__textarea{min-block-size:var(--comment-composer-min-height)}.comment-composer__footer{display:flex;flex-direction:column;gap:var(--space-sm)}.comment-composer__hint{font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted);margin:0}.comment-composer__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.comment-composer__char-count{font-size:var(--font-size-xs);line-height:var(--line-height-tight);font-weight:500;color:var(--text-muted)}.comment-composer__submit{outline:2px solid transparent;outline-offset:2px}.comment-composer__submit:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}.comment-composer__status{margin:0}@media (min-width:640px){.comment-composer__footer{flex-direction:row;align-items:center;justify-content:space-between}}.video-modal__progress{height:.5rem;width:100%;overflow:hidden;border-radius:var(--radius-full);background-color:var(--border-subtle)}#playerModal.video-modal__stat-metrics{display:block}.video-modal__stat-metrics{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted)}.profile-modal{display:flex;flex-direction:column;inline-size:100%;block-size:100%;min-block-size:100%;max-block-size:none;overflow:hidden;--modal-sheet-inline-max:var(--profile-modal-inline-max);--profile-modal-scale:0.9;--profile-modal-gap:calc((var(--space-md) - var(--space-3xs))*var(--profile-modal-scale));--profile-modal-padding-inline:calc((var(--space-lg) - var(--space-md))*var(--profile-modal-scale));--profile-modal-padding-block-start:calc((var(--space-md) - var(--space-2xs))*var(--profile-modal-scale));--profile-modal-padding-block-end:calc((var(--space-lg) - var(--space-sm))*var(--profile-modal-scale));--profile-modal-nav-gap:calc(var(--space-xs)*var(--profile-modal-scale))}.profile-modal__content{display:flex;flex:1 1 auto;flex-direction:column;block-size:100%;min-block-size:0;transform:scale(var(--profile-modal-scale));transform-origin:top center}.profile-modal__active-profile{outline:2px solid transparent;outline-offset:2px}.profile-modal__active-profile:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}#playerModal.profile-modal__active-profile{display:block}.profile-modal__active-profile{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem}.profile-modal__active-details{display:flex;flex:1 1 var(--profile-modal-active-min-width);flex-direction:column;gap:var(--space-2xs);min-inline-size:0}.profile-modal__active-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.profile-hashtag-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0;padding:0;list-style:none}.profile-hashtag-item{display:inline-flex;align-items:center;gap:var(--space-3xs);padding-block:var(--space-3xs);padding-inline:var(--space-sm);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--color-border-translucent);background-color:var(--color-panel);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--font-lineheight-tight)}.profile-hashtag-remove{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--space-md);block-size:var(--space-md);border-radius:var(--radius-full);color:var(--color-text-muted);background:transparent;border:none;padding:0;cursor:pointer}.profile-hashtag-remove:hover{color:var(--color-text)}.profile-modal__remove-button{border-width:2px}.profile-modal__remove-button:focus-visible{--tw-ring-color:var(--color-critical-strong)}.profile-modal__add-profile{--tw-ring-color:var(--color-ring-alert);outline:2px solid transparent;outline-offset:2px}.profile-modal__add-profile:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}#playerModal.profile-modal__add-profile{display:block}.profile-modal__add-profile{position:relative;display:flex;width:100%;align-items:center;justify-content:flex-start;gap:1rem;border-radius:var(--radius-xl);padding:1rem 1.25rem;text-align:left;color:var(--text-primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);border:var(--outline-thick-width) solid var(--color-ring-alert);background-color:var(--surface-panel-hover)}.profile-modal__add-profile:hover{background-color:color-mix(in srgb,var(--surface-panel-hover) 88%,var(--color-ring-alert) 12%)}.profile-modal__add-profile:focus-visible{background-color:color-mix(in srgb,var(--surface-panel-hover) 80%,var(--color-ring-alert) 20%)}#playerModal.profile-modal__add-profile-icon{display:block}.profile-modal__add-profile-icon{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:color-mix(in srgb,var(--color-ring-alert) 18%,var(--surface-panel));color:var(--color-ring-alert)}.profile-modal__body{overflow:hidden;overflow-x:hidden;padding-block-start:var(--profile-modal-padding-block-start);padding-block-end:var(--profile-modal-padding-block-end);padding-inline:var(--profile-modal-padding-inline)}.profile-modal__body,.profile-modal__layout{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--profile-modal-gap);inline-size:100%;min-block-size:0}.profile-modal__header{align-items:center}.profile-modal__header-title{display:flex;align-items:center;gap:var(--space-sm)}.profile-modal__menu{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-modal__pane-wrapper{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0}.profile-modal__nav{display:flex;flex-wrap:wrap;gap:var(--profile-modal-nav-gap);align-self:flex-start;overflow-x:visible}.profile-nav__unread-dot{position:absolute;top:50%;left:-6px;right:auto;width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--surface-panel);background-color:var(--status-danger);display:none;pointer-events:none;transform:translateY(-50%)}.profile-nav__unread-dot.is-visible{display:block}.profile-modal__panes{flex:1 1 auto;block-size:100%;min-block-size:0;overflow-y:auto;padding-inline-end:var(--profile-modal-scrollbar-offset);scrollbar-gutter:stable}.profile-modal__panes,.profile-pane{display:flex;flex-direction:column;overflow-x:hidden}.profile-pane{min-block-size:auto}.profile-pane.hidden{display:none!important}@supports not (scrollbar-gutter:stable){.profile-modal__panes{padding-inline-end:calc(var(--profile-modal-scrollbar-offset) + var(--space-2xs))}}@media (max-width:calc(1024px - var(--breakpoint-edge-offset ))){.profile-modal__layout[data-mobile-view=menu] .profile-modal__pane-wrapper,.profile-modal__layout[data-mobile-view=pane] .profile-modal__menu{display:none}}@media (min-width:1024px){.profile-modal{max-block-size:var(--modal-shell-max-height)}.profile-modal__body{padding-inline:calc(var(--profile-modal-padding-inline) + var(--space-xs))}.profile-modal__body,.profile-modal__layout{gap:calc(var(--profile-modal-gap) + var(--space-2xs))}.profile-modal__layout{display:grid;align-items:stretch;block-size:100%;grid-template-columns:minmax(var(--profile-modal-nav-min-width),var(--profile-modal-nav-max-width)) minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}.profile-modal__nav{flex-direction:column;flex-wrap:nowrap;gap:var(--profile-modal-nav-gap);justify-self:start;inline-size:var(--profile-modal-nav-max-width);min-inline-size:var(--profile-modal-nav-min-width)}.profile-modal__pane-wrapper{block-size:100%}}.beacon-hidden-download,.torrent-download-anchor,[data-beacon-hidden-download]{display:none!important}.beacon-clipboard-offscreen,.torrent-clipboard-textarea,[data-beacon-clipboard-state=offscreen],[data-beacon-clipboard=offscreen]{position:fixed;top:0;left:var(--offscreen-offset);opacity:0;width:0;height:0;pointer-events:none}.beacon-toast-motion,.torrent-toast-motion{transition-property:opacity,transform;will-change:opacity,transform;opacity:0;transform:translateY(var(--toast-translate))}.beacon-toast-motion[data-beacon-motion=enter],.beacon-toast-motion[data-beacon-motion=show],.torrent-toast-motion[data-beacon-motion=enter],.torrent-toast-motion[data-beacon-motion=show]{opacity:1;transform:translateY(0)}.beacon-toast-motion[data-beacon-motion=exit],.torrent-toast-motion[data-beacon-motion=exit]{opacity:0;transform:translateY(var(--toast-translate))}.torrent-toast{pointer-events:auto;width:100%;max-width:28rem;border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:500;letter-spacing:-.025em;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-inset:inset}.torrent-toast--info{border-width:1px;border-color:var(--border-overlay);background-color:var(--surface-base);color:var(--text-primary)}.torrent-toast--success{border-width:1px;border-color:var(--color-info);--tw-border-opacity:0.6;background-color:var(--color-info);color:var(--color-white)}.torrent-toast--error{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.6;background-color:var(--color-critical);color:var(--color-white)}.torrent-toast--warn{border-width:1px;border-color:var(--status-warning-strong);--tw-border-opacity:0.7;background-color:var(--status-warning-strong);color:var(--status-warning-strong)}.watch-history-card{--video-card-lift-translate-y:0;--video-card-backdrop-opacity:0;--video-card-backdrop-translate-y:var(--space-md-plus);--video-card-backdrop-scale:1.08;--video-card-backdrop-blur:var(--blur-thumbnail-blur);outline:2px solid transparent;outline-offset:2px}.watch-history-card:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--surface-base);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-fast);transition-timing-function:cubic-bezier(0,0,.2,1);--tw-ring-color:var(--color-accent)}.watch-history-card{position:relative;border-radius:var(--radius-lg);border-width:1px;border-color:transparent;background-color:var(--surface-raised);color:var(--text-primary);--tw-shadow:var(--shadow-md);--tw-shadow-colored:var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translate3d(0,var(--video-card-lift-translate-y),0);transition-property:transform,box-shadow,border-color,background-color,color;will-change:transform;isolation:isolate}.watch-history-card:before{content:"";position:absolute;inset:0;z-index:0;opacity:var(--video-card-backdrop-opacity);background-image:var(--video-card-thumb-url,none);background-position:50%;background-repeat:no-repeat;background-size:cover;transform:translate3d(0,var(--video-card-backdrop-translate-y),0) scale(var(--video-card-backdrop-scale));filter:blur(var(--video-card-backdrop-blur));transition:opacity var(--motion-duration-base) var(--motion-ease-in-out),transform var(--motion-duration-base) var(--motion-ease-in-out),filter var(--motion-duration-base) var(--motion-ease-in-out);pointer-events:none;will-change:opacity,transform,filter}.watch-history-card>*{position:relative;z-index:1}.watch-history-card:focus-within,.watch-history-card:hover{--video-card-lift-translate-y:var(--motion-video-card-hover-translate);--video-card-backdrop-opacity:0.425;--video-card-backdrop-translate-y:var( --motion-video-card-backdrop-translate - );--video-card-backdrop-scale:1.12;--video-card-backdrop-blur:var(--blur-video-card-backdrop-strong);--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card:focus-visible{border-color:var(--color-accent);--tw-border-opacity:0.4;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card[data-state=critical]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--surface-raised-critical)}.watch-history-card[data-state=private]{background-color:var(--surface-raised-private);--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.watch-history-card[data-state=disabled],.watch-history-card[data-state=private]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card[data-state=disabled]{opacity:.6;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.watch-history-card[data-alert=nsfw-owner]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--color-black)}.watch-history-card[data-alert=nsfw-owner]:hover{--tw-border-opacity:0.6;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card img[data-thumbnail-state=blurred],.watch-history-card img[data-visual-state=blurred]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}.watch-history-card[data-owner-is-viewer=true][data-url-health-state=offline][data-stream-health-state=unhealthy]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--surface-raised-critical)}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card){display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card){display:flex;width:100%;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:var(--space-md)}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__media{width:clamp(var(--video-modal-item-media-min),18vw,var(--video-modal-item-media-max));flex-shrink:0;overflow:hidden;border-radius:var(--radius-lg)}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{padding:clamp(var(--space-sm),1.25vw,var(--space-md))}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;gap:var(--space-sm)}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__meta{display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted-strong)}.watch-history-card[data-motion=enter]{opacity:0;animation:card-motion-enter .22s ease-out forwards}#playerModal.watch-history-card{display:block}.watch-history-card{display:flex;flex-wrap:wrap;align-items:stretch;gap:1.25rem;padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}@media (prefers-reduced-motion:reduce){.watch-history-card,.watch-history-card[data-motion=enter]{transition-property:none}.watch-history-card[data-motion=enter]{opacity:1;animation:none}}.watch-history-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.watch-history-card{gap:1.5rem;padding:1.25rem}}.watch-history-card--private{border-color:var(--color-info);--tw-border-opacity:0.6}#playerModal.watch-history-card__primary{display:block}.watch-history-card__primary{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;align-items:stretch;gap:1rem}@media (min-width:640px){.watch-history-card__primary{flex-direction:row}}.watch-history-card__thumbnail{display:block;width:14rem;max-width:100%;flex:none;color:var(--text-primary);text-decoration-line:none}.watch-history-card__thumbnailInner{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--surface-base)}.watch-history-card__thumbnailInner img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.watch-history-card [data-thumbnail-state=blurred] img,.watch-history-card [data-visual-state=blurred] img{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}#playerModal.watch-history-card__details{display:block}.watch-history-card__details{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;justify-content:center;gap:var(--space-sm)}.watch-history-card__title{cursor:pointer;font-size:var(--font-size-lg);line-height:var(--line-height-base);font-weight:600;line-height:1.375;color:var(--text-primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.watch-history-card__title:focus,.watch-history-card__title:hover{color:var(--color-accent)}.watch-history-card__created{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted)}#playerModal.watch-history-card__meta{display:block}.watch-history-card__meta{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:1rem}@media (min-width:640px){.watch-history-card__meta{min-width:14rem;flex:none;flex-basis:16rem}}.watch-history-card__watched{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--border-subtle)}#playerModal.watch-history-card__creator{display:block}.watch-history-card__creator{display:flex;align-items:center;gap:.75rem}#playerModal.watch-history-card__creatorAvatar{display:block}.watch-history-card__creatorAvatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-full);background-color:var(--surface-panel);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__creatorAvatar:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.5}.watch-history-card__creatorAvatar:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.5}.watch-history-card__creatorAvatar:focus-visible,.watch-history-card__creatorAvatar:hover{--tw-ring-color:color-mix(in srgb,var(--color-accent) 38%,transparent)}.watch-history-card__creatorAvatar img{height:100%;width:100%;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.watch-history-card__creatorName{cursor:pointer;background-color:transparent;padding:0;text-align:left;font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:500;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__creatorName:hover{color:var(--color-accent)}.watch-history-card__creatorName:focus-visible{color:var(--color-accent)}#playerModal.watch-history-card__actions{display:block}.watch-history-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.watch-history-card__action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);border-width:1px;border-color:transparent;background-color:var(--surface-panel);padding:.5rem 1rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:500;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__action:hover{border-color:var(--border-default);background-color:var(--surface-alt);color:var(--text-primary)}.watch-history-card__action:focus-visible{border-color:var(--border-default);background-color:var(--surface-alt);color:var(--text-primary)}.watch-history-card__action--primary{background-color:var(--color-accent-strong);color:var(--color-white)}.watch-history-card__action--primary:hover{background-color:var(--color-accent-pressed)}.watch-history-card__action--primary:focus-visible{background-color:var(--color-accent-pressed)}.watch-history-card__action--danger{background-color:var(--color-critical);color:var(--color-white)}.watch-history-card__action--danger:hover{background-color:var(--color-critical-strong)}.watch-history-card__action--danger:focus-visible{background-color:var(--color-critical-strong)}#playerModal.watch-history-card__moderation{display:block}.watch-history-card__moderation{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.watch-history-card__hidden{margin-top:var(--space-md);border-radius:var(--radius-lg);border-width:1px;border-style:dashed;border-color:var(--border-default);background-color:var(--surface-overlay-panel-soft);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-primary)}.watch-history-card__hidden .moderation-badge{align-self:flex-start}#playerModal .channel-card__avatar img[data-visual-state=blurred]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}#playerModal .video-modal__moderation-bar .moderation-badge{--text-status-neutral-on:var(--color-text);--text-status-warning-on:var(--color-warning-on)}#playerModal .video-modal__moderation-bar .moderation-badge[data-variant=neutral]{color:var(--color-text)}.\!container{max-width:var(--layout-docs-max-width)!important;margin:0 auto!important;padding:var(--space-md)!important}.container{max-width:var(--layout-docs-max-width);margin:0 auto;padding:var(--space-md)}.qr-code__table{margin:var(--qr-code-table-margin,0)}.qr-code__cell,.qr-code__table{border:0;border-collapse:collapse}.qr-code__cell{padding:0;margin:0;width:var(--qr-code-cell-width);height:var(--qr-code-cell-height);background-color:var(--qr-code-color-light)}.qr-code__cell--dark{background-color:var(--qr-code-color-dark)}.qr-code__container[data-qr-code-mode=image] .qr-code__canvas{display:none}.qr-code__container[data-qr-code-mode=canvas] .qr-code__canvas,.qr-code__container[data-qr-code-mode=image] .qr-code__image{display:block}.qr-code__container[data-qr-code-mode=canvas] .qr-code__image{display:none}.fade-in{opacity:0;animation:interface-fade-in .28s ease-out forwards;animation-delay:var(--fade-in-delay,0ms)}.fade-in-delay-100{--fade-in-delay:100ms}.fade-in-delay-200{--fade-in-delay:200ms}.fade-in-delay-300{--fade-in-delay:300ms}.\!card[data-motion=enter]{opacity:0!important;animation:card-motion-enter .22s ease-out forwards!important}.card[data-motion=enter]{opacity:0;animation:card-motion-enter .22s ease-out forwards}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg);min-height:var(--icon-size-lg);flex:0 0 var(--icon-size-lg);line-height:0;background-color:var(--color-neutral-700);color:var(--color-white);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.icon-button:hover{background-color:var(--color-neutral-600)}.icon-button:active,.icon-button:focus{outline:none;box-shadow:0 0 0 var(--icon-button-ring-width) var(--color-ring-alert)}.icon-image{width:var(--icon-size-md);height:var(--icon-size-md);pointer-events:none}.accent-action-button,.channel-action-button{--accent-action-bg:color-mix(in srgb,var(--surface-overlay-panel) 78%,transparent);--accent-action-border:color-mix(in srgb,var(--border-overlay) 92%,transparent);--accent-action-bg-hover:color-mix(in srgb,var(--color-accent) 22%,var(--surface-overlay-panel));--accent-action-ring:color-mix(in srgb,var(--color-accent) 48%,transparent);--accent-action-bg-active:color-mix(in srgb,var(--color-accent-pressed) 28%,var(--surface-overlay-panel));color:var(--color-text);background-color:var(--accent-action-bg);border-color:var(--accent-action-border);border-style:solid;border-width:var(--border-width-hairline)}.accent-action-button:focus-visible,.accent-action-button:hover,.channel-action-button:focus-visible,.channel-action-button:hover{color:var(--color-accent-strong);background-color:var(--accent-action-bg-hover)}.accent-action-button:focus,.accent-action-button:focus-visible,.channel-action-button:focus,.channel-action-button:focus-visible{box-shadow:0 0 0 var(--icon-button-ring-width) var(--accent-action-ring)}.accent-action-button:active,.channel-action-button:active{color:var(--color-accent-pressed);background-color:var(--accent-action-bg-active)}.modal-nav .icon-button{box-shadow:none;padding:0;gap:0;width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg);min-height:var(--icon-size-lg)}.modal-nav .icon-button:not(.accent-action-button):not(.channel-action-button){border:none}.modal-meta{gap:var(--space-xs)}.modal-meta,.modal-view-count{display:inline-flex;align-items:center}.modal-view-count{gap:var(--space-2xs);font-size:var(--font-size-sm);line-height:var(--space-md-plus);color:var(--color-muted-alt);white-space:nowrap}.view-count-text{white-space:nowrap;color:var(--color-muted-strong)}.ratio-16-9{position:relative;width:100%;padding-top:56.25%;background-color:var(--color-card)}.ratio-16-9>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}#modalContainer{position:fixed;inset:0;z-index:var(--z-modal-root);pointer-events:none;isolation:isolate}#modalContainer>*{pointer-events:auto}#modalContainer>[id$=Modal]:not(#playerModal){z-index:var(--z-modal-root)}#modalContainer>[id$=Modal]:not(#playerModal)>.bv-modal-backdrop{z-index:var(--z-modal-overlay)}#modalContainer>[id$=Modal]:not(#playerModal) .bv-modal__panel{z-index:var(--z-modal-content)}#modalContainer>#profileModal,#profileModal[data-modal-stack=top]{z-index:var(--z-modal-top-root)}#modalContainer>#profileModal>.bv-modal-backdrop,#profileModal[data-modal-stack=top]>.bv-modal-backdrop{z-index:var(--z-modal-top-overlay)}#modalContainer>#profileModal .bv-modal__panel,#profileModal[data-modal-stack=top] .bv-modal__panel{z-index:var(--z-modal-top-content)}#modalContainer>#eventDetailsModal{z-index:var(--z-modal-top-root)}#modalContainer>#eventDetailsModal>.bv-modal-backdrop{z-index:var(--z-modal-top-overlay)}#modalContainer>#eventDetailsModal .bv-modal__panel{z-index:var(--z-modal-top-content)}.bv-modal[data-nested-modal-active=true]{pointer-events:none;visibility:hidden}#modalContainer>#loginModal{z-index:var(--z-modal-peak-root)}#modalContainer>#loginModal>.bv-modal-backdrop{z-index:var(--z-modal-peak-overlay)}#modalContainer>#loginModal .bv-modal__panel{z-index:var(--z-modal-peak-content)}#modalContainer>#playerModal{z-index:var(--z-modal-player)}#modalContainer>#playerModal .player-modal__container,#modalContainer>#playerModal .player-modal__content{z-index:var(--z-modal-content)}#playerModal{position:fixed;inset:0;z-index:var(--z-modal-player);display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100vw;height:100vh;padding:0;background-color:var(--color-surface);color:var(--color-subtle-text);--player-modal-inline-max:var(--layout-player-max-width);--player-modal-inline-padding:clamp(var(--space-md-plus),4vw,var(--space-2xl));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#playerModal.flex{display:block}#modalVideo{width:100%;aspect-ratio:16/9;background-color:var(--color-black)}.notification-portal{position:fixed;top:0;left:0;right:0;z-index:var(--z-overlay-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--space-lg) var(--space-lg);pointer-events:none;opacity:0;transform:translateY(var(--toast-translate));transition:transform var(--motion-duration-base) var(--motion-ease-out),opacity var(--motion-duration-base) var(--motion-ease-out)}@media (min-width:640px){.notification-portal{padding-inline:var(--space-xl)}}.notification-portal:has(.notification-banner:not(.hidden)){opacity:1;transform:translateY(0)}.notification-portal--active{opacity:1;transform:translateY(0)}.notification-banner,.torrent-toast{--notify-accent:var(--notification-banner-accent);--notify-accent-strong:var(--notification-banner-accent-strong);--notify-border:var(--notification-banner-border);--notify-background:var(--notification-banner-background);--notify-foreground:var(--notification-banner-text);position:relative;display:flex;align-items:center;gap:var(--space-md);width:min(var(--notification-banner-max-inline),100%);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-xl);border:var(--border-width-hairline) solid var(--notify-border);background:var(--notify-background);color:var(--notify-foreground);box-shadow:0 var(--shadow-notification-offset-y) var(--shadow-notification-blur) var(--color-shadow-notification);backdrop-filter:blur(var(--overlay-backdrop-blur));pointer-events:auto;isolation:isolate;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;line-height:1.375;transition:transform var(--motion-duration-base) var(--motion-ease-out),opacity var(--motion-duration-base) var(--motion-ease-out)}.notification-banner:before,.torrent-toast:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--notify-accent) 0,var(--notify-accent-strong) 100%);opacity:.18;pointer-events:none}.notification-banner>*,.torrent-toast>*{position:relative;z-index:1}.notification-dismiss{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:var(--radius-full);border-width:1px;border-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);color:inherit;opacity:.75;background-color:var(--notify-dismiss-background)}.notification-dismiss:focus-visible,.notification-dismiss:hover{opacity:1;background-color:var(--notify-dismiss-background-hover)}.notification-dismiss svg{height:1rem;width:1rem}.notification-banner:not(.hidden){animation:notification-slide-in var(--motion-duration-base) var(--motion-ease-out)}.notification-banner--critical,.torrent-toast--error{--notify-accent:var(--notification-banner-critical-accent);--notify-accent-strong:var(--notification-banner-critical-accent-strong);--notify-border:var(--notification-banner-critical-border);--notify-background:var(--notification-banner-critical-background);--notify-foreground:var(--notification-banner-critical-text)}.notification-banner--success,.torrent-toast--success{--notify-accent:var(--notification-banner-success-accent);--notify-accent-strong:var(--notification-banner-success-accent-strong);--notify-border:var(--notification-banner-success-border);--notify-background:var(--notification-banner-success-background);--notify-foreground:var(--notification-banner-success-text)}.notification-banner--info,.torrent-toast--info{--notify-accent:var(--notification-banner-info-accent);--notify-accent-strong:var(--notification-banner-info-accent-strong);--notify-border:var(--notification-banner-info-border);--notify-background:var(--notification-banner-info-background);--notify-foreground:var(--notification-banner-info-text)}.notification-banner--warning,.torrent-toast--warn{--notify-accent:var(--notification-banner-warning-accent);--notify-accent-strong:var(--notification-banner-warning-accent-strong);--notify-border:var(--notification-banner-warning-border);--notify-background:var(--notification-banner-warning-background);--notify-foreground:var(--notification-banner-warning-text)}.status-banner .status-spinner{animation:spin 1s linear infinite;border:var(--space-3xs) solid var(--color-info-border);border-radius:var(--radius-full);border-top-color:var(--color-info);flex-shrink:0;height:var(--icon-size-md);width:var(--icon-size-md)}.status-banner .status-message{flex:1 1 auto}@keyframes notification-slide-in{0%{opacity:0;transform:translateY(var(--toast-translate))}to{opacity:1;transform:translateY(0)}}.status-spinner--inline{animation:spin 1s linear infinite;border:var(--space-3xs) solid var(--color-border-info-soft);border-radius:var(--radius-full);border-top-color:var(--color-info);display:inline-block;height:var(--space-md);width:var(--space-md)}body.iframe-form{background-color:transparent;color:var(--color-text);font-family:var(--font-family-sans);margin:var(--space-lg)}body.iframe-form .container{width:100%;max-width:100%;margin:0;padding:0}body.iframe-form .\!container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body.iframe-form .form-container{background-color:var(--color-surface-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}body.iframe-form .form-container>p{margin:0}body.iframe-form form{display:flex;flex-direction:column}body.iframe-form form>*+*{margin-top:var(--space-sm)}body.iframe-form form h1,body.iframe-form form h2{color:var(--color-text);margin-top:var(--space-md)}body.iframe-form label{color:var(--color-subtle-text);display:block;font-weight:600;margin-top:var(--space-sm)}body.iframe-form label+.form-control,body.iframe-form label+.select,body.iframe-form label+.textarea{margin-top:var(--space-xs)}body.iframe-form .checkbox-group,body.iframe-form .radio-group{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs)}body.iframe-form .checkbox-group label,body.iframe-form .radio-group label{align-items:center;color:var(--color-subtle-text);display:inline-flex;font-weight:500;gap:var(--space-xs);margin:0}body.iframe-form .checkbox-group input[type=checkbox],body.iframe-form .radio-group input[type=radio]{margin:0}body.iframe-form .radio-group input[type=radio]{accent-color:var(--color-accent-strong)}body.iframe-form button.btn{align-self:flex-start;margin-top:var(--space-md)}body.iframe-form button.\!btn{align-self:flex-start!important;margin-top:var(--space-md)!important}body.iframe-form #status{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-hairline) var(--color-border-translucent);color:var(--color-subtle-text);min-height:calc(var(--space-2xl) + var(--space-xl));padding:var(--space-sm);white-space:pre-wrap}body.iframe-form .status-line{color:var(--color-subtle-text);margin:var(--space-2xs) 0}body.iframe-form .status-line.error{color:var(--color-critical-strong)}body.iframe-form .status-line.\!error{color:var(--color-critical-strong)!important}body.iframe-form .status-line.success{color:var(--color-info-strong)}body.iframe-form .status-line.\!success{color:var(--color-info-strong)!important}body.iframe-form .status-line.warn{color:var(--color-warning-strong)}@media (max-width:640px){body.iframe-form{margin:var(--space-md)}body.iframe-form .form-container{padding:var(--space-md)}}#sidebarContainer{position:relative;overflow:visible}#sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;height:100dvh;color:var(--color-text-frosted-strong);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overscroll-behavior-inline:contain;touch-action:pan-y;scrollbar-gutter:stable both-edges;background:transparent;border-right:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:width .2s ease,transform .3s ease;z-index:var(--z-sidebar);box-shadow:none;isolation:isolate}#app.sidebar-collapsed,#sidebar.sidebar-collapsed,#sidebar[data-state=collapsed],body.sidebar-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}#app.sidebar-expanded,#sidebar.sidebar-expanded,#sidebar[data-state=expanded],body.sidebar-expanded{--sidebar-width:var(--sidebar-width-expanded)}#sidebar .sidebar__inner{padding-block-start:max(var(--space-sidebar-shell-block-start),calc(var(--app-header-centerline) - var(--sidebar-control-size)/2));padding-block-end:var(--space-sidebar-shell-block-end);padding-inline:var(--space-sidebar-shell-inline);border-radius:var(--radius-sidebar-shell);border:none;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;transition:color .2s ease}#sidebar .sidebar__inner,.sidebar-scroll{display:flex;flex-direction:column;height:100%;width:100%;overflow:visible}.sidebar-scroll{gap:var(--space-sidebar-scroll-gap);min-height:0;flex:1 1 auto}.sidebar-panel{position:relative;width:100%;display:flex;flex-direction:column;gap:var(--space-sidebar-panel-gap);padding:var(--space-sidebar-panel-padding-block) var(--space-sidebar-panel-padding-inline);border-radius:var(--radius-sidebar-panel);border:none;background:transparent;box-shadow:none;color:inherit;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;isolation:isolate;transition:border-color .2s ease,box-shadow .22s ease,background .22s ease}.sidebar-panel--primary{flex:1 1 auto;min-height:0;padding-block-start:0}.sidebar-panel__header{display:flex;justify-content:flex-end;margin-bottom:var(--space-md)}.sidebar-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--sidebar-control-size);height:var(--sidebar-control-size);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--color-border-translucent-medium);background:var(--color-surface-tint-subtle);color:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;flex-shrink:0;box-sizing:border-box}.sidebar-collapse-toggle:hover{background:var(--color-border-translucent);border-color:var(--color-border-translucent-stronger);color:var(--color-text)}.sidebar-collapse-toggle:focus-visible{outline:var(--space-3xs) solid var(--color-secondary);outline-offset:var(--space-2xs)}.sidebar-collapse-toggle__icon{width:var(--icon-size-sm);height:var(--icon-size-sm);transition:transform .2s ease}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-xs);opacity:1;transition:opacity .16s ease;width:100%}.sidebar-nav-link{--sidebar-nav-translate-x:0;--sidebar-nav-link-highlight-opacity:0;--sidebar-nav-link-highlight-scale:0.96;display:flex;align-items:center;gap:var(--space-sidebar-footer-gap);padding-block:var(--space-sidebar-nav-padding-block);padding-inline-start:var(--space-sidebar-nav-padding-inline-start);padding-inline-end:var(--space-sidebar-nav-padding-inline-end);min-height:var(--sidebar-control-size);border-radius:var(--radius-sidebar-nav);font-size:var(--font-size-sidebar-nav);font-weight:600;letter-spacing:.015em;color:var(--color-text);text-decoration:none;width:100%;position:relative;border:var(--border-width-hairline) solid transparent;background:none;box-shadow:none;transform:translateX(var(--sidebar-nav-translate-x));transition:color .18s ease,border-color .2s ease,box-shadow .22s ease,transform .22s ease;overflow:hidden;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar-nav-link:after,.sidebar-nav-link:before{content:"";position:absolute;inset:calc(var(--border-width-hairline)*-1);border-radius:inherit;pointer-events:none;transition:opacity .22s ease,transform .24s ease;z-index:-1}.sidebar-nav-link:before{background:linear-gradient(120deg,var(--color-sidebar-accent-start) 0,var(--color-sidebar-accent-end) 100%);opacity:var(--sidebar-nav-link-highlight-opacity);transform:scale(var(--sidebar-nav-link-highlight-scale));filter:saturate(140%)}.sidebar-nav-link:after{background:linear-gradient(105deg,var(--color-sidebar-hover) 0,transparent 75%);opacity:.22;mix-blend-mode:screen;z-index:-2}.sidebar-nav-link:focus-visible,.sidebar-nav-link:hover{--sidebar-nav-link-highlight-opacity:1;--sidebar-nav-link-highlight-scale:1.02;--sidebar-nav-translate-x:var(--space-sidebar-nav-translate);color:var(--color-white);border-color:var(--color-sidebar-hover-strong);box-shadow:0 0 0 var(--border-width-hairline) var(--color-sidebar-hover-strong),var(--shadow-sidebar-accent)}.sidebar-nav-link:focus-visible{outline:none;box-shadow:var(--shadow-sidebar-focus-ring),var(--shadow-sidebar-accent)}.sidebar-nav-link:focus-visible:after,.sidebar-nav-link:hover:after{opacity:.35}.sidebar-nav-link--sub{font-size:var(--font-size-sidebar-subnav);font-weight:500;color:var(--color-sidebar-text-muted);padding-block:var(--space-sidebar-subnav-padding-block);letter-spacing:.02em;--sidebar-nav-link-highlight-opacity:0.25;--sidebar-nav-link-highlight-scale:1}.sidebar-icon{width:var(--space-lg);height:var(--space-lg);min-width:var(--space-lg);min-height:var(--space-lg);flex-shrink:0;display:block;filter:var(--sidebar-icon-filter);transition:filter .18s ease}.sidebar-footer{flex-direction:column;margin-top:auto;z-index:2}.sidebar-dropup-trigger,.sidebar-footer{display:flex;gap:var(--space-sidebar-footer-gap);position:relative}.sidebar-dropup-trigger{align-items:center;justify-content:space-between;width:100%;padding-block:var(--space-sidebar-trigger-padding-block);padding-inline-start:var(--space-sidebar-nav-padding-inline-start);padding-inline-end:var(--space-sidebar-nav-padding-inline-end);min-height:var(--sidebar-control-size);border-radius:var(--radius-sidebar-nav);border:var(--border-width-hairline) solid transparent;background:none;color:var(--color-text);font-size:var(--font-size-sidebar-trigger);font-weight:600;cursor:pointer;box-sizing:border-box;flex-shrink:0;overflow:hidden;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:border-color .2s ease,color .2s ease,box-shadow .22s ease}.sidebar-dropup-trigger:before{background:linear-gradient(120deg,var(--color-sidebar-accent-start) 0,var(--color-sidebar-accent-end) 100%);opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .22s ease;z-index:-1;filter:saturate(140%)}.sidebar-dropup-trigger:after,.sidebar-dropup-trigger:before{content:"";position:absolute;inset:calc(var(--border-width-hairline)*-1);border-radius:inherit;pointer-events:none}.sidebar-dropup-trigger:after{background:linear-gradient(110deg,var(--color-sidebar-hover) 0,transparent 80%);opacity:.18;mix-blend-mode:screen;transition:opacity .2s ease;z-index:-2}.sidebar-dropup-trigger:focus-visible,.sidebar-dropup-trigger:hover{color:var(--color-white);border-color:var(--color-sidebar-hover-strong);box-shadow:0 0 0 var(--border-width-hairline) var(--color-sidebar-hover-strong),var(--shadow-sidebar-dropup)}.sidebar-dropup-trigger:focus-visible:before,.sidebar-dropup-trigger:hover:before{opacity:1;transform:scale(1.02)}.sidebar-dropup-trigger:focus-visible:after,.sidebar-dropup-trigger:hover:after{opacity:.35}.sidebar-dropup-trigger:focus-visible{outline:none;box-shadow:var(--shadow-sidebar-focus-ring),var(--shadow-sidebar-dropup)}.sidebar-dropup-trigger__glyph{width:var(--icon-size-md);height:var(--icon-size-md);opacity:.9}.sidebar-dropup-trigger__chevron{width:var(--icon-size-sm);height:var(--icon-size-sm);transition:transform .18s ease}.sidebar-dropup-trigger[aria-expanded=true] .sidebar-dropup-trigger__chevron,.sidebar-dropup-trigger__chevron.is-rotated{transform:rotate(180deg)}.sidebar-dropup-panel{position:absolute;left:0;right:0;bottom:calc(100% + var(--space-sidebar-popover-offset));border-radius:var(--radius-xl);border:var(--border-width-hairline) solid var(--color-sidebar-border-strong);background:linear-gradient(160deg,color-mix(in srgb,var(--color-sidebar-surface) 88%,transparent) 0,color-mix(in srgb,var(--color-sidebar-surface-alt) 68%,transparent) 100%);box-shadow:inset 0 0 0 var(--border-width-fine) var(--color-sidebar-border),var(--shadow-sidebar-panel);padding:var(--space-sidebar-popover-padding-block) var(--space-sidebar-popover-padding-inline);color:var(--color-text-frosted);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(var(--space-sm));transition:opacity .18s ease,transform .18s ease,visibility .18s ease,box-shadow .22s ease;backdrop-filter:blur(var(--sidebar-panel-backdrop-blur)) saturate(var(--sidebar-panel-backdrop-saturation));-webkit-backdrop-filter:blur(var(--sidebar-panel-backdrop-blur)) saturate(var(--sidebar-panel-backdrop-saturation));z-index:5;isolation:isolate}.sidebar-dropup-panel[data-state=expanded]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.sidebar-dropup-panel__inner{display:flex;flex-direction:column;gap:var(--space-sidebar-popover-gap);width:100%;padding-inline-end:var(--space-sidebar-dropup-scroll-reserve);max-height:var(--sidebar-dropup-max-height);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable both-edges}.sidebar-dropup-panel__inner.is-measuring{position:absolute;width:-moz-max-content;width:max-content;max-width:none;visibility:hidden;pointer-events:none;left:var(--offscreen-offset);right:auto;top:auto;bottom:auto}.sidebar-dropup-measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden}.sidebar-dropup-panel__inner>*{width:100%;min-width:0}#sidebar[data-footer-state=expanded] .sidebar-nav{opacity:0;pointer-events:none}#sidebar[data-footer-state=collapsed] .sidebar-nav{opacity:1}.sidebar-loading-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--space-2xl) 0;width:100%;grid-column:1/-1}.sidebar-loading-indicator{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-muted-strong);font-size:var(--font-size-sm);font-weight:500;letter-spacing:.01em}.sidebar-loading-text{white-space:nowrap}#app{box-sizing:border-box;transition:margin-left .2s ease,width .2s ease,max-width .2s ease}#app[data-sidebar-state=collapsed]{margin-left:var(--sidebar-width-collapsed);width:calc(100vw - var(--sidebar-width-collapsed));max-width:calc(100vw - var(--sidebar-width-collapsed))}#app[data-sidebar-state=expanded]{margin-left:max(var(--sidebar-width-expanded-base),var(--sidebar-dropup-content-width));width:min(calc(100vw - var(--sidebar-width-expanded-base)),calc(100vw - var(--sidebar-dropup-content-width)));max-width:min(calc(100vw - var(--sidebar-width-expanded-base)),calc(100vw - var(--sidebar-dropup-content-width)))}#sidebar.sidebar-collapsed .sidebar-nav-link,body.sidebar-collapsed #sidebar .sidebar-nav-link{justify-content:center;width:var(--sidebar-control-size);padding:0;margin-inline:auto;border-radius:var(--radius-full);--sidebar-nav-translate-x:0;--sidebar-nav-link-highlight-scale:1}#sidebar.sidebar-expanded .sidebar-nav-link,body.sidebar-expanded #sidebar .sidebar-nav-link{justify-content:flex-start}#sidebar.sidebar-collapsed .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-text{display:none}#sidebar.sidebar-collapsed .sidebar__inner,body.sidebar-collapsed #sidebar .sidebar__inner{padding-inline:var(--space-2xs)}#sidebar.sidebar-collapsed .sidebar-panel,body.sidebar-collapsed #sidebar .sidebar-panel{padding-inline:calc(var(--space-3xs)*3)}#sidebar.sidebar-collapsed .sidebar-panel__header,body.sidebar-collapsed #sidebar .sidebar-panel__header{justify-content:center}#sidebar.sidebar-collapsed .sidebar-collapse-toggle,body.sidebar-collapsed #sidebar .sidebar-collapse-toggle{margin-inline:auto}#sidebar .sidebar-toggle-icon--rotated{transform:rotate(180deg)}#sidebar.sidebar-collapsed .sidebar-toggle-icon--rotated,body.sidebar-collapsed #sidebar .sidebar-toggle-icon--rotated{transform:rotate(0deg)}#sidebar.sidebar-collapsed .sidebar-dropup-trigger,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger{justify-content:center;width:var(--sidebar-control-size);height:var(--sidebar-control-size);padding:0;margin-inline:auto;border-radius:var(--radius-full)}#sidebar.sidebar-collapsed .sidebar-dropup-trigger .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger__chevron{display:none}#sidebar.sidebar-collapsed .sidebar-dropup-trigger__glyph,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger__glyph{margin:0}#sidebar.sidebar-collapsed .sidebar-nav-link:focus-visible,#sidebar.sidebar-collapsed .sidebar-nav-link:hover,body.sidebar-collapsed #sidebar .sidebar-nav-link:focus-visible,body.sidebar-collapsed #sidebar .sidebar-nav-link:hover{--sidebar-nav-translate-x:0}@media (min-width:768px){.sidebar-panel__header{display:flex}.sidebar-collapse-toggle{display:inline-flex}#sidebar{transform:translateX(0)!important;width:var(--sidebar-width);overflow:visible}#app[data-sidebar-state=collapsed]{margin-left:calc(var(--sidebar-width-collapsed) + var(--sidebar-content-gap));width:calc(100vw - var(--sidebar-width-collapsed) - var(--sidebar-content-gap));max-width:calc(100vw - var(--sidebar-width-collapsed) - var(--sidebar-content-gap))}#app[data-sidebar-state=expanded]{margin-left:max(calc(var(--sidebar-width-expanded-base) + var(--sidebar-content-gap)),calc(var(--sidebar-dropup-content-width) + var(--sidebar-content-gap)));width:min(calc(100vw - var(--sidebar-width-expanded-base) - var(--sidebar-content-gap)),calc(100vw - var(--sidebar-dropup-content-width) - var(--sidebar-content-gap)));max-width:min(calc(100vw - var(--sidebar-width-expanded-base) - var(--sidebar-content-gap)),calc(100vw - var(--sidebar-dropup-content-width) - var(--sidebar-content-gap)))}}@keyframes card-motion-enter{0%{opacity:0;transform:translateY(var(--motion-card-enter-translate))}to{opacity:1;transform:translateY(0)}}@keyframes video-thumbnail-fade-in{0%{opacity:0}to{opacity:1}}@keyframes interface-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--motion-fade-in-translate))}to{opacity:1;transform:translateY(0)}}.status-line{margin-top:.25rem;margin-bottom:.25rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);line-height:1.375;color:var(--text-primary)}.status-line.error{color:var(--color-critical-strong)}.status-line.\!error{color:var(--color-critical-strong)!important}.status-line.warn{color:var(--color-warning-strong)}@keyframes ztr-rotate{to{transform:rotate(1turn)}}@keyframes ztr-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes svelte-181fgen-loader-animation{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes svelte-181fgen-fade-in{to{opacity:1}}.dm-app-shell{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface-base);color:var(--text-primary);min-height:100vh}.profile-modal .dm-app-shell{min-height:0;height:auto;padding:var(--space-md)}.dm-app-shell__main,.dm-app-shell__sidebar{border-radius:var(--radius-lg);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-panel);box-shadow:var(--shadow-soft)}.profile-modal .dm-app-shell__main,.profile-modal .dm-app-shell__sidebar{height:auto;min-height:0}.dm-app-shell__sidebar{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.dm-app-shell__title{font-size:var(--font-size-lg);margin:0}.dm-app-shell__main{flex:1;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--surface-raised)}.profile-modal .dm-app-shell__main,.profile-modal .dm-app-shell__sidebar{min-width:0}.dm-conversation-list{display:flex;flex-direction:column;gap:var(--space-sm)}.dm-conversation-list__header{display:flex;justify-content:space-between;align-items:center}.dm-conversation-list__title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.dm-conversation-list__items{display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto;max-height:60vh;padding-right:var(--space-xs)}.dm-conversation-list__state{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--space-md);text-align:center;background:var(--surface-sunken);border-radius:var(--radius-md)}.dm-contact-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-subtle);background:transparent;color:inherit;text-align:left;cursor:pointer}.dm-contact-row:focus-visible,.dm-contact-row:hover{background:var(--surface-muted);border-color:var(--border-strong);outline:none}.dm-contact-row--active{background:var(--surface-sunken);border-color:var(--border-strong)}.dm-contact-row__content{display:flex;flex-direction:column;gap:var(--space-2xs);flex:1}.dm-contact-row__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-xs)}.dm-contact-row__meta{display:inline-flex;align-items:center;gap:var(--space-xs)}.dm-contact-row__name{font-weight:600}.dm-contact-row__badge{align-self:flex-start;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-white);font-size:var(--font-size-3xs)}.dm-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-muted);font-weight:600;overflow:hidden;border:var(--border-width-hairline) solid var(--border-subtle)}.dm-avatar--md{width:var(--space-xl-plus);height:var(--space-xl-plus);min-width:var(--space-xl-plus);min-height:var(--space-xl-plus)}.dm-avatar--sm{width:var(--space-xl);height:var(--space-xl);min-width:var(--space-xl);min-height:var(--space-xl)}.dm-avatar__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dm-message-thread{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;min-height:0}.dm-message-thread__header{display:flex;align-items:baseline;gap:var(--space-sm)}.dm-message-thread__title{font-size:var(--font-size-base);margin:0}.dm-message-thread__status{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-message-thread__zap-summary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-muted);font-size:var(--font-size-2xs)}.dm-message-thread__zap-label{text-transform:uppercase;letter-spacing:var(--tracking-wide)}.dm-message-thread__zap-total{font-weight:600;color:var(--text-primary)}.dm-message-thread__zap-profile{color:var(--text-muted)}.dm-message-thread__timeline{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--surface-panel);border:var(--border-width-hairline) solid var(--border-subtle);overflow-y:auto;min-height:var(--size-16rem)}.dm-message-thread__state{padding:var(--space-md);text-align:center;color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-md)}.dm-message-bubble{max-width:85%;display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);border:var(--border-width-hairline) solid var(--message-bubble-border);background:var(--message-bubble-background);color:var(--message-bubble-text)}.dm-message-bubble--outgoing .dm-message-bubble__meta,.dm-message-bubble--outgoing .dm-message-bubble__status{color:var(--color-white);opacity:.9}.dm-message-bubble__content{font-size:var(--font-size-sm);overflow-wrap:anywhere;white-space:pre-wrap}.dm-message-bubble__meta{display:flex;gap:var(--space-xs);font-size:var(--font-size-2xs);color:var(--message-bubble-meta)}.dm-message-bubble__status{color:var(--text-muted)}.dm-message-bubble__status[data-status=pending]{color:var(--status-warning)}.dm-message-bubble__status[data-status=sending]{color:var(--status-info)}.dm-message-bubble__status[data-status=failed]{color:var(--status-danger)}.dm-message-thread__new{align-self:center;border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-2xs);background:var(--surface-sunken);color:var(--text-muted)}.dm-message-thread__new:focus-visible,.dm-message-thread__new:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-day-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--font-size-2xs)}.dm-day-divider__line{height:var(--border-width-hairline);background:var(--border-subtle)}.dm-notification-center{display:flex;flex-direction:column;gap:var(--space-sm)}.dm-notification-center__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.dm-notification-center__filter-button{border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-2xs);font-weight:600;color:var(--text-muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out)}.dm-notification-center__filter-button:focus-visible,.dm-notification-center__filter-button:hover{outline:none;border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.dm-notification-center__filter-button--active{border-color:var(--border-strong);background:var(--surface-overlay-panel);color:var(--text-primary)}.dm-notification-center__groups{display:flex;flex-direction:column;gap:var(--space-md)}.dm-notification-center__group{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-notification-center__group-title{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.dm-notification-center__list{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-notification-center__empty{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-notification-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);font-size:var(--font-size-xs);text-align:left;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}.dm-notification-item:focus-visible,.dm-notification-item:hover{outline:none;border-color:var(--border-strong);background:var(--surface-raised)}.dm-notification-item__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-md);height:var(--icon-size-md);border-radius:var(--radius-full);background:var(--surface-overlay-panel-soft);color:var(--text-muted);font-size:var(--font-size-xs)}.dm-notification-item__body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.dm-notification-item__title{font-weight:600;color:var(--text-primary)}.dm-notification-item__message{color:var(--text-muted)}.dm-notification-item__meta{display:flex;align-items:center;gap:var(--space-2xs);color:var(--text-muted)}.dm-notification-item__timestamp{font-variant-numeric:tabular-nums;white-space:nowrap}.dm-composer{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-composer__label{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-composer__input{resize:vertical;border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-base);color:var(--text-primary);padding:var(--space-sm);font-family:inherit}.dm-composer__input:focus-visible{outline:var(--space-3xs) solid var(--color-accent);outline-offset:var(--space-3xs)}.dm-composer__actions{justify-content:space-between}.dm-composer__actions,.dm-composer__tools{display:flex;align-items:center;gap:var(--space-sm)}.dm-composer__tools{flex-wrap:wrap;position:relative}.dm-composer__attach,.dm-composer__hint,.dm-composer__more-btn{font-size:var(--font-size-2xs);color:var(--text-muted)}.dm-composer__attach,.dm-composer__more-btn{border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-base);padding:var(--space-2xs) var(--space-sm);cursor:pointer}.dm-composer__more-btn{font-weight:700;line-height:1;min-width:var(--space-xl)}.dm-composer__more-menu{position:absolute;bottom:100%;left:0;margin-bottom:var(--space-xs);background:var(--surface-overlay-panel);border:var(--border-width-hairline) solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);z-index:10;display:flex;flex-direction:column;min-width:var(--size-8rem);padding:var(--space-xs)}.dm-composer__menu-item{text-align:left;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background var(--motion-duration-fast) ease-out}.dm-composer__menu-item:focus-visible,.dm-composer__menu-item:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-composer__menu-item[aria-pressed=true]{background:var(--color-accent);color:var(--color-white)}.dm-composer__attach:focus-visible,.dm-composer__attach:hover,.dm-composer__more-btn:focus-visible,.dm-composer__more-btn:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-composer__send{border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-strong);background:var(--surface-overlay-panel);color:var(--text-primary);padding:var(--space-xs) var(--space-md);font-weight:600;cursor:pointer}.dm-composer__send:focus-visible,.dm-composer__send:hover{background:var(--surface-overlay-panel-soft);outline:none}.dm-composer__status{font-size:var(--font-size-2xs);color:var(--status-danger);min-height:var(--space-md)}@media (max-width:767.98px){.dm-app-shell[data-dm-view=list] .dm-app-shell__main,.dm-app-shell[data-dm-view=thread] .dm-app-shell__sidebar{display:none!important}.dm-message-thread__back{display:inline-flex;align-items:center;gap:.5rem}}@media (min-width:768px){.dm-app-shell{flex-direction:row;align-items:stretch}.dm-app-shell__sidebar{flex:0 0 var(--size-18rem);max-width:var(--size-20rem)}.dm-app-shell__main,.dm-app-shell__sidebar{height:calc(100vh - var(--space-lg)*2);display:flex!important}.dm-conversation-list__items{max-height:none;flex:1}.dm-message-thread__back{display:none!important}.profile-modal .dm-app-shell{flex-direction:row;align-items:stretch}.profile-modal .dm-app-shell__sidebar{flex:0 0 var(--size-18rem);max-width:var(--size-20rem);height:auto}.profile-modal .dm-app-shell__main{flex:1 1 auto;height:auto}}@media (min-width:1024px){.dm-app-shell__sidebar{flex-basis:var(--size-20rem)}.dm-message-thread__timeline{padding:var(--space-md)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-16{bottom:4rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-4{left:1rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-12{top:3rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[140\]{z-index:140}.z-overlay-floating{z-index:var(--z-overlay-floating)}.z-overlay-toast{z-index:var(--z-overlay-toast)}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1/-1}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-sm{margin-top:var(--space-sm)}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-2xl{height:var(--space-2xl)}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-modal-body{max-height:var(--modal-body-max-height)}.max-h-modal-pane{max-height:var(--modal-pane-max-height)}.max-h-modal-sheet{max-height:var(--modal-sheet-max-height)}.max-h-modal-shell{max-height:var(--modal-shell-max-height)}.min-h-0{min-height:0}.min-h-\[200px\]{min-height:200px}.min-h-\[var\(--size-80px\)\]{min-height:var(--size-80px)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[200px\]{max-width:200px}.max-w-docs{max-width:var(--layout-docs-max-width)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-popover-safe{max-width:var(--popover-inline-safe-max)}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.origin-top{transform-origin:top}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-\[1\.2\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.2\]{--tw-scale-x:1.2;--tw-scale-y:1.2}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-sm{gap:var(--space-sm)}.gap-xl{gap:var(--space-xl)}.gap-xs{gap:var(--space-xs)}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-border-translucent>:not([hidden])~:not([hidden]){border-color:var(--border-overlay)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:var(--border-default)}.border-border-strong{border-color:var(--border-strong)}.border-border-translucent{border-color:var(--border-overlay)}.border-border-translucent-bright{border-color:var(--color-border-translucent-bright)}.border-border-translucent-medium{border-color:var(--color-border-translucent-medium)}.border-overlay{border-color:var(--border-overlay)}.border-overlay-strong{border-color:var(--border-overlay-strong)}.border-status-danger-border{border-color:var(--status-danger-border)}.border-status-info-border{border-color:var(--status-info-border)}.border-status-success-border{border-color:var(--status-success-border)}.border-status-warning-border{border-color:var(--status-warning-border)}.border-surface-strong{border-color:var(--border-strong)}.border-opacity-20{--tw-border-opacity:0.2}.bg-accent-strong{background-color:var(--color-accent-strong)}.bg-overlay-muted{background-color:var(--surface-overlay-muted)}.bg-overlay-panel{background-color:var(--surface-overlay-panel)}.bg-overlay-panel-soft{background-color:var(--surface-overlay-panel-soft)}.bg-overlay-strong{background-color:var(--surface-overlay-strong)}.bg-panel{background-color:var(--surface-panel)}.bg-status-danger-surface{background-color:var(--status-danger-surface)}.bg-status-info-surface{background-color:var(--status-info-surface)}.bg-status-success-surface{background-color:var(--status-success-surface)}.bg-status-warning-surface{background-color:var(--status-warning-surface)}.bg-surface{background-color:var(--surface-base)}.bg-surface-alt{background-color:var(--surface-alt)}.bg-surface-muted{background-color:var(--surface-muted)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-overlay-channel{background-image:var(--surface-overlay-banner-gradient-channel)}.stroke-border-translucent{stroke:var(--border-overlay)}.stroke-current{stroke:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-lg{padding:var(--space-lg)}.p-md{padding:var(--space-md)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-family-mono)}.font-sans{font-family:var(--font-family-sans)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-relaxed)}.text-2xs{font-size:var(--font-size-2xs);line-height:var(--line-height-tight)}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-3xs{font-size:var(--font-size-3xs);line-height:var(--line-height-tight)}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-4xs{font-size:var(--font-size-4xs);line-height:var(--line-height-tight)}.text-\[0\.75rem\]{font-size:.75rem}.text-base{font-size:var(--font-size-base)}.text-base,.text-lg{line-height:var(--line-height-base)}.text-lg{font-size:var(--font-size-lg)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-extra-wide{letter-spacing:var(--tracking-extra-wide)}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--color-accent)}.text-critical{color:var(--color-critical)}.text-critical-strong{color:var(--color-critical-strong)}.text-info{color:var(--color-info)}.text-info-strong{color:var(--color-info-strong)}.text-muted{color:var(--text-muted)}.text-muted-strong{color:var(--text-muted-strong)}.text-primary{color:var(--text-primary)}.text-status-danger{color:var(--status-danger)}.text-status-danger-on{color:var(--status-danger-on)}.text-status-info{color:var(--status-info)}.text-status-info-on{color:var(--status-info-on)}.text-status-neutral{color:var(--status-neutral)}.text-status-private-on{color:var(--status-private-on)}.text-status-success{color:var(--status-success)}.text-status-success-on{color:var(--status-success-on)}.text-status-warning{color:var(--status-warning)}.text-status-warning-on{color:var(--status-warning-on)}.text-subtle{color:var(--text-subtle)}.text-text{color:var(--text-primary)}.text-text-frosted{color:var(--text-frosted-primary)}.text-text-muted{color:var(--text-muted)}.text-text-strong{color:var(--color-text-strong)}.text-warning{color:var(--status-warning)}.text-warning-strong{color:var(--status-warning-strong)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-md{--tw-shadow:var(--shadow-md);--tw-shadow-colored:var(--shadow-md)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.blur-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-fast{transition-duration:var(--motion-duration-fast)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (max-width:640px){.bv-grid-video{gap:var(--space-md);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0s;--motion-duration-base:0s;--motion-duration-slow:0s;--modal-motion-duration:0s}*,:after,:before{animation-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-timing-function:linear!important;transition-delay:0s!important;transition-duration:0s!important;transition-timing-function:linear!important}.player-modal__similar-card:before{transition:none!important}#app,#playerModal .player-modal__content,#sidebar,.btn,.btn-ghost,.card,.card[data-motion=enter],.fade-in,.icon-button,.menu__item,.modal-nav,.notification-banner,.notification-portal,.popover-panel,.popover__panel,.progress-bar-fill,.sidebar-collapse-toggle,.sidebar-collapse-toggle__icon,.sidebar-dropup-panel,.sidebar-dropup-trigger,.sidebar-dropup-trigger__chevron,.sidebar-loading-indicator,.sidebar-loading-wrapper,.sidebar-nav,.sidebar-nav-link,.status-banner .status-spinner,.status-spinner--inline,.torrent-toast,.video-modal__panel,.watch-history-card,.watch-history-card__action,.watch-history-card__creatorAvatar,.watch-history-card__creatorName,.watch-history-card__title{transition-property:none!important}.popover-panel,.popover__panel{transform:none!important}.popover-panel[data-state=open],.popover__panel[data-state=open]{opacity:1}.popover-panel[data-state=closed],.popover__panel[data-state=closed]{opacity:0}.card[data-motion=enter],.fade-in,[data-video-thumbnail][data-thumbnail-loaded=true]{opacity:1;animation:none!important}.notification-banner,.status-banner .status-spinner,.status-spinner--inline,.torrent-toast{animation:none!important}.notification-portal{transform:none!important;opacity:1!important}}#profileModal{padding:0;width:100vw;height:100vh;max-width:none;max-height:none}#profileModal .bv-modal__panel{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:none}@media (min-width:1024px){#profileModal .profile-modal{max-block-size:none}}@media (min-width:640px){.sm\:flex#playerModal{display:block}}@media (min-width:768px){.md\:hidden .bv-modal,.md\:hidden.profile-pane{display:none!important}.md\:flex#playerModal{display:block}}@media (min-width:1024px){.lg\:hidden .bv-modal,.lg\:hidden.profile-pane{display:none!important}.lg\:flex#playerModal{display:block}}.placeholder\:text-muted::-moz-placeholder{color:var(--text-muted)}.placeholder\:text-muted::placeholder{color:var(--text-muted)}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-status-danger-border:hover{border-color:var(--status-danger-border)}.hover\:bg-overlay-panel:hover{background-color:var(--surface-overlay-panel)}.hover\:bg-panel-hover:hover{background-color:var(--surface-panel-hover)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-critical:hover{color:var(--color-critical)}.hover\:text-info-strong:hover{color:var(--color-info-strong)}.hover\:text-text:hover{color:var(--text-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-info:focus{--tw-ring-color:var(--color-info)}.focus\:ring-status-info:focus{--tw-ring-color:var(--status-info)}.focus\:ring-status-success:focus{--tw-ring-color:var(--status-success)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-surface:focus{--tw-ring-offset-color:var(--surface-base)}.focus-visible\:bg-primary:focus-visible{background-color:var(--color-primary)}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-info:focus-visible{outline-color:var(--color-info)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary{color:var(--text-primary)}@media (min-width:640px){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:flex{display:flex}.sm\:w-1\/3{width:33.333333%}.sm\:w-auto{width:auto}.sm\:max-w-xs{max-width:20rem}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:self-end{align-self:flex-end}.sm\:p-0{padding:0}.sm\:p-5{padding:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:pt-8{padding-top:2rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-64{height:16rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-md{gap:var(--space-md)}.md\:pb-12{padding-bottom:3rem}}@media (min-width:1024px){.lg\:ml-auto{margin-left:auto}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-auto{height:auto}.lg\:max-h-modal-shell{max-height:var(--modal-shell-max-height)}.lg\:max-w-5xl{max-width:64rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-start{align-items:flex-start}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:rounded-modal-xl{border-radius:var(--radius-modal-xl)}.lg\:border{border-width:1px}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file + );--video-card-backdrop-scale:1.12;--video-card-backdrop-blur:var(--blur-video-card-backdrop-strong);--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card:focus-visible{border-color:var(--color-accent);--tw-border-opacity:0.4;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card[data-state=critical]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--surface-raised-critical)}.watch-history-card[data-state=private]{background-color:var(--surface-raised-private);--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.watch-history-card[data-state=disabled],.watch-history-card[data-state=private]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card[data-state=disabled]{opacity:.6;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.watch-history-card[data-alert=nsfw-owner]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--color-black)}.watch-history-card[data-alert=nsfw-owner]:hover{--tw-border-opacity:0.6;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.watch-history-card img[data-thumbnail-state=blurred],.watch-history-card img[data-visual-state=blurred]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}.watch-history-card[data-owner-is-viewer=true][data-url-health-state=offline][data-stream-health-state=unhealthy]{border-width:1px;border-color:var(--color-critical);--tw-border-opacity:0.4;background-color:var(--surface-raised-critical)}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card){display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card){display:flex;width:100%;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:var(--space-md)}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__media{width:clamp(var(--video-modal-item-media-min),18vw,var(--video-modal-item-media-max));flex-shrink:0;overflow:hidden;border-radius:var(--radius-lg)}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{padding:clamp(var(--space-sm),1.25vw,var(--space-md))}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;gap:var(--space-sm)}#playerModal#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__meta{display:block}#playerModal .player-modal__module-item>.watch-history-card:not(.player-modal__similar-card) .video-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--text-muted-strong)}.watch-history-card[data-motion=enter]{opacity:0;animation:card-motion-enter .22s ease-out forwards}#playerModal.watch-history-card{display:block}@media (min-width:1024px){.watch-history-card:hover .marquee-host.can-marquee .marquee-static{opacity:0}.watch-history-card:hover .marquee-host.can-marquee .marquee-anim{opacity:1}.watch-history-card:hover .marquee-host.can-marquee .marquee-track{animation-play-state:running}}@media (max-width:1023.98px){.watch-history-card[data-mobile-active=true] .marquee-host.can-marquee .marquee-static{opacity:0}.watch-history-card[data-mobile-active=true] .marquee-host.can-marquee .marquee-anim{opacity:1}.watch-history-card[data-mobile-active=true] .marquee-host.can-marquee .marquee-track{animation-play-state:running}}.watch-history-card{display:flex;flex-wrap:wrap;align-items:stretch;gap:1.25rem;padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}@media (prefers-reduced-motion:reduce){.watch-history-card,.watch-history-card[data-motion=enter]{transition-property:none}.watch-history-card[data-motion=enter]{opacity:1;animation:none}}.watch-history-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.watch-history-card{gap:1.5rem;padding:1.25rem}}.watch-history-card--private{border-color:var(--color-info);--tw-border-opacity:0.6}#playerModal.watch-history-card__primary{display:block}.watch-history-card__primary{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;align-items:stretch;gap:1rem}@media (min-width:640px){.watch-history-card__primary{flex-direction:row}}.watch-history-card__thumbnail{display:block;width:14rem;max-width:100%;flex:none;color:var(--text-primary);text-decoration-line:none}.watch-history-card__thumbnailInner{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--surface-base)}.watch-history-card__thumbnailInner img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.watch-history-card [data-thumbnail-state=blurred] img,.watch-history-card [data-visual-state=blurred] img{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}#playerModal.watch-history-card__details{display:block}.watch-history-card__details{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;justify-content:center;gap:var(--space-sm)}.watch-history-card__title{cursor:pointer;font-size:var(--font-size-lg);line-height:var(--line-height-base);font-weight:600;line-height:1.375;color:var(--text-primary);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.watch-history-card__title:focus,.watch-history-card__title:hover{color:var(--color-accent)}.watch-history-card__created{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-muted)}#playerModal.watch-history-card__meta{display:block}.watch-history-card__meta{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:1rem}@media (min-width:640px){.watch-history-card__meta{min-width:14rem;flex:none;flex-basis:16rem}}.watch-history-card__watched{font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--border-subtle)}#playerModal.watch-history-card__creator{display:block}.watch-history-card__creator{display:flex;align-items:center;gap:.75rem}#playerModal.watch-history-card__creatorAvatar{display:block}.watch-history-card__creatorAvatar{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-full);background-color:var(--surface-panel);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__creatorAvatar:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.5}.watch-history-card__creatorAvatar:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:0.5}.watch-history-card__creatorAvatar:focus-visible,.watch-history-card__creatorAvatar:hover{--tw-ring-color:color-mix(in srgb,var(--color-accent) 38%,transparent)}.watch-history-card__creatorAvatar img{height:100%;width:100%;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.watch-history-card__creatorName{cursor:pointer;background-color:transparent;padding:0;text-align:left;font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:500;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__creatorName:hover{color:var(--color-accent)}.watch-history-card__creatorName:focus-visible{color:var(--color-accent)}#playerModal.watch-history-card__actions{display:block}.watch-history-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.watch-history-card__action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-full);border-width:1px;border-color:transparent;background-color:var(--surface-panel);padding:.5rem 1rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:500;color:var(--text-muted);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1)}.watch-history-card__action:hover{border-color:var(--border-default);background-color:var(--surface-alt);color:var(--text-primary)}.watch-history-card__action:focus-visible{border-color:var(--border-default);background-color:var(--surface-alt);color:var(--text-primary)}.watch-history-card__action--primary{background-color:var(--color-accent-strong);color:var(--color-white)}.watch-history-card__action--primary:hover{background-color:var(--color-accent-pressed)}.watch-history-card__action--primary:focus-visible{background-color:var(--color-accent-pressed)}.watch-history-card__action--danger{background-color:var(--color-critical);color:var(--color-white)}.watch-history-card__action--danger:hover{background-color:var(--color-critical-strong)}.watch-history-card__action--danger:focus-visible{background-color:var(--color-critical-strong)}#playerModal.watch-history-card__moderation{display:block}.watch-history-card__moderation{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.watch-history-card__hidden{margin-top:var(--space-md);border-radius:var(--radius-lg);border-width:1px;border-style:dashed;border-color:var(--border-default);background-color:var(--surface-overlay-panel-soft);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--text-primary)}.watch-history-card__hidden .moderation-badge{align-self:flex-start}#playerModal .channel-card__avatar img[data-visual-state=blurred]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(.4,0,.2,1);filter:blur(var(--blur-thumbnail-blur));transform:scale(1.05)}#playerModal .video-modal__moderation-bar .moderation-badge{--text-status-neutral-on:var(--color-text);--text-status-warning-on:var(--color-warning-on)}#playerModal .video-modal__moderation-bar .moderation-badge[data-variant=neutral]{color:var(--color-text)}.\!container{max-width:var(--layout-docs-max-width)!important;margin:0 auto!important;padding:var(--space-md)!important}.container{max-width:var(--layout-docs-max-width);margin:0 auto;padding:var(--space-md)}.qr-code__table{margin:var(--qr-code-table-margin,0)}.qr-code__cell,.qr-code__table{border:0;border-collapse:collapse}.qr-code__cell{padding:0;margin:0;width:var(--qr-code-cell-width);height:var(--qr-code-cell-height);background-color:var(--qr-code-color-light)}.qr-code__cell--dark{background-color:var(--qr-code-color-dark)}.qr-code__container[data-qr-code-mode=image] .qr-code__canvas{display:none}.qr-code__container[data-qr-code-mode=canvas] .qr-code__canvas,.qr-code__container[data-qr-code-mode=image] .qr-code__image{display:block}.qr-code__container[data-qr-code-mode=canvas] .qr-code__image{display:none}.fade-in{opacity:0;animation:interface-fade-in .28s ease-out forwards;animation-delay:var(--fade-in-delay,0ms)}.fade-in-delay-100{--fade-in-delay:100ms}.fade-in-delay-200{--fade-in-delay:200ms}.fade-in-delay-300{--fade-in-delay:300ms}.\!card[data-motion=enter]{opacity:0!important;animation:card-motion-enter .22s ease-out forwards!important}.card[data-motion=enter]{opacity:0;animation:card-motion-enter .22s ease-out forwards}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg);min-height:var(--icon-size-lg);flex:0 0 var(--icon-size-lg);line-height:0;background-color:var(--color-neutral-700);color:var(--color-white);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.icon-button:hover{background-color:var(--color-neutral-600)}.icon-button:active,.icon-button:focus{outline:none;box-shadow:0 0 0 var(--icon-button-ring-width) var(--color-ring-alert)}.icon-image{width:var(--icon-size-md);height:var(--icon-size-md);pointer-events:none}.accent-action-button,.channel-action-button{--accent-action-bg:color-mix(in srgb,var(--surface-overlay-panel) 78%,transparent);--accent-action-border:color-mix(in srgb,var(--border-overlay) 92%,transparent);--accent-action-bg-hover:color-mix(in srgb,var(--color-accent) 22%,var(--surface-overlay-panel));--accent-action-ring:color-mix(in srgb,var(--color-accent) 48%,transparent);--accent-action-bg-active:color-mix(in srgb,var(--color-accent-pressed) 28%,var(--surface-overlay-panel));color:var(--color-text);background-color:var(--accent-action-bg);border-color:var(--accent-action-border);border-style:solid;border-width:var(--border-width-hairline)}.accent-action-button:focus-visible,.accent-action-button:hover,.channel-action-button:focus-visible,.channel-action-button:hover{color:var(--color-accent-strong);background-color:var(--accent-action-bg-hover)}.accent-action-button:focus,.accent-action-button:focus-visible,.channel-action-button:focus,.channel-action-button:focus-visible{box-shadow:0 0 0 var(--icon-button-ring-width) var(--accent-action-ring)}.accent-action-button:active,.channel-action-button:active{color:var(--color-accent-pressed);background-color:var(--accent-action-bg-active)}.modal-nav .icon-button{box-shadow:none;padding:0;gap:0;width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg);min-height:var(--icon-size-lg)}.modal-nav .icon-button:not(.accent-action-button):not(.channel-action-button){border:none}.modal-meta{gap:var(--space-xs)}.modal-meta,.modal-view-count{display:inline-flex;align-items:center}.modal-view-count{gap:var(--space-2xs);font-size:var(--font-size-sm);line-height:var(--space-md-plus);color:var(--color-muted-alt);white-space:nowrap}.view-count-text{white-space:nowrap;color:var(--color-muted-strong)}.ratio-16-9{position:relative;width:100%;padding-top:56.25%;background-color:var(--color-card)}.ratio-16-9>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}#modalContainer{position:fixed;inset:0;z-index:var(--z-modal-root);pointer-events:none;isolation:isolate}#modalContainer>*{pointer-events:auto}#modalContainer>[id$=Modal]:not(#playerModal){z-index:var(--z-modal-root)}#modalContainer>[id$=Modal]:not(#playerModal)>.bv-modal-backdrop{z-index:var(--z-modal-overlay)}#modalContainer>[id$=Modal]:not(#playerModal) .bv-modal__panel{z-index:var(--z-modal-content)}#modalContainer>#profileModal,#profileModal[data-modal-stack=top]{z-index:var(--z-modal-top-root)}#modalContainer>#profileModal>.bv-modal-backdrop,#profileModal[data-modal-stack=top]>.bv-modal-backdrop{z-index:var(--z-modal-top-overlay)}#modalContainer>#profileModal .bv-modal__panel,#profileModal[data-modal-stack=top] .bv-modal__panel{z-index:var(--z-modal-top-content)}#modalContainer>#eventDetailsModal{z-index:var(--z-modal-top-root)}#modalContainer>#eventDetailsModal>.bv-modal-backdrop{z-index:var(--z-modal-top-overlay)}#modalContainer>#eventDetailsModal .bv-modal__panel{z-index:var(--z-modal-top-content)}.bv-modal[data-nested-modal-active=true]{pointer-events:none;visibility:hidden}#modalContainer>#loginModal{z-index:var(--z-modal-peak-root)}#modalContainer>#loginModal>.bv-modal-backdrop{z-index:var(--z-modal-peak-overlay)}#modalContainer>#loginModal .bv-modal__panel{z-index:var(--z-modal-peak-content)}#modalContainer>#playerModal{z-index:var(--z-modal-player)}#modalContainer>#playerModal .player-modal__container,#modalContainer>#playerModal .player-modal__content{z-index:var(--z-modal-content)}#playerModal{position:fixed;inset:0;z-index:var(--z-modal-player);display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100vw;height:100vh;padding:0;background-color:var(--color-surface);color:var(--color-subtle-text);--player-modal-inline-max:var(--layout-player-max-width);--player-modal-inline-padding:clamp(var(--space-md-plus),4vw,var(--space-2xl));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#playerModal.flex{display:block}#modalVideo{width:100%;aspect-ratio:16/9;background-color:var(--color-black)}.notification-portal{position:fixed;top:0;left:0;right:0;z-index:var(--z-overlay-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:calc(var(--space-xl) + env(safe-area-inset-top)) var(--space-lg) var(--space-lg);pointer-events:none;opacity:0;transform:translateY(var(--toast-translate));transition:transform var(--motion-duration-base) var(--motion-ease-out),opacity var(--motion-duration-base) var(--motion-ease-out)}@media (min-width:640px){.notification-portal{padding-inline:var(--space-xl)}}.notification-portal:has(.notification-banner:not(.hidden)){opacity:1;transform:translateY(0)}.notification-portal--active{opacity:1;transform:translateY(0)}.notification-banner,.torrent-toast{--notify-accent:var(--notification-banner-accent);--notify-accent-strong:var(--notification-banner-accent-strong);--notify-border:var(--notification-banner-border);--notify-background:var(--notification-banner-background);--notify-foreground:var(--notification-banner-text);position:relative;display:flex;align-items:center;gap:var(--space-md);width:min(var(--notification-banner-max-inline),100%);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-xl);border:var(--border-width-hairline) solid var(--notify-border);background:var(--notify-background);color:var(--notify-foreground);box-shadow:0 var(--shadow-notification-offset-y) var(--shadow-notification-blur) var(--color-shadow-notification);backdrop-filter:blur(var(--overlay-backdrop-blur));pointer-events:auto;isolation:isolate;font-size:var(--font-size-sm);line-height:var(--line-height-snug);font-weight:600;line-height:1.375;transition:transform var(--motion-duration-base) var(--motion-ease-out),opacity var(--motion-duration-base) var(--motion-ease-out)}.notification-banner:before,.torrent-toast:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--notify-accent) 0,var(--notify-accent-strong) 100%);opacity:.18;pointer-events:none}.notification-banner>*,.torrent-toast>*{position:relative;z-index:1}.notification-dismiss{display:inline-flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:var(--radius-full);border-width:1px;border-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--motion-duration-base);transition-timing-function:cubic-bezier(0,0,.2,1);color:inherit;opacity:.75;background-color:var(--notify-dismiss-background)}.notification-dismiss:focus-visible,.notification-dismiss:hover{opacity:1;background-color:var(--notify-dismiss-background-hover)}.notification-dismiss svg{height:1rem;width:1rem}.notification-banner:not(.hidden){animation:notification-slide-in var(--motion-duration-base) var(--motion-ease-out)}.notification-banner--critical,.torrent-toast--error{--notify-accent:var(--notification-banner-critical-accent);--notify-accent-strong:var(--notification-banner-critical-accent-strong);--notify-border:var(--notification-banner-critical-border);--notify-background:var(--notification-banner-critical-background);--notify-foreground:var(--notification-banner-critical-text)}.notification-banner--success,.torrent-toast--success{--notify-accent:var(--notification-banner-success-accent);--notify-accent-strong:var(--notification-banner-success-accent-strong);--notify-border:var(--notification-banner-success-border);--notify-background:var(--notification-banner-success-background);--notify-foreground:var(--notification-banner-success-text)}.notification-banner--info,.torrent-toast--info{--notify-accent:var(--notification-banner-info-accent);--notify-accent-strong:var(--notification-banner-info-accent-strong);--notify-border:var(--notification-banner-info-border);--notify-background:var(--notification-banner-info-background);--notify-foreground:var(--notification-banner-info-text)}.notification-banner--warning,.torrent-toast--warn{--notify-accent:var(--notification-banner-warning-accent);--notify-accent-strong:var(--notification-banner-warning-accent-strong);--notify-border:var(--notification-banner-warning-border);--notify-background:var(--notification-banner-warning-background);--notify-foreground:var(--notification-banner-warning-text)}.status-banner .status-spinner{animation:spin 1s linear infinite;border:var(--space-3xs) solid var(--color-info-border);border-radius:var(--radius-full);border-top-color:var(--color-info);flex-shrink:0;height:var(--icon-size-md);width:var(--icon-size-md)}.status-banner .status-message{flex:1 1 auto}@keyframes notification-slide-in{0%{opacity:0;transform:translateY(var(--toast-translate))}to{opacity:1;transform:translateY(0)}}.status-spinner--inline{animation:spin 1s linear infinite;border:var(--space-3xs) solid var(--color-border-info-soft);border-radius:var(--radius-full);border-top-color:var(--color-info);display:inline-block;height:var(--space-md);width:var(--space-md)}body.iframe-form{background-color:transparent;color:var(--color-text);font-family:var(--font-family-sans);margin:var(--space-lg)}body.iframe-form .container{width:100%;max-width:100%;margin:0;padding:0}body.iframe-form .\!container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body.iframe-form .form-container{background-color:var(--color-surface-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg)}body.iframe-form .form-container>p{margin:0}body.iframe-form form{display:flex;flex-direction:column}body.iframe-form form>*+*{margin-top:var(--space-sm)}body.iframe-form form h1,body.iframe-form form h2{color:var(--color-text);margin-top:var(--space-md)}body.iframe-form label{color:var(--color-subtle-text);display:block;font-weight:600;margin-top:var(--space-sm)}body.iframe-form label+.form-control,body.iframe-form label+.select,body.iframe-form label+.textarea{margin-top:var(--space-xs)}body.iframe-form .checkbox-group,body.iframe-form .radio-group{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs)}body.iframe-form .checkbox-group label,body.iframe-form .radio-group label{align-items:center;color:var(--color-subtle-text);display:inline-flex;font-weight:500;gap:var(--space-xs);margin:0}body.iframe-form .checkbox-group input[type=checkbox],body.iframe-form .radio-group input[type=radio]{margin:0}body.iframe-form .radio-group input[type=radio]{accent-color:var(--color-accent-strong)}body.iframe-form button.btn{align-self:flex-start;margin-top:var(--space-md)}body.iframe-form button.\!btn{align-self:flex-start!important;margin-top:var(--space-md)!important}body.iframe-form #status{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--border-width-hairline) var(--color-border-translucent);color:var(--color-subtle-text);min-height:calc(var(--space-2xl) + var(--space-xl));padding:var(--space-sm);white-space:pre-wrap}body.iframe-form .status-line{color:var(--color-subtle-text);margin:var(--space-2xs) 0}body.iframe-form .status-line.error{color:var(--color-critical-strong)}body.iframe-form .status-line.\!error{color:var(--color-critical-strong)!important}body.iframe-form .status-line.success{color:var(--color-info-strong)}body.iframe-form .status-line.\!success{color:var(--color-info-strong)!important}body.iframe-form .status-line.warn{color:var(--color-warning-strong)}@media (max-width:640px){body.iframe-form{margin:var(--space-md)}body.iframe-form .form-container{padding:var(--space-md)}}#sidebarContainer{position:relative;overflow:visible}#sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;height:100dvh;color:var(--color-text-frosted-strong);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overscroll-behavior-inline:contain;touch-action:pan-y;scrollbar-gutter:stable both-edges;background:transparent;border-right:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:width .2s ease,transform .3s ease;z-index:var(--z-sidebar);box-shadow:none;isolation:isolate}#app.sidebar-collapsed,#sidebar.sidebar-collapsed,#sidebar[data-state=collapsed],body.sidebar-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}#app.sidebar-expanded,#sidebar.sidebar-expanded,#sidebar[data-state=expanded],body.sidebar-expanded{--sidebar-width:var(--sidebar-width-expanded)}#sidebar .sidebar__inner{padding-block-start:max(var(--space-sidebar-shell-block-start),calc(var(--app-header-centerline) - var(--sidebar-control-size)/2));padding-block-end:var(--space-sidebar-shell-block-end);padding-inline:var(--space-sidebar-shell-inline);border-radius:var(--radius-sidebar-shell);border:none;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;transition:color .2s ease}#sidebar .sidebar__inner,.sidebar-scroll{display:flex;flex-direction:column;height:100%;width:100%;overflow:visible}.sidebar-scroll{gap:var(--space-sidebar-scroll-gap);min-height:0;flex:1 1 auto}.sidebar-panel{position:relative;width:100%;display:flex;flex-direction:column;gap:var(--space-sidebar-panel-gap);padding:var(--space-sidebar-panel-padding-block) var(--space-sidebar-panel-padding-inline);border-radius:var(--radius-sidebar-panel);border:none;background:transparent;box-shadow:none;color:inherit;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;isolation:isolate;transition:border-color .2s ease,box-shadow .22s ease,background .22s ease}.sidebar-panel--primary{flex:1 1 auto;min-height:0;padding-block-start:0}.sidebar-panel__header{display:flex;justify-content:flex-end;margin-bottom:var(--space-md)}.sidebar-collapse-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--sidebar-control-size);height:var(--sidebar-control-size);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--color-border-translucent-medium);background:var(--color-surface-tint-subtle);color:inherit;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;flex-shrink:0;box-sizing:border-box}.sidebar-collapse-toggle:hover{background:var(--color-border-translucent);border-color:var(--color-border-translucent-stronger);color:var(--color-text)}.sidebar-collapse-toggle:focus-visible{outline:var(--space-3xs) solid var(--color-secondary);outline-offset:var(--space-2xs)}.sidebar-collapse-toggle__icon{width:var(--icon-size-sm);height:var(--icon-size-sm);transition:transform .2s ease}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-xs);opacity:1;transition:opacity .16s ease;width:100%}.sidebar-nav-link{--sidebar-nav-translate-x:0;--sidebar-nav-link-highlight-opacity:0;--sidebar-nav-link-highlight-scale:0.96;display:flex;align-items:center;gap:var(--space-sidebar-footer-gap);padding-block:var(--space-sidebar-nav-padding-block);padding-inline-start:var(--space-sidebar-nav-padding-inline-start);padding-inline-end:var(--space-sidebar-nav-padding-inline-end);min-height:var(--sidebar-control-size);border-radius:var(--radius-sidebar-nav);font-size:var(--font-size-sidebar-nav);font-weight:600;letter-spacing:.015em;color:var(--color-text);text-decoration:none;width:100%;position:relative;border:var(--border-width-hairline) solid transparent;background:none;box-shadow:none;transform:translateX(var(--sidebar-nav-translate-x));transition:color .18s ease,border-color .2s ease,box-shadow .22s ease,transform .22s ease;overflow:hidden;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar-nav-link:after,.sidebar-nav-link:before{content:"";position:absolute;inset:calc(var(--border-width-hairline)*-1);border-radius:inherit;pointer-events:none;transition:opacity .22s ease,transform .24s ease;z-index:-1}.sidebar-nav-link:before{background:linear-gradient(120deg,var(--color-sidebar-accent-start) 0,var(--color-sidebar-accent-end) 100%);opacity:var(--sidebar-nav-link-highlight-opacity);transform:scale(var(--sidebar-nav-link-highlight-scale));filter:saturate(140%)}.sidebar-nav-link:after{background:linear-gradient(105deg,var(--color-sidebar-hover) 0,transparent 75%);opacity:.22;mix-blend-mode:screen;z-index:-2}.sidebar-nav-link:focus-visible,.sidebar-nav-link:hover{--sidebar-nav-link-highlight-opacity:1;--sidebar-nav-link-highlight-scale:1.02;--sidebar-nav-translate-x:var(--space-sidebar-nav-translate);color:var(--color-white);border-color:var(--color-sidebar-hover-strong);box-shadow:0 0 0 var(--border-width-hairline) var(--color-sidebar-hover-strong),var(--shadow-sidebar-accent)}.sidebar-nav-link:focus-visible{outline:none;box-shadow:var(--shadow-sidebar-focus-ring),var(--shadow-sidebar-accent)}.sidebar-nav-link:focus-visible:after,.sidebar-nav-link:hover:after{opacity:.35}.sidebar-nav-link--sub{font-size:var(--font-size-sidebar-subnav);font-weight:500;color:var(--color-sidebar-text-muted);padding-block:var(--space-sidebar-subnav-padding-block);letter-spacing:.02em;--sidebar-nav-link-highlight-opacity:0.25;--sidebar-nav-link-highlight-scale:1}.sidebar-icon{width:var(--space-lg);height:var(--space-lg);min-width:var(--space-lg);min-height:var(--space-lg);flex-shrink:0;display:block;filter:var(--sidebar-icon-filter);transition:filter .18s ease}.sidebar-footer{flex-direction:column;margin-top:auto;z-index:2}.sidebar-dropup-trigger,.sidebar-footer{display:flex;gap:var(--space-sidebar-footer-gap);position:relative}.sidebar-dropup-trigger{align-items:center;justify-content:space-between;width:100%;padding-block:var(--space-sidebar-trigger-padding-block);padding-inline-start:var(--space-sidebar-nav-padding-inline-start);padding-inline-end:var(--space-sidebar-nav-padding-inline-end);min-height:var(--sidebar-control-size);border-radius:var(--radius-sidebar-nav);border:var(--border-width-hairline) solid transparent;background:none;color:var(--color-text);font-size:var(--font-size-sidebar-trigger);font-weight:600;cursor:pointer;box-sizing:border-box;flex-shrink:0;overflow:hidden;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:border-color .2s ease,color .2s ease,box-shadow .22s ease}.sidebar-dropup-trigger:before{background:linear-gradient(120deg,var(--color-sidebar-accent-start) 0,var(--color-sidebar-accent-end) 100%);opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .22s ease;z-index:-1;filter:saturate(140%)}.sidebar-dropup-trigger:after,.sidebar-dropup-trigger:before{content:"";position:absolute;inset:calc(var(--border-width-hairline)*-1);border-radius:inherit;pointer-events:none}.sidebar-dropup-trigger:after{background:linear-gradient(110deg,var(--color-sidebar-hover) 0,transparent 80%);opacity:.18;mix-blend-mode:screen;transition:opacity .2s ease;z-index:-2}.sidebar-dropup-trigger:focus-visible,.sidebar-dropup-trigger:hover{color:var(--color-white);border-color:var(--color-sidebar-hover-strong);box-shadow:0 0 0 var(--border-width-hairline) var(--color-sidebar-hover-strong),var(--shadow-sidebar-dropup)}.sidebar-dropup-trigger:focus-visible:before,.sidebar-dropup-trigger:hover:before{opacity:1;transform:scale(1.02)}.sidebar-dropup-trigger:focus-visible:after,.sidebar-dropup-trigger:hover:after{opacity:.35}.sidebar-dropup-trigger:focus-visible{outline:none;box-shadow:var(--shadow-sidebar-focus-ring),var(--shadow-sidebar-dropup)}.sidebar-dropup-trigger__glyph{width:var(--icon-size-md);height:var(--icon-size-md);opacity:.9}.sidebar-dropup-trigger__chevron{width:var(--icon-size-sm);height:var(--icon-size-sm);transition:transform .18s ease}.sidebar-dropup-trigger[aria-expanded=true] .sidebar-dropup-trigger__chevron,.sidebar-dropup-trigger__chevron.is-rotated{transform:rotate(180deg)}.sidebar-dropup-panel{position:absolute;left:0;right:0;bottom:calc(100% + var(--space-sidebar-popover-offset));border-radius:var(--radius-xl);border:var(--border-width-hairline) solid var(--color-sidebar-border-strong);background:linear-gradient(160deg,color-mix(in srgb,var(--color-sidebar-surface) 88%,transparent) 0,color-mix(in srgb,var(--color-sidebar-surface-alt) 68%,transparent) 100%);box-shadow:inset 0 0 0 var(--border-width-fine) var(--color-sidebar-border),var(--shadow-sidebar-panel);padding:var(--space-sidebar-popover-padding-block) var(--space-sidebar-popover-padding-inline);color:var(--color-text-frosted);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(var(--space-sm));transition:opacity .18s ease,transform .18s ease,visibility .18s ease,box-shadow .22s ease;backdrop-filter:blur(var(--sidebar-panel-backdrop-blur)) saturate(var(--sidebar-panel-backdrop-saturation));-webkit-backdrop-filter:blur(var(--sidebar-panel-backdrop-blur)) saturate(var(--sidebar-panel-backdrop-saturation));z-index:5;isolation:isolate}.sidebar-dropup-panel[data-state=expanded]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.sidebar-dropup-panel__inner{display:flex;flex-direction:column;gap:var(--space-sidebar-popover-gap);width:100%;padding-inline-end:var(--space-sidebar-dropup-scroll-reserve);max-height:var(--sidebar-dropup-max-height);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable both-edges}.sidebar-dropup-panel__inner.is-measuring{position:absolute;width:-moz-max-content;width:max-content;max-width:none;visibility:hidden;pointer-events:none;left:var(--offscreen-offset);right:auto;top:auto;bottom:auto}.sidebar-dropup-measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden}.sidebar-dropup-panel__inner>*{width:100%;min-width:0}#sidebar[data-footer-state=expanded] .sidebar-nav{opacity:0;pointer-events:none}#sidebar[data-footer-state=collapsed] .sidebar-nav{opacity:1}.sidebar-loading-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--space-2xl) 0;width:100%;grid-column:1/-1}.sidebar-loading-indicator{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-muted-strong);font-size:var(--font-size-sm);font-weight:500;letter-spacing:.01em}.sidebar-loading-text{white-space:nowrap}#app{box-sizing:border-box;transition:margin-left .2s ease,width .2s ease,max-width .2s ease}#app[data-sidebar-state=collapsed]{margin-left:var(--sidebar-width-collapsed);width:calc(100vw - var(--sidebar-width-collapsed));max-width:calc(100vw - var(--sidebar-width-collapsed))}#app[data-sidebar-state=expanded]{margin-left:max(var(--sidebar-width-expanded-base),var(--sidebar-dropup-content-width));width:min(calc(100vw - var(--sidebar-width-expanded-base)),calc(100vw - var(--sidebar-dropup-content-width)));max-width:min(calc(100vw - var(--sidebar-width-expanded-base)),calc(100vw - var(--sidebar-dropup-content-width)))}#sidebar.sidebar-collapsed .sidebar-nav-link,body.sidebar-collapsed #sidebar .sidebar-nav-link{justify-content:center;width:var(--sidebar-control-size);padding:0;margin-inline:auto;border-radius:var(--radius-full);--sidebar-nav-translate-x:0;--sidebar-nav-link-highlight-scale:1}#sidebar.sidebar-expanded .sidebar-nav-link,body.sidebar-expanded #sidebar .sidebar-nav-link{justify-content:flex-start}#sidebar.sidebar-collapsed .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-text{display:none}#sidebar.sidebar-collapsed .sidebar__inner,body.sidebar-collapsed #sidebar .sidebar__inner{padding-inline:var(--space-2xs)}#sidebar.sidebar-collapsed .sidebar-panel,body.sidebar-collapsed #sidebar .sidebar-panel{padding-inline:calc(var(--space-3xs)*3)}#sidebar.sidebar-collapsed .sidebar-panel__header,body.sidebar-collapsed #sidebar .sidebar-panel__header{justify-content:center}#sidebar.sidebar-collapsed .sidebar-collapse-toggle,body.sidebar-collapsed #sidebar .sidebar-collapse-toggle{margin-inline:auto}#sidebar .sidebar-toggle-icon--rotated{transform:rotate(180deg)}#sidebar.sidebar-collapsed .sidebar-toggle-icon--rotated,body.sidebar-collapsed #sidebar .sidebar-toggle-icon--rotated{transform:rotate(0deg)}#sidebar.sidebar-collapsed .sidebar-dropup-trigger,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger{justify-content:center;width:var(--sidebar-control-size);height:var(--sidebar-control-size);padding:0;margin-inline:auto;border-radius:var(--radius-full)}#sidebar.sidebar-collapsed .sidebar-dropup-trigger .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger .sidebar-text,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger__chevron{display:none}#sidebar.sidebar-collapsed .sidebar-dropup-trigger__glyph,body.sidebar-collapsed #sidebar .sidebar-dropup-trigger__glyph{margin:0}#sidebar.sidebar-collapsed .sidebar-nav-link:focus-visible,#sidebar.sidebar-collapsed .sidebar-nav-link:hover,body.sidebar-collapsed #sidebar .sidebar-nav-link:focus-visible,body.sidebar-collapsed #sidebar .sidebar-nav-link:hover{--sidebar-nav-translate-x:0}@media (min-width:768px){.sidebar-panel__header{display:flex}.sidebar-collapse-toggle{display:inline-flex}#sidebar{transform:translateX(0)!important;width:var(--sidebar-width);overflow:visible}#app[data-sidebar-state=collapsed]{margin-left:calc(var(--sidebar-width-collapsed) + var(--sidebar-content-gap));width:calc(100vw - var(--sidebar-width-collapsed) - var(--sidebar-content-gap));max-width:calc(100vw - var(--sidebar-width-collapsed) - var(--sidebar-content-gap))}#app[data-sidebar-state=expanded]{margin-left:max(calc(var(--sidebar-width-expanded-base) + var(--sidebar-content-gap)),calc(var(--sidebar-dropup-content-width) + var(--sidebar-content-gap)));width:min(calc(100vw - var(--sidebar-width-expanded-base) - var(--sidebar-content-gap)),calc(100vw - var(--sidebar-dropup-content-width) - var(--sidebar-content-gap)));max-width:min(calc(100vw - var(--sidebar-width-expanded-base) - var(--sidebar-content-gap)),calc(100vw - var(--sidebar-dropup-content-width) - var(--sidebar-content-gap)))}}@keyframes card-motion-enter{0%{opacity:0;transform:translateY(var(--motion-card-enter-translate))}to{opacity:1;transform:translateY(0)}}@keyframes video-thumbnail-fade-in{0%{opacity:0}to{opacity:1}}@keyframes interface-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--motion-fade-in-translate))}to{opacity:1;transform:translateY(0)}}.status-line{margin-top:.25rem;margin-bottom:.25rem;font-size:var(--font-size-sm);line-height:var(--line-height-snug);line-height:1.375;color:var(--text-primary)}.status-line.error{color:var(--color-critical-strong)}.status-line.\!error{color:var(--color-critical-strong)!important}.status-line.warn{color:var(--color-warning-strong)}@keyframes ztr-rotate{to{transform:rotate(1turn)}}@keyframes ztr-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes svelte-181fgen-loader-animation{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes svelte-181fgen-fade-in{to{opacity:1}}.dm-app-shell{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface-base);color:var(--text-primary);min-height:100vh}.profile-modal .dm-app-shell{min-height:0;height:auto;padding:var(--space-md)}.dm-app-shell__main,.dm-app-shell__sidebar{border-radius:var(--radius-lg);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-panel);box-shadow:var(--shadow-soft)}.profile-modal .dm-app-shell__main,.profile-modal .dm-app-shell__sidebar{height:auto;min-height:0}.dm-app-shell__sidebar{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.dm-app-shell__title{font-size:var(--font-size-lg);margin:0}.dm-app-shell__main{flex:1;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--surface-raised)}.profile-modal .dm-app-shell__main,.profile-modal .dm-app-shell__sidebar{min-width:0}.dm-conversation-list{display:flex;flex-direction:column;gap:var(--space-sm)}.dm-conversation-list__header{display:flex;justify-content:space-between;align-items:center}.dm-conversation-list__title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0}.dm-conversation-list__items{display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto;max-height:60vh;padding-right:var(--space-xs)}.dm-conversation-list__state{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--space-md);text-align:center;background:var(--surface-sunken);border-radius:var(--radius-md)}.dm-contact-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-subtle);background:transparent;color:inherit;text-align:left;cursor:pointer}.dm-contact-row:focus-visible,.dm-contact-row:hover{background:var(--surface-muted);border-color:var(--border-strong);outline:none}.dm-contact-row--active{background:var(--surface-sunken);border-color:var(--border-strong)}.dm-contact-row__content{display:flex;flex-direction:column;gap:var(--space-2xs);flex:1}.dm-contact-row__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-xs)}.dm-contact-row__meta{display:inline-flex;align-items:center;gap:var(--space-xs)}.dm-contact-row__name{font-weight:600}.dm-contact-row__badge{align-self:flex-start;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-white);font-size:var(--font-size-3xs)}.dm-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-muted);font-weight:600;overflow:hidden;border:var(--border-width-hairline) solid var(--border-subtle)}.dm-avatar--md{width:var(--space-xl-plus);height:var(--space-xl-plus);min-width:var(--space-xl-plus);min-height:var(--space-xl-plus)}.dm-avatar--sm{width:var(--space-xl);height:var(--space-xl);min-width:var(--space-xl);min-height:var(--space-xl)}.dm-avatar__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dm-message-thread{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;min-height:0}.dm-message-thread__header{display:flex;align-items:baseline;gap:var(--space-sm)}.dm-message-thread__title{font-size:var(--font-size-base);margin:0}.dm-message-thread__status{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-message-thread__zap-summary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-muted);font-size:var(--font-size-2xs)}.dm-message-thread__zap-label{text-transform:uppercase;letter-spacing:var(--tracking-wide)}.dm-message-thread__zap-total{font-weight:600;color:var(--text-primary)}.dm-message-thread__zap-profile{color:var(--text-muted)}.dm-message-thread__timeline{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--surface-panel);border:var(--border-width-hairline) solid var(--border-subtle);overflow-y:auto;min-height:var(--size-16rem)}.dm-message-thread__state{padding:var(--space-md);text-align:center;color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-md)}.dm-message-bubble{max-width:85%;display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);border:var(--border-width-hairline) solid var(--message-bubble-border);background:var(--message-bubble-background);color:var(--message-bubble-text)}.dm-message-bubble--outgoing .dm-message-bubble__meta,.dm-message-bubble--outgoing .dm-message-bubble__status{color:var(--color-white);opacity:.9}.dm-message-bubble__content{font-size:var(--font-size-sm);overflow-wrap:anywhere;white-space:pre-wrap}.dm-message-bubble__meta{display:flex;gap:var(--space-xs);font-size:var(--font-size-2xs);color:var(--message-bubble-meta)}.dm-message-bubble__status{color:var(--text-muted)}.dm-message-bubble__status[data-status=pending]{color:var(--status-warning)}.dm-message-bubble__status[data-status=sending]{color:var(--status-info)}.dm-message-bubble__status[data-status=failed]{color:var(--status-danger)}.dm-message-thread__new{align-self:center;border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-2xs);background:var(--surface-sunken);color:var(--text-muted)}.dm-message-thread__new:focus-visible,.dm-message-thread__new:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-day-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-xs);color:var(--text-muted);font-size:var(--font-size-2xs)}.dm-day-divider__line{height:var(--border-width-hairline);background:var(--border-subtle)}.dm-notification-center{display:flex;flex-direction:column;gap:var(--space-sm)}.dm-notification-center__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.dm-notification-center__filter-button{border-radius:var(--radius-full);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-2xs);font-weight:600;color:var(--text-muted);transition:color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out),border-color var(--motion-duration-fast) var(--motion-ease-out)}.dm-notification-center__filter-button:focus-visible,.dm-notification-center__filter-button:hover{outline:none;border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.dm-notification-center__filter-button--active{border-color:var(--border-strong);background:var(--surface-overlay-panel);color:var(--text-primary)}.dm-notification-center__groups{display:flex;flex-direction:column;gap:var(--space-md)}.dm-notification-center__group{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-notification-center__group-title{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.dm-notification-center__list{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-notification-center__empty{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-notification-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-subtle);background:var(--surface-sunken);font-size:var(--font-size-xs);text-align:left;transition:border-color var(--motion-duration-fast) var(--motion-ease-out),background var(--motion-duration-fast) var(--motion-ease-out)}.dm-notification-item:focus-visible,.dm-notification-item:hover{outline:none;border-color:var(--border-strong);background:var(--surface-raised)}.dm-notification-item__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size-md);height:var(--icon-size-md);border-radius:var(--radius-full);background:var(--surface-overlay-panel-soft);color:var(--text-muted);font-size:var(--font-size-xs)}.dm-notification-item__body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.dm-notification-item__title{font-weight:600;color:var(--text-primary)}.dm-notification-item__message{color:var(--text-muted)}.dm-notification-item__meta{display:flex;align-items:center;gap:var(--space-2xs);color:var(--text-muted)}.dm-notification-item__timestamp{font-variant-numeric:tabular-nums;white-space:nowrap}.dm-composer{display:flex;flex-direction:column;gap:var(--space-xs)}.dm-composer__label{font-size:var(--font-size-xs);color:var(--text-muted)}.dm-composer__input{resize:vertical;border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-base);color:var(--text-primary);padding:var(--space-sm);font-family:inherit}.dm-composer__input:focus-visible{outline:var(--space-3xs) solid var(--color-accent);outline-offset:var(--space-3xs)}.dm-composer__actions{justify-content:space-between}.dm-composer__actions,.dm-composer__tools{display:flex;align-items:center;gap:var(--space-sm)}.dm-composer__tools{flex-wrap:wrap;position:relative}.dm-composer__attach,.dm-composer__hint,.dm-composer__more-btn{font-size:var(--font-size-2xs);color:var(--text-muted)}.dm-composer__attach,.dm-composer__more-btn{border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-default);background:var(--surface-base);padding:var(--space-2xs) var(--space-sm);cursor:pointer}.dm-composer__more-btn{font-weight:700;line-height:1;min-width:var(--space-xl)}.dm-composer__more-menu{position:absolute;bottom:100%;left:0;margin-bottom:var(--space-xs);background:var(--surface-overlay-panel);border:var(--border-width-hairline) solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);z-index:10;display:flex;flex-direction:column;min-width:var(--size-8rem);padding:var(--space-xs)}.dm-composer__menu-item{text-align:left;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background var(--motion-duration-fast) ease-out}.dm-composer__menu-item:focus-visible,.dm-composer__menu-item:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-composer__menu-item[aria-pressed=true]{background:var(--color-accent);color:var(--color-white)}.dm-composer__attach:focus-visible,.dm-composer__attach:hover,.dm-composer__more-btn:focus-visible,.dm-composer__more-btn:hover{background:var(--surface-overlay-panel-soft);color:var(--text-primary);outline:none}.dm-composer__send{border-radius:var(--radius-md);border:var(--border-width-hairline) solid var(--border-strong);background:var(--surface-overlay-panel);color:var(--text-primary);padding:var(--space-xs) var(--space-md);font-weight:600;cursor:pointer}.dm-composer__send:focus-visible,.dm-composer__send:hover{background:var(--surface-overlay-panel-soft);outline:none}.dm-composer__status{font-size:var(--font-size-2xs);color:var(--status-danger);min-height:var(--space-md)}@media (max-width:767.98px){.dm-app-shell[data-dm-view=list] .dm-app-shell__main,.dm-app-shell[data-dm-view=thread] .dm-app-shell__sidebar{display:none!important}.dm-message-thread__back{display:inline-flex;align-items:center;gap:.5rem}}@media (min-width:768px){.dm-app-shell{flex-direction:row;align-items:stretch}.dm-app-shell__sidebar{flex:0 0 var(--size-18rem);max-width:var(--size-20rem)}.dm-app-shell__main,.dm-app-shell__sidebar{height:calc(100vh - var(--space-lg)*2);display:flex!important}.dm-conversation-list__items{max-height:none;flex:1}.dm-message-thread__back{display:none!important}.profile-modal .dm-app-shell{flex-direction:row;align-items:stretch}.profile-modal .dm-app-shell__sidebar{flex:0 0 var(--size-18rem);max-width:var(--size-20rem);height:auto}.profile-modal .dm-app-shell__main{flex:1 1 auto;height:auto}}@media (min-width:1024px){.dm-app-shell__sidebar{flex-basis:var(--size-20rem)}.dm-message-thread__timeline{padding:var(--space-md)}}.marquee-host{position:relative;overflow:hidden;white-space:nowrap;width:100%}.marquee-static{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1}.marquee-anim,.marquee-static{transition:opacity .3s ease}.marquee-anim{position:absolute;inset:0;display:flex;align-items:center;opacity:0;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:marquee-scroll linear infinite;animation-duration:var(--marquee-duration,10s);animation-play-state:paused}.marquee-item{flex-shrink:0;padding-right:2rem}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (min-width:1024px){.card:hover .marquee-host.can-marquee .marquee-static{opacity:0}.card:hover .marquee-host.can-marquee .marquee-anim{opacity:1}.card:hover .marquee-host.can-marquee .marquee-track{animation-play-state:running}.\!card:hover .marquee-host.can-marquee .marquee-static{opacity:0!important}.\!card:hover .marquee-host.can-marquee .marquee-anim{opacity:1!important}.\!card:hover .marquee-host.can-marquee .marquee-track{animation-play-state:running!important}}@media (max-width:1023.98px){.card[data-mobile-active=true] .marquee-host.can-marquee .marquee-static{opacity:0}.card[data-mobile-active=true] .marquee-host.can-marquee .marquee-anim{opacity:1}.card[data-mobile-active=true] .marquee-host.can-marquee .marquee-track{animation-play-state:running}.\!card[data-mobile-active=true] .marquee-host.can-marquee .marquee-static{opacity:0!important}.\!card[data-mobile-active=true] .marquee-host.can-marquee .marquee-anim{opacity:1!important}.\!card[data-mobile-active=true] .marquee-host.can-marquee .marquee-track{animation-play-state:running!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-16{bottom:4rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-4{left:1rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-12{top:3rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[140\]{z-index:140}.z-overlay-floating{z-index:var(--z-overlay-floating)}.z-overlay-toast{z-index:var(--z-overlay-toast)}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1/-1}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-sm{margin-top:var(--space-sm)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-2xl{height:var(--space-2xl)}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.max-h-modal-body{max-height:var(--modal-body-max-height)}.max-h-modal-pane{max-height:var(--modal-pane-max-height)}.max-h-modal-sheet{max-height:var(--modal-sheet-max-height)}.max-h-modal-shell{max-height:var(--modal-shell-max-height)}.min-h-0{min-height:0}.min-h-\[200px\]{min-height:200px}.min-h-\[var\(--size-80px\)\]{min-height:var(--size-80px)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[200px\]{max-width:200px}.max-w-docs{max-width:var(--layout-docs-max-width)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-popover-safe{max-width:var(--popover-inline-safe-max)}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.origin-top{transform-origin:top}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-\[1\.2\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.2\]{--tw-scale-x:1.2;--tw-scale-y:1.2}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-sm{gap:var(--space-sm)}.gap-xl{gap:var(--space-xl)}.gap-xs{gap:var(--space-xs)}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-border-translucent>:not([hidden])~:not([hidden]){border-color:var(--border-overlay)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:var(--border-default)}.border-border-strong{border-color:var(--border-strong)}.border-border-translucent{border-color:var(--border-overlay)}.border-border-translucent-bright{border-color:var(--color-border-translucent-bright)}.border-border-translucent-medium{border-color:var(--color-border-translucent-medium)}.border-overlay{border-color:var(--border-overlay)}.border-overlay-strong{border-color:var(--border-overlay-strong)}.border-status-danger-border{border-color:var(--status-danger-border)}.border-status-info-border{border-color:var(--status-info-border)}.border-status-success-border{border-color:var(--status-success-border)}.border-status-warning-border{border-color:var(--status-warning-border)}.border-surface-strong{border-color:var(--border-strong)}.border-opacity-20{--tw-border-opacity:0.2}.bg-accent-strong{background-color:var(--color-accent-strong)}.bg-overlay-muted{background-color:var(--surface-overlay-muted)}.bg-overlay-panel{background-color:var(--surface-overlay-panel)}.bg-overlay-panel-soft{background-color:var(--surface-overlay-panel-soft)}.bg-overlay-strong{background-color:var(--surface-overlay-strong)}.bg-panel{background-color:var(--surface-panel)}.bg-status-danger-surface{background-color:var(--status-danger-surface)}.bg-status-info-surface{background-color:var(--status-info-surface)}.bg-status-success-surface{background-color:var(--status-success-surface)}.bg-status-warning-surface{background-color:var(--status-warning-surface)}.bg-surface{background-color:var(--surface-base)}.bg-surface-alt{background-color:var(--surface-alt)}.bg-surface-muted{background-color:var(--surface-muted)}.bg-transparent{background-color:transparent}.bg-white{background-color:var(--color-white)}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-overlay-channel{background-image:var(--surface-overlay-banner-gradient-channel)}.stroke-border-translucent{stroke:var(--border-overlay)}.stroke-current{stroke:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-lg{padding:var(--space-lg)}.p-md{padding:var(--space-md)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-family-mono)}.font-sans{font-family:var(--font-family-sans)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-relaxed)}.text-2xs{font-size:var(--font-size-2xs);line-height:var(--line-height-tight)}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-3xs{font-size:var(--font-size-3xs);line-height:var(--line-height-tight)}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-4xs{font-size:var(--font-size-4xs);line-height:var(--line-height-tight)}.text-\[0\.75rem\]{font-size:.75rem}.text-base{font-size:var(--font-size-base)}.text-base,.text-lg{line-height:var(--line-height-base)}.text-lg{font-size:var(--font-size-lg)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-extra-wide{letter-spacing:var(--tracking-extra-wide)}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:var(--color-accent)}.text-critical{color:var(--color-critical)}.text-critical-strong{color:var(--color-critical-strong)}.text-info{color:var(--color-info)}.text-info-strong{color:var(--color-info-strong)}.text-muted{color:var(--text-muted)}.text-muted-strong{color:var(--text-muted-strong)}.text-primary{color:var(--text-primary)}.text-status-danger{color:var(--status-danger)}.text-status-danger-on{color:var(--status-danger-on)}.text-status-info{color:var(--status-info)}.text-status-info-on{color:var(--status-info-on)}.text-status-neutral{color:var(--status-neutral)}.text-status-private-on{color:var(--status-private-on)}.text-status-success{color:var(--status-success)}.text-status-success-on{color:var(--status-success-on)}.text-status-warning{color:var(--status-warning)}.text-status-warning-on{color:var(--status-warning-on)}.text-subtle{color:var(--text-subtle)}.text-text{color:var(--text-primary)}.text-text-frosted{color:var(--text-frosted-primary)}.text-text-muted{color:var(--text-muted)}.text-text-strong{color:var(--color-text-strong)}.text-warning{color:var(--status-warning)}.text-warning-strong{color:var(--status-warning-strong)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-md{--tw-shadow:var(--shadow-md);--tw-shadow-colored:var(--shadow-md)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.blur-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-fast{transition-duration:var(--motion-duration-fast)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (max-width:640px){.bv-grid-video{gap:var(--space-md);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0s;--motion-duration-base:0s;--motion-duration-slow:0s;--modal-motion-duration:0s}*,:after,:before{animation-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-timing-function:linear!important;transition-delay:0s!important;transition-duration:0s!important;transition-timing-function:linear!important}.player-modal__similar-card:before{transition:none!important}#app,#playerModal .player-modal__content,#sidebar,.btn,.btn-ghost,.card,.card[data-motion=enter],.fade-in,.icon-button,.menu__item,.modal-nav,.notification-banner,.notification-portal,.popover-panel,.popover__panel,.progress-bar-fill,.sidebar-collapse-toggle,.sidebar-collapse-toggle__icon,.sidebar-dropup-panel,.sidebar-dropup-trigger,.sidebar-dropup-trigger__chevron,.sidebar-loading-indicator,.sidebar-loading-wrapper,.sidebar-nav,.sidebar-nav-link,.status-banner .status-spinner,.status-spinner--inline,.torrent-toast,.video-modal__panel,.watch-history-card,.watch-history-card__action,.watch-history-card__creatorAvatar,.watch-history-card__creatorName,.watch-history-card__title{transition-property:none!important}.popover-panel,.popover__panel{transform:none!important}.popover-panel[data-state=open],.popover__panel[data-state=open]{opacity:1}.popover-panel[data-state=closed],.popover__panel[data-state=closed]{opacity:0}.card[data-motion=enter],.fade-in,[data-video-thumbnail][data-thumbnail-loaded=true]{opacity:1;animation:none!important}.notification-banner,.status-banner .status-spinner,.status-spinner--inline,.torrent-toast{animation:none!important}.notification-portal{transform:none!important;opacity:1!important}}#profileModal{padding:0;width:100vw;height:100vh;max-width:none;max-height:none}#profileModal .bv-modal__panel{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:none}@media (min-width:1024px){#profileModal .profile-modal{max-block-size:none}}@media (min-width:640px){.sm\:flex#playerModal{display:block}}@media (min-width:768px){.md\:hidden .bv-modal,.md\:hidden.profile-pane{display:none!important}.md\:flex#playerModal{display:block}}@media (min-width:1024px){.lg\:hidden .bv-modal,.lg\:hidden.profile-pane{display:none!important}.lg\:flex#playerModal{display:block}}.placeholder\:text-muted::-moz-placeholder{color:var(--text-muted)}.placeholder\:text-muted::placeholder{color:var(--text-muted)}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-status-danger-border:hover{border-color:var(--status-danger-border)}.hover\:bg-overlay-panel:hover{background-color:var(--surface-overlay-panel)}.hover\:bg-panel-hover:hover{background-color:var(--surface-panel-hover)}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-critical:hover{color:var(--color-critical)}.hover\:text-info-strong:hover{color:var(--color-info-strong)}.hover\:text-text:hover{color:var(--text-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-info:focus{--tw-ring-color:var(--color-info)}.focus\:ring-status-info:focus{--tw-ring-color:var(--status-info)}.focus\:ring-status-success:focus{--tw-ring-color:var(--status-success)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-surface:focus{--tw-ring-offset-color:var(--surface-base)}.focus-visible\:bg-primary:focus-visible{background-color:var(--color-primary)}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-info:focus-visible{outline-color:var(--color-info)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary{color:var(--text-primary)}@media (min-width:640px){.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:flex{display:flex}.sm\:w-1\/3{width:33.333333%}.sm\:w-auto{width:auto}.sm\:max-w-xs{max-width:20rem}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.sm\:self-end{align-self:flex-end}.sm\:p-0{padding:0}.sm\:p-5{padding:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:pt-8{padding-top:2rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-64{height:16rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-md{gap:var(--space-md)}.md\:pb-12{padding-bottom:3rem}}@media (min-width:1024px){.lg\:ml-auto{margin-left:auto}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-auto{height:auto}.lg\:max-h-modal-shell{max-height:var(--modal-shell-max-height)}.lg\:max-w-5xl{max-width:64rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-start{align-items:flex-start}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:rounded-modal-xl{border-radius:var(--radius-modal-xl)}.lg\:border{border-width:1px}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-right{text-align:right}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}} \ No newline at end of file diff --git a/css/tailwind.source.css b/css/tailwind.source.css index 151c74c8..bf5f537e 100644 --- a/css/tailwind.source.css +++ b/css/tailwind.source.css @@ -5849,3 +5849,75 @@ max-block-size: none; } } + +@layer components { + .marquee-host { + position: relative; + overflow: hidden; + white-space: nowrap; + /* Optional: Ensure it takes layout space */ + width: 100%; + } + + .marquee-static { + @apply truncate; + opacity: 1; + transition: opacity 0.3s ease; + } + + .marquee-anim { + position: absolute; + inset: 0; + display: flex; + align-items: center; + opacity: 0; + transition: opacity 0.3s ease; + pointer-events: none; + mask-image: linear-gradient(to right, transparent, black 4%, black 96%, transparent); + -webkit-mask-image: linear-gradient(to right, transparent, black 4%, black 96%, transparent); + } + + .marquee-track { + display: flex; + width: max-content; + animation: marquee-scroll linear infinite; + animation-duration: var(--marquee-duration, 10s); + animation-play-state: paused; + } + + .marquee-item { + flex-shrink: 0; + padding-right: 2rem; /* Gap between loop items */ + } + + @keyframes marquee-scroll { + 0% { transform: translateX(0); } + 100% { transform: translateX(-50%); } + } + + /* Desktop Hover State */ + @media (min-width: 1024px) { + .card:hover .marquee-host.can-marquee .marquee-static { + opacity: 0; + } + .card:hover .marquee-host.can-marquee .marquee-anim { + opacity: 1; + } + .card:hover .marquee-host.can-marquee .marquee-track { + animation-play-state: running; + } + } + + /* Mobile Active State */ + @media (max-width: 1023.98px) { + .card[data-mobile-active="true"] .marquee-host.can-marquee .marquee-static { + opacity: 0; + } + .card[data-mobile-active="true"] .marquee-host.can-marquee .marquee-anim { + opacity: 1; + } + .card[data-mobile-active="true"] .marquee-host.can-marquee .marquee-track { + animation-play-state: running; + } + } +} diff --git a/js/ui/components/VideoCard.js b/js/ui/components/VideoCard.js index fe72f71c..5a3d82b7 100644 --- a/js/ui/components/VideoCard.js +++ b/js/ui/components/VideoCard.js @@ -386,6 +386,8 @@ export class VideoCard { this.root = root; + VideoCard.observeViewport(this.root); + this.root.dataset.component = "video-card"; this.syncCardState(); this.syncMotionState(); @@ -449,17 +451,17 @@ export class VideoCard { isCompact ? "text-base" : "text-lg", isCompact ? "font-semibold" : "font-bold", "text-text", - "line-clamp-2", "cursor-pointer", ]; if (isCompact) { titleClassNames.push("leading-snug"); } - const title = this.createElement("h3", { - classNames: titleClassNames, - textContent: this.video.title - }); + const title = this.buildMarqueeStructure( + "h3", + titleClassNames, + this.video.title + ); title.dataset.videoId = this.video.id; this.titleEl = title; @@ -645,7 +647,7 @@ export class VideoCard { applyIdentityToAuthorElements() { const nameLabel = this.identity?.name || "Unknown"; if (this.authorNameEl) { - this.authorNameEl.textContent = nameLabel || "Unknown"; + this.updateMarqueeText(this.authorNameEl, nameLabel || "Unknown"); } if (this.authorPicEl) { @@ -918,16 +920,17 @@ export class VideoCard { const authorMeta = this.createElement("div", { classNames: ["min-w-0"] }); - const authorName = this.createElement("p", { - classNames: [ + const authorName = this.buildMarqueeStructure( + "p", + [ isCompact ? "text-xs" : "text-sm", "text-muted", "author-name", "cursor-pointer", "video-card__author-name", ], - textContent: "Loading name...", - }); + "Loading name..." + ); if (this.video.pubkey) { authorName.dataset.pubkey = this.video.pubkey; } @@ -2945,6 +2948,114 @@ export class VideoCard { return false; } + buildMarqueeStructure(tagName, classNames, textContent, attrs = {}) { + const host = this.createElement(tagName, { + classNames: [...classNames, "marquee-host"], + attrs, + }); + + // Use span instead of div to ensure valid HTML when nested in h3/p + const staticEl = this.createElement("span", { + classNames: ["marquee-static", "block"], + textContent, + }); + + const animEl = this.createElement("span", { + classNames: ["marquee-anim"], + attrs: { "aria-hidden": "true" }, + }); + const track = this.createElement("span", { classNames: ["marquee-track"] }); + + const item1 = this.createElement("span", { + classNames: ["marquee-item"], + textContent, + }); + const item2 = this.createElement("span", { + classNames: ["marquee-item"], + textContent, + }); + + track.appendChild(item1); + track.appendChild(item2); + animEl.appendChild(track); + + host.appendChild(staticEl); + host.appendChild(animEl); + + host._marqueeRefs = { staticEl, item1, item2, track }; + + VideoCard.observeMarquee(host); + + return host; + } + + updateMarqueeText(host, text) { + if (!host) return; + if (!host._marqueeRefs) { + host.textContent = text; + return; + } + const { staticEl, item1, item2 } = host._marqueeRefs; + if (staticEl) staticEl.textContent = text; + if (item1) item1.textContent = text; + if (item2) item2.textContent = text; + // Trigger check immediately if possible, or wait for observer + VideoCard.checkMarqueeOverflow(host); + } + + // Moved checkMarqueeOverflow to static to be shared by observer + static checkMarqueeOverflow(host) { + if (!host || !host._marqueeRefs) return; + const { staticEl, track, item1 } = host._marqueeRefs; + + // Use item1 width (full content width) vs host width + const contentWidth = item1 ? item1.offsetWidth : staticEl.scrollWidth; + const availableWidth = host.clientWidth; + + const isOverflowing = contentWidth > availableWidth; + + if (isOverflowing) { + host.classList.add("can-marquee"); + // Speed: 50px/s + // Distance is contentWidth (one item width including padding) + const distance = contentWidth; + const duration = distance / 50; + const safeDuration = Math.max(duration, 2); + track.style.setProperty("--marquee-duration", `${safeDuration}s`); + } else { + host.classList.remove("can-marquee"); + } + } + + static observeMarquee(element) { + if (!VideoCard.marqueeResizeObserver) { + VideoCard.marqueeResizeObserver = new ResizeObserver((entries) => { + for (const entry of entries) { + VideoCard.checkMarqueeOverflow(entry.target); + } + }); + } + VideoCard.marqueeResizeObserver.observe(element); + } + + static observeViewport(element) { + if (!VideoCard.viewportObserver) { + VideoCard.viewportObserver = new IntersectionObserver( + (entries) => { + for (const entry of entries) { + if (entry.isIntersecting) { + entry.target.setAttribute("data-mobile-active", "true"); + } else { + entry.target.removeAttribute("data-mobile-active"); + } + } + }, + { rootMargin: "-40% 0px -40% 0px", threshold: 0 } + ); + } + VideoCard.viewportObserver.observe(element); + } + createElement(tagName, { classNames = [], attrs = {}, textContent } = {}) { const el = this.document.createElement(tagName); classNames diff --git a/verification/feed_info.png b/verification/feed_info.png deleted file mode 100644 index 7a90fed1288f19f8c291833e0807047607bfdb52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44209 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 diff --git a/verification/verify_feed_info.py b/verification/verify_feed_info.py deleted file mode 100644 index 92274637..00000000 --- a/verification/verify_feed_info.py +++ /dev/null @@ -1,54 +0,0 @@ -import sys -import os -import time -from playwright.sync_api import sync_playwright - -def verify_feed_info(page): - print("Pre-seeding localStorage...") - page.goto("http://localhost:8000") # Go to root first to set storage origin - page.evaluate("window.localStorage.setItem('hasSeenDisclaimer', 'true')") - - print("Navigating to For You view...") - page.goto("http://localhost:8000/#view=for-you") - - print("Waiting for feed info trigger...") - trigger = page.locator("#feedInfoTrigger") - try: - trigger.wait_for(state="visible", timeout=10000) - except Exception: - page.screenshot(path="verification/debug_not_found.png") - raise - - # Ensure no modals are blocking - # We can try to force click or wait for potential overlays to disappear - # But pre-seeding should handle the main one. - - print("Clicking trigger...") - trigger.click() - - print("Waiting for popover...") - popover = page.locator(".popover-panel") - popover.wait_for(state="visible", timeout=5000) - - text = popover.inner_text() - print(f"Popover text: {text}") - - expected = "Most Recent Video - Disinterests Tags - Watch History + Interests Tags" - if expected not in text: - raise Exception(f"Unexpected text: {text}") - - page.screenshot(path="verification/feed_info.png") - print("Screenshot saved to verification/feed_info.png") - -if __name__ == "__main__": - with sync_playwright() as p: - browser = p.chromium.launch(headless=True) - context = browser.new_context() - page = context.new_page() - try: - verify_feed_info(page) - except Exception as e: - print(f"Error: {e}") - sys.exit(1) - finally: - browser.close()