:root{--paper:#fbf7f1;--card:#fff;--sunk:#f6f1e9;--ink:#1b2a4c;--soft:#56607a;--line:#e9e1d5;--line-strong:#d8cebf;--coral:#ee6a4a;--coral-text:#b4462a;--butter:#ffc75a;--butter-soft:#fff1d2;--on-ink:#fbf7f1;--pass:#1f7a4d;--pass-soft:#e8f4ed;--warn:#8a5300;--warn-soft:#fff3d9;--fail:#b42318;--fail-soft:#fdecea;--badge-ink:#fff;--diagram-bg:#fff;--diagram-stroke:#c9bfb0;--diagram-dim:#56607a;--silhouette:#e4ddd2;--band-crown:#1f8a5c33;--band-eye:#2e6bc42e;--line-chin:#ee6a4a;--sw-crown:#1f8a5c8c;--sw-eye:#2e6bc480;--font-head:"Montserrat", "Instrument Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-body:"Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--fs-xs:13px;--fs-sm:15px;--fs-md:16px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--r-sm:10px;--r-md:14px;--r-lg:20px;--shadow-1:0 1px 2px #1b2a4c0d, 0 1px 1px #1b2a4c08;--shadow-2:0 1px 2px #1b2a4c0f, 0 16px 36px -14px #1b2a4c38;--focus:0 0 0 3px color-mix(in srgb, var(--coral) 45%, transparent);--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0f1626;--card:#172036;--sunk:#121a2d;--ink:#f3eee6;--soft:#a9b1c4;--line:#26314c;--line-strong:#34405f;--coral:#ff8463;--coral-text:#ff9f85;--butter-soft:#2a2618;--on-ink:#0f1626;--pass:#6fd6a2;--pass-soft:#14301f;--warn:#ffc75a;--warn-soft:#2e2615;--fail:#ff8e7e;--fail-soft:#3a1f1f;--badge-ink:#0f1626;--diagram-bg:#1f2a44;--diagram-stroke:#45527a;--diagram-dim:#a9b1c4;--silhouette:#34405f;--band-crown:#6fd6a233;--band-eye:#78aaff33;--line-chin:#ff8463;--sw-crown:#6fd6a299;--sw-eye:#78aaff99;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 1px 2px #0000004d, 0 16px 36px -14px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:400 var(--fs-md) / 1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html:lang(zh) body{line-height:1.75}h1,h2,h3{font-family:var(--font-head);color:var(--ink);letter-spacing:-.015em;margin:0}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--coral-text);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}.icon{flex:none;display:block}.num-val,.tones,.summary dd,.checks .detail,.checks .req,.issue-detail,.hint{font-variant-numeric:tabular-nums}.top{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.top-in{align-items:center;gap:16px;max-width:1040px;height:60px;margin:0 auto;padding:0 16px;display:flex}.xhome{color:var(--ink);font:800 18px/1 var(--font-head);letter-spacing:-.03em;flex:none;align-items:center;gap:8px;padding:6px 2px;text-decoration:none;display:inline-flex}.xhome img{border-radius:7px}.xhome:hover,.appbrand:hover{text-decoration:none}.brand-sep{color:var(--line-strong);flex:none;font-size:20px;font-weight:300}.appbrand{color:var(--ink);font:800 17px/1.1 var(--font-head);letter-spacing:-.02em;align-items:center;gap:10px;min-width:0;margin-right:auto;padding:6px 2px;text-decoration:none;display:inline-flex}.appbrand img{border-radius:8px;flex:none}.appbrand span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lang{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;flex:none;gap:2px;padding:3px;display:inline-flex}.lang button{min-width:44px;height:34px;font-size:var(--fs-xs);color:var(--soft);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:999px;padding:0 10px;font-weight:600}.lang button:hover{color:var(--ink)}.lang button.on{background:var(--ink);color:var(--on-ink)}.page{max-width:1040px;margin:0 auto;padding:32px 16px 24px}.hero{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;margin:4px 0 28px;display:grid}.appmark{grid-row:1;display:inline-flex}.appmark svg{box-shadow:var(--shadow-1);border-radius:12px}.hero h1{letter-spacing:-.025em;grid-row:1;font-size:clamp(26px,4.2vw,40px);font-weight:800;line-height:1.12}.tagline{font-size:var(--fs-lg);color:var(--soft);grid-column:1/-1;max-width:640px;margin:14px 0 0}.privacy{font-size:var(--fs-xs);color:var(--pass);background:var(--pass-soft);border-radius:999px;grid-column:1/-1;justify-self:start;align-items:center;gap:8px;margin:14px 0 0;padding:6px 12px 6px 10px;font-weight:600;display:inline-flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin-bottom:16px;padding:24px}.card>h2{font-size:var(--fs-xl);align-items:center;gap:12px;margin:0 0 16px;font-weight:700;display:flex}.num{background:var(--ink);width:28px;height:28px;color:var(--on-ink);font:700 var(--fs-xs)/1 var(--font-head);border-radius:50%;flex:none;place-items:center;display:inline-grid}h3{font-size:var(--fs-md);margin:0 0 4px;font-weight:700}.picker{position:relative}.picked{text-align:left;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);width:100%;min-height:60px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);align-items:center;gap:14px;padding:10px 16px;display:flex}.picked:hover{border-color:var(--soft)}.picked[aria-expanded=true]{border-color:var(--ink)}.picked-label{flex-direction:column;min-width:0;line-height:1.3;display:flex}.picked-country{font-weight:600;font-size:var(--fs-lg)}.picked-doc{font-size:var(--fs-sm);color:var(--soft)}.picked .chev{color:var(--soft);margin-left:auto;display:inline-flex}.picked[aria-expanded=true] .chev{transform:rotate(180deg)}.flag{flex:none;font-size:26px;line-height:1}.menu{z-index:10;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0}.search{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--sunk);height:44px;color:var(--soft);align-items:center;gap:8px;margin-bottom:6px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--ink)}.search input:focus-visible{box-shadow:none}.search:focus-within{box-shadow:var(--focus)}.search input{min-width:0;color:var(--ink);font:inherit;font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1;height:100%}.menu ul{overscroll-behavior:contain;max-height:340px;margin:0;padding:0;list-style:none;overflow:auto}.menu li button{text-align:left;width:100%;min-height:44px;font-size:var(--fs-sm);background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.menu li button:hover{background:var(--sunk)}.menu li button.on{background:var(--butter-soft);font-weight:600}.menu li .flag{font-size:20px}.menu .tick{color:var(--coral-text);margin-left:auto;display:inline-flex}.spec{grid-template-columns:260px 1fr;align-items:start;gap:28px;margin-top:20px;display:grid}.diagramWrap{background:var(--sunk);border-radius:var(--r-md);margin:0;padding:16px}.diagram{width:100%;height:auto;display:block}.diagram text{font-family:var(--font-body);fill:var(--soft)}.diagram .dlabel{fill:var(--ink);font-size:15px;font-weight:600}.diagram .dval{font-variant-numeric:tabular-nums;font-size:14px}.diagramWrap .legend{justify-content:center;margin-top:10px}.legend{font-size:var(--fs-xs);color:var(--soft);flex-wrap:wrap;gap:4px 14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;width:14px;height:10px;display:inline-block}.sw.crown{background:var(--sw-crown)}.sw.eye{background:var(--sw-eye)}.sw.chin{border-top:2px dashed var(--line-chin);border-radius:0;height:0}.sw.detect{background:#ee6a4a;border-radius:2px;height:3px}.summary{grid-template-columns:1fr;margin:0;display:grid}.summary>div{border-top:1px solid var(--line);grid-template-columns:minmax(120px,38%) 1fr;gap:16px;padding:10px 0;display:grid}.summary>div:first-child{border-top:0;padding-top:0}.summary dt{color:var(--soft);font-size:var(--fs-sm)}.summary dd{font-weight:600;font-size:var(--fs-sm);margin:0}.tones{flex-wrap:wrap;gap:4px 14px;display:flex}.tones span{align-items:center;gap:6px;display:inline-flex}.tones i{width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:4px;display:inline-block}.notes{background:var(--sunk);border-radius:var(--r-sm);color:var(--soft);font-size:var(--fs-sm);margin:12px 0 0;padding:14px 16px 14px 34px}.notes li+li{margin-top:4px}.src{font-weight:600;font-size:var(--fs-sm);align-items:center;gap:6px;min-height:32px;margin-top:14px;display:inline-flex}.drop{text-align:center;cursor:pointer;border:1.5px dashed var(--line-strong);border-radius:var(--r-md);background:var(--sunk);min-height:240px;color:var(--soft);transition:border-color .18s var(--ease), background .18s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 20px;display:flex}.drop:hover,.drop.over{border-color:var(--coral);background:color-mix(in srgb, var(--coral) 6%, var(--sunk))}.drop:focus-visible{border-color:var(--coral);border-radius:var(--r-md)}.drop-ic{background:var(--card);width:56px;height:56px;color:var(--coral-text);box-shadow:var(--shadow-1);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.drop-text{font-size:var(--fs-lg);color:var(--ink);font-weight:500}.drop u{color:var(--coral-text);text-underline-offset:3px;text-decoration-thickness:1.5px}.drop-meta{font-size:var(--fs-xs);letter-spacing:.04em}.link{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);min-height:44px;font-weight:600;font-size:var(--fs-sm);transition:border-color .15s var(--ease);border-radius:999px;align-items:center;gap:8px;margin-top:6px;padding:0 16px;display:inline-flex}.link:hover{border-color:var(--soft)}.drop.busy{cursor:progress;border-style:solid;border-color:var(--line)}.skeleton{align-items:center;gap:16px;display:flex}.sk-photo{border-radius:6px;width:64px;height:82px}.sk-lines{flex-direction:column;gap:8px;display:flex}.sk-lines i{border-radius:6px;width:140px;height:10px;display:block}.sk-lines i:nth-child(2){width:110px}.sk-lines i:nth-child(3){width:80px}.sk-photo,.sk-lines i{background:linear-gradient(90deg, var(--line) 0%, color-mix(in srgb, var(--line) 40%, var(--card)) 50%, var(--line) 100%);background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.busy-text{color:var(--ink);margin-top:6px;font-weight:600}.error{border-radius:var(--r-sm);background:var(--fail-soft);color:var(--fail);font-weight:600;font-size:var(--fs-sm);align-items:center;gap:10px;margin:14px 0 0;padding:12px 14px;display:flex}.badge{color:var(--badge-ink);border-radius:50%;flex:none;place-items:center;display:inline-grid}.badge .icon{stroke-width:2.6px}.badge.pass{background:var(--pass)}.badge.warn{background:var(--warn);border-radius:30%}.badge.fail{background:var(--fail)}.verdict{border-radius:var(--r-md);border:1px solid #0000;margin-bottom:24px;padding:20px}.verdict.pass{background:var(--pass-soft);border-color:color-mix(in srgb, var(--pass) 25%, transparent)}.verdict.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.verdict.fail{background:var(--fail-soft);border-color:color-mix(in srgb, var(--fail) 25%, transparent)}.verdict-head{align-items:center;gap:14px;display:flex}.verdict-head>div{flex-direction:column;gap:2px;display:flex}.verdict strong{font:800 var(--fs-2xl)/1.2 var(--font-head);letter-spacing:-.02em}.verdict.pass strong{color:var(--pass)}.verdict.warn strong{color:var(--warn)}.verdict.fail strong{color:var(--fail)}.verdict-head>div>span{color:var(--ink);font-size:var(--fs-sm)}.issues{background:var(--card);border-radius:var(--r-sm);font-size:var(--fs-sm);margin:16px 0 0;padding:4px 16px;list-style:none}.issues li{grid-template-columns:20px 1fr;align-items:start;gap:12px;padding:12px 0;display:grid}.issues li+li{border-top:1px solid var(--line)}.issues .badge{margin-top:2px}.issues b{font-weight:700;display:block}.issue-detail{display:block}.issues em{color:var(--soft);margin-top:2px;font-style:normal;display:block}.grid{grid-template-columns:minmax(260px,340px) 1fr;align-items:start;gap:32px;display:grid}.previewCol{position:sticky;top:76px}.previewCol>h3{margin-bottom:12px}.preview{width:100%;max-width:340px;box-shadow:var(--shadow-2), 0 0 0 1px var(--line);background:#fff;border-radius:4px;position:relative;overflow:hidden}.preview img{width:100%;height:100%;display:block}.guides{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.previewCol .legend{margin-top:12px}.orig{border-radius:var(--r-sm);width:100%;max-width:340px;display:block}.toggles{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:16px 0 4px;display:flex}.switch{cursor:pointer;min-height:44px;font-size:var(--fs-sm);align-items:center;gap:10px;font-weight:500;display:inline-flex}.switch input{appearance:none;cursor:pointer;background:var(--line-strong);width:38px;height:22px;transition:background .18s var(--ease);border-radius:999px;flex:none;margin:0;position:relative}.switch input:after{content:"";width:16px;height:16px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--ink)}.switch input:checked:after{background:var(--card);transform:translate(16px)}.switch input:focus-visible{box-shadow:var(--focus);border-radius:999px}.swatches{gap:8px;display:inline-flex}.swatches button{width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:50%;padding:0}.swatches button.on{box-shadow:inset 0 0 0 1px var(--line-strong), 0 0 0 2px var(--card), 0 0 0 4px var(--ink)}.hint{color:var(--soft);font-size:var(--fs-xs);margin:4px 0 8px}.downloads{flex-direction:column;gap:8px;margin-top:16px;display:flex}.downloads button,.btn{border:1px solid var(--line-strong);background:var(--card);min-height:46px;color:var(--ink);border-radius:var(--r-sm);font-weight:600;font-size:var(--fs-sm);text-align:center;transition:border-color .15s var(--ease), background .15s var(--ease), transform .15s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.downloads button:hover,.btn:hover{border-color:var(--soft)}.downloads button:active,.btn:active{transform:translateY(1px)}.downloads button.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.downloads button.primary:hover{background:color-mix(in srgb, var(--ink) 88%, var(--coral))}.downloads .hint{text-align:center;margin:0}.again{border-top:1px solid var(--line);gap:8px;margin-top:16px;padding-top:16px;display:flex}.again .btn{cursor:pointer;flex:1;font-weight:600}.again .btn:focus-within{box-shadow:var(--focus)}.ghost{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:46px;min-height:46px;color:var(--soft);background:0 0;place-items:center;display:inline-grid}.ghost:hover{color:var(--ink);border-color:var(--soft)}.group{margin-bottom:28px}.group>h3{font-size:var(--fs-lg)}.group>.hint{font-size:var(--fs-sm);margin:0 0 10px}.checks{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.checks li{border-bottom:1px solid var(--line);grid-template-columns:22px 1fr;align-items:start;gap:14px;padding:12px 4px;display:grid}.checks li .badge{margin-top:1px}.checks li.pass .badge{color:var(--pass);background:0 0;box-shadow:inset 0 0 0 1.5px}.checks li.warn,.checks li.fail{border-radius:var(--r-sm);border-bottom-color:#0000;margin:6px 0;padding:14px}.checks li.warn{background:var(--warn-soft)}.checks li.fail{background:var(--fail-soft)}.checks b{font-size:var(--fs-sm);font-weight:700;display:block}.checks .detail,.checks .req,.checks .fix{font-size:var(--fs-sm);display:block}.checks li.pass .detail{color:var(--soft)}.checks .req{color:var(--soft);font-size:var(--fs-xs);margin-top:2px}.checks .fix{margin-top:6px;font-weight:500}.checks li.warn .fix{color:var(--warn)}.checks li.fail .fix{color:var(--fail)}.checks .fix:before{content:"→ "}.manual{font-size:var(--fs-sm);flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.manual li{align-items:flex-start;gap:12px;padding:6px 0;display:flex}.manual li:before{content:"";border:1.5px solid var(--line-strong);background:var(--card);border-radius:4px;flex:none;width:16px;height:16px;margin-top:4px}.guide-steps,.guide-list{font-size:var(--fs-sm);margin:0;padding-left:22px}.guide-steps li,.guide-list li{margin-bottom:8px}.guide-steps li::marker{color:var(--coral-text);font-weight:700}.guide-list li::marker{color:var(--coral-text)}.faq h3{margin:18px 0 4px}.faq>div:first-of-type h3{margin-top:0}.faq p{color:var(--soft);font-size:var(--fs-sm);margin:0}.faq .more{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.tips ol{counter-reset:tip;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.tips li{counter-increment:tip;background:var(--sunk);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:14px 16px 14px 48px;position:relative}.tips li:before{content:counter(tip);background:var(--butter);color:#1b2a4c;width:22px;height:22px;font:700 12px/22px var(--font-head);text-align:center;border-radius:50%;position:absolute;top:14px;left:16px}.foot{border-top:1px solid var(--line);margin-top:24px}.foot-in{max-width:1040px;margin:0 auto;padding:24px 16px 40px}.disclaimer{color:var(--soft);font-size:var(--fs-xs);max-width:720px;margin:0 0 16px}.foot-row{color:var(--soft);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.foot-row a{font-weight:600}.dot{margin:0 8px}@media (width<=860px){.grid{grid-template-columns:1fr;gap:24px}.previewCol{width:100%;max-width:420px;margin:0 auto;position:static}.preview,.orig{margin:0 auto}}@media (width<=640px){.page{padding-top:24px}.card{border-radius:var(--r-md);padding:18px 16px}.card>h2{font-size:var(--fs-lg)}.hero{margin-bottom:20px}.appmark svg{border-radius:10px;width:36px;height:36px}.tagline{font-size:var(--fs-md)}.spec{grid-template-columns:1fr;gap:16px}.diagramWrap{width:100%;max-width:300px;margin:0 auto}.summary>div{grid-template-columns:minmax(96px,36%) 1fr;gap:12px}.tips ol{grid-template-columns:1fr}.verdict{padding:16px}.verdict strong{font-size:var(--fs-xl)}.issues{padding:2px 12px}}@media (width<=560px){.top-in{gap:8px}.xhome span,.appbrand span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
