﻿/* Keep scrolling inexpensive: atmosphere is static and cards use solid surfaces. */
.smoke-puff { animation: none; filter: none; }
.sculk-banner-overlay::before { animation: none; filter: none; }
.sculk-banner-bg { filter: none; opacity: .4; transition: none; }
.sculk-banner-card:hover .sculk-banner-bg { transform: none; opacity: .4; }
.big-shop-card { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(24, 20, 31, .94); }
.sculk-banner-card { box-shadow: 0 12px 36px rgba(0, 0, 0, .35); }
body.store-page { background-attachment: scroll !important; }
.store-page-content { padding-top: 0; }
img { max-width: 100%; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
:focus-visible { outline: 2px solid #ffd479; outline-offset: 4px; }
.clean-item-title, .perks-modal-meta, .player-preview-card > div { min-width: 0; overflow-wrap: anywhere; }
.clean-item-title { flex-wrap: wrap; }
@media (max-width: 1120px) {
    .nav-menu-links { display: none; }
    .mobile-sculk-toggle { display: block; min-width: 44px; min-height: 44px; }
    .nav-menu-links.is-open { display: flex; }
    .nav-menu-links { position: absolute; top: 100%; left: 12px; right: 12px; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; background: #221d28; border: 1px solid #44384f; border-radius: 12px; box-shadow: 0 12px 24px #0005; max-height: calc(100dvh - 90px); overflow-y: auto; }
    .nav-menu-item a { display: flex; padding: 12px 16px; min-height: 44px; }
}
@media (max-width: 640px) {
    .sculk-nav-container { height: auto; min-height: 64px; padding: 10px 12px; gap: 8px; flex-wrap: wrap; }
    .nav-brand-text { font-size: 1.2rem; }
    .nav-right-actions { gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
    .btn-sculk-gold { padding: 9px 10px; font-size: .78rem; min-height: 44px; }
    .ip-online-count, .ip-separator { display: none; }
    #nav-set-user-btn { font-size: .75rem; padding: 8px; min-height: 44px; }
    #nav-account-pill { max-width: 155px; }
    #nav-account-name { overflow: hidden; text-overflow: ellipsis; max-width: 80px; }
    .sculk-hero-section { padding: 16px 12px 28px; }
    .sculk-banner-card { padding: 28px 20px; min-height: 560px; border-radius: 16px; gap: 32px; }
    .banner-store-title { font-size: clamp(1.9rem, 8vw, 2.6rem); }
    .banner-store-sub { font-size: 1rem; }
    .big-shop-card { padding: 16px; gap: 14px; min-width: 0; }
    .sculk-footer { padding: 28px 16px; }
    .footer-nav-row { gap: 20px; }
    .clean-item-card { padding: 18px 16px; min-width: 0; }
    .clean-tab-row { gap: 8px; }
    .clean-tab-pill { min-height: 44px; padding: 9px 12px; }
    .store-subnav-bar { gap: 8px; padding: 0 12px; }
    .store-subnav-bar .subnav-btn { flex: 1 1 140px; justify-content: center; padding: 12px; }
    .modal-overlay { padding: 12px; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .modal-box, .modal-box.wide { max-height: calc(100dvh - 24px); overflow-y: auto; }
    .modal-header, .modal-body, .modal-box.wide .modal-body { padding: 16px; }
    .username-input { font-size: 16px; }
    .modal-close { min-width: 44px; min-height: 44px; }
    .modal-line { flex-wrap: wrap; }
    .perks-modal-price { font-size: 1rem; }
}
@media (hover: none) {
    .big-shop-card:hover, .rank-card:hover, .crate-card:hover, .subnav-btn:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
