.catalog-page{padding:1rem;max-width:1200px;margin:0 auto}.catalog-header{margin-bottom:1.5rem}.catalog-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--tg-theme-text-color, #000)}.catalog-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem;flex-wrap:wrap}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-controls label{font-size:.875rem;color:var(--tg-theme-hint-color, #999);white-space:nowrap}.sort-select{padding:.5rem;border:1px solid var(--tg-theme-button-color, #0088cc);border-radius:.5rem;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #000);font-size:.875rem;min-width:160px}.results-info{font-size:.875rem;color:var(--tg-theme-hint-color, #999);white-space:nowrap}.catalog-loading,.catalog-loading-more{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.catalog-loading p,.catalog-loading-more p{color:var(--tg-theme-hint-color, #999);margin:0}.catalog-error{text-align:center;padding:2rem}.catalog-error h2{color:var(--tg-theme-destructive-text-color, #ff3b30);margin:0 0 1rem}.catalog-error p{color:var(--tg-theme-hint-color, #999);margin:0 0 1.5rem}.retry-button{padding:.75rem 1.5rem;background:var(--tg-theme-button-color, #0088cc);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:opacity .2s}.retry-button:hover{opacity:.8}.excursions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}@media(max-width:640px){.excursions-grid{grid-template-columns:1fr;gap:.75rem}}.catalog-empty{text-align:center;padding:3rem 1rem}.catalog-empty h3{color:var(--tg-theme-text-color, #000);margin:0 0 1rem}.catalog-empty p{color:var(--tg-theme-hint-color, #999);margin:0;line-height:1.5}.load-more-container{display:flex;justify-content:center;margin:2rem 0}.load-more-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--tg-theme-button-color, #0088cc);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:opacity .2s}.load-more-button:hover:not(:disabled){opacity:.8}.load-more-button:disabled{opacity:.6;cursor:not-allowed}.excursion-card{background:var(--tg-theme-bg-color, #fff);border:1px solid var(--tg-theme-section-separator-color, #e5e5e7);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .2s ease;position:relative}.excursion-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.excursion-card:focus{outline:2px solid var(--tg-theme-button-color, #0088cc);outline-offset:2px}.excursion-card.purchased{border-color:var(--tg-theme-button-color, #0088cc)}.excursion-card__image-container{position:relative;width:100%;height:160px;overflow:hidden}.excursion-card__image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.excursion-card:hover .excursion-card__image{transform:scale(1.05)}.excursion-card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--tg-theme-section-bg-color, #f2f2f7);color:var(--tg-theme-hint-color, #999)}.excursion-card__placeholder-icon{width:48px;height:48px}.excursion-card__purchased-badge{position:absolute;top:.5rem;left:.5rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--tg-theme-button-color, #0088cc);color:var(--tg-theme-button-text-color, #fff);border-radius:1rem;font-size:.75rem;font-weight:500}.excursion-card__duration-badge{position:absolute;bottom:.5rem;right:.5rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#000000b3;color:#fff;border-radius:1rem;font-size:.75rem;font-weight:500}.excursion-card__content{padding:1rem}.excursion-card__header{margin-bottom:.5rem}.excursion-card__title{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:var(--tg-theme-text-color, #000);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.excursion-card__author{font-size:.875rem;color:var(--tg-theme-hint-color, #999);margin:0}.excursion-card__description{font-size:.875rem;color:var(--tg-theme-text-color, #000);line-height:1.4;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.excursion-card__footer{display:flex;justify-content:space-between;align-items:center}.excursion-card__price--amount{font-size:1.125rem;font-weight:600;color:var(--tg-theme-button-color, #0088cc)}.excursion-card__price--purchased{font-size:.875rem;color:var(--tg-theme-button-color, #0088cc);font-weight:500}.excursion-card__action{display:flex;align-items:center;gap:.25rem;color:var(--tg-theme-hint-color, #999);font-size:.875rem}.excursion-card__action-icon{width:16px;height:16px;transition:transform .2s ease}.excursion-card:hover .excursion-card__action-icon{transform:translate(2px)}.search-bar{margin-bottom:1rem}.search-bar__container{position:relative;display:flex;align-items:center}.search-bar__icon{position:absolute;left:.75rem;color:var(--tg-theme-hint-color, #999);pointer-events:none;z-index:1}.search-bar__input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid var(--tg-theme-section-separator-color, #e5e5e7);border-radius:.5rem;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #000);font-size:1rem;transition:border-color .2s ease}.search-bar__input:focus{outline:none;border-color:var(--tg-theme-button-color, #0088cc)}.search-bar__input::placeholder{color:var(--tg-theme-hint-color, #999)}.search-bar__clear{position:absolute;right:.75rem;background:none;border:none;color:var(--tg-theme-hint-color, #999);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s ease}.search-bar__clear:hover{color:var(--tg-theme-text-color, #000)}.search-bar.focused .search-bar__input{border-color:var(--tg-theme-button-color, #0088cc)}.search-bar.disabled{opacity:.6;pointer-events:none}.search-bar__status{position:absolute;top:100%;left:0;right:0;background:var(--tg-theme-bg-color, #fff);border:1px solid var(--tg-theme-section-separator-color, #e5e5e7);border-top:none;border-radius:0 0 .5rem .5rem;padding:.5rem .75rem;z-index:10}.search-bar__status-text{font-size:.75rem;color:var(--tg-theme-hint-color, #999)}@media(max-width:480px){.catalog-page{padding:.75rem}.catalog-controls{flex-direction:column;align-items:stretch;gap:.75rem}.sort-controls{justify-content:space-between}.sort-select{min-width:auto;flex:1}.results-info{text-align:center}.excursion-card__content{padding:.75rem}}.catalog-demo{min-height:100vh}.catalog-demo__header{padding:1rem;border-bottom:1px solid var(--tg-theme-section-separator-color, #e5e5e7);margin-bottom:1rem}.back-button{background:var(--tg-theme-secondary-bg-color, #f2f2f7);color:var(--tg-theme-text-color, #000);border:none;padding:.5rem 1rem;border-radius:.5rem;margin-bottom:1rem;cursor:pointer;transition:opacity .2s}.back-button:hover{opacity:.8}.catalog-demo__content{padding:1rem}.catalog-demo__content p{margin-bottom:.5rem}*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);overflow-x:hidden}#root{min-height:100vh;width:100%}a{font-weight:500;color:var(--tg-theme-link-color, #2481cc);text-decoration:none}a:hover{text-decoration:underline}button{border-radius:var(--border-radius-md, 8px);border:none;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);font-size:var(--font-size-md, 16px);font-weight:500;font-family:inherit;background-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}button:hover{opacity:.8}button:active{opacity:.6}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,h4,h5,h6{color:var(--tg-theme-text-color, #000000);margin:0 0 var(--spacing-md, 16px) 0}p{margin:0 0 var(--spacing-md, 16px) 0}*:focus{outline:none}*:focus-visible{outline:2px solid var(--tg-theme-accent-text-color, #2481cc);outline-offset:2px}@media(max-width:768px){button,a,[role=button]{min-height:44px;min-width:44px}}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f1f1f1;--tg-theme-header-bg-color: #ffffff;--tg-theme-accent-text-color: #2481cc;--tg-theme-section-bg-color: #ffffff;--tg-theme-section-header-text-color: #6d6d71;--tg-theme-subtitle-text-color: #999999;--tg-theme-destructive-text-color: #ff3b30;--tg-theme-section-separator-color: #c8c7cc;--tg-theme-bottom-bar-bg-color: #ffffff;--mobile-xs: 320px;--mobile-sm: 375px;--mobile-md: 414px;--mobile-lg: 428px;--tablet: 768px;--desktop: 1024px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--tg-theme-bg-color: #212121;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #708499;--tg-theme-link-color: #6ab7ff;--tg-theme-button-color: #5288c1;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #181818;--tg-theme-header-bg-color: #212121;--tg-theme-accent-text-color: #6ab7ff;--tg-theme-section-bg-color: #212121;--tg-theme-section-header-text-color: #708499;--tg-theme-subtitle-text-color: #708499;--tg-theme-destructive-text-color: #ff6b6b;--tg-theme-section-separator-color: #40414a;--tg-theme-bottom-bar-bg-color: #212121}body{background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:320px){.container{padding:var(--spacing-sm)}}@media(min-width:321px)and (max-width:375px){.container{padding:var(--spacing-md)}}@media(min-width:376px)and (max-width:414px){.container{padding:var(--spacing-md)}}@media(min-width:415px)and (max-width:428px){.container{padding:var(--spacing-lg)}}@media(min-width:429px){.container{padding:var(--spacing-xl);max-width:428px;margin:0 auto}}.text-primary{color:var(--tg-theme-text-color)}.text-secondary{color:var(--tg-theme-hint-color)}.text-accent{color:var(--tg-theme-accent-text-color)}.text-link{color:var(--tg-theme-link-color)}.text-destructive{color:var(--tg-theme-destructive-text-color)}.bg-primary{background-color:var(--tg-theme-bg-color)}.bg-secondary{background-color:var(--tg-theme-secondary-bg-color)}.bg-section{background-color:var(--tg-theme-section-bg-color)}.button-primary{background-color:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:opacity .2s ease}.button-primary:hover{opacity:.8}.button-primary:active{opacity:.6}.card{background-color:var(--tg-theme-section-bg-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--tg-theme-section-separator-color)}.spinner{width:20px;height:20px;border:2px solid var(--tg-theme-hint-color);border-top:2px solid var(--tg-theme-accent-text-color);border-radius:50%;animation:spin 1s linear infinite}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.space-y-2>*+*{margin-top:var(--spacing-xs)}.space-y-3>*+*{margin-top:var(--spacing-sm)}.space-y-4>*+*{margin-top:var(--spacing-md)}.space-y-6>*+*{margin-top:var(--spacing-lg)}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-xs)}.gap-3{gap:var(--spacing-sm)}.text-center{text-align:center}.text-left{text-align:left}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-2{margin-bottom:var(--spacing-xs)}.mb-3{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.mb-8{margin-bottom:var(--spacing-xl)}.py-8{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.min-h-screen{min-height:100vh}.w-6{width:24px}.h-6{height:24px}.rounded{border-radius:var(--border-radius-sm)}.download-button-container{display:flex;flex-direction:column;gap:8px}.download-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.download-button--small{padding:6px 12px;font-size:14px;gap:6px}.download-button--medium{padding:8px 16px;font-size:16px;gap:8px}.download-button--large{padding:12px 20px;font-size:18px;gap:10px}.download-button--primary{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff)}.download-button--primary:hover:not(:disabled){background:var(--tg-theme-button-color, #0056cc);transform:translateY(-1px)}.download-button--secondary{background:var(--tg-theme-secondary-bg-color, #f1f1f1);color:var(--tg-theme-text-color, #000000)}.download-button--secondary:hover:not(:disabled){background:var(--tg-theme-secondary-bg-color, #e1e1e1);transform:translateY(-1px)}.download-button--outline{background:transparent;color:var(--tg-theme-button-color, #007aff);border:2px solid var(--tg-theme-button-color, #007aff)}.download-button--outline:hover:not(:disabled){background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff);transform:translateY(-1px)}.download-button--downloaded{background:var(--tg-theme-hint-color, #999999)!important;color:var(--tg-theme-button-text-color, #ffffff)!important;cursor:not-allowed}.download-button--downloading{background:var(--tg-theme-destructive-text-color, #ff3b30)!important;color:var(--tg-theme-button-text-color, #ffffff)!important}.download-button--downloading:hover{background:var(--tg-theme-destructive-text-color, #cc2e24)!important}.download-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.download-button__icon{font-size:1.2em;line-height:1}.download-button__text{flex:1;text-align:left}.download-button__size{font-size:.85em;opacity:.8;font-weight:400}.download-progress{display:flex;flex-direction:column;gap:4px}.download-progress__bar{width:100%;height:4px;background:var(--tg-theme-secondary-bg-color, #f1f1f1);border-radius:2px;overflow:hidden}.download-progress__fill{height:100%;background:var(--tg-theme-button-color, #007aff);border-radius:2px;transition:width .3s ease}.download-progress__info{display:flex;flex-direction:column;gap:2px}.download-progress__text{font-size:14px;font-weight:500;color:var(--tg-theme-text-color, #000000)}.download-progress__stats{font-size:12px;color:var(--tg-theme-hint-color, #999999)}.download-error{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--tg-theme-destructive-text-color, #ff3b30);color:var(--tg-theme-button-text-color, #ffffff);border-radius:6px;font-size:14px}.download-error__icon{font-size:16px}.download-error__text{flex:1}@media(max-width:480px){.download-button--large{padding:10px 16px;font-size:16px}.download-button--medium{padding:8px 14px;font-size:15px}.download-button--small{padding:6px 10px;font-size:13px}.download-progress__text{font-size:13px}.download-progress__stats{font-size:11px}}.download-button--downloading .download-button__icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.progress-sync-indicator{font-size:14px;color:var(--tg-theme-text-color, #000000)}.progress-sync-indicator__status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--tg-theme-secondary-bg-color, #f8f9fa);border-radius:8px;border:1px solid var(--tg-theme-section-separator-color, #e1e1e1)}.progress-sync-indicator__icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.progress-sync-indicator__spinner{color:var(--tg-theme-button-color, #007aff);animation:spin 1s linear infinite}.progress-sync-indicator__online{color:#28a745;font-size:12px}.progress-sync-indicator__offline{color:var(--tg-theme-hint-color, #999999);font-size:12px}.progress-sync-indicator__info{flex:1;display:flex;flex-direction:column;gap:2px}.progress-sync-indicator__text{font-weight:500;line-height:1.2}.progress-sync-indicator__offline-note{font-size:12px;color:var(--tg-theme-hint-color, #999999);line-height:1.2}.progress-sync-indicator__sync-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;color:var(--tg-theme-button-color, #007aff);transition:all .2s ease}.progress-sync-indicator__sync-btn:hover{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff);transform:rotate(180deg)}.progress-sync-indicator__details{margin-top:8px;padding:8px 12px;background:var(--tg-theme-bg-color, #ffffff);border-radius:6px;border:1px solid var(--tg-theme-section-separator-color, #e1e1e1);font-size:12px}.progress-sync-indicator__last-sync{color:var(--tg-theme-hint-color, #999999);margin-bottom:4px}.progress-sync-indicator__success{color:#28a745;font-weight:500}.progress-sync-indicator__error{color:var(--tg-theme-destructive-text-color, #ff3b30);font-weight:500}.progress-sync-indicator__errors{display:flex;flex-direction:column;gap:2px}.progress-sync-indicator__error-item{color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:11px;line-height:1.3;padding:2px 4px;background:#ff3b301a;border-radius:3px}@media(max-width:480px){.progress-sync-indicator{font-size:13px}.progress-sync-indicator__status{padding:6px 10px}.progress-sync-indicator__details{padding:6px 10px;font-size:11px}}.purchase-button-container{display:flex;flex-direction:column;gap:1rem;width:100%}.purchase-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:.75rem;background-color:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.purchase-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #3390ec4d}.purchase-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3390ec33}.purchase-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.purchase-button__icon{flex-shrink:0}.purchase-button__text,.purchase-button__loading-text{font-weight:600}.purchase-button__error{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--tg-theme-destructive-text-color, #ff3b30);background-color:#ff3b301a;border:1px solid var(--tg-theme-destructive-text-color, #ff3b30);border-radius:.5rem}.purchase-button__error-message{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--tg-theme-destructive-text-color, #ff3b30);line-height:1.4}.purchase-button__error-icon{flex-shrink:0}.purchase-button__retry{align-self:flex-start;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid var(--tg-theme-destructive-text-color, #ff3b30);border-radius:.375rem;background-color:transparent;color:var(--tg-theme-destructive-text-color, #ff3b30);cursor:pointer;transition:all .2s ease}.purchase-button__retry:hover:not(:disabled){background-color:var(--tg-theme-destructive-text-color, #ff3b30);color:#fff}.purchase-button__retry:disabled{opacity:.5;cursor:not-allowed}.purchase-button__info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);border-radius:.5rem;border:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.purchase-button__info-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tg-theme-hint-color, #999999);line-height:1.3}.purchase-button__info-item svg{flex-shrink:0;color:var(--tg-theme-button-color, #3390ec)}.purchase-button[data-loading=true]{pointer-events:none}.purchase-button[data-loading=true]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}.purchase-button--success{background-color:var(--tg-theme-button-color, #34c759);animation:success-pulse .6s ease-out}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media(max-width:320px){.purchase-button{padding:.875rem 1rem;font-size:.875rem}.purchase-button__info{padding:.75rem}.purchase-button__info-item{font-size:.6875rem}}@media(min-width:428px){.purchase-button{padding:1.125rem 2rem;font-size:1.125rem}.purchase-button__info{flex-direction:row;flex-wrap:wrap;justify-content:space-between}.purchase-button__info-item{flex:1;min-width:0;justify-content:center}}@media(prefers-color-scheme:dark){.purchase-button__info{background-color:var(--tg-theme-secondary-bg-color, #1c1c1e);border-color:var(--tg-theme-section-separator-color, #38383a)}.purchase-button__error{background-color:#ff3b3026}}@media(prefers-contrast:high){.purchase-button{border:2px solid var(--tg-theme-button-color, #3390ec)}.purchase-button__info,.purchase-button__error{border-width:2px}}@media(prefers-reduced-motion:reduce){.purchase-button,.purchase-button__retry{transition:none}.purchase-button:hover:not(:disabled){transform:none}.purchase-button:active:not(:disabled){transform:none}@keyframes loading-shimmer{0%,to{opacity:1}50%{opacity:.5}}@keyframes success-pulse{0%,to{transform:scale(1)}}}.map-preview{position:relative;width:100%;border-radius:.75rem;overflow:hidden;background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);border:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.map-preview__container{position:relative;z-index:1}.map-preview__loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);z-index:2}.map-preview__loading-spinner{width:2rem;height:2rem;border:2px solid var(--tg-theme-section-separator-color, #e5e5e5);border-top:2px solid var(--tg-theme-button-color, #3390ec);border-radius:50%;animation:spin 1s linear infinite}.map-preview__loading-text{font-size:.875rem;color:var(--tg-theme-hint-color, #999999);margin:0}.map-preview--empty{min-height:200px}.map-preview__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.map-preview__empty-icon{color:var(--tg-theme-hint-color, #999999);margin-bottom:1rem}.map-preview__empty-text{font-size:.875rem;color:var(--tg-theme-hint-color, #999999);margin:0}.map-preview__fallback{position:relative;width:100%;height:100%}.map-preview__static-map{width:100%;height:100%;display:block}.map-preview__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;opacity:0;transition:opacity .2s ease}.map-preview__fallback:hover .map-preview__overlay{opacity:1}.map-preview__open-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026}.map-preview__open-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.map-preview__open-button:active{transform:translateY(0)}.map-preview__controls{position:absolute;top:.75rem;right:.75rem;z-index:10}.map-preview__fullscreen-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--tg-theme-bg-color, #ffffff);border:1px solid var(--tg-theme-section-separator-color, #e5e5e5);border-radius:.375rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.map-preview__fullscreen-button:hover{background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);transform:scale(1.05)}.map-preview__fullscreen-button:active{transform:scale(.95)}.map-preview__fullscreen-button svg{color:var(--tg-theme-text-color, #000000)}.map-preview__info{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%);z-index:5}.map-preview__info-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#fff;font-weight:500}.map-preview__info-item svg{flex-shrink:0}.map-preview .leaflet-container{background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);font-family:inherit}.map-preview .leaflet-control-container{font-size:.75rem}.map-preview .leaflet-popup-content-wrapper{background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);border-radius:.5rem;box-shadow:0 4px 12px #00000026}.map-preview .leaflet-popup-tip{background-color:var(--tg-theme-bg-color, #ffffff)}.map-preview .leaflet-popup-content{margin:.75rem;font-size:.875rem;line-height:1.4}.map-preview .leaflet-popup-close-button{color:var(--tg-theme-hint-color, #999999);font-size:1rem;padding:.25rem}.map-preview .leaflet-popup-close-button:hover{color:var(--tg-theme-text-color, #000000)}@media(max-width:320px){.map-preview__controls{top:.5rem;right:.5rem}.map-preview__fullscreen-button{width:1.75rem;height:1.75rem}.map-preview__fullscreen-button svg{width:14px;height:14px}.map-preview__info{padding:.5rem}.map-preview__info-item{font-size:.6875rem}}@media(min-width:428px){.map-preview__controls{top:1rem;right:1rem}.map-preview__fullscreen-button{width:2.25rem;height:2.25rem}.map-preview__info{padding:1rem}.map-preview__info-item{font-size:.875rem}}@media(prefers-color-scheme:dark){.map-preview{background-color:var(--tg-theme-secondary-bg-color, #1c1c1e);border-color:var(--tg-theme-section-separator-color, #38383a)}.map-preview__loading{background-color:var(--tg-theme-secondary-bg-color, #1c1c1e)}.map-preview__fullscreen-button{background-color:var(--tg-theme-bg-color, #000000);border-color:var(--tg-theme-section-separator-color, #38383a)}.map-preview__fullscreen-button:hover{background-color:var(--tg-theme-secondary-bg-color, #1c1c1e)}}@media(prefers-contrast:high){.map-preview,.map-preview__fullscreen-button{border-width:2px}}@media(prefers-reduced-motion:reduce){.map-preview__loading-spinner{animation:none}.map-preview__fullscreen-button,.map-preview__open-button{transition:none}.map-preview__fullscreen-button:hover,.map-preview__open-button:hover,.map-preview__fullscreen-button:active,.map-preview__open-button:active{transform:none}}.excursion-page{min-height:100vh;background-color:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000)}.excursion-page__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--tg-theme-bg-color, #ffffff);border-bottom:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.excursion-page__back-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;border-radius:50%;background-color:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:all .2s ease;flex-shrink:0}.excursion-page__back-button:hover{opacity:.8;transform:scale(1.05)}.excursion-page__back-button:active{transform:scale(.95)}.excursion-page__title{font-size:1.25rem;font-weight:600;margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.excursion-page__content{padding:0 0 2rem}.excursion-page__gallery{margin-bottom:1.5rem}.excursion-page__main-image{position:relative;width:100%;height:200px;overflow:hidden}.excursion-page__image{width:100%;height:100%;object-fit:cover;display:block}.excursion-page__purchased-badge{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);border-radius:1rem;font-size:.875rem;font-weight:500;box-shadow:0 2px 8px #00000026}.excursion-page__thumbnails{display:flex;gap:.5rem;padding:1rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.excursion-page__thumbnails::-webkit-scrollbar{display:none}.excursion-page__thumbnail{flex-shrink:0;width:60px;height:60px;border:2px solid transparent;border-radius:.5rem;overflow:hidden;cursor:pointer;transition:all .2s ease;background:none;padding:0}.excursion-page__thumbnail.active{border-color:var(--tg-theme-button-color, #3390ec)}.excursion-page__thumbnail:hover{transform:scale(1.05)}.excursion-page__thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.excursion-page__info{padding:1rem;border-bottom:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.excursion-page__meta{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.excursion-page__author,.excursion-page__duration,.excursion-page__steps-count{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--tg-theme-hint-color, #999999)}.excursion-page__author svg,.excursion-page__duration svg,.excursion-page__steps-count svg{flex-shrink:0}.excursion-page__actions{display:flex;flex-direction:column;gap:1rem}.excursion-page__purchase-section{display:flex;align-items:center;justify-content:space-between;gap:1rem}.excursion-page__price{flex-shrink:0}.excursion-page__price-amount{font-size:1.5rem;font-weight:700;color:var(--tg-theme-button-color, #3390ec)}.excursion-page__listen-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600}.excursion-page__description{padding:1.5rem 1rem;border-bottom:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.excursion-page__section-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--tg-theme-text-color, #000000)}.excursion-page__description-content{line-height:1.6}.excursion-page__paragraph{margin:0 0 1rem;color:var(--tg-theme-text-color, #000000)}.excursion-page__paragraph:last-child{margin-bottom:0}.excursion-page__map-section{padding:1.5rem 1rem;border-bottom:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.excursion-page__steps{padding:1.5rem 1rem}.excursion-page__steps-list{display:flex;flex-direction:column;gap:1rem}.excursion-page__step{display:flex;gap:1rem;padding:1rem;background-color:var(--tg-theme-secondary-bg-color, #f8f9fa);border-radius:.75rem;border:1px solid var(--tg-theme-section-separator-color, #e5e5e5)}.excursion-page__step-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #ffffff);border-radius:50%;font-weight:600;font-size:.875rem;flex-shrink:0}.excursion-page__step-content{flex:1;min-width:0}.excursion-page__step-name{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--tg-theme-text-color, #000000);line-height:1.3}.excursion-page__step-description{font-size:.875rem;color:var(--tg-theme-hint-color, #999999);margin:0 0 .75rem;line-height:1.4}.excursion-page__step-duration{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--tg-theme-hint-color, #999999);font-weight:500}.excursion-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;min-height:50vh}.excursion-page__error-icon{margin-bottom:1rem;color:var(--tg-theme-destructive-text-color, #ff3b30)}.excursion-page__error-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--tg-theme-text-color, #000000)}.excursion-page__error-message{font-size:.875rem;color:var(--tg-theme-hint-color, #999999);margin:0 0 1.5rem;line-height:1.4}@media(max-width:320px){.excursion-page__header{padding:.75rem}.excursion-page__title{font-size:1.125rem}.excursion-page__main-image{height:180px}.excursion-page__purchase-section{flex-direction:column;align-items:stretch}.excursion-page__price{text-align:center;margin-bottom:.5rem}}@media(min-width:428px){.excursion-page__main-image{height:240px}.excursion-page__meta{flex-direction:row;flex-wrap:wrap;gap:1rem}.excursion-page__author,.excursion-page__duration,.excursion-page__steps-count{flex:1;min-width:0}}@media(prefers-color-scheme:dark){.excursion-page__step{background-color:var(--tg-theme-secondary-bg-color, #1c1c1e);border-color:var(--tg-theme-section-separator-color, #38383a)}}.audio-controls{display:flex;flex-direction:column;gap:1rem;align-items:center}.audio-controls__primary,.audio-controls__secondary{display:flex;align-items:center;justify-content:center;gap:1rem}.control-button{display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff);cursor:pointer;transition:all .2s ease;position:relative;font-weight:500}.control-button:hover:not(.control-button--disabled){transform:scale(1.05);opacity:.9}.control-button:active:not(.control-button--disabled){transform:scale(.95)}.control-button--disabled{opacity:.4;cursor:not-allowed;background:var(--tg-theme-hint-color, #999999)}.control-button--play-pause{width:64px;height:64px;font-size:1.5rem}.control-button--step,.control-button--skip{width:48px;height:48px;background:var(--tg-theme-secondary-bg-color, #f2f2f7);color:var(--tg-theme-text-color, #000000)}.skip-label{position:absolute;bottom:2px;font-size:.625rem;font-weight:600;line-height:1}.speed-control{position:relative}.control-button--speed{width:48px;height:32px;border-radius:16px;background:var(--tg-theme-secondary-bg-color, #f2f2f7);color:var(--tg-theme-text-color, #000000);font-size:.875rem;font-weight:600}.speed-menu{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.speed-menu__backdrop{position:absolute;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.speed-menu__content{position:relative;background:var(--tg-theme-bg-color, #ffffff);border-radius:12px 12px 0 0;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 -4px 20px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.speed-menu__header{font-size:1.125rem;font-weight:600;color:var(--tg-theme-text-color, #000000);text-align:center;margin-bottom:1rem}.speed-menu__options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.speed-option{display:flex;align-items:center;justify-content:center;padding:.75rem;border:2px solid var(--tg-theme-secondary-bg-color, #f2f2f7);border-radius:8px;background:var(--tg-theme-secondary-bg-color, #f2f2f7);color:var(--tg-theme-text-color, #000000);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.speed-option:hover{transform:scale(1.02)}.speed-option--active{border-color:var(--tg-theme-button-color, #007aff);background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff)}@media(max-width:375px){.audio-controls__primary{gap:.75rem}.control-button--play-pause{width:56px;height:56px}.control-button--step,.control-button--skip{width:44px;height:44px}.speed-menu__content{padding:1rem}.speed-menu__options{grid-template-columns:repeat(2,1fr)}}@media(prefers-color-scheme:dark){.speed-menu__content{box-shadow:0 -4px 20px #0006}}.step-list{background:var(--tg-theme-secondary-bg-color, #f2f2f7);border-radius:12px;overflow:hidden}.step-list__header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--tg-theme-separator-color, rgba(0, 0, 0, .1));background:var(--tg-theme-bg-color, #ffffff)}.step-list__title{font-size:1rem;font-weight:600;color:var(--tg-theme-text-color, #000000);margin:0}.step-list__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.75rem;color:var(--tg-theme-hint-color, #999999)}.step-count,.total-duration{font-variant-numeric:tabular-nums}.step-list__items{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--tg-theme-hint-color, #999999) transparent}.step-list__items::-webkit-scrollbar{width:4px}.step-list__items::-webkit-scrollbar-track{background:transparent}.step-list__items::-webkit-scrollbar-thumb{background:var(--tg-theme-hint-color, #999999);border-radius:2px}.step-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;transition:background-color .2s ease;position:relative}.step-item:hover{background:var(--tg-theme-bg-color, #ffffff)}.step-item:not(:last-child){border-bottom:1px solid var(--tg-theme-separator-color, rgba(0, 0, 0, .05))}.step-item--current{background:var(--tg-theme-bg-color, #ffffff);border-left:3px solid var(--tg-theme-button-color, #007aff)}.step-item--played{opacity:.7}.step-item__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;transition:all .2s ease}.step-item--current .step-item__icon{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff)}.step-item--played .step-item__icon{background:var(--tg-theme-accent-text-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff)}.step-item--upcoming .step-item__icon{background:var(--tg-theme-hint-color, #999999);color:var(--tg-theme-button-text-color, #ffffff)}.step-number-circle{font-size:.75rem;font-weight:600;line-height:1}.step-item__content{flex:1;min-width:0}.step-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.step-item__name{font-size:.875rem;font-weight:500;color:var(--tg-theme-text-color, #000000);margin:0;line-height:1.3;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-item__duration{font-size:.75rem;color:var(--tg-theme-hint-color, #999999);font-variant-numeric:tabular-nums;flex-shrink:0}.step-item__meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.step-item__order{font-size:.75rem;color:var(--tg-theme-hint-color, #999999)}.step-item__status{font-size:.75rem;font-weight:500;color:var(--tg-theme-button-color, #007aff)}.step-item__progress{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.progress-pulse{width:8px;height:8px;border-radius:50%;background:var(--tg-theme-button-color, #007aff);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.step-list__footer{padding:1rem;background:var(--tg-theme-bg-color, #ffffff);border-top:1px solid var(--tg-theme-separator-color, rgba(0, 0, 0, .1))}.progress-summary{display:flex;flex-direction:column;gap:.5rem}.progress-text{font-size:.75rem;color:var(--tg-theme-hint-color, #999999);text-align:center}.progress-bar-mini{height:3px;background:var(--tg-theme-separator-color, rgba(0, 0, 0, .1));border-radius:1.5px;overflow:hidden}.progress-bar-mini__fill{height:100%;background:var(--tg-theme-button-color, #007aff);border-radius:1.5px;transition:width .3s ease}@media(max-width:375px){.step-list__header{padding:.75rem}.step-item{padding:.75rem;gap:.5rem}.step-item__icon{width:28px;height:28px}.step-number-circle{font-size:.6875rem}.step-item__name{font-size:.8125rem}.step-list__footer{padding:.75rem}}@media(prefers-color-scheme:dark){.step-list__items::-webkit-scrollbar-thumb{background:#ffffff4d}}.audio-player{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000001a;max-width:100%}.audio-player__error{margin-bottom:1rem}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);border-radius:8px;color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:.875rem}.error-icon{font-size:1rem}.audio-player__main{margin-bottom:1.5rem}.audio-player__step-info{margin-bottom:1rem}.step-info__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.step-info__title{font-size:1.125rem;font-weight:600;color:var(--tg-theme-text-color, #000000);margin:0;line-height:1.4;flex:1}.step-info__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.step-number{font-size:.875rem;color:var(--tg-theme-hint-color, #999999);font-weight:500}.loading-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--tg-theme-hint-color, #999999)}.loading-spinner{width:12px;height:12px;border:2px solid var(--tg-theme-hint-color, #999999);border-top:2px solid var(--tg-theme-button-color, #007aff);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audio-player__progress{margin-bottom:.5rem}.progress-bar{position:relative;height:4px;background:var(--tg-theme-secondary-bg-color, #f2f2f7);border-radius:2px;margin-bottom:.5rem;overflow:hidden}.progress-bar__fill{height:100%;background:var(--tg-theme-button-color, #007aff);border-radius:2px;transition:width .1s ease}.progress-bar__slider{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.progress-bar__slider:disabled{cursor:not-allowed}.progress-time{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--tg-theme-hint-color, #999999);font-variant-numeric:tabular-nums}.time-separator{margin:0 .25rem}@media(max-width:375px){.audio-player{padding:.75rem}.step-info__header{flex-direction:column;align-items:flex-start;gap:.5rem}.step-info__meta{align-items:flex-start}.step-info__title{font-size:1rem}}@media(prefers-color-scheme:dark){.audio-player{box-shadow:0 2px 8px #0000004d}.progress-bar{background:#ffffff1a}}.offline-library{display:flex;flex-direction:column;gap:16px;padding:16px;max-width:800px;margin:0 auto}.offline-library__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.offline-library__header h2{margin:0;color:var(--tg-theme-text-color, #000000);font-size:24px;font-weight:600}.offline-library__refresh-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:50%;color:var(--tg-theme-button-color, #007aff);transition:all .2s ease}.offline-library__refresh-btn:hover{background:var(--tg-theme-secondary-bg-color, #f1f1f1);transform:rotate(180deg)}.storage-usage{background:var(--tg-theme-secondary-bg-color, #f8f9fa);border-radius:12px;padding:16px;border:1px solid var(--tg-theme-section-separator-color, #e1e1e1)}.storage-usage__info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.storage-usage__label{font-weight:500;color:var(--tg-theme-text-color, #000000)}.storage-usage__value{font-weight:600;color:var(--tg-theme-text-color, #000000)}.storage-usage__quota{color:var(--tg-theme-hint-color, #999999);font-weight:400}.storage-usage__bar{width:100%;height:6px;background:var(--tg-theme-section-separator-color, #e1e1e1);border-radius:3px;overflow:hidden}.storage-usage__fill{height:100%;background:var(--tg-theme-button-color, #007aff);border-radius:3px;transition:width .3s ease}.offline-library__error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--tg-theme-destructive-text-color, #ff3b30);color:var(--tg-theme-button-text-color, #ffffff);border-radius:8px;font-size:14px}.offline-library__error-icon{font-size:16px}.offline-library__actions{display:flex;justify-content:flex-end}.offline-library__clear-btn{background:var(--tg-theme-destructive-text-color, #ff3b30);color:var(--tg-theme-button-text-color, #ffffff);border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.offline-library__clear-btn:hover{background:var(--tg-theme-destructive-text-color, #cc2e24);transform:translateY(-1px)}.offline-library__empty{text-align:center;padding:48px 24px;color:var(--tg-theme-hint-color, #999999)}.offline-library__empty-icon{font-size:48px;margin-bottom:16px}.offline-library__empty h3{margin:0 0 8px;color:var(--tg-theme-text-color, #000000);font-size:18px;font-weight:600}.offline-library__empty p{margin:0;font-size:14px;line-height:1.4}.offline-library__list{display:flex;flex-direction:column;gap:16px}.offline-excursion-card{display:flex;background:var(--tg-theme-bg-color, #ffffff);border:1px solid var(--tg-theme-section-separator-color, #e1e1e1);border-radius:12px;overflow:hidden;transition:all .2s ease}.offline-excursion-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.offline-excursion-card__image{width:120px;height:120px;flex-shrink:0;overflow:hidden}.offline-excursion-card__image img{width:100%;height:100%;object-fit:cover}.offline-excursion-card__content{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px}.offline-excursion-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.offline-excursion-card__title{margin:0;font-size:16px;font-weight:600;color:var(--tg-theme-text-color, #000000);line-height:1.3;flex:1}.offline-excursion-card__delete-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;color:var(--tg-theme-destructive-text-color, #ff3b30);transition:all .2s ease;flex-shrink:0}.offline-excursion-card__delete-btn:hover:not(:disabled){background:var(--tg-theme-secondary-bg-color, #f1f1f1);transform:scale(1.1)}.offline-excursion-card__delete-btn:disabled{opacity:.6;cursor:not-allowed}.offline-excursion-card__author{margin:0;font-size:14px;color:var(--tg-theme-hint-color, #999999);font-weight:500}.offline-excursion-card__description{margin:0;font-size:14px;color:var(--tg-theme-text-color, #000000);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.offline-excursion-card__meta{display:flex;gap:12px;font-size:12px;color:var(--tg-theme-hint-color, #999999);margin-top:auto}.offline-excursion-card__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}.offline-excursion-card__downloaded{font-size:12px;color:var(--tg-theme-hint-color, #999999);flex:1}.offline-excursion-card__play-btn{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff);border:none;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.offline-excursion-card__play-btn:hover{background:var(--tg-theme-button-color, #0056cc);transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 8px 32px #0003}.modal h3{margin:0 0 16px;color:var(--tg-theme-text-color, #000000);font-size:18px;font-weight:600}.modal p{margin:0 0 24px;color:var(--tg-theme-text-color, #000000);font-size:14px;line-height:1.4}.modal__actions{display:flex;gap:12px;justify-content:flex-end}.modal__btn{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal__btn--secondary{background:var(--tg-theme-secondary-bg-color, #f1f1f1);color:var(--tg-theme-text-color, #000000)}.modal__btn--secondary:hover{background:var(--tg-theme-secondary-bg-color, #e1e1e1)}.modal__btn--danger{background:var(--tg-theme-destructive-text-color, #ff3b30);color:var(--tg-theme-button-text-color, #ffffff)}.modal__btn--danger:hover:not(:disabled){background:var(--tg-theme-destructive-text-color, #cc2e24)}.modal__btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.offline-library{padding:12px}.offline-excursion-card{flex-direction:column}.offline-excursion-card__image{width:100%;height:160px}.offline-excursion-card__content{padding:12px}.offline-excursion-card__meta{flex-wrap:wrap;gap:8px}.offline-excursion-card__footer{flex-direction:column;align-items:stretch;gap:8px}.offline-excursion-card__play-btn{justify-content:center}.modal{padding:20px;margin:16px}.modal__actions{flex-direction:column;gap:8px}.modal__btn{width:100%;padding:12px}}
