:root {
    --brand-primary: #D9A7B0; /* 主色调 - 柔和粉 */
    --brand-secondary: #B48A92; /* 辅助色 */
    --brand-dark: #593F44;     /* 深色文本/Logo */
    --success-color: #00BFA5;  /* 成功色 - 蒂芙尼绿 */
    --fail-color: #F47C7C;      /* 失败色 - 柔和红 */
    --bg-light: #FEF8F8;      /* 背景-极浅粉 */
    --bg-white: #FFFFFF;
    --border-color: #EAE0E2;
    --text-primary: #333333;
    --text-secondary: #888888;
    --font-body: 'Noto Sans SC', sans-serif;
    --font-heading: 'Poppins', sans-serif;
}
* {
    outline: none;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; 
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body, html {
	width: 100%;
	height: 100%;
	-webkit-tap-highlight-color: transparent;
	-webkit-overflow-scrolling: touch;
}
body, header, div, ul, li, p, a, span, form, input, textarea, button {
	margin: 0;
	padding: 0;
}
body {
    max-width: 750px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0 auto;
    background-color: #f0f2f5;
	background: url(../images/bg.jpg) center no-repeat;
	background-size: cover;
}
a {
    color: #333;
    background: transparent;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
a:active, a:hover {
    outline: 0;
}
ul {
    list-style: none;
}
strong {
    font-weight: bold;
}
em,i {
    font-style: normal;
}
input::-webkit-input-placeholder,
input::-moz-placeholder,
input:-moz-placeholder, 
input:-ms-input-placeholder {
	color: #999;
}
input, select, textarea, button {
    font: inherit;
    color: inherit;
    border: none;
    border-radius: 0;
    background-color: transparent;
    -webkit-appearance: none;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    height: auto;
}
button:focus {
    opacity: 0.8;
    filter: alpha(opacity=80);
}
.phone-simulator {
    width: 100%;
    height: 100%;
    /*background-color: #fff;*/
    position: relative;
    overflow: hidden;
}
/* 页面核心布局模型 */
.page {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
}
.page.hidden {
    opacity: 0;
    transform: scale(0.98);
    pointer-events: none;
}
.page-header {
    padding: 40px 30px 0 30px;
    flex-shrink: 0;
}
.page-content {
    flex-grow: 1;
    padding: 20px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow-y: auto;
    -ms-overflow-style: none; scrollbar-width: none;
}
.page-content::-webkit-scrollbar { display: none; }
.page-content.align-top {
    justify-content: flex-start;
}
.page-footer {
    padding: 20px 30px;
    flex-shrink: 0;
    font-family: var(--font-heading);
    font-size: 14px;
    color: #C4B6B8;
}
/* --- 通用组件样式 --- */
.logo img { height: 46px; }
/*.logo { font-family: var(--font-heading); font-size: 28px; font-weight: 700; color: var(--brand-dark); margin-bottom: 10px; }*/
/*.logo span { font-weight: 400; opacity: 0.7; }*/
.title { font-family: var(--font-body); font-size: 20px; font-weight: 500; color: #fff; margin-bottom: 20px; }
/* --- 查询页面 --- */
#query-page .input-wrapper { margin-bottom: 25px; }
.query-input {
    width: 100%;
    padding: 18px 20px;
    font-family: var(--font-heading);
    font-size: 16px;
    text-align: center;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background-color: var(--bg-light);
    transition: all 0.3s;
}
.query-input::placeholder { color: #cccccc; }
.query-input:focus {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 4px rgba(217, 167, 176, 0.3);
}
.query-button {
    width: 100%; padding: 18px; font-family: var(--font-body); font-size: 18px; font-weight: 500;
    color: var(--bg-white); background: linear-gradient(135deg, var(--brand-secondary), var(--brand-primary));
    border: none; border-radius: 12px; cursor: pointer;
    box-shadow: 0 5px 15px rgba(217, 167, 176, 0.4);
    transition: all 0.3s;
}
.query-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(217, 167, 176, 0.5);
}

/* --- 结果页面 --- */
.result-icon { font-size: 72px; line-height: 1; margin-bottom: 15px; }
.result-title { font-family: var(--font-body); font-size: 22px; font-weight: 700; margin-bottom: 30px; }
.back-button {
    background: none;
    border: none;
    /*color: var(--text-secondary);*/
    color: #fff;
    font-family: var(--font-body); font-size: 16px; cursor: pointer;
    margin-top: 30px; padding: 10px;
}
.back-button:hover { color: var(--brand-primary); }

/* 成功页 */
#success-page .result-icon, #success-page .result-title { color: #fff; }
/*#success-page .result-icon, #success-page .result-title { color: var(--success-color); }*/
.result-info {
    background-color: var(--bg-white); border-radius: 16px; padding: 25px; text-align: left;
    font-family: var(--font-body); font-size: 15px; line-height: 2; color: var(--text-primary);
    border: 1px solid var(--border-color); margin-bottom: 25px;
}
.result-info p { margin: 8px 0; display: flex; justify-content: space-between; align-items: flex-start; }
.result-info span { color: var(--text-secondary); flex-shrink: 0; margin-right: 15px; }
.result-info strong { font-weight: 500; word-break: break-all; text-align: right; }

/* 通用提醒/警示框 */
.important-reminder, .risk-warning { padding: 20px; border-radius: 12px; text-align: left; font-family: var(--font-body); }
.important-reminder { background-color: #FFFBEB; border: 1px dashed #FEEBAA; }
.risk-warning { background-color: #fcebeb; border: 1px solid var(--fail-color); }
.alert-title { font-weight: 700; text-align: center; margin-bottom: 10px; }
.important-reminder .alert-title { color: #B47409; }
.risk-warning .alert-title { color: #9B2D2D; }
.alert-content { font-size: 14px; line-height: 1.8; }
.important-reminder .alert-content { color: #795C1E; }
.risk-warning .alert-content { color: #9B2D2D; font-weight: 500; }

/* 失败页 */
/*#fail-page .result-icon, #fail-page .result-title { color: var(--fail-color); }*/
#fail-page .result-icon, #fail-page .result-title { color: #ff4949; }
.fail-reasons {
    font-family: var(--font-body);
    text-align: left;
    /*color: var(--text-secondary);*/
    color: #fff;
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 30px;
}