#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-download-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--primary-rgb);box-shadow:0 2px 10px rgba(0,0,0,.1);animation:slideDown .3s ease-out;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-download-banner__progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:hsla(0,0%,100%,.2);overflow:hidden}.app-download-banner__progress-bar-small{position:relative;height:3px;width:116px;border-radius:10px;background:hsla(0,0%,100%,.2);overflow:hidden}.app-download-banner__progress-fill{position:absolute;top:0;left:0;height:100%;background:#fff;transition:width .3s ease}.app-download-banner__progress-fill.error{background:#f44}.app-download-banner__container{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;max-width:1200px;margin:0 auto;gap:12px}.app-download-banner__content{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.app-download-banner__icon{flex-shrink:0;width:40px;height:40px;background:hsla(0,0%,100%,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.app-download-banner__icon svg{width:24px;height:24px}.app-download-banner__text{flex:1 1;min-width:0;color:#fff}.app-download-banner__title{font-size:14px;font-weight:600;line-height:1.3;margin-bottom:2px}.app-download-banner__subtitle{font-size:12px;opacity:.9;line-height:1.3}.app-download-banner__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-download-banner__btn{border:none;background:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none}.app-download-banner__btn:active:not(:disabled){transform:scale(.95)}.app-download-banner__btn:disabled{opacity:.6;cursor:not-allowed}.app-download-banner__btn--download{background:#fff;color:var(--bs-primary);padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap;min-width:80px}.app-download-banner__btn--download:hover:not(:disabled){background:hsla(0,0%,100%,.95);box-shadow:0 2px 8px rgba(0,0,0,.15)}.app-download-banner__btn--download .spinning{animation:spin 1s linear infinite}.app-download-banner__btn--close{width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.2);color:#fff;font-size:16px}.app-download-banner__btn--close:hover:not(:disabled){background:hsla(0,0%,100%,.3)}.app-download-banner__btn--close i{font-size:14px}@media(max-width:480px){.app-download-banner__container{padding:10px 12px}.app-download-banner__icon{width:36px;height:36px}.app-download-banner__icon svg{width:20px;height:20px}.app-download-banner__title{font-size:13px}.app-download-banner__subtitle{font-size:11px}.app-download-banner__btn--download{padding:7px 14px;font-size:13px}.app-download-banner__btn--close{width:28px;height:28px}}.dark-theme .app-download-banner{background:var(--bs-primary);box-shadow:0 -2px 10px rgba(0,0,0,.3)}.light-theme .app-download-banner{background:var(--bs-primary);box-shadow:0 -2px 10px rgba(0,0,0,.1)}