/* Web 适配层：保持小程序视觉，同时修正浏览器下的横向溢出 */
html, body { max-width: 100%; overflow-x: hidden; }
.app { width: 100%; }
.brand-row { min-width: 0; }
.brand-text { min-width: 0; overflow: hidden; }
.brand-name, .brand-sub { white-space: nowrap; }
.topbar-nav { flex-shrink: 0; }
.topbar-nav a { white-space: nowrap; }
.test-card, .tc-body, .tc-title, .tc-intro { min-width: 0; }
.tc-meta { flex-wrap: wrap; row-gap: 2px; }
.tc-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tc-intro { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cat-name, .cat-desc { overflow: hidden; text-overflow: ellipsis; }
.hero-copy { min-width: 0; }
.home-hero { overflow: hidden; }
.screen { width: 100%; overflow-x: hidden; }
.btn-row { display: flex; gap: 10px; margin-top: 12px; }
.btn-row .btn { flex: 1; }
.axis-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: 13px; }
.axis-name { width: 68px; flex-shrink: 0; color: #4b5563; }
.axis-bar { flex: 1; height: 8px; border-radius: 999px; background: #edf2ea; overflow: hidden; }
.axis-bar i { display: block; height: 100%; background: #5ca65b; border-radius: 999px; }
.axis-row.win .axis-name { color: #3d7f46; font-weight: 700; }
.axis-vote { width: 24px; text-align: right; color: #9ca3af; }
.result-hero { padding: 18px 4px 6px; }
.result-kicker { font-size: 12px; color: #9ca3af; letter-spacing: 2px; }
.result-title { font-size: 26px; margin: 6px 0; color: #1f2937; }
.result-teaser { color: #4b5563; margin: 0 0 8px; }
.lock-mask { color: #cbd5e1; letter-spacing: 1px; overflow: hidden; white-space: nowrap; }
.mine-list { display: flex; flex-direction: column; gap: 8px; }
.mine-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border-radius: 14px; padding: 12px 14px; }
.mi-title { font-weight: 600; font-size: 14px; }
.mi-sub { font-size: 12px; color: #9ca3af; margin-top: 2px; }
.mi-tag { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: #eaf6e4; color: #3d7f46; }
.mi-amount { font-weight: 700; color: #1f2937; }
.calc { text-align: center; padding: 60px 0; color: #6b7280; }
.calc-ring { width: 48px; height: 48px; margin: 0 auto 14px; border-radius: 50%; border: 3px solid #e5e7eb; border-top-color: #5ca65b; animation: spin 0.9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.share-box { padding: 8px 0; }
