/* 页面组合层：共享控件和色板均来自 common / tokens。 */
.site-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: var(--site-carbon); border-radius: var(--site-radius); }
.site-video-section > h2 { text-align: center; }
.site-why-copy { display: grid; gap: 30px; margin-block-start: 40px; }
.site-research-list { display: grid; gap: 30px; margin-block-start: 40px; }
.site-feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.site-feedback { display: flex; flex-direction: column; }
.site-feedback figcaption { display: grid; gap: 2px; }
.site-feedback figcaption strong { color: var(--site-warm-250); font-size: 18px; line-height: 25px; font-weight: 500; }
.site-feedback figcaption span { font-size: 14px; line-height: 20px; color: var(--site-warm-240); }
.site-feedback blockquote { color: var(--site-warm-220); font-size: 14px; line-height: 20px; margin-block-start: 10px; min-height: 80px; flex: 1; }
.site-stars { display: flex; gap: 4px; margin-block-start: 20px; }
.site-stars img { display: block; width: 16px; height: 16px; }
.site-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.site-capabilities article { display: grid; grid-template-rows: minmax(72px, auto) 1fr; align-content: start; gap: 10px; min-height: 260px; padding: 20px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: var(--site-radius); }
.site-capabilities h3 { font-size: 18px; line-height: 24px; font-weight: 500; }
.site-capabilities p { font-size: 14px; line-height: 20px; }
.site-stack > header.site-maya-heading { display: block; }
.site-maya-heading h2 { margin-block-end: 20px; }
.site-intake-card { width: 100%; min-height: 240px; padding: 40px; background: var(--site-surface); border-radius: var(--site-radius); align-content: center; }
.site-intake-card .site-brand-form { height: 40px; margin-block-start: 30px; }
.site-steps { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; }
.site-steps li { padding-block-start: 24px; border-block-start: 1px solid var(--site-line); font-size: 14px; line-height: 20px; }
.site-steps h3 { margin-block-end: 10px; font-size: 16px; line-height: 24px; }
.site-steps p { font-weight: 400; }
.site-reports { display: grid; gap: 20px; }
.site-report { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 20px; min-height: 220px; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 20px; background: var(--site-surface); }
.site-report-copy { min-width: 0; }
.site-report h2 { font-size: 40px; line-height: 48px; color: var(--site-teal); }
.site-report header p { color: var(--site-warm-220); font-size: 14px; line-height: 20px; }
.site-report-copy > p { color: var(--site-warm-240); font-size: 14px; line-height: 20px; margin-block: 20px; }
.site-report-button { display: inline-flex; align-items: center; justify-content: center; width: min(180px, 100%); min-height: 32px; padding: 6px 12px; border-radius: var(--site-radius); font-size: 14px; line-height: 20px; text-decoration: none; background: var(--site-surface-hover); color: var(--site-text); }
.site-report-button:hover { background: var(--site-teal); color: var(--site-black); }
.site-score { display: grid; align-content: start; justify-items: end; gap: 2px; font-family: var(--site-font-data); }
.site-score p { display: flex; align-items: baseline; white-space: nowrap; }
.site-score strong { font-size: 40px; line-height: 48px; font-weight: 500; color: var(--site-teal); }
.site-score p > span { color: var(--site-warm-220); font-size: 20px; line-height: 28px; }
.site-score > span { color: var(--site-warm-220); font-size: 12px; line-height: 17px; white-space: nowrap; }
.site-faqs details { border-block-start: 1px solid var(--site-line); }
.site-faqs details:last-child { border-block-end: 1px solid var(--site-line); }
.site-faqs summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; cursor: pointer; min-height: 64px; list-style: none; font-size: 16px; line-height: 24px; font-weight: 500; }
.site-faqs summary::-webkit-details-marker { display: none; }
.site-faq-arrow { width: 32px; height: 32px; stroke-width: .8; flex-shrink: 0; color: var(--site-warm-240); }
.site-faqs details[open] .site-faq-arrow { transform: rotate(180deg); }
.site-faqs details[open] summary { background: linear-gradient(var(--site-surface), var(--site-surface)) center / 100% 36px no-repeat; }
.site-faq-answer { padding: 10px 20px 32px; color: var(--site-warm-220); font-size: 14px; line-height: 20px; }
.site-faq-answer:empty { padding: 0; }
[data-site-page="pricing"] .site-page-heading { margin-block-end: 40px; }
.site-pricing-intro { max-width: 820px; line-height: 30px; }
.site-pricing-intro a { display: inline-block; white-space: nowrap; text-decoration: none; }
.site-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.site-plan { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 540px; padding: 20px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-size: 14px; line-height: 24px; font-weight: 400; }
.site-plan-featured { border-color: var(--site-input-line); }
.site-plan:hover { border-color: var(--site-input-line); background: var(--site-surface-hover); }
.site-plan header { display: grid; gap: 2px; min-height: 74px; padding-block-end: 20px; border-block-end: 1px solid var(--site-line); }
.site-plan h3, .site-plan h2 { color: var(--site-white); font-size: 24px; line-height: 32px; letter-spacing: 0; }
.site-plan header p { color: var(--site-blue-190); font-size: 14px; line-height: 20px; font-weight: 400; }
.site-plan-badge { font-weight: 600; position: absolute; inset: 8px 8px auto auto; font-size: 12px; line-height: 18px; padding: 1px 12px; border-radius: 6px; background: var(--site-blue-160); color: var(--site-white); }
.site-price { font-family: var(--site-font-data); font-size: 28px; font-weight: 600; line-height: 40px; margin-block: 10px; }
.site-price small { font-size: 18px; font-weight: 400; }
.site-plan-included, .site-plan-detail { color: var(--site-warm-240); font-weight: 400; }
.site-plan-points, .site-plan-notes, .site-plan-addons { margin: 0; padding-inline-start: 20px; }
.site-plan-notes, .site-plan-addons { margin-block-start: 24px; }
.site-plan-points li, .site-plan-notes li, .site-plan-detail li { font-size: 14px; line-height: 24px; font-weight: 400; }
.site-plan-tax { margin-block: auto 20px; padding-block-start: 24px; color: var(--site-blue-190); text-align: center; }
.site-plan > .site-button { margin-block-start: auto; min-height: 40px; padding-block: 8px; line-height: 22px; font-weight: 600; }
.site-plan-tax + .site-button { margin-block-start: 0; }
.site-plan-detail { position: relative; margin-block-start: 20px; padding-block-start: 20px; }
.site-plan-detail::before { content: ""; position: absolute; inset: 0 10px auto; border-block-start: 1px solid var(--site-blue-130); }
.site-plan:is(:hover, :focus-within) header { border-block-end-color: var(--site-blue-160); }
.site-plan:is(:hover, :focus-within) .site-plan-detail::before { border-block-start-color: var(--site-blue-160); }
.site-plan-detail h3 { color: var(--site-blue-190); font-size: 14px; line-height: 20px; font-weight: 400; }
.site-plan-detail ul { padding-inline-start: 20px; margin-block: 10px 0; }
[data-site-page=pricing] .site-plan > .site-button,
.site-comparison-actions .site-button { background: var(--site-warm-240); color: var(--site-black); }
[data-site-page=pricing] .site-plan > .site-button-accent,
.site-comparison-actions .site-button-accent { color: var(--site-orange); }
[data-site-page=pricing] .site-plan > .site-button:hover,
.site-comparison-actions .site-button:hover { background: var(--site-white); }
.site-plans-detail .site-plan { min-height: 0; }
.site-plans-detail .site-plan-included { min-height: 0; }
@media (min-width: 760px) {
  .site-plans-detail .site-plan { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 0; }
  .site-plans-detail .site-plan > header { grid-row: 1; }
  .site-plans-detail .site-price { grid-row: 2; }
  .site-plans-detail .site-plan-included { grid-row: 3; }
  .site-plans-detail .site-plan-detail { grid-row: 4; }
  .site-plans-detail .site-plan-tax { grid-row: 5; }
  .site-plans-detail .site-plan > .site-button { grid-row: 6; }
}
.site-plan-pitch { margin-block-end: 20px; }
.site-comparison { margin-block-start: 80px; display: grid; gap: 28px; }
.site-comparison h2 { font-size: 24px; }
.site-table-scroll { position: relative; max-width: 100%; overflow-x: auto; }
.site-comparison table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14px; }
.site-comparison th, .site-comparison td { padding: 16px 12px; border-block-end: 1px solid var(--site-line); text-align: center; }
.site-comparison th:first-child { width: 64%; text-align: start; font-weight: 400; }
.site-comparison thead th, .site-comparison thead th:first-child { color: var(--site-warm-250); font-weight: 600; }
.site-comparison thead th:first-child { color: var(--site-teal); }
.site-comparison td { color: var(--site-teal-light); }
.site-comparison tr { background: var(--site-blue-100); }
.site-comparison tr:hover { background: var(--site-blue-110); }
.site-comparison-price { color: var(--site-warm-250); display: block; font-size: 12px; font-weight: 400; }
.site-comparison-band th { color: var(--site-blue-190); font-size: 14px; font-weight: 400; }
.site-comparison tbody tr:not(.site-comparison-band) th { padding-inline-start: 32px; }
.site-comparison-check { display: inline-block; width: 20px; height: 20px; vertical-align: middle; }
.site-comparison tfoot td { color: var(--site-warm-250); }
.site-comparison .site-comparison-actions a { font-size: 14px; line-height: 16px; font-weight: 600; padding: 12px 8px; width: 100%; min-height: 50px; }
.site-purchase-grid { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); align-items: start; gap: 20px; }
.site-purchase-modes, .site-purchase-summary { border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 20px; }
.site-purchase-modes { background: var(--site-surface); display: grid; gap: 20px; }
.site-purchase-modes h2 { text-align: center; font-size: 20px; }
.site-mode-options { display: grid; gap: 20px; }
.site-mode-options button { display: grid; gap: 10px; padding: 16px; color: var(--site-text); background: transparent; border: 1px solid var(--site-blue-160); text-align: start; font-size: 16px; }
.site-mode-options button span { color: var(--site-muted); font-weight: 400; font-size: 14px; }
.site-mode-options button strong { font-weight: 600; }
.site-mode-options button.on { border-color: var(--site-teal); outline: 2px solid var(--site-teal); outline-offset: -2px; }
.site-mode-options button:hover { background: var(--site-surface-hover); color: var(--site-text); }
.site-mode-options button:disabled { opacity: 1; cursor: not-allowed; }
.site-mode-options button:disabled strong { color: var(--site-muted); }
.site-purchase-summary { display: grid; gap: 24px; }
.site-purchase-summary > section { min-width: 0; }
.checkout-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; min-height: 68px; }
.checkout-offer, .checkout-addon-option { position: relative; display: flex; flex-direction: column; align-items: start; justify-content: center; gap: 4px; min-width: 0; padding: 12px; background: transparent; color: var(--site-text); border: 1px solid var(--site-input-line); text-align: start; font-size: 16px; }
.checkout-offer.selected, .checkout-addon-option.selected { box-shadow: inset 0 0 0 1px var(--site-teal); border-color: var(--site-teal); }
.checkout-offer:hover:not(:disabled), .checkout-addon-option:hover:not(:disabled) { background: var(--site-surface); color: var(--site-text); }
.offer-cycle, .checkout-addon-option span { font-size: 13px; font-weight: 400; color: var(--site-muted); }
.checkout-choice-check { position: absolute; inset: 50% 12px auto auto; transform: translateY(-50%); width: 22px; height: 22px; }
.offer-price { padding-inline-end: 24px; font-weight: 600; }
.site-purchase-addon h2 { font-size: 14px; font-weight: 400; text-align: center; margin-block: 12px 20px; letter-spacing: 0; }
.checkout-addon-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)); gap: 10px; }
.site-purchase-addon > p { margin-block-start: 12px; }
.site-total { border-block-start: 1px solid var(--site-line); padding-block-start: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-total strong { font-size: 22px; font-weight: 600; color: var(--site-teal-light); }
.site-definition-list { display: grid; gap: 12px; padding-block: 20px; border-block-start: 1px solid var(--site-line); font-size: 14px; }
.site-definition-list > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 20px; }
.site-definition-list dt { color: var(--site-muted); }
.site-definition-list dd { overflow-wrap: anywhere; }
.site-effective { border: 0; margin: 0; padding: 0; }
.site-effective label { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 13px; }
.site-effective label, #checkout-effective-locked-text { color: var(--site-blue-190); font-size: 12px; line-height: 20px; font-weight: 400; }
#checkout-upgrade-preview-title { font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: 0; }
#checkout-submit { justify-self: center; min-width: min(100%, 240px); background: #F5F0EB; }
#checkout-submit:hover:not(:disabled) { background: #FFFFFF; }
#checkout-error:empty, #checkout-state:empty { display: none; }
.site-back { display: inline-flex; align-items: center; min-height: 44px; margin-block-end: 24px; text-decoration: none; }
.site-result { min-height: 75svh; display: grid; justify-items: center; align-content: center; gap: 32px; text-align: center; }
.site-checkout-nav .site-back { margin: 0; padding: 0; gap: 4px; color: var(--site-text); border: 0; font-weight: 400; }
.site-frame:has(.site-result) { padding-inline-start: 0; }
.site-page.site-result { min-height: 100svh; padding-block: 64px; gap: 0; }
.site-payment-result { display: flex; flex-direction: column; align-items: center; width: min(600px, 100%); min-height: 300px; padding: 39px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-family: var(--site-font-result-button, var(--site-font-body)); }
.site-payment-result > .site-outcome { width: 100%; margin: 0; }
.site-payment-result .checkout-result-icon { display: block; width: 80px; height: 80px; margin: 0 auto 10px; }
.site-payment-result .site-outcome h2 { max-width: 440px; margin: 0 auto; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: 0; }
.site-payment-result > .site-actions, .site-payment-result > .site-button { margin-block-start: auto; }
.site-payment-result .site-button { width: 160px; min-height: 40px; padding: 9px 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--site-black); background: var(--site-warm-240); }
.site-payment-result .site-button:hover { background: var(--site-white); color: var(--site-black); }
#checkout-result-retry { background: var(--site-teal); }
#checkout-result-retry:hover { background: var(--site-teal-light); color: var(--site-black); }
.site-outcome { text-align: center; }
.site-outcome > * + * { margin-block-start: 24px; }
.site-outcome h2, .site-outcome h1 { font-size: 24px; }
.site-outcome img { object-fit: contain; }
.site-spinner { display: inline-block; width: 44px; height: 44px; border: 3px solid var(--site-line); border-block-start-color: var(--site-teal); border-radius: 50%; animation: site-spin 1s linear infinite; }
@keyframes site-spin { to { transform: rotate(360deg); } }
.site-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-block-start: 40px; }
.site-field { display: grid; align-content: start; gap: 0; }
/* 仅给表单自身的内容留间距，避免 LastPass 的零高度注入节点产生额外网格间距。 */
.site-field > input, .site-field > textarea, .site-field > .site-field-error { margin-block-start: 10px; }
.site-field label { font-size: 12px; line-height: 17px; font-weight: 400; }
.site-field input:not([type=checkbox]), .site-field textarea { height: 40px; min-height: 40px; padding: 8px 10px; border-color: var(--site-line); font-weight: 400; }
.site-field input::placeholder, .site-field textarea::placeholder { color: var(--site-placeholder); }
.site-field input:focus, .site-field textarea:focus { border-color: var(--site-teal); background: var(--site-surface-hover); }
.site-field input:not(:placeholder-shown) { font-weight: 600; }
.site-field input:focus { font-weight: 400; }
.site-contact-form input:not(:placeholder-shown), .site-contact-form textarea { font-weight: 400; }
.site-field textarea { resize: vertical; height: 160px; }
.site-field-wide { grid-column: 1 / -1; }
.site-contact-form > button { justify-self: start; margin-block-start: 20px; min-height: 40px; min-width: 140px; padding-block: 8px; font-size: 14px; font-weight: 600; }
.site-field-error { font-size: 13px; }
#contact-form-state > header { display: grid; gap: 20px; }
.site-dialog.site-contact-result { width: min(600px, calc(100vw - 40px)); height: 300px; padding: 39px 40px; background: var(--site-surface); border: 1px solid var(--site-line); }
.site-contact-result[open] { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.site-contact-result::backdrop { background: transparent; }
.site-contact-result .site-contact-result-copy { margin: 0; }
.site-contact-result .site-contact-result-icon { width: 80px; height: 80px; flex-shrink: 0; margin: 0 0 10px; }
.site-contact-result h2, .site-contact-result p { font-size: 16px; font-weight: 400; line-height: 22px; margin: 0; }
.site-contact-result button { width: 140px; min-height: 40px; height: 40px; flex-shrink: 0; margin-block-start: 46px; padding-block: 8px; font-family: var(--site-font-result-button, var(--site-font-body)); font-size: 14px; line-height: 20px; letter-spacing: 0; font-weight: 600; color: var(--site-black); }
body:has(.site-contact-result[open]) .site-portrait,
body:has(.site-contact-result[open]) .site-portrait *,
body:has(.site-contact-result[open]) > .site-footer { visibility: hidden; }
.site-login { min-height: 100svh; display: grid; align-content: center; padding-block: 96px; }
.site-login-methods { display: grid; grid-template-columns: minmax(0, 360px) 80px minmax(0, 360px); align-items: stretch; gap: 0; max-width: 800px; margin-block: 60px 0; }
.site-login-method { min-width: 0; min-height: 220px; height: 220px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 0; padding: 39px 59px; border: 1px solid var(--site-line); border-radius: var(--site-radius); text-align: center; }
.site-login-google { background: var(--site-surface); }
.site-login-email { background: transparent; }
.site-login-google > p { min-height: 44px; font-size: 16px; line-height: 22px; }
.site-login-method form { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 48px 48px; gap: 44px; padding-block-start: 0; text-align: start; }
/* Password-manager decorations belong to the field, not the form's row spacing. */
.site-login-email-field { position: relative; grid-area: 1 / 1; min-width: 0; height: 48px; }
.site-login-method form > button { grid-area: 2 / 1; }
.site-login-method input { height: 48px; min-height: 48px; padding: 12px 15px; font-weight: 400; }
.site-login-method input:focus { background: var(--site-surface-hover); border-color: var(--site-teal); }
.site-login-method input::placeholder { font-weight: 400; }
.site-login-method button { width: 100%; min-height: 48px; height: 48px; padding: 12px 8px; font-size: 14px; line-height: 20px; font-weight: 500; }
.site-login-method #gbtn { display: flex; align-items: center; justify-content: center; gap: 10px; margin-block-start: auto; }
.site-login-or { align-self: center; justify-self: center; color: var(--site-muted); font-size: 18px; }
.site-login-hint { margin-block-start: 80px; font-size: 14px; line-height: 20px; }
.site-login-legal { color: var(--site-muted); font-size: 14px; line-height: 20px; }
.site-login h1 + .site-lead { margin-block-start: 20px; }
#login-card.is-sent #login-panel { display: none; }
.site-login #login-sent { width: min(600px, 100%); min-height: 300px; padding: 39px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); font-family: var(--site-font-result-button, var(--site-font-body)); }
.site-login #login-sent .site-login-sent-icon { display: block; width: 80px; height: 80px; margin: 0 auto 10px; }
.site-login #login-sent h2 { margin: 0; font-size: 16px; line-height: 22px; font-weight: 400; letter-spacing: 0; }
.site-login #login-sent-title:focus { outline: none; }
.site-login #login-sent p { margin-block-start: 10px; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--site-warm-220); overflow-wrap: anywhere; }
.site-login #login-sent b { font-weight: inherit; }
#login-card.is-sent { min-height: 0; display: grid; place-items: center; }
.site-frame:has(#login-card.is-sent) { padding-inline-start: 0; }
.site-legal { display: grid; grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr); align-items: start; gap: 48px; }
.site-legal-content { min-width: 0; }
.legal-sidebar { position: sticky; inset-block-start: calc(var(--site-header-height) + 24px); padding-block-start: 20px; border-block-start: 1px solid var(--site-line); }
.legal-sidebar nav { display: grid; gap: 8px; }
.legal-sidebar a { position: relative; display: block; padding: 12px; border-inline-start: 4px solid transparent; text-decoration: none; font-size: 14px; }
.legal-sidebar [aria-current]::before { content: ""; position: absolute; inset-inline-start: -4px; top: 50%; width: 4px; height: 1em; border-radius: 2px; transform: translateY(-50%); background: var(--site-teal); }
.site-legal .site-prose { display: block; }
.site-prose h1 { margin-block-end: 24px; }
.site-prose h2 { font-size: 20px; margin-block: 48px 16px; }
.site-prose h3 { font-size: 18px; margin-block: 28px 12px; }
.site-prose p, .site-prose ul, .site-prose ol { margin-block-end: 20px; }
.site-prose table { display: block; max-width: 100%; overflow-x: auto; }
.site-legal .meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 24px 28px; }
.site-legal .meta .pill { margin: 0; padding: 12px 14px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: 10px; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.site-legal .pill b { display: block; margin-block-end: 4px; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--site-muted); }
.pricing-test-option { display: grid; gap: 16px; padding-block: 20px; border-block-end: 1px solid var(--site-line); }
.pricing-test-option-price { font-size: 24px; }
@media (max-width: 1099px) {
  .site-video { max-height: none; }
  .site-plans { gap: 16px; }
  .site-legal { gap: 28px; }
}
@media (max-width: 759px) {
  .site-plans, .site-steps, .site-feedback-grid, .site-purchase-grid, .site-contact-form, .site-legal { grid-template-columns: minmax(0, 1fr); }
  .site-plans { gap: 24px; }
  .site-plan { padding: 24px; }
  .site-plan > .site-button { margin-block-start: 12px; }
  .site-plan-tax + .site-button { margin-block-start: 0; }
  .site-pricing-summary .site-plan > .site-button { margin-block-start: auto; }
  .site-pricing-summary .site-plan-tax + .site-button { margin-block-start: 0; }
  .site-plan-detail::before { inset-inline: 6px; }
  .site-plan-badge { margin: 0; }
  .site-capabilities { grid-template-columns: minmax(0, 1fr); }
  .site-capabilities article { min-height: 0; grid-template-rows: auto auto; }
  .site-intake-card { padding: 28px; }
  .site-plans-detail .site-plan { min-height: 0; }
  .site-plans-detail .site-plan-included { min-height: 0; }
  .site-report { grid-template-columns: minmax(0, 1fr) 90px; gap: 12px; }
  .site-report h2 { font-size: 28px; line-height: 36px; }
  .site-legal .meta { grid-template-columns: minmax(0, 1fr); }
  .site-comparison { margin-block-start: 48px; }
  .site-login-methods { grid-template-columns: minmax(0, 360px); margin-block-start: 32px; gap: 20px; }
  .site-login-method { padding: 32px 40px 40px; height: auto; }
  .site-login-or { line-height: 1; }
  .site-purchase-modes, .site-purchase-summary { padding: 16px; }
  .site-mode-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .site-mode-options button { padding: 12px; }
  .site-mode-options button span { font-size: 13px; }
  .checkout-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkout-addon-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-definition-list > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  #checkout-submit { width: 100%; }
  .legal-sidebar { position: static; grid-row: 1; }
  .legal-sidebar nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .legal-sidebar a { padding: 8px; border-inline-start: 0; border-block-end: 3px solid transparent; }
  .legal-sidebar [aria-current] { border-color: var(--site-teal); }
  .legal-sidebar [aria-current]::before { display: none; }
  .site-score strong { font-size: 32px; }
  .site-report { padding: 20px; }
}
/* 浅色悬停面上的小字使用正文色，保持 4.5:1。 */
.site-mode-options button:hover span { color: var(--site-text); }

.site-field input:focus::placeholder, .site-field input:hover::placeholder, .site-field textarea:focus::placeholder, .site-field textarea:hover::placeholder, .site-login-method input:is(:hover, :focus)::placeholder { color: var(--site-placeholder); }
