:root {
    --rescue-ink: #191919;
    --rescue-muted: #6f6a62;
    --rescue-paper: #f2eee6;
    --rescue-surface: #fffdf9;
    --rescue-line: #d4cec3;
    --rescue-soft: #e7e9ef;
    --rescue-cobalt: #2f4db4;
    --rescue-accent: #b32357;
    --rescue-accent-dark: #8e1943;
}

.rescue-marketplace {
    margin: 0;
    overflow-x: hidden;
    background: var(--rescue-paper);
    color: var(--rescue-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans SC", "Microsoft YaHei", sans-serif;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    --bg: var(--rescue-paper);
    --bg-alt: var(--rescue-soft);
    --card: var(--rescue-surface);
    --text: var(--rescue-ink);
    --text-secondary: var(--rescue-muted);
    --border: var(--rescue-line);
    --primary: var(--rescue-accent);
    --secondary: var(--rescue-cobalt);
}

.rescue-marketplace,
.rescue-marketplace * { box-sizing: border-box; }
.rescue-marketplace a { color: inherit; text-decoration: none; }
.rescue-marketplace button,
.rescue-marketplace input,
.rescue-marketplace textarea { font: inherit; }
.rescue-shell { width: min(1400px, calc(100% - 80px)); margin: 0 auto; }

.rescue-marketplace .rescue-nav,
.rescue-marketplace .rescue-nav.at-top,
[data-theme="dark"] .rescue-marketplace .rescue-nav,
[data-theme="dark"] .rescue-marketplace .rescue-nav.at-top {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: 68px;
    background: rgba(242, 238, 230, .98);
    border-bottom: 1px solid rgba(25, 25, 25, .14);
    box-shadow: none;
}

.rescue-marketplace .rescue-nav-inner {
    width: min(1400px, calc(100% - 80px));
    max-width: none;
    height: 68px;
    padding: 0;
    gap: 34px;
}

.rescue-marketplace .rescue-logo {
    display: flex;
    flex-direction: column;
    color: var(--rescue-ink);
    font-size: 24px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.04em;
    white-space: nowrap;
}

.rescue-marketplace .rescue-logo small {
    margin-top: 5px;
    color: #878179;
    font-size: 8px;
    font-weight: 650;
    letter-spacing: .08em;
}

.rescue-marketplace .rescue-nav-links {
    align-self: stretch;
    align-items: center;
    gap: 28px;
}

.rescue-marketplace .rescue-nav-links .nav-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0;
    color: #57534f;
    font-size: 14px;
    font-weight: 580;
    white-space: nowrap;
}

.rescue-marketplace .rescue-nav-links .nav-link::after { display: none; }
.rescue-marketplace .rescue-nav-links .nav-link:hover,
.rescue-marketplace .rescue-nav-links .nav-link.active,
.rescue-marketplace .rescue-nav-links .nav-link[aria-current="page"] { color: var(--rescue-accent); }
.rescue-marketplace .rescue-nav-actions { margin-left: auto; gap: 8px; }

.rescue-marketplace .rescue-nav .nav-theme {
    border: 0;
    background: transparent;
    color: #57534f;
}

.rescue-marketplace .rescue-nav .nav-theme:hover,
.rescue-marketplace .rescue-nav .user-info:hover { background: #e6e0d7; color: var(--rescue-ink); }

.rescue-marketplace .rescue-nav .nav-join-link {
    min-height: 38px;
    padding: 9px 14px;
    border: 0;
    border-radius: 5px;
    color: var(--rescue-ink);
    white-space: nowrap;
}

.rescue-marketplace .rescue-nav .nav-booking-link {
    min-height: 40px;
    padding: 10px 20px;
    border-radius: 5px;
    background: var(--rescue-accent);
    color: #fff;
    box-shadow: none;
    white-space: nowrap;
}

.rescue-marketplace .rescue-nav .nav-booking-link:hover { background: var(--rescue-accent-dark); transform: none; }
.rescue-marketplace .rescue-nav .nav-login { min-height: 36px; padding: 7px 12px; border: 0; background: transparent; color: var(--rescue-ink); }
.rescue-marketplace .rescue-nav .user-name { color: var(--rescue-ink); }
.rescue-marketplace .rescue-nav .user-avatar { background: #151218; color: #fff; }
.rescue-marketplace .rescue-nav .nav-logout { background: #e6e0d7; color: var(--rescue-ink); }

.rescue-marketplace .mobile-menu {
    position: fixed;
    inset: 68px 0 auto;
    z-index: 999;
    padding: 10px 20px 18px;
    border-bottom: 1px solid var(--rescue-line);
    background: var(--rescue-paper);
    box-shadow: none;
}

.rescue-marketplace .mobile-menu a,
.rescue-marketplace .mobile-menu button {
    min-height: 44px;
    border-radius: 4px;
    color: var(--rescue-ink);
}

.rescue-main { min-height: 100vh; padding-top: 68px; }

.rescue-hero {
    min-height: 560px;
    border-bottom: 1px solid var(--rescue-line);
    background: var(--rescue-paper);
    color: var(--rescue-ink);
    text-align: left;
}

.rescue-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
    align-items: end;
    gap: 9vw;
    min-height: 560px;
    padding: 88px 0 78px;
}

.rescue-hero-copy h1 {
    max-width: 940px;
    margin: 0;
    color: var(--rescue-ink);
    font-size: clamp(54px, 7vw, 94px);
    font-weight: 790;
    line-height: .98;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.rescue-hero-copy > p {
    max-width: 680px;
    margin: 32px 0 0;
    color: var(--rescue-muted);
    font-size: 17px;
    line-height: 1.8;
}

.rescue-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    margin-top: 42px;
    padding: 0 0 8px;
    border-bottom: 2px solid var(--rescue-accent);
    color: var(--rescue-ink);
    font-size: 15px;
    font-weight: 720;
}

.rescue-hero-link i { color: var(--rescue-accent); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.rescue-hero-link:hover i { transform: translateY(5px); }

.rescue-terms {
    margin: 0;
    border-top: 1px solid var(--rescue-ink);
}

.rescue-terms > div {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 20px;
    align-items: baseline;
    padding: 21px 0;
    border-bottom: 1px solid var(--rescue-line);
}

.rescue-terms dt {
    color: var(--rescue-muted);
    font-size: 12px;
    font-weight: 650;
}

.rescue-terms dd {
    margin: 0;
    color: var(--rescue-ink);
    font-size: 18px;
    font-weight: 720;
}

.rescue-section { padding: 94px 0 104px; }
.rescue-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--rescue-line);
}

.rescue-section-heading h2 {
    max-width: 820px;
    margin: 0;
    color: var(--rescue-ink);
    font-size: clamp(36px, 4.5vw, 64px);
    font-weight: 770;
    line-height: 1.04;
    letter-spacing: -.04em;
    text-wrap: balance;
}

.rescue-section-heading p {
    max-width: 480px;
    margin: 0 0 6px;
    color: var(--rescue-muted);
    font-size: 15px;
    line-height: 1.7;
    text-align: right;
}

.rescue-cases { background: var(--rescue-surface); }
.rescue-marketplace .before-after-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 54px 28px;
    padding: 0;
}

.rescue-marketplace .ba-card {
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rescue-marketplace .ba-card h4 {
    margin: 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--rescue-line);
    color: var(--rescue-ink);
    font-size: 14px;
    font-weight: 680;
}

.rescue-marketplace .ba-compare {
    position: relative;
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: var(--rescue-soft);
    cursor: ew-resize;
    line-height: 0;
    touch-action: pan-y;
    user-select: none;
    outline: none;
}

.rescue-marketplace .ba-compare .ba-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    -webkit-user-drag: none;
}
.rescue-marketplace .ba-compare .ba-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: inset(0 50% 0 0);
}
.rescue-marketplace .ba-compare .ba-overlay .ba-img { height: 100%; }
.rescue-marketplace .ba-compare .ba-handle,
.rescue-marketplace .detail-ba-wrap .ba-handle {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(25,25,25,.18);
    border-radius: 50%;
    background: var(--rescue-surface);
    color: var(--rescue-ink);
    box-shadow: 0 8px 24px rgba(25,25,25,.14);
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.rescue-marketplace .ba-hint {
    position: absolute;
    left: 50%;
    z-index: 4;
    bottom: 14px;
    padding: 6px 10px;
    border-radius: 4px;
    background: rgba(25,25,25,.82);
    color: #fff;
    font-size: 11px;
    line-height: 1.3;
    pointer-events: none;
    transform: translateX(-50%);
    animation: none;
}

.rescue-marketplace .ba-douyin {
    margin: 7px 0 12px;
    color: var(--rescue-muted);
    font-size: 12px;
}

.rescue-upload {
    background: var(--rescue-soft);
    color: var(--rescue-ink);
}

.rescue-upload .rescue-section-heading { border-color: rgba(25,25,25,.22); }
.rescue-upload-heading p { color: #565d70; }

.rescue-upload-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: clamp(36px, 6vw, 96px);
    align-items: start;
}

.rescue-marketplace .upload-area-rescue {
    display: grid;
    place-items: center;
    min-height: 440px;
    margin: 0;
    padding: 50px;
    border: 1px dashed #7c8499;
    border-radius: 6px;
    background: rgba(255,255,255,.46);
    color: var(--rescue-ink);
    cursor: pointer;
    text-align: center;
    transition: border-color .25s ease, background-color .25s ease;
}

.rescue-marketplace .upload-area-rescue:hover,
.rescue-marketplace .upload-area-rescue:focus-visible {
    border-color: var(--rescue-cobalt);
    background: rgba(255,255,255,.72);
    outline: none;
}

.rescue-marketplace .upload-area-rescue i {
    margin: 0 0 18px;
    color: var(--rescue-cobalt);
    font-size: 34px;
}

.rescue-marketplace .upload-area-rescue strong { display: block; font-size: 19px; }
.rescue-marketplace .upload-area-rescue p { margin: 8px 0 0; color: #565d70; font-size: 13px; }
.rescue-marketplace .upload-area-rescue .preview-img {
    display: none;
    max-width: 100%;
    max-height: 320px;
    margin-top: 22px;
    border-radius: 4px;
    object-fit: contain;
}

.rescue-marketplace .limit-bar {
    margin: 12px 0 0;
    color: #565d70;
    font-size: 13px;
    text-align: left;
}

.rescue-marketplace .limit-bar .used { color: var(--rescue-cobalt); }
.rescue-marketplace .rescue-form { display: flex; flex-direction: column; gap: 0; }

.rescue-marketplace .rescue-form label {
    margin: 0 0 8px;
    color: #474c5b;
    font-size: 12px;
    font-weight: 720;
}

.rescue-marketplace .rescue-form input,
.rescue-marketplace .rescue-form textarea {
    min-height: 50px;
    margin: 0 0 22px;
    padding: 12px 14px;
    border: 1px solid #b9becb;
    border-radius: 5px;
    background: rgba(255,255,255,.68);
    color: var(--rescue-ink);
    box-shadow: none;
}

.rescue-marketplace .rescue-form textarea { min-height: 108px; resize: vertical; }
.rescue-marketplace .rescue-form input::placeholder,
.rescue-marketplace .rescue-form textarea::placeholder { color: #646b7c; }
.rescue-marketplace .rescue-form input:focus,
.rescue-marketplace .rescue-form textarea:focus {
    border-color: var(--rescue-cobalt);
    outline: 2px solid rgba(47,77,180,.16);
    outline-offset: 1px;
}

.rescue-marketplace #rescueSubmit {
    min-height: 52px;
    margin-top: 4px;
    border: 0;
    border-radius: 5px;
    background: var(--rescue-accent);
    color: #fff;
    box-shadow: none;
    font-weight: 720;
}

.rescue-marketplace #rescueSubmit:hover { background: var(--rescue-accent-dark); transform: none; }
.rescue-marketplace #rescueSubmit:disabled { opacity: .52; cursor: not-allowed; }

.rescue-gallery { background: var(--rescue-paper); }
.rescue-marketplace .gallery-grid { display: flex; flex-direction: column; gap: 0; }

.rescue-marketplace .gallery-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr);
    overflow: hidden;
    padding: 34px 0;
    border-top: 1px solid var(--rescue-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rescue-marketplace .gallery-item:last-child { border-bottom: 1px solid var(--rescue-line); }
.rescue-marketplace .gallery-imgs {
    display: flex;
    grid-row: 1 / span 6;
    min-height: 300px;
    margin-right: 38px;
    overflow: hidden;
    border-radius: 5px;
    line-height: 0;
}
.rescue-marketplace .gallery-imgs .thumb { position: relative; flex: 1; overflow: hidden; }
.rescue-marketplace .gallery-imgs .thumb img { height: 100%; min-height: 300px; object-fit: cover; }
.rescue-marketplace .gallery-pending-thumb {
    display: grid;
    min-height: 300px;
    place-items: center;
    background: var(--rescue-soft);
}
.rescue-marketplace .gallery-pending-thumb span { color: var(--rescue-muted); font-size: 14px; }
.rescue-marketplace .thumb-label {
    position: absolute;
    bottom: 8px;
    left: 8px;
    z-index: 1;
    padding: 4px 7px;
    border-radius: 3px;
    background: rgba(25,25,25,.8) !important;
    color: #fff;
    font-size: 10px;
    line-height: 1.3;
}
.rescue-marketplace .gallery-cn-row { display: flex; align-items: center; gap: 8px; padding: 0 0 10px; }
.rescue-marketplace .gallery-cn-row .cn-avatar {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--rescue-soft);
    font-size: 16px;
}
.rescue-marketplace .gallery-cn-row .cn-name { font-size: 17px; }
.rescue-marketplace .gallery-cn-row .cn-time { margin-left: auto; color: var(--rescue-muted); font-size: 11px; }
.rescue-marketplace .gallery-desc { padding: 0 0 14px; color: var(--rescue-muted); line-height: 1.7; }
.rescue-marketplace .gallery-status-tag {
    justify-self: start;
    margin: 0 0 14px;
    padding: 5px 8px;
    border-radius: 3px;
    background: #dddfe7;
}
.rescue-marketplace .gallery-status-tag.done { background: #dbe8df; color: #255d38; }
.rescue-marketplace .gallery-compare-btn {
    justify-self: start;
    margin: 0 0 16px;
    padding: 8px 12px;
    border-color: var(--rescue-cobalt);
    border-radius: 4px;
    color: var(--rescue-cobalt);
}
.rescue-marketplace .gallery-compare-btn:hover { background: var(--rescue-cobalt); color: #fff; }
.rescue-marketplace .gallery-admin-source,
.rescue-marketplace .gallery-admin-upload { margin-bottom: 8px; font-size: 12px; }
.rescue-marketplace .gallery-admin-source a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--rescue-accent);
}
.rescue-marketplace .gallery-admin-upload input { max-width: 100%; color: var(--rescue-muted); font-size: 12px; }
.rescue-marketplace .gallery-comments { padding: 12px 0; border-top: 1px solid var(--rescue-line); }
.rescue-marketplace .gallery-comments .comment-item { display: flex; align-items: flex-start; gap: 7px; padding: 4px 0; }
.rescue-marketplace .gallery-comments .comment-avatar {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: var(--rescue-soft);
    font-size: 11px;
}
.rescue-marketplace .gallery-comments .comment-body { flex: 1; min-width: 0; }
.rescue-marketplace .gallery-comments .comment-body strong { margin-right: 6px; font-size: 11px; }
.rescue-marketplace .gallery-comments .comment-body .cm-time { color: var(--rescue-muted); font-size: 10px; }
.rescue-marketplace .gallery-comments .comment-body p { margin: 2px 0 0; color: var(--rescue-muted); font-size: 12px; }
.rescue-marketplace .gallery-comments .gallery-comments-empty {
    justify-content: center;
    color: var(--rescue-muted);
    font-size: 11px;
}
.rescue-marketplace .gallery-comment-del {
    margin-left: auto;
    padding: 2px;
    border: 0;
    background: none;
    color: var(--rescue-muted);
    font-size: 10px;
}
.rescue-marketplace .gallery-comment-form { display: flex; gap: 8px; padding: 12px 0 0; border-top: 1px solid var(--rescue-line); }
.rescue-marketplace .gallery-comment-form input {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--rescue-line);
    border-radius: 4px;
    background: var(--rescue-surface);
    color: var(--rescue-ink);
}
.rescue-marketplace .gallery-comment-form button {
    padding: 8px 14px;
    border: 0;
    border-radius: 4px;
    background: var(--rescue-accent);
    color: #fff;
}
.rescue-marketplace .rescue-del-btn {
    position: absolute;
    top: 34px;
    right: 0;
    z-index: 2;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid var(--rescue-line);
    border-radius: 50%;
    background: var(--rescue-surface);
    color: var(--rescue-accent);
}
.rescue-marketplace .rescue-del-btn:hover { border-color: var(--rescue-accent); background: var(--rescue-accent); color: #fff; }

.rescue-rules-section { padding-top: 0; background: var(--rescue-paper); }
.rescue-marketplace .rescue-rules {
    display: grid;
    grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr);
    gap: clamp(40px, 8vw, 120px);
    padding: 56px 0;
    border-top: 1px solid var(--rescue-ink);
    border-bottom: 1px solid var(--rescue-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rescue-marketplace .rescue-rules h2 {
    margin: 0;
    color: var(--rescue-ink);
    font-size: clamp(30px, 3.5vw, 48px);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.rescue-marketplace .rescue-rules ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: rescue-rule; }
.rescue-marketplace .rescue-rules li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 14px;
    padding: 16px 0;
    border-top: 1px solid var(--rescue-line);
    color: var(--rescue-muted);
    font-size: 14px;
    line-height: 1.65;
}
.rescue-marketplace .rescue-rules li:first-child { border-top-color: var(--rescue-ink); }
.rescue-marketplace .rescue-rules li i { margin-top: 4px; color: var(--rescue-cobalt); }
.rescue-marketplace .rescue-rules li strong { display: inline; margin-right: 8px; color: var(--rescue-ink); }

.rescue-footer { border-top: 1px solid rgba(255,255,255,.12); background: #14254c; color: #fff; }
.rescue-footer-inner {
    display: flex;
    justify-content: space-between;
    gap: 48px;
    padding: 52px 0 40px;
}
.rescue-footer-inner > div > a { font-size: 24px; font-weight: 820; letter-spacing: -.04em; }
.rescue-footer-inner p { margin: 10px 0 0; color: rgba(255,255,255,.58); font-size: 13px; }
.rescue-footer-inner nav { display: flex; flex-wrap: wrap; align-items: start; justify-content: flex-end; gap: 24px; }
.rescue-footer-inner nav a { color: rgba(255,255,255,.62); font-size: 13px; }
.rescue-footer-inner nav a:hover { color: #fff; }
.rescue-footer-bottom {
    display: flex;
    justify-content: space-between;
    padding: 18px 0 24px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.5);
    font-size: 11px;
}

.rescue-marketplace .modal-box {
    border: 1px solid var(--rescue-line);
    border-radius: 6px;
    background: var(--rescue-surface);
    color: var(--rescue-ink);
    box-shadow: 0 20px 60px rgba(25,25,25,.18);
}
.rescue-marketplace #loginModal .modal-box { max-width: 440px; padding: 30px; }
.rescue-marketplace #loginModal h2 { margin: 0 0 20px; color: var(--rescue-ink); font-size: 28px; letter-spacing: -.035em; }
.rescue-marketplace .login-tabs { gap: 0; margin-bottom: 24px; border-bottom: 1px solid var(--rescue-line); }
.rescue-marketplace .login-tab {
    border-radius: 0;
    border-bottom: 2px solid transparent;
    padding: 10px 18px;
    background: transparent;
    color: var(--rescue-muted);
}
.rescue-marketplace .login-tab.active { border-bottom-color: var(--rescue-accent); background: transparent; color: var(--rescue-ink); }
.rescue-marketplace .input-group input { border: 1px solid var(--rescue-line); border-radius: 5px; background: var(--rescue-surface); color: var(--rescue-ink); }
.rescue-marketplace .input-group input:focus { border-color: var(--rescue-cobalt); }
.rescue-marketplace .login-form .btn-primary { border-radius: 5px; background: var(--rescue-accent); box-shadow: none; }
.rescue-marketplace .login-form .btn-primary:hover { background: var(--rescue-accent-dark); transform: none; }
.rescue-marketplace .btn-google { border: 1px solid var(--rescue-line); border-radius: 5px; background: var(--rescue-surface); color: var(--rescue-ink); }
.rescue-marketplace .rescue-detail-modal .modal-box { max-width: 700px; }
.rescue-marketplace .rescue-detail-image {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 14px;
    border-radius: 5px;
}
.rescue-marketplace .detail-ba-wrap {
    position: relative;
    width: 100%;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 5px;
    cursor: ew-resize;
    line-height: 0;
    touch-action: pan-y;
    user-select: none;
}
.rescue-marketplace .detail-ba-wrap .ba-img {
    display: block;
    width: 100%;
    pointer-events: none;
    -webkit-user-drag: none;
}
.rescue-marketplace .detail-ba-wrap .ba-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: inset(0 50% 0 0);
}
.rescue-marketplace .detail-ba-wrap .ba-overlay .ba-img { height: 100%; object-fit: cover; }
.rescue-marketplace .admin-upload { margin-top: 10px; padding: 12px; border-radius: 4px; background: var(--rescue-soft); }
.rescue-marketplace .admin-upload label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 680; }
.rescue-marketplace .support-float {
    border: 1px solid var(--rescue-line);
    background: var(--rescue-surface);
    color: var(--rescue-ink);
    box-shadow: 0 12px 32px rgba(25,25,25,.12);
}
.rescue-marketplace .support-float > i { background: var(--rescue-accent); }

.rescue-marketplace :focus-visible {
    outline: 2px solid var(--rescue-cobalt);
    outline-offset: 3px;
}

[data-theme="dark"] .rescue-marketplace {
    --rescue-ink: #f4f0e8;
    --rescue-muted: #b8b2a8;
    --rescue-paper: #181716;
    --rescue-surface: #201f1d;
    --rescue-line: #46423c;
    --rescue-soft: #252936;
    background: var(--rescue-paper);
    color: var(--rescue-ink);
}

[data-theme="dark"] .rescue-marketplace .rescue-nav,
[data-theme="dark"] .rescue-marketplace .rescue-nav.at-top { background: rgba(24,23,22,.98); }
[data-theme="dark"] .rescue-marketplace .rescue-logo,
[data-theme="dark"] .rescue-marketplace .rescue-nav-links .nav-link,
[data-theme="dark"] .rescue-marketplace .rescue-nav .nav-theme,
[data-theme="dark"] .rescue-marketplace .rescue-nav .nav-join-link,
[data-theme="dark"] .rescue-marketplace .rescue-nav .nav-login,
[data-theme="dark"] .rescue-marketplace .rescue-nav .user-name { color: var(--rescue-ink); }
[data-theme="dark"] .rescue-marketplace .upload-area-rescue { background: rgba(255,255,255,.035); }
[data-theme="dark"] .rescue-marketplace .rescue-form input,
[data-theme="dark"] .rescue-marketplace .rescue-form textarea { background: rgba(0,0,0,.18); color: var(--rescue-ink); }

@media (max-width: 1320px) {
    .rescue-marketplace .rescue-nav-inner { width: calc(100% - 48px); }
}

@media (max-width: 980px) {
    .rescue-shell { width: calc(100% - 48px); }
    .rescue-hero-grid {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 64px;
        min-height: auto;
        padding: 72px 0 64px;
    }
    .rescue-terms { width: 100%; }
    .rescue-section { padding: 72px 0 82px; }
    .rescue-section-heading { display: block; }
    .rescue-section-heading p { margin-top: 16px; text-align: left; }
    .rescue-upload-layout,
    .rescue-marketplace .rescue-rules { grid-template-columns: 1fr; }
    .rescue-marketplace .before-after-grid { grid-template-columns: 1fr; }
    .rescue-marketplace .gallery-item { grid-template-columns: 1fr; }
    .rescue-marketplace .gallery-imgs { grid-row: auto; margin: 0 0 24px; }
}

@media (max-width: 640px) {
    .rescue-shell { width: calc(100% - 32px); }
    .rescue-marketplace .rescue-nav,
    .rescue-marketplace .rescue-nav.at-top { height: 60px; }
    .rescue-marketplace .rescue-nav-inner { width: calc(100% - 32px); height: 60px; }
    .rescue-marketplace .rescue-logo { font-size: 21px; }
    .rescue-marketplace .mobile-menu { top: 60px; }
    .rescue-main { padding-top: 60px; }
    .rescue-hero-grid { padding: 58px 0 52px; gap: 48px; }
    .rescue-hero-copy h1 { font-size: clamp(46px, 14.5vw, 68px); line-height: 1.02; }
    .rescue-hero-copy > p { margin-top: 24px; font-size: 15px; }
    .rescue-hero-link { margin-top: 30px; }
    .rescue-section { padding: 58px 0 66px; }
    .rescue-section-heading { gap: 0; margin-bottom: 30px; padding-bottom: 18px; }
    .rescue-section-heading h2 { font-size: 38px; }
    .rescue-marketplace .upload-area-rescue { min-height: 320px; padding: 32px 20px; }
    .rescue-marketplace .gallery-imgs { min-height: 220px; }
    .rescue-marketplace .gallery-imgs .thumb img { min-height: 220px; }
    .rescue-marketplace .rescue-rules { gap: 28px; padding: 42px 0; }
    .rescue-footer-inner { display: block; padding: 40px 0 30px; }
    .rescue-footer-inner nav { justify-content: flex-start; margin-top: 26px; }
    .rescue-footer-bottom { display: grid; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
    .rescue-marketplace *,
    .rescue-marketplace *::before,
    .rescue-marketplace *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
