*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;line-height:1.5;color:#1f2937;-webkit-font-smoothing:antialiased;background:#f0f2f5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

:root{
    --price:#E05018;
    --tagRed:#E53935;
    --grayText:#999;
    --grayBg:#F7F8FA;
    --borderGray:#F3F4F6;
}

.mobile-wrapper{
    max-width:480px;
    margin:0 auto;
    background:#fff;
    min-height:100vh;
    padding-bottom:40px;
}
@media(min-width:769px){
    .mobile-wrapper{max-width:480px}
}

.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:#fff;
    padding:8px 8px 4px 8px;
}
.register-header{
    background:#186ce0;
    color:#fff;
    padding:12px;
    border-radius:4px;
    cursor:pointer;
}
.register-header .inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.register-header .left h1{
    font-size:18px;
    font-weight:700;
    letter-spacing:0.02em;
    display:flex;
    align-items:center;
    gap:8px;
}
.register-header .left h1 .header-icon{
    width:25px;
    height:25px;
    vertical-align:middle;
    margin-right:-2px;
}
.register-header .left p{
    font-size:11px;
    margin-top:4px;
    opacity:0.9;
}
.register-header .reg-btn{
    background:#fff;
    color:#186ce0;
    font-size:12px;
    font-weight:700;
    padding:6px 12px;
    border-radius:2px;
    display:flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
}
.register-header .reg-btn .arrow{
    font-size:10px;
}

.product-section{
    padding:12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.item-card{
    background:#fff;
    border:1px solid #eee;
    border-radius:4px;
    padding:12px;
    cursor:pointer;
    position:relative;
    transition:box-shadow 0.15s;
}
.item-card:hover{
    box-shadow:0 1px 8px rgba(0,0,0,0.06);
}
.item-card .badge{
    position:absolute;
    top:0;
    right:0;
    background:var(--tagRed);
    color:#fff;
    font-size:10px;
    font-weight:600;
    padding:2px 5px;
    border-bottom-left-radius:2px;
}
.badge-img{
    position:absolute;
    top:0;
    right:0;
    height:15px;
    width:auto;
    z-index:2;
}
.index-icon{
    width:16px;
    height:16px;
    vertical-align:middle;
    position:relative;
    top:-1px;
    margin-right:-2px;
}
.item-card .card-top{
    display:flex;
    align-items:center;
    gap:8px;
}
.item-card .card-top .card-img{
    width:36px;
    height:36px;
    flex-shrink:0;
    border-radius:4px;
    object-fit:cover;
}
.item-card .card-top .card-img.round{
    border-radius:50%;
}
.item-card .card-top .card-img.r8{
    border-radius:8px;
}
.item-card .card-top .card-info{
    flex:1;
    overflow:hidden;
}
.item-card .card-top .card-info h2{
    font-size:13px;
    font-weight:600;
    color:#111827;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.item-card .card-top .card-info .price{
    font-size:18px;
    font-weight:700;
    color:var(--price);
    line-height:1.25;
    margin-top:-2px;
}
.item-card .card-top .card-info .price span{
    font-size:10px;
    font-weight:400;
}
.item-card .dashed-line{
    border-top:1px dashed #e5e7eb;
    margin:8px 0;
}
.item-card .card-meta{
    font-size:10px;
    color:var(--grayText);
    margin-bottom:8px;
}
.item-card .card-meta p{
    line-height:1.6;
}
.item-card .card-footer{
    background:var(--grayBg);
    border-radius:2px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:6px 0;
    font-size:10px;
    color:#6b7280;
    gap:4px;
}
.item-card .card-footer .trophy-icon{
    width:14px;
    height:14px;
    vertical-align:middle;
}
.item-card .card-footer .highlight{
    color:var(--tagRed);
    margin-left:4px;
}

.info-section{
    padding:0 16px;
    margin-top:16px;
}
.info-section h2{
    font-size:14px;
    font-weight:700;
    color:#1f2937;
    margin-bottom:8px;
}
.info-section p{
    font-size:12px;
    color:#6b7280;
    line-height:1.65;
    margin-bottom:8px;
}
.info-section ul{
    font-size:12px;
    color:#6b7280;
    line-height:1.65;
    margin-bottom:8px;
    padding-left:16px;
}
.info-section ul li{
    list-style-type:disc;
    margin-bottom:4px;
}
.info-section ul li strong{
    color:#374151;
}

.faq-section{
    padding:0 16px;
    margin-top:24px;
}
.faq-section h2{
    font-size:14px;
    font-weight:700;
    color:#1f2937;
    margin-bottom:12px;
}
.faq-item{
    border:1px solid var(--borderGray);
    border-radius:4px;
    margin-bottom:8px;
    overflow:hidden;
}
.faq-summary{
    padding:12px;
    font-size:12px;
    font-weight:600;
    color:#374151;
    cursor:pointer;
    background:var(--grayBg);
    border-radius:4px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    user-select:none;
}
.faq-summary::after{
    content:'\203A';
    font-size:16px;
    color:#9ca3af;
    transition:transform 0.2s;
    flex-shrink:0;
    margin-left:8px;
}
.faq-item.open .faq-summary::after{
    transform:rotate(90deg);
}
.faq-item .faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.3s ease, padding 0.3s ease;
}
.faq-item.open .faq-answer{
    max-height:300px;
    padding:12px;
}
.faq-item .faq-answer p{
    font-size:12px;
    color:#6b7280;
    line-height:1.65;
}
.faq-item .faq-answer strong{
    color:#374151;
}

.site-footer{
    text-align:center;
    margin-top:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    opacity:0.8;
}
.site-footer .deco{
    display:inline-block;
    width:24px;
    height:1px;
    background:#ccc;
}
.site-footer span{
    color:var(--grayText);
    font-size:13px;
    letter-spacing:0.1em;
}

@media(min-width:769px){
    body{background:#e8eaed}
    .mobile-wrapper{
        margin:20px auto;
        border-radius:16px;
        box-shadow:0 4px 24px rgba(0,0,0,0.12);
    }
}