/* Shared self-hosted UI typeface; scene text and technical monospace retain their own fonts. */
@font-face { font-family: Inter; src: url('/static/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Inter; src: url('/static/fonts/inter-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: Inter; src: url('/static/fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Noto Sans SC'; src: url('/static/fonts/noto-sans-sc-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Noto Sans SC'; src: url('/static/fonts/noto-sans-sc-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Noto Sans SC'; src: url('/static/fonts/noto-sans-sc-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }

    :root{font-family:Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, sans-serif;color:#171a1b;background:#f5f6f7;line-height:1.75;--border:#dde1e3;--muted:#697176;--surface:#fff;--dark:#171a1b}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit}.header{position:sticky;top:0;z-index:10;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,64px);border-bottom:1px solid var(--border);background:rgba(255,255,255,.9);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:var(--dark);font-size:11px}.back{min-height:40px;display:grid;place-items:center;padding:0 14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;font-size:13px}.layout{width:min(1060px,calc(100% - 36px));display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;margin:50px auto 80px}.nav{position:sticky;top:96px;align-self:start;display:grid;gap:3px}.nav b{margin:0 10px 10px;font-size:12px}.nav a{min-height:40px;display:flex;align-items:center;padding:0 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:12px}.nav a:hover,.nav a:focus{color:#171a1b;background:#e9ecee}.content{min-width:0}.hero{margin-bottom:38px;padding-bottom:30px;border-bottom:1px solid var(--border)}.hero span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.14em}.hero h1{margin:8px 0 6px;font-size:38px;line-height:1.2;letter-spacing:-.04em}.hero p{margin:0;color:var(--muted);font-size:13px}.legal-section,.legal-subsection{scroll-margin-top:96px}.legal-section{margin-bottom:22px;padding:28px 30px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.legal-section h2{margin:0 0 12px;font-size:20px}.legal-section h3{margin:20px 0 6px;font-size:14px}.legal-section p,.legal-section li{color:#535b5f;font-size:13px}.legal-section ul{padding-left:20px}.notice{padding:13px 15px;border-radius:10px;background:#f0f2f3;color:#41484c;font-size:12px}.footer{padding:26px;text-align:center;color:var(--muted);font-size:11px}@media(max-width:760px){.header{height:60px}.layout{display:block;margin-top:26px}.nav{position:static;grid-template-columns:repeat(2,1fr);margin-bottom:28px}.nav b{grid-column:1/-1}.content .hero h1{font-size:30px}.legal-section{padding:22px 19px}.legal-section,.legal-subsection{scroll-margin-top:76px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
    /* M3 T10: presentation only; legal sections, anchors and wording are unchanged. */
    :root{color:#1c1c1c;background:#faf6ee;--border:#ded3c0;--muted:#5f5f5d;--surface:#fffcf6;--dark:#1c1c1c;--m3-raised:#f8f3e9;--m3-tonal:#e9dcc5;--m3-tonal-ink:#3e3022;--m3-focus:#6d4f30}
    .header{background:rgba(250,246,238,.96)}
    .mark{background:var(--dark);color:#fff}
    .back{min-height:44px;border-radius:999px;background:var(--surface)}
    .back:hover{background:var(--m3-tonal);color:var(--m3-tonal-ink)}
    .nav a{min-height:44px;border-radius:12px}
    .nav a:hover,.nav a:focus{background:var(--m3-tonal);color:var(--m3-tonal-ink)}
    .brand:focus-visible,.back:focus-visible,.nav a:focus-visible{outline:2px solid var(--m3-focus);outline-offset:2px}
    .legal-section{border-radius:16px}
    .legal-section p,.legal-section li{color:#4b3f33;font-size:14px;overflow-wrap:anywhere}
    .notice{background:var(--m3-raised);color:#4b3f33;border:1px solid var(--border);border-radius:12px}
    @media(max-width:760px){.layout{width:min(1060px,calc(100% - 24px));gap:0}.nav{gap:4px}.nav a{padding:7px 10px;line-height:1.35}.legal-section{padding:20px 16px}}
    @media(max-width:360px){.header{padding:0 12px;gap:8px}.brand{gap:7px}.back{padding:0 10px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav a{overflow-wrap:anywhere}}
    @media(prefers-color-scheme:dark){
      :root{color:#f7f4ed;background:#211e1b;--border:#554b3e;--muted:#c2b8a8;--surface:#302c27;--dark:#f2efe7;--m3-raised:#292724;--m3-tonal:#514637;--m3-tonal-ink:#f5e8d1;--m3-focus:#ebd1a4}
      .header{background:rgba(33,30,27,.96)}
      .mark{color:#171816}
      .legal-section p,.legal-section li,.notice{color:#e2d7c8}
    }

/* Navigation typography follows the app roles; legal prose keeps its reading measure. */
:root{--ui-font:Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, sans-serif;--ui-title-medium:500 16px/24px var(--ui-font);--ui-body-small:400 12px/16px var(--ui-font);--ui-label-large:500 14px/20px var(--ui-font)}
.back,.nav a{font:var(--ui-label-large)}.nav b,.hero span,.footer{font:var(--ui-body-small)}
.legal-section h2{font:var(--ui-title-medium)}

    .brand-wordmark-tail { font-weight: 400; }
    .support-qr{width:min(240px,100%);margin:16px 0}
    .support-qr-code{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff}
    /* Show the 440px square at (144,208) in the supplied 700x908 image, retaining the QR quiet zone. */
    .support-qr-code img{position:absolute;display:block;max-width:none;width:159.090909%;height:auto;left:-32.727273%;top:-47.272727%}
    .support-qr figcaption{margin-top:8px;font:var(--ui-body-small);line-height:1.75;color:var(--muted)}
    .support-qr a:focus-visible{outline:2px solid var(--m3-focus);outline-offset:2px}

    .legal-details{margin-top:14px}
    .legal-details>summary{cursor:pointer;font:var(--ui-label-large);line-height:1.6;color:var(--m3-tonal-ink)}
    .legal-details[open]>summary{margin-bottom:12px}
    .legal-details>summary:focus-visible{outline:2px solid var(--m3-focus);outline-offset:4px}
