:root{--bg:#f5f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--accent:#2563eb;--accent-soft:#dbeafe;--pass:#16a34a;--pass-soft:#dcfce7;--warn:#d97706;--warn-soft:#fef3c7;--fail:#dc2626;--fail-soft:#fee2e2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--card:#131c2e;--text:#e2e8f0;--muted:#94a3b8;--line:#243046;--accent:#60a5fa;--accent-soft:#1e3a5f;--pass:#4ade80;--pass-soft:#12321f;--warn:#fbbf24;--warn-soft:#3a2c0b;--fail:#f87171;--fail-soft:#3d1414;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}.page{max-width:1040px;margin:0 auto;padding:20px 16px 40px}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand h1{letter-spacing:-.01em;margin:0;font-size:22px}.logo{display:inline-flex}.lang{border:1px solid var(--line);background:var(--card);border-radius:999px;display:flex;overflow:hidden}.lang button{background:0 0;border:0;padding:5px 12px;font-size:13px}.lang button.on{background:var(--accent);color:#fff}.tagline{margin:14px 0 4px;font-size:16px}.privacy{color:var(--muted);margin:0 0 18px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:18px}.card h2{align-items:center;gap:10px;margin:0 0 14px;font-size:17px;display:flex}.num{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:inline-grid}h3{margin:0 0 6px;font-size:15px}.picker{position:relative}.picked{text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 14px;font-size:16px;display:flex}.picked .chev{color:var(--muted);margin-left:auto}.flag{font-size:20px;line-height:1}.menu{z-index:10;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 32px #00000026}.menu input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;margin-bottom:6px;padding:9px 12px}.menu ul{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.menu li button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.menu li button:hover,.menu li button.on{background:var(--accent-soft)}.spec{grid-template-columns:200px 1fr;align-items:start;gap:18px;margin-top:16px;display:grid}.diagram{width:100%;max-width:200px}.diagram text{fill:var(--muted);font-size:13px}.summary{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.summary dt{color:var(--muted)}.summary dd{margin:0}.summary .notes,.summary .src{grid-column:1/-1}.summary .notes ul{color:var(--muted);margin:4px 0 0;padding-left:18px}.tones{flex-wrap:wrap;gap:4px 12px;display:flex}.tones span{align-items:center;gap:5px;display:inline-flex}.tones i{border:1px solid var(--line);border-radius:3px;width:14px;height:14px;display:inline-block}.drop{border:2px dashed var(--line);min-height:190px;color:var(--muted);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop.over,.drop:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:none}.drop u{color:var(--accent)}.drop.busy{cursor:default}.link{color:var(--accent);background:0 0;border:0;padding:4px 8px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:var(--fail);margin:10px 0 0}.verdict{border-radius:12px;flex-direction:column;gap:2px;margin-bottom:16px;padding:14px 16px;display:flex}.verdict strong{font-size:17px}.verdict.pass{background:var(--pass-soft);color:var(--pass)}.verdict.warn{background:var(--warn-soft);color:var(--warn)}.verdict.fail{background:var(--fail-soft);color:var(--fail)}.verdict span{color:var(--text);font-size:14px}.issues{color:var(--text);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:0;font-size:14px;list-style:none;display:flex}.issues li{grid-template-columns:20px 1fr;display:grid}.issues .fail-ic{color:var(--fail);font-weight:700}.issues .warn-ic{color:var(--warn);font-weight:700}.issues em{color:var(--muted);font-style:normal;display:block}.grid{grid-template-columns:minmax(240px,340px) 1fr;align-items:start;gap:24px;display:grid}.preview{background:#fff;border-radius:6px;width:100%;max-width:340px;position:relative;overflow:hidden;box-shadow:0 4px 18px #0000002e}.preview img{width:100%;height:100%;display:block}.guides{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:12px;height:8px;margin-right:4px;display:inline-block}.orig{border-radius:8px;width:100%;max-width:340px}.toggles{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0 4px;font-size:14px;display:flex}.swatches{gap:6px;display:inline-flex}.swatches button{border:2px solid var(--line);border-radius:50%;width:22px;height:22px;padding:0}.swatches button.on{border-color:var(--accent)}.hint{color:var(--muted);margin:2px 0 8px;font-size:13px}.downloads{flex-direction:column;gap:8px;margin-top:10px;display:flex}.downloads button,.btn{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:10px;padding:10px 14px;font-weight:600}.downloads button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.downloads button:hover,.btn:hover{border-color:var(--accent)}.again{gap:8px;margin-top:14px;display:flex}.again .btn{cursor:pointer;flex:1;font-weight:500}.ghost{border:1px solid var(--line);background:0 0;border-radius:10px;width:44px}.group{margin-bottom:20px}.checks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checks li{background:var(--bg);border-radius:10px;grid-template-columns:26px 1fr;gap:4px;padding:9px 10px;display:grid}.checks li.warn{background:var(--warn-soft)}.checks li.fail{background:var(--fail-soft)}.checks .ic{font-weight:700}.checks li.pass .ic{color:var(--pass)}.checks li.warn .ic{color:var(--warn)}.checks li.fail .ic{color:var(--fail)}.checks b{font-size:14px;display:block}.checks .detail,.checks .req,.checks .fix{font-size:13px;display:block}.checks .req{color:var(--muted)}.checks .fix{margin-top:3px}.checks .fix:before{content:"→ "}.manual{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.tips ul{margin:0;padding-left:18px}.tips li{margin-bottom:4px}.disclaimer{color:var(--muted);font-size:12px}footer{color:var(--muted);text-align:center;margin-top:24px;font-size:13px}@media (width<=720px){.grid{grid-template-columns:1fr}.preview,.orig{margin:0 auto}.spec{grid-template-columns:1fr}.diagram{max-width:150px;margin:0 auto}.brand h1{font-size:18px}}
