.install-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:var(--z-sticky);display:inline-flex;align-items:center;height:56px;padding:0 16px;border:none;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:#fff;font-family:var(--font-body);font-size:var(--font-sm);font-weight:var(--font-semibold);cursor:pointer;box-shadow:var(--shadow-lg),var(--shadow-glow);animation:install-fab-in var(--transition-normal) both;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.install-fab:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.install-fab:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:3px}@media (max-width:767.98px){.install-fab{bottom:calc(var(--tabbar-height) + 24px + env(safe-area-inset-bottom, 0px))}}.install-fab__icon{width:24px;height:24px;flex-shrink:0}.install-fab__label{max-width:0;margin-left:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width var(--transition-normal),margin-left var(--transition-normal),opacity var(--transition-fast)}.install-fab--expanded .install-fab__label{max-width:140px;margin-left:8px;opacity:1}@keyframes install-fab-in{0%{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.install-dialog{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}@media (max-width:767.98px){.install-dialog{align-items:flex-end;padding:0}}.install-dialog__overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:install-fade-in var(--transition-fast) both}.install-dialog__panel{position:relative;width:100%;max-width:400px;max-height:calc(100vh - 32px);overflow-y:auto;padding:32px 24px 24px;-webkit-overflow-scrolling:touch}@media (max-width:767.98px){.install-dialog__panel{max-width:100%;max-height:85dvh;border-radius:16px 16px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px))}}.install-dialog__panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:install-panel-in var(--transition-normal) both}.install-dialog__panel:focus{outline:none}.install-dialog__close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.install-dialog__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.install-dialog__header{text-align:center;margin-bottom:24px}.install-dialog__logo{display:block;height:40px;width:auto;margin:0 auto 16px}.install-dialog__badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:16px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-primary);font-size:28px}.install-dialog__header h2{margin:0 0 8px;font-family:var(--font-display);font-size:var(--font-xl);color:var(--color-text-primary)}.install-dialog__header p{margin:0;font-size:var(--font-sm);color:var(--color-text-secondary)}.install-dialog__features{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.install-dialog__feature{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-tertiary)}.install-dialog__feature-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);background:rgba(202,28,30,.15);color:var(--color-primary-light);font-size:18px}.install-dialog__feature strong{display:block;font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.install-dialog__feature small{font-size:var(--font-xs);color:var(--color-text-secondary)}.install-dialog__steps{margin:0 0 24px;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:var(--font-sm);color:var(--color-text-secondary)}.install-dialog__steps strong{color:var(--color-text-primary)}.install-dialog__hint{color:var(--color-text-muted)}.install-dialog__actions{display:flex;flex-direction:column;gap:10px}.install-dialog__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--font-base);font-weight:var(--font-semibold);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.install-dialog__btn--primary{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:#fff;box-shadow:var(--shadow-glow)}.install-dialog__btn--primary:hover{transform:translateY(-2px)}.install-dialog__btn--secondary{background:transparent;color:var(--color-text-secondary)}.install-dialog__btn--secondary:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.install-dialog__note{margin:16px 0 0;text-align:center;font-size:var(--font-xs);color:var(--color-text-muted)}@keyframes install-fade-in{0%{opacity:0}to{opacity:1}}@keyframes install-panel-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.install-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.install-link:hover{color:var(--color-primary-light)}@media (prefers-reduced-motion:reduce){.install-dialog__overlay,.install-dialog__panel,.install-fab{animation:none}.install-dialog__btn,.install-dialog__close,.install-fab,.install-fab__label{transition:none}.install-dialog__btn--primary:hover,.install-fab:hover{transform:none}}.footer{position:relative;z-index:1;background-color:#121212;border-top:1px solid var(--color-border);padding:var(--spacing-xl) 0;margin-top:auto}@media (max-width:767.98px){.footer{padding-bottom:calc(var(--spacing-xl) + var(--tabbar-height) + 20px + env(safe-area-inset-bottom, 0px))}}@media (min-width:768px){.footer{padding:var(--spacing-xxl) 0 var(--spacing-xl)}}.footer__content{display:grid;gap:var(--spacing-xl)}@media (min-width:768px){.footer__content{grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-xxl)}}.footer__brand{text-align:center}@media (min-width:768px){.footer__brand{text-align:left}}.footer__logo{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-xl);font-weight:var(--font-bold);margin-bottom:var(--spacing-sm)}.footer__logo,.footer__logo:hover{color:var(--color-text-primary)}.footer__logo-word{display:block;width:64px;height:36px}.footer__tagline{color:var(--color-text-secondary);font-size:var(--font-sm)}.footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);text-align:center}@media (min-width:768px){.footer__links{text-align:left}}.footer__links-group h3{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.footer__links-group a{display:block;padding:var(--spacing-xs) 0;color:var(--color-text-muted);font-size:var(--font-sm);transition:color var(--transition-fast)}.footer__links-group a:hover{color:var(--color-primary)}.footer__social{text-align:center}@media (min-width:768px){.footer__social{text-align:right}}.footer__social h3{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.footer__social-links{display:flex;justify-content:center;gap:var(--spacing-md)}@media (min-width:768px){.footer__social-links{justify-content:flex-end}}.footer__social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-hover);border-radius:var(--radius-full);transition:transform var(--transition-fast),background-color var(--transition-fast)}.footer__social-links a:hover{transform:translateY(-2px);background-color:var(--color-bg-secondary)}.footer__social-link--facebook{color:#1877f2}.footer__social-link--x{color:#fff}.footer__social-link--instagram{color:#e4405f}.footer__social-link--tiktok{color:#25f4ee}.footer__social-links svg{width:18px;height:18px}.footer__bottom{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-bg-hover);text-align:center}.footer__bottom p{color:var(--color-text-muted);font-size:var(--font-sm)}.pagination{justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg) 0}.pagination,.pagination__pages{display:flex;align-items:center}.pagination__pages{gap:var(--spacing-xs)}.pagination__btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--spacing-sm);background-color:var(--color-bg-card);border:1px solid var(--color-bg-hover);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.pagination__btn:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-text-muted)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary)}.pagination__btn--active:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-primary)}.pagination__btn--nav{padding:0}.pagination__btn svg{width:18px;height:18px}.pagination__ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-text-muted);font-size:var(--font-sm)}@media (max-width:575.98px){.pagination__btn{min-width:32px;height:32px}.pagination__btn--nav:first-child,.pagination__btn--nav:last-child{display:none}}