.firmware-hero{padding:var(--space-6) 0 var(--space-8);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6)}.firmware-hero__title{font-size:var(--text-h1);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);margin:0 0 var(--space-3) 0;letter-spacing:var(--tracking-tight)}.firmware-hero__version-info{font-size:.9375rem;font-weight:500;color:var(--color-text-muted);margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.firmware-hero__subtitle{font-size:var(--text-body);font-weight:400;color:var(--color-text-muted);margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.firmware-hero__variation{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;padding:var(--space-2) var(--space-4);background:var(--color-bg-soft);border-radius:var(--radius);display:inline-block}.firmware-hero__variation-name{font-family:SF Mono,Monaco,monospace;font-size:var(--text-sm);color:var(--color-text);font-weight:var(--font-medium);background:var(--color-bg);padding:var(--space-1) var(--space-2);border-radius:4px;border:1px solid var(--color-border)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--text-muted-size);color:var(--color-text-muted);margin-bottom:var(--space-4)}.breadcrumbs__separator{color:var(--color-text-muted);user-select:none}.breadcrumbs__item a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-motion, .22s ease),transform var(--transition-motion, .22s ease);display:inline-block}.breadcrumbs__item a:hover{text-decoration:none;transform:translateY(-2px) scale(1.02)}.breadcrumbs__item--current{color:var(--color-text);font-weight:var(--font-medium)}.firmware-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-8);padding:var(--main-padding-block-start) 0 var(--main-padding-block-end);align-items:start}.firmware-content{display:flex;flex-direction:column;gap:var(--space-6)}.firmware-desc{font-size:var(--text-body);color:var(--color-text-muted);line-height:var(--leading-relaxed);padding:var(--space-6);background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-section-title{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.firmware-section-title:before{content:"";width:4px;height:20px;background:var(--color-accent);border-radius:2px}.firmware-specs{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-specs-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.firmware-specs-list dt{font-size:var(--text-muted-size);color:var(--color-text-muted);margin-bottom:var(--space-1)}.firmware-specs-list dd{font-size:var(--text-base);color:var(--color-text);font-weight:var(--font-semibold);padding:var(--space-3);background:var(--color-bg-soft);border-radius:var(--radius);margin-bottom:var(--space-2)}.dump-convert-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-top:var(--space-4)}.dump-convert-banner__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;border-radius:var(--radius)}.dump-convert-banner__content{flex:1;display:flex;flex-direction:column;gap:2px}.dump-convert-banner__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.dump-convert-banner__desc{font-size:var(--text-muted-size);color:var(--color-text-muted)}.dump-convert-banner__link{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-accent);background:transparent;border:1px solid var(--color-accent);border-radius:var(--radius);text-decoration:none;transition:all var(--transition-fast)}.dump-convert-banner__link:hover{background:var(--color-accent);color:#fff;text-decoration:none}.version-utility-modules{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.version-utility-module{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.version-utility-module__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,#a50000 100%);border-radius:10px;color:#fff;overflow:hidden}.version-utility-module__icon-img{width:24px;height:24px;object-fit:contain}.version-utility-module__content{flex:1;min-width:0}.version-utility-module__title-link{text-decoration:none;color:inherit;cursor:pointer}.version-utility-module__title-link:hover .version-utility-module__title{color:var(--color-accent)}.version-utility-module__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight)}.version-utility-module__desc{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px;line-height:var(--leading-relaxed)}.version-utility-module__link{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-3);background:transparent;color:var(--color-accent);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;border-radius:var(--radius-sm);border:1px solid var(--color-accent);transition:all .15s ease;white-space:nowrap}.version-utility-module__link:hover{background:var(--color-accent);color:#fff}#firmware-specs+.version-utility-modules{margin-top:var(--space-3)}@media(max-width:640px){.version-utility-module{padding:var(--space-2) var(--space-3)}.version-utility-module__icon{width:36px;height:36px;border-radius:8px}.version-utility-module__icon-img{width:20px;height:20px}.version-utility-module__title{font-size:var(--text-sm)}.version-utility-module__link{padding:4px 8px;font-size:var(--text-xs)}}.firmware-features{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-features-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);list-style:none}.firmware-features-list li{position:relative;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-8);font-size:var(--text-muted-size);color:var(--color-text);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-features-list li:hover{border-color:var(--color-accent);background:var(--color-bg-soft)}.firmware-features-list li:before{content:"✓";position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-size:11px;font-weight:var(--font-bold);border-radius:50%}.firmware-description{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-description-content{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-relaxed)}.firmware-description-content p{margin:0}.firmware-description-content p+p{margin-top:.5em}.firmware-description-content p:last-child{margin-bottom:0}.firmware-description-content ul,.firmware-description-content ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.firmware-description-content li{margin-bottom:var(--space-2)}.firmware-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-4));height:fit-content}.firmware-sidebar-card{background:var(--color-bg);border:.85px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:none}.firmware-versions__title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin:0 0 var(--space-4) 0}.firmware-custom-order{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.firmware-custom-order__text{font-size:var(--text-muted-size);color:var(--color-text-muted)}.firmware-custom-order__btn{padding:var(--space-2) var(--space-4);font-size:var(--text-muted-size);font-weight:var(--font-medium);color:var(--color-accent);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-custom-order__btn:hover{border-color:var(--color-accent);background:var(--color-bg-soft)}.firmware-versions__price-wrap{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-bg-soft);border:.85px solid var(--color-border);border-radius:var(--radius);min-height:6rem}.firmware-versions__price-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--space-2)}.firmware-versions__price-for{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-accent);margin-bottom:var(--space-2);min-height:1.25rem}.firmware-versions__price{display:flex;align-items:baseline;gap:var(--space-2);font-weight:var(--font-bold);color:var(--color-text);min-height:2rem;font-size:var(--text-2xl)}.firmware-versions__price-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.firmware-versions__price-currency{font-size:var(--text-lg);color:var(--color-text-muted)}.firmware-versions__price-value--old{text-decoration:line-through;font-size:var(--text-lg);color:var(--color-text-muted);margin-right:var(--space-2)}.firmware-versions__promo-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.firmware-versions__promo-input{flex:1;min-width:120px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-sm)}.firmware-versions__promo-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer}.firmware-versions__promo-btn:hover:not(:disabled){background:var(--color-border)}.firmware-versions__promo-discount{font-size:var(--text-sm);color:var(--color-success, #0a0);margin-top:var(--space-1)}.firmware-versions__promo-msg{font-size:var(--text-sm);width:100%}.firmware-versions__price-text{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-muted)}.firmware-versions__price-badge{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);background:transparent;border-radius:var(--radius)}.firmware-versions__empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-bg-soft);border-radius:var(--radius)}.firmware-versions__list{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-4)}.firmware-version-item{display:flex;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast)}.firmware-version-item:first-child{border-top:1px solid var(--color-border)}.firmware-version-item:hover{background:var(--color-bg-soft)}.firmware-version-item--active{background:#e53e3e14;border-left:4px solid var(--color-accent);padding-left:calc(var(--space-4) - 4px)}.firmware-version-item--active .firmware-version-item__name{font-weight:var(--font-bold)}.firmware-version-item__selected{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-accent);margin-left:var(--space-2)}.firmware-version-item__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-left:auto;border:2px solid var(--color-border);background:transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.firmware-version-item__dot--active{background:var(--color-accent);border-color:var(--color-accent)}.firmware-version-item__name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text);word-break:break-word;min-width:0}.firmware-versions__buy-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);margin-bottom:var(--space-2)}.firmware-versions__buy-btn:hover:not(:disabled){background:var(--c-accent-hover)}.firmware-versions__buy-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--color-text-muted)}.firmware-versions__buy-btn--download{background:#1a1a1a}.firmware-versions__buy-btn--download:hover:not(:disabled){background:#333}.firmware-versions__buy-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;text-align:center;line-height:var(--leading-normal);opacity:.7}.firmware-version-item__buy{padding:var(--space-2) var(--space-5);font-size:var(--text-muted-size);font-weight:var(--font-semibold);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.firmware-version-item__buy:hover{background:var(--c-accent-hover);transform:translateY(-1px)}.firmware-version-item__buy.firmware-version-item__download,.firmware-single-price__buy.firmware-version-item__download{background:#1a1a1a;color:#fff}.firmware-version-item__buy.firmware-version-item__download:hover,.firmware-single-price__buy.firmware-version-item__download:hover{background:#333}.firmware-single-price{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0}.firmware-single-price__value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.firmware-single-price__buy{padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-bold);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-single-price__buy:hover{background:var(--c-accent-hover)}@media(max-width:1024px){.firmware-layout{grid-template-columns:1fr 300px;gap:var(--space-6)}.firmware-specs-list,.firmware-features-list{grid-template-columns:1fr}}@media(max-width:768px){.firmware-layout{grid-template-columns:1fr;gap:var(--space-6);min-width:0}.firmware-content,.firmware-sidebar{min-width:0;max-width:100%}.firmware-sidebar{position:static;order:-1}.firmware-sidebar-card{padding:var(--space-5)}.firmware-price-value{font-size:var(--text-3xl)}.firmware-sidebar-card .btn--primary{height:52px;font-size:var(--text-base)}.firmware-buy-btn--admin{background:#1a1a1a!important;color:#fff!important}.firmware-buy-btn--admin:hover{background:#333!important}.firmware-specs,.firmware-features,.firmware-description{padding:var(--space-4);max-width:100%;box-sizing:border-box}.firmware-specs-list,.firmware-features-list{grid-template-columns:1fr}.firmware-specs-list dd,.firmware-features-list dd{word-break:break-word;overflow-wrap:break-word}.firmware-desc{font-size:var(--text-base);padding:var(--space-3);word-break:break-word;overflow-wrap:break-word}.firmware-version-item{flex-wrap:wrap;align-items:flex-start}.firmware-versions__promo-wrap{flex-direction:column;align-items:stretch}.firmware-versions__promo-btn{width:100%}.firmware-version-item__buy{white-space:normal;text-align:center}}@media(max-width:480px){.firmware-price-value{font-size:var(--text-2xl)}}.reviews-section{max-width:1200px;margin:var(--space-16) auto 0;padding:0 var(--space-6)}.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.reviews-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);margin:0}.reviews-stats{display:flex;align-items:center;gap:var(--space-4)}.reviews-rating{display:flex;align-items:center;gap:var(--space-3)}.reviews-rating__stars{font-size:20px;color:#ffc107;letter-spacing:2px}.reviews-rating__value{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--color-text)}.reviews-rating__count{font-size:var(--text-muted-size);color:var(--color-text-muted)}.reviews-list{display:grid;gap:var(--space-4);margin-bottom:var(--space-12)}.review-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);transition:border-color var(--transition-motion, .22s ease),box-shadow var(--transition-motion, .22s ease),background var(--transition-motion, .22s ease)}.review-card:hover{border-color:var(--color-border);box-shadow:none}.review-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.review-card__author{display:flex;align-items:center;gap:var(--space-3)}.review-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-body);font-weight:var(--font-bold);flex-shrink:0}.review-card__info{display:flex;flex-direction:column;gap:4px}.review-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.review-card__verified{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#34c759;color:#fff;font-size:12px;font-weight:700}.review-card__date{font-size:var(--text-muted-size);color:var(--color-text-muted)}.review-card__rating{font-size:18px;color:#ffc107;letter-spacing:1px;flex-shrink:0}.review-card__text{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.review-form{background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--color-accent) 8%,transparent) 0%,transparent 48%),var(--color-bg);border:1px solid var(--color-border);border-radius:clamp(14px,2vw,20px);padding:var(--space-8);margin-top:var(--space-8);box-shadow:0 14px 38px #00000014,0 2px 8px #0000000d}.review-form--submitted{animation:review-form-pop .6s ease}.review-form__title{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin:0 0 var(--space-2) 0;line-height:1.25}.review-form__title-icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#d69c00;background:color-mix(in srgb,#ffd76a 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#d69c00 35%,transparent)}.review-form__title-icon svg{width:14px;height:14px}.review-form__muted{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.review-form__content{display:flex;flex-direction:column;gap:var(--space-5)}.review-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.review-form__label{font-size:var(--text-muted-size);font-weight:var(--font-semibold);color:var(--color-text);letter-spacing:.02em}.review-form__input,.review-form__textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);transition:background-color var(--transition-motion, .22s ease),color var(--transition-motion, .22s ease),border-color var(--transition-motion, .22s ease);font-family:inherit}.review-form__input:focus,.review-form__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.review-form__textarea{resize:vertical;min-height:132px;line-height:var(--leading-relaxed)}.review-form__counter{margin-top:6px;margin-left:auto;width:fit-content;font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.review-form__counter--warn{color:#d96a00;font-weight:var(--font-semibold)}.review-form__stars{display:flex;flex-direction:row-reverse;gap:8px;font-size:32px;width:fit-content;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg-soft) 68%,transparent)}.review-form__stars input{position:absolute;opacity:0;pointer-events:none}.review-form__stars label{cursor:pointer;color:#d2d2d7;transition:color .2s ease,transform .2s ease;line-height:1;padding:1px}.review-form__stars label:hover,.review-form__stars label:hover~label{color:#ffc107;transform:translateY(-1px) scale(1.04)}.review-form__stars input:checked~label{color:#ffc107}.review-form__submit{align-self:flex-start;padding:var(--space-3) var(--space-7);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 92%,#fff) 0%,var(--color-accent) 62%,color-mix(in srgb,var(--color-accent) 76%,#000) 100%);border:1px solid color-mix(in srgb,var(--color-accent) 70%,#000);border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color var(--transition-motion, .22s ease),color var(--transition-motion, .22s ease),border-color var(--transition-motion, .22s ease);box-shadow:0 12px 26px color-mix(in srgb,var(--color-accent) 26%,transparent),0 2px 8px color-mix(in srgb,var(--color-accent) 18%,transparent)}.review-form__submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--color-accent) 32%,transparent),0 4px 12px color-mix(in srgb,var(--color-accent) 22%,transparent)}.review-form__submit:active{transform:translateY(0)}@keyframes review-form-pop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-2px) scale(1.008)}to{transform:translateY(0) scale(1)}}.review-form__notice{border:1px dashed color-mix(in srgb,var(--color-border) 65%,var(--color-accent));border-radius:14px;padding:var(--space-5);background:color-mix(in srgb,var(--color-bg-soft) 72%,transparent)}.review-form__notice-text{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-semibold)}.review-form__notice-sub{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.review-form__hint{font-size:var(--text-muted-size);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.review-form__success{padding:var(--space-4);background:#34c7591a;border:1px solid #34c759;border-radius:var(--radius);color:#34c759;font-size:var(--text-base);font-weight:var(--font-semibold);text-align:center;margin-bottom:var(--space-4)}.review-form__error{padding:var(--space-3);background:#ff453a1a;border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font-size:var(--text-muted-size);margin-bottom:var(--space-4)}@media(max-width:768px){.reviews-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.review-card__header{flex-direction:column;gap:var(--space-3)}.review-card__rating{align-self:flex-start}.review-form{padding:var(--space-6)}.review-form__submit{width:100%;justify-content:center}.review-form__stars{font-size:28px;gap:6px;width:100%;justify-content:center}}.firmware-reviews{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.firmware-reviews .firmware-section-title{margin-bottom:var(--space-4)}.firmware-reviews-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.firmware-reviews-empty{color:var(--color-text-muted);font-size:var(--text-muted-size);margin:0}.firmware-review-card{padding:var(--space-4);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-review-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2)}.firmware-review-card__author{font-weight:var(--font-semibold);color:var(--color-text)}.firmware-review-card__date{font-size:var(--text-muted-size);color:var(--color-text-muted)}.firmware-review-card__stars{color:var(--color-warning, #f59e0b);font-size:var(--text-body)}.firmware-review-card__text{margin:0;font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--color-text)}.firmware-review-form-wrap{padding:var(--space-6);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-review-form-title{font-size:var(--text-body);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0;color:var(--color-text)}.firmware-review-form{display:flex;flex-direction:column;gap:var(--space-4)}.firmware-review-form__label{font-size:var(--text-muted-size);font-weight:var(--font-medium);color:var(--color-text-muted)}.firmware-review-form__stars{display:flex;gap:var(--space-1)}.firmware-review-form__star{background:none;border:none;padding:0;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;transition:color .15s}.firmware-review-form__star:hover{color:var(--color-warning, #f59e0b)}.firmware-review-form__textarea{width:100%;padding:var(--space-3);font-size:var(--text-body);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;min-height:100px}.firmware-review-form__submit{align-self:flex-start}.firmware-reviews-hint{font-size:var(--text-muted-size);color:var(--color-text-muted);margin:0}.firmware-question-wrap{position:fixed;inset:0;z-index:10000;pointer-events:none}.firmware-question-wrap .firmware-question-window{pointer-events:auto}.firmware-question-window{position:fixed;bottom:72px;right:24px;width:380px;height:520px;background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:firmware-question-slideUp .25s ease}.firmware-question-window .firmware-question-body{flex-shrink:0}.firmware-question-window .firmware-question-form{flex:1;min-height:0}.firmware-question-form{display:flex;flex-direction:column;flex:1;min-height:0}.firmware-question-input-wrap{flex-shrink:0;padding:0 1.25rem .75rem;margin-top:-.25rem}.firmware-question-text{display:block;width:100%;min-height:180px;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;border:1px solid #d1d5db;border-radius:8px;resize:vertical;box-sizing:border-box}.firmware-question-text:focus{outline:none;border-color:var(--color-accent, #d60000);box-shadow:0 0 0 3px #d600001a}.firmware-question-error{margin:.5rem 0 0;font-size:.875rem}.firmware-question-footer{flex-shrink:0;margin-top:auto;padding:1rem 1.25rem;border-top:1px solid var(--color-border, #e5e7eb);background:#fff}@keyframes firmware-question-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.firmware-question-header{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.firmware-question-header__title{font-size:1.125rem;font-weight:600;color:var(--color-text, #1a1a1a);margin:0}.firmware-question-header__close{padding:.5rem;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.firmware-question-header__close:hover{background:#f3f4f6;color:#374151}.firmware-question-firmware{padding:.75rem 1.25rem .25rem;background:#f9fafb;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.firmware-question-firmware__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.firmware-question-firmware__label{font-size:.75rem;font-weight:600;color:var(--color-text-muted, #6b7280);flex-shrink:0}.firmware-question-firmware__value{font-size:.9375rem;font-weight:500;color:var(--color-text, #1f2937)}.firmware-question-body{padding:1rem 1.25rem}.firmware-question-submit{display:block;width:100%;height:48px;padding:0 var(--space-4);font-size:16px;font-weight:600;color:#fff;background:var(--color-accent, #d60000);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.firmware-question-submit:hover:not(:disabled){background:var(--color-accent-hover, #b80000)}.firmware-question-submit:disabled{opacity:.7;cursor:not-allowed}.firmware-question-login-hint{font-size:.9375rem;color:var(--color-text-muted, #6b7280);margin:0}.firmware-question-login-link{color:var(--color-accent, #d60000);font-weight:500;text-decoration:none;transition:color var(--transition-motion, .22s ease),transform var(--transition-motion, .22s ease);display:inline-block}.firmware-question-login-link:hover{text-decoration:underline;transform:translateY(-2px) scale(1.02)}.product-page-wrapper,.product-page-wrapper .version-layout,.product-page-wrapper .version-info{overflow-anchor:none}.firmware-description-content img{max-width:100%;height:auto;vertical-align:middle}.product-page-skeleton{pointer-events:none;padding-bottom:var(--space-8, 2rem)}.product-page-skeleton__hero{margin-bottom:var(--space-6, 1.5rem)}.product-page-skeleton__path{height:14px;width:220px;max-width:100%;background:var(--color-bg-soft, #f5f5f7);border-radius:4px;margin-bottom:var(--space-3, .75rem);animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__title{height:36px;width:280px;max-width:100%;background:var(--color-bg-soft, #f5f5f7);border-radius:6px;animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__layout{display:grid;gap:var(--space-6, 1.5rem)}@media(min-width:1025px){.product-page-skeleton__layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-8, 2rem)}}@media(max-width:1200px){.product-page-skeleton__layout{grid-template-columns:1fr;gap:var(--space-6, 1.5rem)}}.product-page-skeleton__main{display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.product-page-skeleton__image{height:240px;background:var(--color-bg-soft, #f5f5f7);border-radius:var(--radius, 12px);animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__line{height:16px;background:var(--color-bg-soft, #f5f5f7);border-radius:4px;animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__line--short{width:60%}.product-page-skeleton__aside{min-height:200px}.product-page-skeleton__card{height:180px;background:var(--color-bg-soft, #f5f5f7);border-radius:var(--radius, 12px);animation:product-skeleton-pulse 1.5s ease-in-out infinite}@keyframes product-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(max-width:768px){.product-page-skeleton{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));box-sizing:border-box}.product-page-skeleton__image{height:min(240px,50vw)}}.payment-modal-overlay{position:fixed;inset:0;background:#0f172a59;backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal, 10000);padding:1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));overflow-y:auto}.payment-modal-box{background:var(--color-bg, #fff);border-radius:20px;box-shadow:0 20px 48px #0f172a38;max-width:420px;width:100%;overflow:hidden;margin:auto 0}.payment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #eee)}.payment-modal-title{margin:0;font-size:1.25rem;font-weight:600}.payment-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-muted, #666);padding:.25rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.payment-modal-close:hover{color:var(--color-text, #111)}.payment-modal-body{padding:1.25rem;max-height:min(85vh,calc(100vh - 4rem));max-height:min(85dvh,calc(100dvh - 4rem));max-height:min(calc(85 * var(--vh, 1vh)),calc(100 * var(--vh, 1vh) - 4rem));overflow-y:auto;padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.payment-modal-section{margin-bottom:1.25rem}.payment-modal-section:last-child{margin-bottom:0}.payment-modal-error--danger{color:#c00;margin-bottom:12px}.payment-modal-captcha--spaced{margin-bottom:12px}.payment-modal-captcha--hidden{display:none}.payment-modal-section--contact{padding:1rem;background:var(--color-bg-muted, #f8f8f8);border-radius:8px;border:1px solid var(--color-border, #eee)}.payment-modal-contact{display:flex;flex-direction:column;gap:.75rem}.payment-modal-contact__label{display:block;font-size:.9rem;font-weight:500;color:var(--color-text, #111);margin:0}.payment-modal-contact__input{width:100%;padding:.625rem .75rem;font-size:1rem;border:1px solid var(--color-border, #ccc);border-radius:6px;background:var(--color-bg, #fff);color:var(--color-text, #111);box-sizing:border-box}.payment-modal-contact__input:focus{outline:none;border-color:var(--color-accent, #c00);box-shadow:0 0 0 2px #cc000026}.payment-modal-required{color:var(--color-accent, #c00)}.payment-modal-subtitle{margin:0 0 .75rem;font-size:.9rem;color:var(--color-text-muted, #666)}.payment-modal-subtitle--loading{margin-bottom:1rem;text-align:center}.payment-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.payment-modal-item__btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.125rem;border:none;border-radius:18px;background:#ffdd2d;cursor:pointer;text-align:center;justify-content:center;font-size:1.05rem;font-weight:600;color:#1f2937;box-shadow:0 12px 28px #ffdd2d73;transition:transform .15s,box-shadow .15s,filter .15s}.payment-modal-item__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px #ffdd2d80;filter:brightness(1.01)}.payment-modal-item__btn--bonus{background:#c1121f;color:#fff;box-shadow:0 12px 28px #c1121f61}.payment-modal-item__btn--bonus:hover:not(:disabled){box-shadow:0 16px 32px #c1121f73}.payment-modal-item__btn--bonus .payment-modal-item__icon{background:#fff3}.payment-modal-item__btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.payment-modal-section--consent{padding-top:.5rem}.payment-modal-consent{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.payment-modal-consent__input{margin-top:.25rem;flex-shrink:0}.payment-modal-consent__text{margin-top:.9rem;font-size:.675rem;color:var(--color-text-muted, #666)}.payment-modal-consent__link{color:var(--color-accent, #333);text-decoration:underline}.payment-modal-consent__link:hover{text-decoration:none}.payment-modal-item__icon{width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;background:#fffc;border-radius:10px;font-size:1rem}.payment-modal-item__label{flex:0 1 auto;font-weight:500}.payment-modal-item__sub{display:none}.payment-modal-item__note{margin:.45rem 0 0;text-align:center;font-size:.75rem;color:#9ca3af}@media(max-width:768px){.payment-modal-overlay{align-items:stretch;justify-content:center;padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right));padding-top:max(var(--space-3),env(safe-area-inset-top));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.payment-modal-box{border-radius:14px;max-width:100%;width:100%;margin:auto}.payment-modal-body{max-height:calc(100vh - 3rem);max-height:calc(100 * var(--vh, 1vh) - 3rem);max-height:calc(100dvh - 3rem)}.payment-modal-section{margin-bottom:var(--space-3)}}@media(max-width:480px){.payment-modal-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.payment-modal-title{font-size:1.125rem}.payment-modal-list{gap:var(--space-2)}.payment-modal-item__btn{font-size:1rem;padding:.875rem 1rem}.payment-modal-contact__input{font-size:.95rem}}.navigation-progress{position:fixed;top:0;left:0;right:0;height:3px;background-color:var(--color-accent, #d60000);transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out;z-index:9999;pointer-events:none}.navigation-progress--visible{transform:scaleX(1)}.first-visit-announcement{position:fixed;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px);right:max(12px,env(safe-area-inset-right));z-index:10020;width:min(440px,calc(100vw - 24px));background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0f172a33;padding:.85rem .9rem .8rem;max-height:min(68vh,520px);overflow:auto}.first-visit-announcement__close{position:absolute;top:.5rem;right:.5rem;border:none;background:transparent;color:var(--color-text-muted);font-size:1.75rem;line-height:1;cursor:pointer}.first-visit-announcement__title{margin:0 1.8rem .35rem 0;font-size:clamp(1rem,1.9vw,1.2rem);line-height:1.3;color:var(--color-text)}.first-visit-announcement__lead{margin:0 0 .55rem;font-size:.92rem;color:var(--color-text)}.first-visit-announcement__list{margin:0;padding-left:1.05rem;color:var(--color-text-muted);display:grid;gap:.35rem;font-size:.88rem;line-height:1.35}.first-visit-announcement__actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:640px){.first-visit-announcement{left:auto;right:max(10px,env(safe-area-inset-right));bottom:calc(max(10px,env(safe-area-inset-bottom)) + 62px);width:auto;max-width:min(360px,calc(100vw - 20px));max-height:min(62vh,460px)}}.catalog-skeleton-grid--spaced{margin-top:1.5rem}.feedback-section--center{text-align:center}.feedback-section--narrow-centered{text-align:center;max-width:400px;margin:0 auto}.btn-group--stack{flex-direction:column;gap:.75rem}.pr-ml-2{margin-left:.5rem}.pr-mt-4{margin-top:1rem}.pr-mt-6{margin-top:1.5rem}.pr-mb-8{margin-bottom:2rem}.empty-state--center-pad{text-align:center;padding:2rem 0}.empty-state--center-pad-lg{text-align:center;padding:2rem}.empty-state__actions--flex{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.order-list__section--purchases{margin-bottom:2rem}.shop-brand-mark{display:inline-flex;align-items:center;gap:var(--space-3)}.shop-brand-mark__logo{display:block;flex-shrink:0;border-radius:50%;border:1px solid var(--color-border);object-fit:contain}.shop-brand-mark__name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.payment-success__brand{display:flex;justify-content:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.payment-success{display:flex;justify-content:center;padding:var(--space-6) 0 var(--space-10)}.payment-success__panel{width:100%;max-width:26rem;margin:0 auto;padding:var(--space-8) var(--space-6);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 1px 2px #1d1d1f0a,0 12px 32px #1d1d1f14;text-align:center}.payment-success__visual{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin:0 auto var(--space-5);border-radius:50%;flex-shrink:0}.payment-success__visual--pending{border:3px solid var(--color-border);border-top-color:var(--color-accent);animation:payment-success-spin .9s linear infinite;background:transparent}.payment-success__visual--success{background:#ecfdf5;border:1px solid #a7f3d0}.payment-success__visual--success:after{content:"✓";font-size:1.625rem;font-weight:var(--font-bold);color:#047857;line-height:1}.payment-success__visual--warning{background:#fffbeb;border:1px solid #fde68a}.payment-success__visual--warning:after{content:"…";font-size:1.5rem;font-weight:var(--font-bold);color:#b45309;line-height:1;letter-spacing:.05em}.payment-success__visual--error{background:#fef2f2;border:1px solid #fecaca}.payment-success__visual--error:after{content:"!";font-size:1.5rem;font-weight:var(--font-bold);color:#b91c1c;line-height:1}.payment-success__visual--info{background:var(--color-bg-soft);border:1px solid var(--color-border)}.payment-success__visual--info:after{content:"i";font-size:1.25rem;font-weight:var(--font-bold);font-style:italic;color:var(--color-text-muted);line-height:1}.payment-success__visual--neutral{background:var(--color-bg-soft);border:1px solid var(--color-border)}.payment-success__visual--neutral:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-text-muted);opacity:.5}@keyframes payment-success-spin{to{transform:rotate(360deg)}}.payment-success__title{font-size:var(--text-h2);font-weight:var(--font-semibold);color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0 0 var(--space-3)}.payment-success__lead{margin:0 auto var(--space-4);max-width:22rem;font-size:var(--text-body);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.payment-success__order-line{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.payment-success__order-chip{display:inline-block;margin-left:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--color-text);background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);vertical-align:baseline}.payment-success__hint{margin:0 auto var(--space-4);max-width:20rem;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.payment-success__callout{margin:var(--space-4) auto 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius);text-align:left;max-width:100%;border:1px solid var(--color-border);background:var(--color-bg-soft);border-left:4px solid var(--color-accent);box-sizing:border-box}.payment-success__callout--warn{background:#fffdf8;border-color:#f5e6d6;border-left-color:#c2410c}.payment-success__callout--info{border-left-color:var(--color-accent)}.payment-success__callout--bonus{background:#f0fdf4;border-color:#bbf7d0;border-left-color:#15803d;text-align:left}.payment-success__callout-text{margin:0;font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-relaxed)}.payment-success__callout--warn .payment-success__callout-text{color:var(--color-text)}.payment-success__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}.payment-success__guest-hint{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);text-align:center}.payment-success__guest-hint a{color:var(--color-accent);font-weight:var(--font-medium);text-decoration:none}.payment-success__guest-hint a:hover{text-decoration:underline}.payment-success__hint-muted{font-size:var(--text-sm);color:var(--color-text-muted)}.payment-success__sync-warning{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid #f5e6d6;border-left:4px solid #c2410c;background:#fffdf8;color:var(--color-text);text-align:left;max-width:36rem;margin-left:auto;margin-right:auto}.payment-success__bonus-notice{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid #bbf7d0;border-left:4px solid #15803d;background:#f0fdf4;color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-relaxed);text-align:left}.page-fallback-host--spaced{margin-top:1rem}.order-view__details-card--center{text-align:center}.profile__error-wrap--mb{margin-bottom:1rem}.profile__wallet-card--mt{margin-top:1rem}.profile__wallet-note--tight{font-size:.875rem;margin-top:.25rem}.profile-danger-zone__lead{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}.profile-delete__label-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.profile-delete__error-slot{min-height:1.25rem;margin-top:var(--space-2)}.profile-request-orders__loading--mt{margin-top:.75rem}.reviews-page__error-mb{margin-bottom:1rem}.review-card__text--pre,.reviews-page-card__admin-text--pre{white-space:pre-wrap;margin:0}.reviews-page__pagination{margin-top:1.5rem;margin-bottom:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.test-payment__actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.fs-button.legacy-fs-button--back{margin-top:16px;display:inline-block}.utils{padding:2rem 1rem;max-width:900px;margin:0 auto}.utils-hero{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.utils-hero__title{font-size:2rem;font-weight:700;color:var(--color-text, #1f2937);margin:0 0 1.25rem;line-height:1.3}.utils-hero__text{font-size:1rem;color:var(--color-text-secondary, #6b7280);line-height:1.7;margin:0 0 1rem;max-width:720px;margin-left:auto;margin-right:auto}.utils-hero__note{font-size:.9375rem;color:var(--color-text, #1f2937);line-height:1.6;max-width:720px;margin:0 auto}.utils-hero__link{color:var(--color-accent, #d60000);text-decoration:none;font-weight:500}.utils-hero__link:hover{text-decoration:underline}.utils-modules{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.utils-module{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;padding:1.5rem;background:var(--color-bg, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;transition:box-shadow .2s ease,border-color .2s ease}.utils-module:hover{box-shadow:0 4px 16px #00000014;border-color:var(--color-accent-light, #fecaca)}.utils-module__icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent, #d60000) 0%,#a50000 100%);border-radius:12px;color:#fff}.utils-module__content{min-width:0}.utils-module__title{font-size:1.25rem;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 .25rem;line-height:1.3}.utils-module__subtitle{font-size:.875rem;font-weight:500;color:var(--color-accent, #d60000);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.02em}.utils-module__desc{font-size:.9375rem;color:var(--color-text-secondary, #6b7280);line-height:1.6;margin:0}.utils-module__action{flex-shrink:0}.utils-module__badge{display:inline-block;padding:.375rem .75rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted, #9ca3af);background:var(--color-bg-tertiary, #f3f4f6);border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.utils-module--clickable{text-decoration:none;color:inherit;cursor:pointer}.utils-module--clickable:hover{border-color:var(--color-accent, #d60000);box-shadow:0 4px 16px #d600001f}.utils-module__arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-muted, #9ca3af);transition:transform .2s ease,color .2s ease}.utils-module--clickable:hover .utils-module__arrow{color:var(--color-accent, #d60000);transform:translate(4px)}.utils-notice{text-align:center;padding:1.5rem;background:var(--color-bg-tertiary, #f9fafb);border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.utils-notice__text{font-size:.8125rem;color:var(--color-text-muted, #6b7280);line-height:1.6;margin:0}.utils-notice__link{color:var(--color-accent, #d60000);text-decoration:none}.utils-notice__link:hover{text-decoration:underline}@media(max-width:640px){.utils{padding:1.5rem 1rem}.utils-hero{margin-bottom:2rem;padding-bottom:1.5rem}.utils-hero__title{font-size:1.5rem;margin-bottom:1rem}.utils-hero__text,.utils-hero__note{font-size:.9375rem}.utils-modules{gap:1rem}.utils-module{grid-template-columns:1fr;gap:1rem;padding:1.25rem}.utils-module__icon{width:48px;height:48px}.utils-module__icon svg{width:28px;height:28px}.utils-module__title{font-size:1.125rem}.utils-module__desc{font-size:.875rem}.utils-module__action{order:-1}.utils-notice{padding:1.25rem 1rem}.utils-notice__text{font-size:.75rem}}@media(max-width:480px){.utils-hero__title{font-size:1.375rem}.utils-module{padding:1rem}.utils-module__icon{width:44px;height:44px}}.utils-dump{padding:2rem 1rem;max-width:900px;margin:0 auto}.utils-dump .fs-breadcrumb{margin-bottom:1.5rem}.utils-dump__hero{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.utils-dump__back{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent, #d60000);text-decoration:none;font-size:.9375rem;font-weight:500;margin-bottom:1.5rem;transition:opacity .2s ease}.utils-dump__back:hover{opacity:.8}.utils-dump__title{font-size:2rem;font-weight:700;color:var(--color-text, #1f2937);margin:0 0 1.25rem;line-height:1.3}.utils-dump__desc{font-size:1rem;color:var(--color-text-secondary, #6b7280);line-height:1.7;margin:0 0 1rem;max-width:720px}.utils-dump__note{font-size:.9375rem;color:var(--color-text, #1f2937);line-height:1.6;margin:0;max-width:720px}.utils-dump__link{color:var(--color-accent, #d60000);text-decoration:none;font-weight:500}.utils-dump__link:hover{text-decoration:underline}.utils-dump__groups{margin-bottom:2.5rem}.utils-dump__subtitle{font-size:1.125rem;font-weight:600;color:var(--color-text, #1f2937);margin:0 0 1.25rem}.utils-dump__brands{display:flex;flex-wrap:wrap;gap:.75rem}.utils-dump__brand{display:inline-block;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-tertiary, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:not-allowed;opacity:.6;transition:all .2s ease;text-decoration:none}.utils-dump__brand:not([disabled]){cursor:pointer;opacity:1;color:var(--color-text, #1f2937);background:var(--color-bg, #fff);border-color:var(--color-border, #e5e7eb);box-shadow:0 2px 8px #00000014}.utils-dump__brand:not([disabled]):hover{background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text, #1f2937);border-color:var(--color-text-muted, #9ca3af);transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.utils-dump__form,.utils-dump__form-group{margin-bottom:2rem}.utils-dump__form-group:last-child{margin-bottom:0}.utils-dump__label{display:block;font-size:1.125rem;font-weight:600;color:var(--color-text, #1f2937);margin-bottom:.5rem}.utils-dump__label-hint{display:block;font-size:.9375rem;font-weight:400;color:var(--color-text-secondary, #6b7280);margin-bottom:1rem;line-height:1.5}.utils-dump__file-area{display:flex;flex-direction:column;gap:.75rem}.utils-dump__file-drop{position:relative;padding:2rem 1.5rem;background:var(--color-bg, #fff);border:2px dashed var(--color-border, #d1d5db);border-radius:12px;cursor:pointer;transition:all .2s ease}.utils-dump__file-drop:hover{border-color:var(--color-accent, #d60000);background:var(--color-bg-tertiary, #f9fafb)}.utils-dump__file-drop--active{border-color:var(--color-accent, #d60000);background:#d600000d;border-style:solid}.utils-dump__file{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.utils-dump__file-drop-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--color-text-secondary, #6b7280);pointer-events:none}.utils-dump__file-drop-content svg{color:var(--color-text-muted, #9ca3af)}.utils-dump__file-drop-text{font-size:.9375rem;color:var(--color-text-secondary, #6b7280)}.utils-dump__file-drop-btn{pointer-events:auto;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:#fff;background:var(--color-accent, #d60000);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease}.utils-dump__file-drop-btn:hover{background:#b50000}.utils-dump__file-drop-name{font-size:1rem;font-weight:600;color:var(--color-text, #1f2937)}.utils-dump__file-drop-hint{font-size:.8125rem;color:var(--color-text-muted, #9ca3af)}.utils-dump__notice{text-align:center;padding:1.5rem;background:var(--color-bg-tertiary, #f9fafb);border-radius:8px;border:1px solid var(--color-border, #e5e7eb)}.utils-dump__notice-text{font-size:.8125rem;color:var(--color-text-muted, #6b7280);line-height:1.6;margin:0}.utils-dump__notice-link{color:var(--color-accent, #d60000);text-decoration:none}.utils-dump__notice-link:hover{text-decoration:underline}.utils-dump__error{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.utils-dump__submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-accent, #d60000);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease,opacity .15s ease;width:100%;margin-top:1rem}.utils-dump__submit:hover:not(:disabled){background:#b50000}.utils-dump__submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.utils-dump{padding:1.5rem 1rem}.utils-dump__title{font-size:1.5rem}.utils-dump__desc,.utils-dump__note{font-size:.9375rem}.utils-dump__brands{gap:.5rem}.utils-dump__brand{padding:.5rem .75rem;font-size:.8125rem}}@media(max-width:480px){.utils-dump__title{font-size:1.375rem}.utils-dump__brand{flex:1 1 calc(50% - .25rem);text-align:center}}.utils-dump__converter{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2rem;margin:2rem 0}.utils-dump__converter-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.utils-dump__converter-desc{color:#666;font-size:.9375rem;margin:0 0 1.5rem;line-height:1.5}.converter-form{display:flex;flex-direction:column;gap:1rem}.converter-form__dropzone{border:2px dashed #ccc;border-radius:8px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.converter-form__dropzone:hover{border-color:var(--color-accent, #d60000);background:#fafafa}.converter-form__dropzone-icon{color:#999;margin-bottom:.75rem;display:block;margin-left:auto;margin-right:auto}.converter-form__dropzone:hover .converter-form__dropzone-icon{color:var(--color-accent, #d60000)}.converter-form__dropzone-text{font-size:1rem;font-weight:500;color:#333;margin:0 0 .5rem}.converter-form__dropzone-hint{font-size:.8125rem;color:#888;margin:0;line-height:1.4}.converter-form__file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.converter-form__file-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.converter-form__file-icon{color:var(--color-accent, #d60000);flex-shrink:0}.converter-form__file-details{flex:1;display:flex;flex-direction:column;min-width:0}.converter-form__file-name{font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.converter-form__file-size{font-size:.8125rem;color:#666}.converter-form__file-remove{background:none;border:none;padding:.25rem;cursor:pointer;color:#999;transition:color .15s ease}.converter-form__file-remove:hover{color:#d60000}.converter-form__result{padding:1.5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.converter-form__result-success{display:flex;align-items:center;gap:.5rem;color:#15803d;font-weight:600;margin-bottom:1rem}.converter-form__result-info{display:flex;gap:1.5rem;font-size:.9375rem;color:#333;margin-bottom:1rem;flex-wrap:wrap}.converter-form__result-info strong{color:#1a1a1a}.converter-form__download{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:#16a34a;color:#fff;font-size:1rem;font-weight:600;text-decoration:none;border-radius:6px;transition:background .15s ease}.converter-form__download:hover{background:#15803d}.converter-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--color-accent, #d60000);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease,opacity .15s ease;width:100%}.converter-form__submit:hover:not(:disabled){background:#b50000}.converter-form__submit:disabled{opacity:.5;cursor:not-allowed}.converter-form__submit .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.converter-form__error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:1rem}.converter-form__error svg{flex-shrink:0}@media(max-width:640px){.utils-dump__converter{padding:1.25rem}.converter-form__result-info{flex-direction:column;gap:.5rem}}.converter-form__auth-required{text-align:center;padding:3rem 1.5rem;background:#f9fafb;border-radius:8px}.converter-form__auth-required svg{color:#9ca3af;margin-bottom:1rem}.converter-form__auth-required h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.converter-form__auth-required p{color:#6b7280;margin:0}.converter-form__auth-required a{color:var(--color-accent, #d60000);text-decoration:underline}.converter-form__car-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.converter-form__field{display:flex;flex-direction:column;gap:.375rem}.converter-form__field label{font-size:.875rem;font-weight:500;color:#374151}.converter-form__field input{padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9375rem;transition:border-color .15s ease,box-shadow .15s ease}.converter-form__field input:focus{outline:none;border-color:var(--color-accent, #d60000);box-shadow:0 0 0 3px #d600001a}.converter-form__user-info{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem;padding:.5rem;background:#f3f4f6;border-radius:4px}.converter-form__user-info strong{color:#1f2937}@media(max-width:640px){.converter-form__car-fields{grid-template-columns:1fr}}
