.checkout-consent { margin:5px 0 1px; padding:13px 14px; border:1px solid #e1e8df; border-radius:12px; background:#fff; }
.checkout-consent-row { display:flex; align-items:flex-start; gap:10px; }
.study-app .checkout-consent input[type="checkbox"] { appearance:auto; width:18px; min-width:18px; max-width:18px; height:18px; flex:0 0 18px; margin:3px 0 0; padding:0; accent-color:var(--indigo); border-radius:4px; cursor:pointer; }
.checkout-consent input:focus-visible { outline:3px solid var(--focus-border); outline-offset:3px; }
.checkout-consent-copy { min-width:0; font-size:12px; line-height:24px; color:var(--ink-soft); }
.checkout-consent-copy label { cursor:pointer; }
.checkout-consent-copy a { color:var(--indigo); font-weight:600; text-decoration:underline; text-decoration-color:#b0ccbe; text-underline-offset:4px; }
.checkout-consent-copy a span { font-size:11px; padding-left:2px; }
.checkout-consent>p { margin:5px 0 0 28px; color:var(--ink-faint); font-size:11px; line-height:1.7; }
.study-app #buyMsg:empty { display:none; }
.terms-page { margin:0; }
.terms-top { display:flex; justify-content:space-between; align-items:center; padding:18px max(22px,calc((100vw - 800px)/2)); border-bottom:1px solid var(--line); background:#fff; color:var(--ink-soft); font-size:12px; }
.terms-top>a { display:flex; align-items:center; gap:9px; text-decoration:none; color:var(--indigo); font:27px Georgia,serif; }
.terms-top>a span { font:600 15px "Microsoft YaHei",sans-serif; }
.terms-document { max-width:800px; margin:0 auto; padding:36px 22px 50px; color:var(--ink-soft); font-size:14px; line-height:1.9; }
.terms-hero { margin-bottom:22px; }
.terms-eyebrow { color:var(--indigo); font-size:11px; letter-spacing:1px; }
.terms-document h1 { margin:8px 0; color:var(--ink); font-size:32px; line-height:1.4; }
.terms-hero>p { color:var(--ink-faint); font-size:12px; }
.terms-highlights { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #dce7da; border-radius:14px; overflow:hidden; background:#f3f7f1; margin-bottom:22px; }
.terms-highlights>div { padding:16px; }
.terms-highlights>div+div { border-left:1px solid #dce7da; }
.terms-highlights b,.terms-highlights span { display:block; }
.terms-highlights b { color:var(--indigo); font-size:14px; }
.terms-highlights span { margin-top:3px; font-size:11px; }
.terms-document section { margin:28px 0; }
.terms-document h2 { display:flex; align-items:baseline; gap:10px; margin:0 0 12px; color:var(--ink); font-size:18px; line-height:1.5; }
.terms-document h2>span { font-size:11px; color:var(--indigo); font-weight:500; }
.terms-document p { margin:10px 0; }
.terms-document strong { color:var(--ink); font-weight:650; }
.terms-notice,.terms-example { padding:14px 16px; margin:15px 0; background:#f3f7f1; border-left:3px solid var(--indigo); border-radius:0 10px 10px 0; }
.terms-example>b { color:var(--indigo); font-size:12px; }
.terms-example p { margin:5px 0 0; }
.terms-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:12px; margin:15px 0; background:#fff; }
.terms-document table { width:100%; border-collapse:collapse; font-size:12px; }
.terms-document th,.terms-document td { padding:10px 14px; text-align:left; }
.terms-document th { background:#f1f6ef; color:var(--ink); font-weight:600; }
.terms-document tbody tr+tr td { border-top:1px solid var(--line); }
.terms-contact { border:1px solid #dce7da; border-radius:14px; background:#fff; padding:20px; }
.terms-contact-id { font-variant-numeric:tabular-nums; user-select:text; overflow-wrap:anywhere; }
.terms-document .terms-end { border-top:1px solid var(--line); padding-top:20px; color:var(--ink-faint); font-size:12px; }
.terms-dialog { width:min(760px,calc(100vw - 28px)); max-width:none; max-height:90vh; max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:var(--paper,#f7f8f5); box-shadow:0 24px 80px #172e2338; }
.terms-dialog::backdrop { background:#172e2370; backdrop-filter:blur(3px); }
.terms-dialog[open] { display:flex; flex-direction:column; }
.terms-dialog-head { display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; padding:15px 22px; border-bottom:1px solid var(--line); background:#fff; }
.terms-dialog-head h2 { font-size:17px; margin:0; }
.terms-dialog-body { overflow-y:auto; overscroll-behavior:contain; min-height:0; }
.terms-dialog .terms-document { padding:20px 22px; font-size:13px; }
.terms-dialog .terms-hero h1 { display:none; }
.terms-dialog .terms-highlights>div { padding:12px; }
.terms-dialog-footer { flex:none; padding:12px 22px; border-top:1px solid var(--line); background:#fff; }
.terms-dialog-footer button { width:100%; justify-content:center; }
.terms-load-status { padding:20px 22px; }
@media(max-width:520px){
  .terms-document { padding:24px 18px 36px; font-size:13px; }
  .terms-document h1 { font-size:27px; }
  .terms-document h2 { font-size:16px; }
  .terms-highlights { grid-template-columns:1fr; }
  .terms-highlights>div { padding:10px 14px; }
  .terms-highlights>div+div { border-left:0; border-top:1px solid #dce7da; }
  .terms-highlights b,.terms-highlights span { display:inline; }
  .terms-highlights span { margin-left:9px; }
  .terms-dialog { max-height:calc(100dvh - 28px); }
  .terms-dialog .terms-document { padding:18px 16px; }
  .terms-dialog-head,.terms-dialog-footer { padding:13px 16px; }
  .terms-document td,.terms-document th { padding:9px 10px; }
}
