.content-layout {
    --site-footer-margin-top: min(30px, 1.5625vw);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #0f0f0f;
    color: #fff;
}

body.site-shell.content-layout {
    --site-footer-margin-top: min(30px, 1.5625vw);
}

.content-layout .site-header,
.content-layout .footer-box,
.content-layout .home-mobile-footer {
    flex-shrink: 0;
}

.content-layout .download-fab,
.content-layout .floating-action {
    display: none !important;
}

.content-page {
    width: 100%;
    flex: 1 0 auto;
    padding: min(30px, 1.5625vw) 60px 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(30px, 1.5625vw);
    box-sizing: border-box;
    background: #0f0f0f;
}

.content-page.richtext-page,
.content-page.feedback-page {
    padding-bottom: 60px;
}

.content-pc,
.content-main,
.feedback-shell,
.feedback-pc {
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(30px, 1.5625vw);
    box-sizing: border-box;
}

.content-nav,
.feedback-nav {
    display: none;
}

.content-breadcrumb {
    display: flex;
    align-items: center;
    gap: min(8px, 0.416667vw);
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(14px, 0.9375vw, 18px)/1.35 "PingFang SC", "Noto Sans SC", sans-serif;
}

.content-breadcrumb a {
    color: inherit;
    text-decoration: none;
    transition: color 180ms ease;
}

.content-breadcrumb a:hover,
.content-breadcrumb a:focus-visible,
.content-breadcrumb-current {
    color: #ec237f;
}

.content-breadcrumb-sep {
    color: rgba(255, 255, 255, 0.55);
}

.content-head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: min(8px, 0.416667vw);
}

.content-title {
    margin: 0;
    color: #f5f5f5;
    font: 700 clamp(24px, 1.666667vw, 32px)/1.1875 "PingFang SC", "Noto Sans SC", sans-serif;
}

.content-subtitle {
    margin: 0;
    color: #a3a3a3;
    font: 400 clamp(12px, 0.729167vw, 14px)/1.43 "PingFang SC", "Noto Sans SC", sans-serif;
}

.content-card {
    width: 100%;
    padding: min(36px, 1.875vw);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(36px, 1.875vw);
    box-sizing: border-box;
    overflow: hidden;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: min(20px, 1.041667vw);
}

.content-section {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: min(14px, 0.729167vw);
}

.content-section-title,
.legal-heading {
    margin: 0;
    color: #f5f5f5;
    font: 700 clamp(16px, 1.041667vw, 20px)/1.3 "PingFang SC", "Noto Sans SC", sans-serif;
}

.content-section-text,
.legal-copy {
    margin: 0;
    color: #a3a3a3;
    font: 400 clamp(12px, 0.729167vw, 14px)/1.43 "PingFang SC", "Noto Sans SC", sans-serif;
}

.content-section-text--accent {
    color: #ec237f;
    font-weight: 700;
}

.content-divider {
    width: 100%;
    height: 1px;
    flex: 0 0 1px;
    background: rgba(255, 255, 255, 0.05);
}

.content-updated {
    color: #a3a3a3;
    font: 400 clamp(11px, 0.625vw, 12px)/1.5 "PingFang SC", "Noto Sans SC", sans-serif;
}

.about-contact-card {
    width: 100%;
    padding: min(36px, 1.875vw);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: min(100px, 5.208333vw);
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: min(20px, 1.041667vw);
    backdrop-filter: blur(2px);
}

.about-contact-item {
    min-width: min(120px, 6.25vw);
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: min(24px, 1.25vw);
    color: #fff;
    font: 400 clamp(16px, 1.25vw, 24px)/1.25 "PingFang SC", sans-serif;
    text-decoration: none;
}

.about-contact-icon {
    width: min(120px, 6.25vw);
    height: min(120px, 6.25vw);
    display: block;
    object-fit: contain;
}

.about-contact-label {
    color: inherit;
    text-align: center;
    word-wrap: break-word;
}

.about-contact-item:hover,
.about-contact-item:focus-visible {
    color: #ec237f;
}

.legal-article,
.content-card--faq {
    padding: min(60px, 3.125vw);
    gap: min(18px, 0.9375vw);
    border-radius: min(24px, 1.25vw);
}

.legal-copy {
    white-space: pre-line;
    color: #fff;
}

.content-faq-heading {
    margin: 0;
    color: #fff;
    font: 600 clamp(16px, 0.9375vw, 18px)/1.35 "PingFang SC", sans-serif;
}

.content-faq-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: min(8px, 0.416667vw);
}

.content-faq-q {
    color: #fff;
    font: 600 clamp(12px, 0.729167vw, 14px)/1.43 "PingFang SC", sans-serif;
}

.content-faq-a {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
}

/* Feedback form */
.feedback-page,
.feedback-shell,
.feedback-main {
    width: 100%;
}

.feedback-main,
.feedback-form {
    display: flex;
    flex-direction: column;
}

.feedback-form {
    width: 100%;
    padding: min(60px, 3.125vw) min(120px, 6.25vw);
    align-items: stretch;
    gap: min(36px, 1.875vw);
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border: 0;
    border-radius: min(60px, 3.125vw);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(2px);
}

.feedback-form-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(12px, 0.625vw);
    text-align: center;
}

.feedback-form-title {
    margin: 0;
    color: #fff;
    font: 400 clamp(18px, 1.25vw, 24px)/1.33 "PingFang SC", sans-serif;
}

.feedback-form-desc,
.feedback-note {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
}

.feedback-field {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: min(16px, 0.833333vw);
}

.feedback-field--type { order: 1; }
.feedback-field--frequency { order: 2; }
.feedback-field--network { order: 3; }
.feedback-field--device { order: 4; }
.feedback-field--device ~ .feedback-field { order: 5; }
.feedback-submit { order: 8; }
.feedback-note { order: 9; }

.feedback-label {
    margin: 0;
    color: #fff;
    font: 600 clamp(14px, 0.9375vw, 18px)/1.33 "PingFang SC", sans-serif;
}

.feedback-label span {
    color: #ec237f;
}

.feedback-panel {
    width: 100%;
    padding: min(24px, 1.25vw) min(36px, 1.875vw);
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05);
    border: 0;
    border-radius: min(24px, 1.25vw);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 8px 24px rgba(0, 0, 0, 0.12);
}

.feedback-chip-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(24px, 1.25vw);
}

.feedback-chip {
    height: min(46px, 2.395833vw);
    min-height: 0;
    padding: 0 min(24px, 1.25vw);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: min(12px, 0.625vw);
    background: transparent;
    color: #fff;
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
    cursor: pointer;
}

.feedback-chip.is-active,
.feedback-chip:hover,
.feedback-chip:focus-visible {
    color: #fff;
    background: #ec237f;
    border-color: #ec237f;
    outline: none;
}

.feedback-chip-list--equal .feedback-chip {
    flex: 1 1 0;
}

.feedback-chip-list--compact .feedback-chip {
    flex: 1 1 0;
}

.feedback-detail-panel {
    display: flex;
    flex-direction: column;
    gap: min(24px, 1.25vw);
}

.feedback-minor-label {
    color: rgba(255, 255, 255, 0.55);
    font: 500 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
}

.feedback-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(24px, 1.25vw);
}

.feedback-control {
    width: 100%;
    min-height: min(70px, 3.645833vw);
    padding: min(20px, 1.041667vw) min(24px, 1.25vw);
    box-sizing: border-box;
    color: #fff;
    caret-color: #ec237f;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: min(24px, 1.25vw);
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
}

.feedback-control::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.feedback-control:focus {
    outline: none;
    border-color: rgba(236, 35, 127, 0.7);
}

.feedback-select-control {
    appearance: none;
    -webkit-appearance: none;
    padding-right: min(56px, 2.916667vw);
    background-image: url('/static/images/tringle_down.svg');
    background-repeat: no-repeat;
    background-position: right min(24px, 1.25vw) center;
    background-size: min(12px, 0.625vw) min(12px, 0.625vw);
    cursor: pointer;
}

.feedback-select-control:has(option:checked[disabled]),
.feedback-select-control.is-placeholder,
.feedback-select-control option[disabled] {
    color: rgba(255, 255, 255, 0.55);
}

.feedback-select-control option {
    color: #fff;
    background: #1a1a1a;
}

.feedback-select-control:disabled {
    cursor: not-allowed;
}

.feedback-select-wrap {
    position: relative;
    width: 100%;
    min-width: 0;
}

.feedback-select-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    pointer-events: none;
}

.feedback-select-trigger {
    width: 100%;
    height: min(58px, 3.020833vw);
    padding: 0 min(56px, 2.916667vw) 0 min(24px, 1.25vw);
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: min(12px, 0.625vw);
    color: #fff;
    background: transparent url('/static/images/tringle_down.svg') no-repeat right min(24px, 1.25vw) center / min(12px, 0.625vw) min(12px, 0.625vw);
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.feedback-select-trigger.is-placeholder,
.feedback-select-trigger:disabled {
    color: rgba(255, 255, 255, 0.55);
}

.feedback-select-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.feedback-select-trigger:hover:not(:disabled),
.feedback-select-trigger:focus-visible,
.feedback-select-wrap.is-open .feedback-select-trigger {
    border-color: #ec237f;
    outline: none;
}

.feedback-select-wrap.is-open .feedback-select-trigger {
    background-color: #1f1f21;
}

.feedback-select-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + min(8px, 0.416667vw));
    right: 0;
    left: 0;
    max-height: min(260px, 13.541667vw);
    padding: min(8px, 0.416667vw);
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: min(12px, 0.625vw);
    background: #1f1f21;
    box-shadow: 0 min(14px, 0.729167vw) min(32px, 1.666667vw) rgba(0, 0, 0, 0.55);
}

.feedback-select-menu[hidden] {
    display: none;
}

.feedback-select-menu::-webkit-scrollbar {
    width: 5px;
}

.feedback-select-menu::-webkit-scrollbar-track {
    background: transparent;
}

.feedback-select-menu::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(236, 35, 127, 0.7);
}

.feedback-select-menu-option {
    width: 100%;
    min-height: min(42px, 2.1875vw);
    padding: min(10px, 0.520833vw) min(14px, 0.729167vw);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border: 0;
    border-radius: min(8px, 0.416667vw);
    color: rgba(255, 255, 255, 0.72);
    background: transparent;
    font: 400 clamp(12px, 0.833333vw, 16px)/1.375 "PingFang SC", sans-serif;
    text-align: left;
    cursor: pointer;
}

.feedback-select-menu-option:hover,
.feedback-select-menu-option:focus-visible {
    color: #fff;
    background: rgba(236, 35, 127, 0.18);
    outline: none;
}

.feedback-select-menu-option.is-selected {
    color: #fff;
    background: #ec237f;
}

.feedback-detail-panel .feedback-control {
    height: min(58px, 3.020833vw);
    min-height: min(58px, 3.020833vw);
    padding: 0 min(24px, 1.25vw);
    border-color: rgba(255, 255, 255, 0.1);
    border-radius: min(12px, 0.625vw);
    background-color: transparent;
}

.feedback-detail-panel .feedback-select-control {
    padding-right: min(56px, 2.916667vw);
}

.feedback-textarea-wrap {
    position: relative;
    width: 100%;
}

.feedback-control--textarea {
    height: min(323px, 16.822917vw);
    min-height: 240px;
    padding-bottom: min(54px, 2.8125vw);
    resize: vertical;
}

.feedback-counter {
    position: absolute;
    right: min(24px, 1.25vw);
    bottom: min(24px, 1.25vw);
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(11px, 0.729167vw, 14px)/1.43 "PingFang SC", sans-serif;
}

.feedback-upload-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: min(18px, 0.9375vw);
}

.feedback-upload-list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
}

.feedback-upload-list[hidden] { display: none; }

.feedback-upload-item {
    position: relative;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 12px;
}

.feedback-upload-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.feedback-upload-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, 0.72);
    cursor: pointer;
}

.feedback-upload {
    position: relative;
    width: min(300px, 15.625vw);
    height: min(300px, 15.625vw);
    min-width: 200px;
    min-height: 200px;
    padding: min(24px, 1.25vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(24px, 1.25vw);
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: min(24px, 1.25vw);
    background: rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

.feedback-upload.is-full { display: none; }

.feedback-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.feedback-upload-mark {
    width: min(60px, 3.125vw);
    height: min(60px, 3.125vw);
    display: block;
    object-fit: contain;
}

.feedback-upload-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(6px, 0.3125vw);
    color: rgba(255, 255, 255, 0.55);
    font: 400 clamp(12px, 0.729167vw, 14px)/1.5 "PingFang SC", sans-serif;
    text-align: center;
}

.feedback-upload-copy strong {
    color: #fff;
    font-size: clamp(14px, 0.833333vw, 16px);
    font-weight: 600;
}

.feedback-submit {
    width: 100%;
    height: min(58px, 3.020833vw);
    min-height: 0;
    padding: 0 min(90px, 4.6875vw);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: #ec237f;
    color: #fff;
    font: 400 clamp(14px, 0.9375vw, 18px)/1.33 "PingFang SC", sans-serif;
    cursor: pointer;
}

.feedback-submit:disabled { opacity: 0.65; cursor: wait; }
.feedback-note { text-align: center; }

/* Dynamic rich-text pages share the same shell. */
.richtext-article { gap: min(28px, 1.458333vw); }
.richtext-body {
    width: 100%;
    color: #a3a3a3;
    font: 400 clamp(12px, 0.729167vw, 14px)/1.55 "PingFang SC", sans-serif;
    overflow-wrap: anywhere;
}
.richtext-body h1, .richtext-body h2, .richtext-body h3, .richtext-body h4 { margin: 0 0 14px; color: #fff; }
.richtext-body p, .richtext-body ul, .richtext-body ol, .richtext-body table { margin: 0 0 14px; }
.richtext-body img { max-width: 100%; height: auto; }
.richtext-body a { color: #ec237f; }

@media (max-width: 767px) {
    .content-layout {
        --site-footer-margin-top: 18px;
        min-height: 100vh;
        padding-bottom: 0;
    }

    body.site-shell.content-layout {
        --site-footer-margin-top: 18px;
    }

    .content-page,
    body.is-feedback-page .content-page.feedback-page,
    body.is-richtext-page .content-page.richtext-page {
        flex: 0 0 auto;
        padding: 12px 16px 0;
        gap: 18px;
    }

    .content-pc, .content-main, .feedback-shell, .feedback-pc { width: 100%; gap: 18px; }
    .content-head { display: none; }
    .content-breadcrumb { gap: 4px; font-size: 12px; line-height: 18px; }

    .content-card {
        padding: 24px 20px;
        gap: 18px;
        border-color: rgba(255, 255, 255, 0.1);
        border-radius: 18px;
    }

    .content-section { gap: 14px; }
    .content-section-title, .legal-heading, .content-faq-heading { font-size: 16px; line-height: 22px; }
    .content-section-text, .content-updated, .legal-copy, .content-faq-a { font-size: 12px; line-height: 18px; }
    .content-section-text, .legal-copy { color: #fff; }
    .content-divider { background: rgba(255, 255, 255, 0.1); }

    .about-contact-card {
        padding: 24px 16px;
        gap: 20px 12px;
        border-color: rgba(255, 255, 255, 0.1);
        border-radius: 18px;
    }
    .about-contact-item {
        min-width: calc((100% - 24px) / 3);
        gap: 10px;
        font-size: 12px;
        line-height: 18px;
    }
    .about-contact-icon { width: 56px; height: 56px; }

    .legal-article, .content-card--faq { padding: 24px 20px; gap: 18px; border-radius: 18px; }
    .content-faq-item { gap: 8px; }
    .content-faq-q { font-size: 14px; line-height: 20px; }

    .feedback-main { width: 100%; }
    .feedback-form {
        padding: 24px 20px;
        gap: 18px;
        border-color: rgba(255, 255, 255, 0.1);
        border-radius: 18px;
    }
    .feedback-form-intro { display: none; }
    .feedback-field--type { order: 1; }
    .feedback-field--network { order: 2; }
    .feedback-field--frequency { order: 3; }
    .feedback-field--device { order: 4; }
    .feedback-field { gap: 12px; }
    .feedback-label { font-size: 14px; line-height: 20px; }
    .feedback-label--responsive-star { display: flex; }
    .feedback-label--responsive-star span { order: -1; }
    .feedback-panel { padding: 24px 18px; border-radius: 24px; }
    .feedback-chip-list { gap: 12px; }
    .feedback-chip {
        height: 42px;
        min-height: 42px;
        padding: 0 11px;
        border-radius: 12px;
        font-size: 12px;
        line-height: 18px;
    }
    .feedback-chip-list--equal .feedback-chip { flex: 1 1 calc(50% - 6px); }
    .feedback-detail-panel { gap: 12px; }
    .feedback-minor-label { font-size: 12px; line-height: 18px; }
    .feedback-grid { grid-template-columns: 1fr; gap: 12px; }
    .feedback-control {
        height: 68px;
        min-height: 68px;
        padding: 0 24px;
        border-radius: 24px;
        font-size: 12px;
        line-height: 18px;
    }
    .feedback-detail-panel .feedback-control {
        height: 42px;
        min-height: 42px;
        padding: 0 18px;
        border-radius: 12px;
    }
    .feedback-select-control {
        padding-right: 44px;
        background-position: right 18px center;
        background-size: 10px 10px;
    }
    .feedback-select-trigger {
        height: 42px;
        padding: 0 44px 0 18px;
        border-radius: 12px;
        background-position: right 18px center;
        background-size: 10px 10px;
        font-size: 12px;
        line-height: 18px;
    }
    .feedback-select-menu {
        top: calc(100% + 6px);
        max-height: 224px;
        padding: 6px;
        border-radius: 10px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.58);
    }
    .feedback-select-menu-option {
        min-height: 38px;
        padding: 9px 12px;
        border-radius: 8px;
        font-size: 12px;
        line-height: 18px;
    }
    .feedback-control--textarea {
        height: 267px;
        min-height: 267px;
        padding: 24px 24px 54px;
        border-radius: 24px;
        resize: none;
    }
    .feedback-counter { right: 24px; bottom: 24px; font-size: 12px; line-height: 18px; }
    .feedback-upload-item { width: 72px; height: 72px; }
    .feedback-upload {
        width: 160px;
        height: 160px;
        min-width: 160px;
        min-height: 160px;
        padding: 24px;
        gap: 12px;
        border-radius: 24px;
    }
    .feedback-upload-mark { width: 24px; height: 24px; }
    .feedback-upload-copy { gap: 6px; font-size: 12px; line-height: 18px; }
    .feedback-upload-copy strong { font-size: 14px; line-height: 20px; }
    .feedback-submit { height: 58px; min-height: 58px; padding: 0 20px; font-size: 16px; line-height: 22px; }
    .feedback-note { font-size: 12px; line-height: 18px; text-align: left; }
    .richtext-article { padding: 24px 20px; }
    .richtext-body { font-size: 12px; line-height: 18px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .content-page { padding: 28px 32px 0; }
    .content-page.richtext-page,
    .content-page.feedback-page { padding-bottom: 60px; }
}
