@import"./toast.css";@import"./like-details.css";@import"./content-owner-modal.css";@import"./realtime-popup.css";@import"./content-media-overlay.css";@import"./playback-rate.css";@import"./share-sheet.css";@import"./link-guard.css";@import"./caption-text.css";@import"./content-card.css";@import"./feed-filter.css";@import"./upload-overlay.css";@import"./push.css";@import"./answer-wizard.css";@import"./quote-backgrounds.css";body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}body.page-entering{animation:signal-page-in var(--duration-fast) var(--ease-standard) both}body.page-leaving{opacity:0;transition:opacity var(--duration-fast) var(--ease-exit);pointer-events:none}@keyframes signal-page-in{from{opacity:0}to{opacity:1}}a,button,[role=button],label,summary,.js-app-menu-open,.js-notifications-trigger{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bottom-nav__item,.signal-app-menu-panel__link{transition:transform var(--duration-instant) var(--ease-standard),opacity var(--duration-instant) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);-webkit-user-select:none;user-select:none}.bottom-nav__item:active{transform:scale(0.94);opacity:0.7}.signal-app-menu-panel__link:active{transform:scale(0.98);opacity:0.85}@media(prefers-reduced-motion:reduce){.bottom-nav__item:active,.signal-app-menu-panel__link:active{transform:none}}.signal-user-text{overflow-wrap:anywhere;word-break:break-word}.ltr-data{direction:ltr;unicode-bidi:plaintext}.quote-pattern-swatch{border-color:transparent;cursor:pointer}.quote-pattern-swatch.active{border-color:var(--color-white)}.rotate-135{transform:rotate(135deg)}.animate-fade-in{animation:fade-in var(--duration-slow) var(--ease-standard) both}.app-shell{max-width:var(--container-app);margin:0 auto;padding:calc(var(--app-header-h) + var(--space-2)) var(--space-4) calc(var(--bottomnav-h) + var(--space-10))}.legal-page{position:relative}.legal-page__inner{position:relative;z-index:1}.legal-page__header{display:flex;flex-direction:column;align-items:center}.legal-page__brand{display:block;flex-shrink:0}.legal-page__back{flex-shrink:0}.legal-doc__section+.legal-doc__section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-line)}.legal-doc__heading{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-title);color:var(--color-fg)}.legal-doc__paragraph{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--color-fg-soft)}.legal-doc__paragraph:last-child{margin-bottom:0}.legal-doc__list{margin:var(--space-2) 0 0;padding:0;list-style:none}.legal-doc__list li{position:relative;margin-bottom:var(--space-2-5);padding-inline-start:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--color-fg-soft)}.legal-doc__list li::before{content:"";position:absolute;inset-inline-start:0;top:0.75em;width:0.3125rem;height:0.3125rem;border-radius:var(--radius-pill);background:var(--color-fg-faint)}.legal-doc__list li:last-child{margin-bottom:0}.pulse-badge{flex-shrink:0}.pulse-badge img{width:1rem;height:1rem;object-fit:contain}.pulse-badge span{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:1}.pulse-badge--sm{font-size:var(--text-3xs)}.pulse-badge--sm img{width:0.8125rem;height:0.8125rem}.audio-media-surface{position:relative;isolation:isolate;background-color:var(--color-media)}.audio-media-surface::before{content:"";position:absolute;inset:0;background-image:url(/assets/icons/audio-pattern.svg);background-size:240px 240px;background-position:center;opacity:0.6;pointer-events:none}.ap-wave-bar{flex:1;min-width:0;border-radius:var(--radius-xs);transform-origin:bottom center;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);background:var(--color-white)}.player-bar .inner{background:var(--color-primary)}.auth-otp-input{flex:1 1 0;min-width:0;max-width:3.5rem;aspect-ratio:1;border:1px solid var(--color-line-2);border-radius:var(--radius-control);background:var(--color-surface-1);color:var(--color-fg);caret-color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);text-align:center;outline:none;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.auth-otp-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.auth-otp-input.filled{border-color:var(--color-line-3);background:var(--color-surface-2)}.auth-otp-input.otp-error-shake{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft);animation:otp-shake 0.35s ease}.safe-bottom{padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.safe-top{padding-top:env(safe-area-inset-top)}@keyframes fade-in{from{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}@keyframes otp-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.signal-update-banner{position:fixed;inset-inline:var(--space-3);bottom:calc(var(--bottomnav-h) + var(--space-5) + env(safe-area-inset-bottom,0px));z-index:var(--z-popover);max-width:var(--container-dialog);margin:0 auto;pointer-events:none;animation:signal-update-banner-in var(--duration-slow) var(--ease-standard) both}.signal-update-banner--hidden{display:none!important}.signal-update-banner--leaving{animation:none;opacity:0;transform:translateY(10px);transition:opacity var(--duration-fast) var(--ease-exit),transform var(--duration-fast) var(--ease-exit);pointer-events:none}@media(prefers-reduced-motion:reduce){.signal-update-banner--leaving{transform:none}}.signal-update-banner__sheen{display:none}.signal-update-banner__panel{position:relative;overflow:hidden;padding:var(--space-4);border:1px solid var(--color-line-2);border-radius:var(--radius-sheet);background:var(--color-surface-2);box-shadow:var(--shadow-lg);pointer-events:auto}.signal-update-banner__header{display:flex;align-items:flex-start;gap:var(--space-3)}.signal-update-banner__headline{flex:1;min-width:0}.signal-update-banner__eyebrow{display:block;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.signal-update-banner__title{margin:var(--space-1) 0 0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);color:var(--color-fg)}.signal-update-banner__version{flex-shrink:0;padding:var(--space-0-5) var(--space-2);border:1px solid var(--color-line-2);border-radius:var(--radius-pill);background:var(--color-surface-1);color:var(--color-fg-muted);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.signal-update-banner__version:not([hidden]){display:inline-flex;align-items:center}.signal-update-banner__text{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:var(--leading-body);color:var(--color-fg-muted)}.signal-update-banner__actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-2);margin-top:var(--space-4)}.signal-update-banner__actions--single{grid-template-columns:1fr}.signal-update-banner__actions--single .signal-update-banner__button{width:100%}.signal-update-banner__button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-control);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-instant) var(--ease-standard)}.signal-update-banner__button:active{transform:scale(0.98)}.signal-update-banner__button--primary{background:var(--color-primary);color:var(--color-on-primary)}.signal-update-banner__button--primary:hover{background:var(--color-primary-hover)}.signal-update-banner__button--primary:disabled{opacity:0.72;cursor:wait;transform:none}.signal-update-banner__button.is-applying>i{animation:ds-spin 0.7s linear infinite}@media(prefers-reduced-motion:reduce){.signal-update-banner__button.is-applying>i{animation:none}}.signal-update-banner.signal-update-banner--rich{max-width:40rem}.signal-update-banner__release[hidden]{display:none}.signal-update-banner__highlights{display:grid;gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none}.signal-update-banner--rich .signal-update-banner__highlights{max-height:38vh;overflow-y:auto;overscroll-behavior:contain}.signal-update-banner__highlight{display:flex;align-items:flex-start;gap:var(--space-2-5);padding:var(--space-2) 0}.signal-update-banner__highlight+.signal-update-banner__highlight{border-top:1px solid var(--color-line)}.signal-update-banner__highlight-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-md);background:var(--color-surface-3);color:var(--color-fg-muted);font-size:var(--text-2xs)}.signal-update-banner__highlight-text{flex:1;min-width:0;font-size:var(--text-xs);line-height:var(--leading-body);color:var(--color-fg-soft)}.signal-update-banner__highlight-badge{flex-shrink:0;align-self:center;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-3xs);font-weight:var(--font-weight-semibold)}.signal-update-banner__media{margin-top:var(--space-3)}.signal-update-banner__media[hidden]{display:none}.signal-update-banner__media-el{display:block;width:100%;max-height:240px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-media)}audio.signal-update-banner__media-el{height:var(--control-h);max-height:none;background:var(--color-surface-1)}@keyframes signal-update-banner-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:380px){.signal-update-banner__actions{grid-template-columns:1fr}.signal-update-banner__version{display:none!important}}.bottom-nav__item{display:flex;flex:1;flex-direction:column;align-items:center;gap:var(--space-1);padding-block:var(--space-1);color:var(--color-fg-faint);text-decoration:none}.bottom-nav__item:hover,.bottom-nav__item.is-active{color:var(--color-fg)}.bottom-nav__avatar{border-color:var(--color-line-2)}.bottom-nav__item.is-active .bottom-nav__avatar{border-color:var(--color-fg)}.signal-app-menu-root[hidden]{display:none}.signal-app-menu-root:not([hidden]){position:fixed;inset:0;z-index:var(--z-overlay)}.signal-app-menu-backdrop{position:absolute;inset:0;border:0;background:var(--color-scrim);backdrop-filter:blur(2px);cursor:pointer}.signal-app-menu-panel{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(88vw,20rem);border-inline-start:1px solid var(--color-line);background:var(--color-surface-1);box-shadow:var(--shadow-lg);animation:signal-app-menu-slide-in var(--duration-base) var(--ease-standard)}body.signal-app-menu-open{overflow:hidden}.signal-app-menu-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-4);border-bottom:1px solid var(--color-line)}.signal-app-menu-panel__user{display:flex;align-items:center;gap:var(--space-3);min-width:0}.signal-app-menu-panel__avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border:1px solid var(--color-line-2);border-radius:var(--radius-pill);object-fit:cover}.signal-app-menu-panel__avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);color:var(--color-fg-faint)}.signal-app-menu-panel__name{overflow:hidden;font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);color:var(--color-fg);white-space:nowrap;text-overflow:ellipsis}.signal-app-menu-panel__nav{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3) var(--space-2)}.signal-app-menu-panel__section+.signal-app-menu-panel__section{margin-top:var(--space-4)}.signal-app-menu-panel__section-label{padding:0 var(--space-3) var(--space-2);font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--color-fg-faint)}.signal-app-menu-panel__list{display:grid;gap:var(--space-0-5);margin:0;padding:0;list-style:none}.signal-app-menu-panel__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-control);color:var(--color-fg-soft);text-decoration:none}.signal-app-menu-panel__link:hover{background:var(--color-surface-2);color:var(--color-fg)}.signal-app-menu-panel__link.is-active{background:var(--color-surface-2);color:var(--color-fg)}.signal-app-menu-panel__link-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;color:var(--color-fg-muted)}.signal-app-menu-panel__link.is-active .signal-app-menu-panel__link-icon{color:var(--color-primary)}.signal-app-menu-panel__link-label{flex:1;font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.signal-app-menu-panel__link-indicator{flex-shrink:0;width:0.375rem;height:0.375rem;border-radius:var(--radius-pill);background:var(--color-primary)}.signal-app-menu-panel__link-count{flex-shrink:0;min-width:1.375rem;padding:var(--space-0-5) var(--space-1-5);border:1px solid var(--color-warning-line);border-radius:var(--radius-pill);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-2xs);font-weight:var(--font-weight-bold);text-align:center}.signal-app-menu-panel__link-count:empty{display:none}.signal-app-menu-panel__footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-line)}@keyframes signal-app-menu-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}.reels-track{scroll-snap-type:y mandatory;-ms-overflow-style:none;scrollbar-width:none}.reels-track::-webkit-scrollbar{display:none}.reel-slide{scroll-snap-align:start;scroll-snap-stop:always}.reels-overlay{height:100vh;height:100dvh;bottom:auto}@media(min-width:620px){.reels-frame{box-shadow:0 0 0 1px var(--color-line);background:var(--color-media)}.reel-actions{padding-bottom:calc(env(safe-area-inset-bottom) + 60px)}}.reel-img,.reel-video{max-height:100%;max-width:100%;object-fit:contain}.reel-actions,.reel-info{opacity:0;transition:opacity var(--duration-slow) var(--ease-standard)}.reel-slide.is-reel-active .reel-actions,.reel-slide.is-reel-active .reel-info{opacity:1}.reel-slide:not(.is-reel-active) .reel-actionbar{pointer-events:none}.reel-info{padding-bottom:calc(env(safe-area-inset-bottom) + 142px);background:linear-gradient(to top,var(--color-scrim-strong) 0%,var(--color-scrim) 40%,transparent 100%)}.reel-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.reel-caption.is-expanded{display:block;-webkit-line-clamp:unset;max-height:34vh;overflow-y:auto;overscroll-behavior:contain}.reel-caption-toggle{margin-top:var(--space-1);padding:var(--space-0-5) 0;background:transparent;border:0;cursor:pointer}.reel-follow{display:inline-flex;align-items:center;gap:var(--space-1);flex-shrink:0;height:var(--control-h-sm);padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid transparent;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);line-height:1;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),transform var(--duration-instant) var(--ease-standard)}.reel-follow>i{font-size:var(--text-3xs)}.reel-follow:hover{background:var(--color-primary-hover)}.reel-follow:active{transform:scale(0.96)}.reel-follow.is-following{background:color-mix(in srgb,var(--color-white) 14%,transparent);color:var(--color-white);border-color:color-mix(in srgb,var(--color-white) 24%,transparent);backdrop-filter:blur(4px)}.reel-follow.is-busy{opacity:0.6;pointer-events:none}@media(prefers-reduced-motion:reduce){.reel-actions,.reel-info{transition:none}}.reel-actionbar{gap:var(--space-0-5);box-shadow:var(--shadow-md)}.reel-actionbar-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:46px;padding:var(--space-1) var(--space-0-5);color:var(--color-white);text-decoration:none;background:transparent;border:0;border-radius:var(--radius-sheet);cursor:pointer;text-shadow:0 1px 6px color-mix(in srgb,var(--color-black) 45%,transparent);transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-instant) var(--ease-standard)}.reel-actionbar-btn:hover{background:color-mix(in srgb,var(--color-white) 8%,transparent)}.reel-actionbar-btn:active{transform:scale(0.94)}.reel-actionbar-btn[disabled]{opacity:0.5}.reel-actionbar-count{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);line-height:1;min-height:11px}.reel-heart{opacity:0;transform:scale(0.6)}.reel-heart>i{font-size:calc(var(--text-6xl) * 2);color:var(--color-like);filter:drop-shadow(0 8px 24px color-mix(in srgb,var(--color-black) 45%,transparent))}.reel-heart.is-bursting{animation:reel-heart-burst 0.7s var(--ease-standard) both}@keyframes reel-heart-burst{0%{opacity:0;transform:scale(0.6)}20%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.reel-heart.is-bursting{animation-duration:0.4s}@keyframes reel-heart-burst{0%,100%{opacity:0;transform:none}20%,70%{opacity:1;transform:none}}}.spa-nav-progress{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:2.5px;z-index:var(--z-overlay);pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-exit)}.spa-nav-progress::before{content:"";position:absolute;top:0;height:100%;width:40%;border-radius:0 var(--radius-xs) var(--radius-xs) 0;background:var(--color-primary)}.spa-nav-progress.is-active{opacity:1;transition:none}.spa-nav-progress.is-active::before{animation:spa-nav-progress-slide 1s ease-in-out infinite}@keyframes spa-nav-progress-slide{0%{left:-40%}100%{left:100%}}@media(prefers-reduced-motion:reduce){.spa-nav-progress.is-active::before{animation-duration:1.8s}}.comment-flash{animation:comment-flash-fade 2s var(--ease-standard) 1;border-radius:var(--radius-card)}@keyframes comment-flash-fade{0%,40%{background-color:var(--color-primary-soft)}100%{background-color:transparent}}@media(prefers-reduced-motion:reduce){.comment-flash{animation-duration:0.01ms}}
