:root{--paper:#F2F4F3;--sheet:#FFFFFF;--ink:#1B2220;--ink-2:#56605C;--rule:#D5DBD8;--zhu:#B8322A;--zhu-soft:#F6DEDB;--qing:#2D5C70;--qing-soft:#DCE8ED;--huang:#9A6A12;--huang-soft:#F4E8CF;--display:"Noto Serif SC","Songti SC","STSong",serif;--body:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#141917;--sheet:#1C2220;--ink:#E6EBE8;--ink-2:#9AA5A0;--rule:#2F3834;--zhu:#EF7B70;--zhu-soft:#4A2522;--qing:#86B9CF;--qing-soft:#1F3540;--huang:#E3B65E;--huang-soft:#3F3219;color-scheme:dark}}:root[data-theme=dark]{--paper:#141917;--sheet:#1C2220;--ink:#E6EBE8;--ink-2:#9AA5A0;--rule:#2F3834;--zhu:#EF7B70;--zhu-soft:#4A2522;--qing:#86B9CF;--qing-soft:#1F3540;--huang:#E3B65E;--huang-soft:#3F3219;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.7}.wrap{max-width:1180px;margin:0 auto;padding-block:28px 56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;padding-bottom:22px;border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.logo{font-family:var(--display);font-weight:900;font-size:clamp(40px,7vw,64px);line-height:1;letter-spacing:.02em;display:flex;align-items:baseline}.logo .j{color:var(--ink)}.logo .dot{color:var(--zhu);margin:0 .06em;font-size:.6em;transform:translateY(-.1em)}.logo .f{color:var(--ink)}.domain{font-family:var(--mono);font-size:14px;color:var(--ink-2);letter-spacing:.04em}.tagline{max-width:34em;color:var(--ink-2);font-size:14px;margin:0}.tagline b{color:var(--ink);font-weight:500}nav.tabs{display:flex;gap:4px;margin:22px 0 18px;flex-wrap:wrap}.tab{font:inherit;font-size:15px;font-weight:500;border:1px solid transparent;background:none;color:var(--ink-2);padding:7px 16px;border-radius:999px;cursor:pointer}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}.tab:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible,.m:focus-visible{outline:2px solid var(--qing);outline-offset:2px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px}.seg{display:inline-flex;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--sheet)}.seg button{font:inherit;font-size:14px;border:0;background:none;color:var(--ink-2);padding:6px 13px;cursor:pointer;border-right:1px solid var(--rule)}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--qing-soft);color:var(--ink);font-weight:500}.label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.engine{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:6px}.engine i{width:7px;height:7px;border-radius:50%;background:var(--huang);display:inline-block}.engine.ok i{background:#3e9b6a}.engine.err i{background:var(--zhu)}.desk{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:860px){.desk{grid-template-columns:1fr}}.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;display:flex;flex-direction:column;min-width:0}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-bottom:1px solid var(--rule)}.sheet-head .count{font-family:var(--mono);font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}textarea{font:inherit;font-size:16px;line-height:1.85;color:var(--ink);background:transparent;border:0;resize:vertical;min-height:300px;padding:14px 16px;width:100%}.proof{font-size:16px;line-height:1.85;padding:14px 16px;min-height:300px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.btn{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);padding:5px 12px;border-radius:7px;cursor:pointer}.btn:hover{border-color:var(--ink-2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.m{border-radius:2px;cursor:help}.m.char{background:var(--qing-soft);box-shadow:inset 0 -1.5px 0 var(--qing)}.m.term{color:var(--zhu);box-shadow:inset 0 -2px 0 var(--zhu);font-weight:500}.m.ask,.m.amb{background:var(--huang-soft);box-shadow:inset 0 -1.5px 0 var(--huang);background-image:none}.m.phrase{box-shadow:inset 0 -1.5px 0 var(--qing)}.proof.plain .m{background:none;box-shadow:none;color:inherit;font-weight:inherit;cursor:text}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 14px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.sw{width:22px;height:12px;border-radius:2px;display:inline-block}.sw.term{box-shadow:inset 0 -2px 0 var(--zhu)}.sw.char{background:var(--qing-soft);box-shadow:inset 0 -1.5px 0 var(--qing)}.sw.amb{background:var(--huang-soft);box-shadow:inset 0 -1.5px 0 var(--huang)}#tip{position:fixed;z-index:50;max-width:280px;background:var(--ink);color:var(--paper);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.55;pointer-events:none;box-shadow:0 6px 24px #0000002e}#tip .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;display:block;margin-bottom:4px}#tip table{border-collapse:collapse;margin-top:2px}#tip td{padding:1px 10px 1px 0}#tip td:first-child{opacity:.65}#tip .n{display:block;margin-top:6px;opacity:.8}.drop{border:1.5px dashed var(--rule);border-radius:10px;background:var(--sheet);padding:26px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.drop.over{border-color:var(--qing);background:var(--qing-soft)}.drop h3{font-family:var(--display);font-weight:600;font-size:20px;margin:0 0 4px}.drop p{margin:0;color:var(--ink-2);font-size:14px;max-width:40em}.exts{font-family:var(--mono);font-size:12px;color:var(--ink-2);margin-top:6px}.files{margin-top:16px;display:flex;flex-direction:column;gap:10px}.file{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;min-width:0}.file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 14px}.file-name{font-family:var(--mono);font-size:14px;font-weight:500;min-width:0;overflow-wrap:anywhere}.chip{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:999px;background:var(--paper);color:var(--ink-2);border:1px solid var(--rule)}.chip.ex{color:var(--huang);border-color:var(--huang)}.file-stats{margin-left:auto;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.file pre{margin:0;border-top:1px solid var(--rule);padding:12px 14px;font-family:var(--mono);font-size:13px;line-height:1.75;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.file .note{font-size:13px;color:var(--ink-2);padding:0 14px 10px}.files-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.msg{font-size:13px;color:var(--ink-2)}.findings{padding:4px 0}.finding{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--rule)}.finding:last-child{border-bottom:0}.finding .w{font-size:16px}.finding .w s{color:var(--zhu);text-decoration-thickness:1.5px}.finding .w ins{text-decoration:none;font-weight:500;color:var(--qing)}.finding .c{font-size:12.5px;color:var(--ink-2);grid-column:1}.finding .times{font-family:var(--mono);font-size:12px;color:var(--ink-2)}.empty{padding:22px 16px;color:var(--ink-2);font-size:14px}footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font-size:13.5px;color:var(--ink-2)}@media(max-width:760px){footer{grid-template-columns:1fr}}footer h4{font-family:var(--display);font-weight:600;font-size:15px;color:var(--ink);margin:0 0 4px}footer p{margin:0}footer a{color:var(--qing)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.head-actions{display:flex;gap:8px;align-items:center}.placeholder{color:var(--ink-2)}.report{margin-left:auto;font-size:13px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.report:hover{color:var(--ink)}.noscript{padding:16px;text-align:center;color:var(--ink-2)}
