/* ============================================
   点灯蛙 Page-Specific Styles
   着陆页 / 工作台 / 支付页 / 合规页
   ============================================ */

/* === 着陆页 index.html === */
.landing-hero {
  min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: var(--space-2xl) var(--space-md); text-align: center; position: relative; overflow: hidden;
}
.landing-hero h1 { font-size: var(--text-4xl); color: var(--color-info); margin-bottom: var(--space-md); }
.landing-hero .subtitle { font-size: var(--text-lg); color: var(--color-text-secondary); margin-bottom: var(--space-xl); }
.landing-hero .hero-cta { display: flex; flex-direction: column; gap: var(--space-sm); align-items: center; margin-bottom: var(--space-xl); }
.landing-hero .hero-trial { font-size: var(--text-sm); color: var(--color-text-secondary); }
.landing-hero .hero-image { max-width: 280px; margin: 0 auto; }

.landing-section { padding: var(--space-2xl) var(--space-md); max-width: var(--max-width); margin: 0 auto; }
.landing-section h2 { text-align: center; margin-bottom: var(--space-xl); color: var(--color-primary-dark); }
.landing-section h2 .section-icon { margin-right: var(--space-sm); }

.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); }
.step-card { text-align: center; padding: var(--space-md) var(--space-sm); background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); position: relative; }
.step-card .step-num { width: 32px; height: 32px; background: var(--color-primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; margin: 0 auto var(--space-sm); }
.step-card .step-title { font-weight: 600; font-size: var(--text-sm); margin-bottom: 4px; }
.step-card .step-desc { font-size: var(--text-xs); color: var(--color-text-secondary); }
.step-arrow { display: flex; align-items: center; justify-content: center; color: var(--color-accent-dark); font-size: 20px; }

.scenario-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-sm); }
.scenario-card { padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-md); border: 1px solid var(--color-border-light); text-align: center; }
.scenario-card .scenario-icon { font-size: 28px; margin-bottom: var(--space-sm); }
.scenario-card .scenario-name { font-weight: 600; font-size: var(--text-sm); }

.pricing-grid { display: grid; gap: var(--space-md); }
.pricing-card { background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-xl); text-align: center; }
.pricing-card .plan-name { font-size: var(--text-xl); font-weight: 700; margin-bottom: var(--space-sm); }
.pricing-card .plan-price { font-size: var(--text-3xl); font-weight: 700; color: var(--color-primary); margin-bottom: var(--space-sm); }
.pricing-card .plan-price .plan-period { font-size: var(--text-sm); font-weight: 400; color: var(--color-text-secondary); }
.pricing-card .plan-features { text-align: left; margin: var(--space-md) 0; }
.pricing-card .plan-features li { padding: 6px 0; font-size: var(--text-sm); display: flex; align-items: center; gap: var(--space-sm); }
.pricing-card .plan-features li::before { content: "✓"; color: var(--color-success); font-weight: 700; }

/* === 工作台 app.html === */
.app-container { max-width: var(--max-width); margin: 0 auto; min-height: 100vh; padding-bottom: calc(var(--tabbar-height) + var(--safe-bottom) + var(--space-md)); }
.app-content { padding: var(--space-md); }

/* 诊断Tab */
.chat-area { display: flex; flex-direction: column; gap: var(--space-md); padding-bottom: var(--space-md); }
.chat-message { display: flex; gap: var(--space-sm); align-items: flex-start; }
.chat-message.user { flex-direction: row-reverse; }
.chat-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--color-primary-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 18px; }
.chat-content { flex: 1; min-width: 0; }

.stage-selector { display: flex; gap: var(--space-sm); flex-wrap: wrap; padding: var(--space-md) 0; }

.quick-questions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.quick-question { padding: 6px 14px; background: var(--color-primary-bg); color: var(--color-primary-dark); border-radius: var(--radius-full); font-size: var(--text-sm); cursor: pointer; transition: all var(--transition-fast); }
.quick-question:active { transform: scale(0.95); }

.chat-input-bar { position: sticky; bottom: 0; background: var(--color-bg); padding: var(--space-sm) 0; }
.chat-input-wrapper { display: flex; gap: var(--space-sm); align-items: flex-end; background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-sm); box-shadow: var(--shadow-sm); }
.chat-input { flex: 1; border: none; background: none; outline: none; resize: none; max-height: 100px; font-size: var(--text-sm); line-height: var(--leading-normal); padding: 8px; }
.chat-send-btn { width: 36px; height: 36px; border-radius: 50%; background: var(--color-primary); color: white; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.chat-send-btn:disabled { background: var(--color-text-tertiary); }

.quota-bar { display: flex; align-items: center; justify-content: space-between; font-size: var(--text-xs); color: var(--color-text-secondary); padding: 4px 0; }

/* 诊断结果 */
.report-section { margin-bottom: var(--space-md); }
.report-header { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); font-weight: 600; color: var(--color-info); }
.profile-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-sm); }
.profile-item { display: flex; flex-direction: column; gap: 2px; }
.profile-item .label { font-size: var(--text-xs); color: var(--color-text-secondary); }
.profile-item .value { font-size: var(--text-sm); font-weight: 500; }

/* 政策Tab */
.policy-sub-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--color-border-light); margin-bottom: var(--space-md); }
.policy-sub-tab { flex: 1; padding: var(--space-sm) 0; text-align: center; font-size: var(--text-sm); color: var(--color-text-secondary); border-bottom: 2px solid transparent; cursor: pointer; transition: all var(--transition-fast); }
.policy-sub-tab.active { color: var(--color-primary); border-bottom-color: var(--color-primary); font-weight: 600; }

.calendar-months { display: flex; gap: var(--space-xs); overflow-x: auto; padding: var(--space-sm) 0; -webkit-overflow-scrolling: touch; }
.calendar-month { padding: var(--space-xs) var(--space-md); border-radius: var(--radius-full); background: var(--color-surface-alt); font-size: var(--text-sm); white-space: nowrap; cursor: pointer; }
.calendar-month.active { background: var(--color-primary); color: white; }
.calendar-events { display: flex; flex-direction: column; gap: var(--space-sm); }
.calendar-event { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-xs); }
.calendar-event .event-date { font-weight: 600; font-size: var(--text-sm); min-width: 80px; }

.jargon-tags { display: flex; flex-wrap: wrap; gap: var(--space-sm); padding: var(--space-sm) 0; }
.jargon-tag { padding: 6px 14px; background: var(--color-accent-bg); color: var(--color-accent-dark); border-radius: var(--radius-full); font-size: var(--text-sm); cursor: pointer; }

.schoolzone-link { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-lg); background: var(--color-primary-bg); border-radius: var(--radius-lg); }
.schoolzone-link .link-icon { font-size: 32px; }
.schoolzone-link .link-text { flex: 1; }
.schoolzone-link .link-arrow { color: var(--color-primary); font-size: 20px; }

/* 我的Tab */
.user-card { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-lg); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); margin-bottom: var(--space-md); }
.user-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--color-primary-bg); display: flex; align-items: center; justify-content: center; font-size: 28px; }
.user-info { flex: 1; }
.user-info .user-name { font-weight: 600; font-size: var(--text-base); }
.user-info .user-plan { font-size: var(--text-sm); color: var(--color-text-secondary); }

.profile-edit-list { background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; }
.profile-edit-item { display: flex; justify-content: space-between; align-items: center; padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--color-border-light); }
.profile-edit-item:last-child { border-bottom: none; }
.profile-edit-item .item-label { font-size: var(--text-sm); color: var(--color-text-secondary); }
.profile-edit-item .item-value { font-size: var(--text-sm); font-weight: 500; }

.history-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.history-card { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-xs); cursor: pointer; }
.history-card .history-icon { font-size: 24px; }
.history-card .history-info { flex: 1; }
.history-card .history-title { font-size: var(--text-sm); font-weight: 500; }
.history-card .history-date { font-size: var(--text-xs); color: var(--color-text-secondary); }

/* === 支付页 pay.html === */
.pay-container { max-width: var(--max-width); margin: 0 auto; padding: var(--space-md); }
.pay-header { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-lg); }
.pay-header .back-btn { font-size: 20px; color: var(--color-text-secondary); cursor: pointer; }
.pay-card { background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-xl); margin-bottom: var(--space-md); }
.pay-card .plan-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-md); }
.pay-card .plan-name { font-size: var(--text-xl); font-weight: 700; }
.pay-card .plan-price { font-size: var(--text-3xl); font-weight: 700; color: var(--color-primary); }
.pay-card .plan-price .period { font-size: var(--text-sm); font-weight: 400; color: var(--color-text-secondary); }
.pay-card .plan-features li { padding: 6px 0; font-size: var(--text-sm); display: flex; align-items: center; gap: var(--space-sm); }
.pay-card .plan-features li::before { content: "✓"; color: var(--color-success); font-weight: 700; }

.invite-section { background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-lg); margin-bottom: var(--space-md); }
.invite-input-group { display: flex; gap: var(--space-sm); margin-top: var(--space-sm); }

/* === 合规页 === */
.compliance-container { max-width: var(--max-width); margin: 0 auto; padding: var(--space-md); }
.compliance-section { margin-bottom: var(--space-xl); }
.compliance-section h3 { color: var(--color-primary-dark); margin-bottom: var(--space-sm); }
.compliance-section p, .compliance-section li { font-size: var(--text-sm); line-height: var(--leading-relaxed); color: var(--color-text-primary); margin-bottom: var(--space-sm); }
.compliance-section ul { padding-left: var(--space-lg); list-style: disc; }

/* === 品牌故事页 about.html === */
.about-hero { text-align: center; padding: var(--space-2xl) var(--space-md); }
.about-hero h1 { color: var(--color-primary-dark); margin-bottom: var(--space-md); }
.about-content { max-width: var(--max-width); margin: 0 auto; padding: 0 var(--space-md) var(--space-2xl); }
.about-content p { margin-bottom: var(--space-md); line-height: var(--leading-relaxed); }
.about-content blockquote { border-left: 3px solid var(--color-accent); padding-left: var(--space-md); margin: var(--space-lg) 0; color: var(--color-text-secondary); font-style: italic; }

/* === Responsive === */
@media (max-width: 480px) {
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .scenario-grid { grid-template-columns: 1fr; }
  .landing-hero h1 { font-size: var(--text-3xl); }
  .profile-summary { grid-template-columns: 1fr; }
}

@media (min-width: 768px) {
  .pricing-grid { grid-template-columns: repeat(3, 1fr); }
  .scenario-grid { grid-template-columns: repeat(3, 1fr); }
}
