body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
pre,
form,
fieldset,
legend,
button,
input,
textarea,
th,
td,
select {
    margin: 0;
    padding: 0;
}

body,
button,
input,
select,
textarea {
    font-size: 0.3rem;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

address,
cite,
dfn,
em,
var {
    font-style: normal;
}

code,
kbd,
pre,
samp {
    font-family: couriernew, courier, monospace;
}

small {
    font-size: 12px;
}

ul,
ol {
    list-style: none;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

legend {
    color: #000;
}

fieldset,
img {
    border: 0;
}

button,
input,
select,
textarea {
    font-size: 100%;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block;
}

input,
input[type="search"],
button,
select,
option,
textarea,
a {
    outline: none;
    border: 0;
    -webkit-appearance: none;
    border-radius: 0;
    background: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* custom */
a {
    text-decoration: none;
    -webkit-backface-visibility: hidden;
    color: #333;
}

body,
input,
textarea {
    -webkit-text-size-adjust: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-family: "PingFang SC", "STHeitiSC-Light", "Helvetica-Light", arial,
        sans-serif, "Droid Sans Fallback";
    color: #333;
}

div,
section,
header,
footer {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

input {
    line-height: normal;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.clear {
    clear: both;
    height: 0;
    line-height: 0;
    font-size: 0;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
    clear: both;
    overflow: hidden;
}

.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.con-cell {
    display: table-cell;
    height: 100%;
    vertical-align: middle;
}

.old-price {
    text-decoration: line-through;
}

.icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
}

@font-face {
    font-family: "GuildfordProBook 5";
    src: url("GuildfordProBook 5.otf");
}

[v-cloak] {
    display: none !important;
}

.iconfont {
    font-size: 0.36rem;
}

/* 一像素边框 */
@media (-webkit-min-device-pixel-ratio: 1.5),
(min-device-pixel-ratio: 1.5) {
    .border-1px::after {
        -webkit-transform: scaleY(0.7);
        -moz-transform: scaleY(0.7);
        -o-transform: scaleY(0.7);
        -ms-transform: scaleY(0.7);
        transform: scaleY(0.7);
    }

    .border-1px::before {
        -webkit-transform: scaleY(0.7);
        -moz-transform: scaleY(0.7);
        -o-transform: scaleY(0.7);
        -ms-transform: scaleY(0.7);
        transform: scaleY(0.7);
    }
}

@media (-webkit-min-device-pixel-ratio: 2),
(min-device-pixel-ratio: 2) {
    .border-1px::after {
        -webkit-transform: scaleY(0.5);
        -moz-transform: scaleY(0.5);
        -o-transform: scaleY(0.5);
        -ms-transform: scaleY(0.5);
        transform: scaleY(0.5);
    }

    .border-1px::before {
        -webkit-transform: scaleY(0.5);
        -moz-transform: scaleY(0.5);
        -o-transform: scaleY(0.5);
        -ms-transform: scaleY(0.5);
        transform: scaleY(0.5);
    }
}

@media (-webkit-min-device-pixel-ratio: 3),
(min-device-pixel-ratio: 3) {
    .border-1px::after {
        -webkit-transform: scaleY(0.33);
        -moz-transform: scaleY(0.33);
        -o-transform: scaleY(0.33);
        -ms-transform: scaleY(0.33);
        transform: scaleY(0.33);
    }

    .border-1px::before {
        -webkit-transform: scaleY(0.33);
        -moz-transform: scaleY(0.33);
        -o-transform: scaleY(0.33);
        -ms-transform: scaleY(0.33);
        transform: scaleY(0.33);
    }
}

.line1 {
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.line2 {
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mask {
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 55;
}

.yd-cityselect-nav .yd-cityselect-nav-active,
.yd-cityselect-item-box .yd-cityselect-item-active {
    color: #2c8eff !important;
}

.yd-cityselect-nav-active:after {
    background-color: #2c8eff !important;
}

/* ===== Global Interaction Feedback ===== */
/* GPU-accelerated tap feedback — pure CSS, zero JS overhead */
button, a, .btn, #footer a,
.choice-option, .module-card, .category-card, .feature-card,
.reveal-card, .group-card, .major-card, .school-card, .subject-card,
.point-item, .reveal-item, .step-reveal-item, .belonging-item,
.catalog-point, .error-word, .flow-step, .derivation-step,
.pyramid-layer, .classify-chip, .back-top, .card-link,
.match-btn, .quiz-btn, .calc-opt, .mono-btn, .compare-btn,
.trend-btn, .compare-toggle-btn, .count-btn, .tag-item,
.syllabus-btn, .syllabus-link-btn, .select-all-btn, .start-btn,
.exam-subject-item, .exam-subject-link, .header-btn,
.search-btn, .catalog-btn, .back-btn, .catalog-close {
    transition: transform 0.12s ease;
    will-change: transform;
}

button:active, a:active, .btn:active, #footer a:active,
.choice-option:active, .module-card:active, .category-card:active,
.feature-card:active, .reveal-card:active, .group-card:active,
.major-card:active, .school-card:active, .subject-card:active,
.point-item:active, .reveal-item:active, .step-reveal-item:active,
.belonging-item:active, .catalog-point:active, .error-word:active,
.flow-step:active, .derivation-step:active, .pyramid-layer:active,
.classify-chip:active, .back-top:active, .card-link:active,
.match-btn:active, .quiz-btn:active, .calc-opt:active, .mono-btn:active,
.compare-btn:active, .trend-btn:active, .compare-toggle-btn:active,
.count-btn:active, .tag-item:active, .syllabus-btn:active,
.syllabus-link-btn:active, .select-all-btn:active, .start-btn:active,
.exam-subject-item:active, .exam-subject-link:active, .header-btn:active,
.search-btn:active, .catalog-btn:active, .back-btn:active, .catalog-close:active,
.quick-main:active, .subject-item:active, .policy-item:active {
    transform: scale(0.95);
}

/* Bottom nav: slightly stronger press */
#footer a:active {
    transform: scale(0.92);
}

/* Exclude form inputs and disabled elements */
input:active, textarea:active, select:active,
[disabled]:active, .disabled:active, .btn-disabled:active {
    transform: none !important;
}