:root{color-scheme:dark;--bg:#111512;--panel:#191e19;--ink:#eeeee2;--muted:#a4ad9d;--line:#333d31;--orange:#ff8b4d;--mono:Consolas,"Courier New",monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange)}::selection{background:var(--orange);color:var(--bg)}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,.button{transition:background .16s,border-color .16s}button:hover:not(:disabled),.button:hover{border-color:var(--orange)}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:-.6px}.brand svg{width:28px;height:28px;color:var(--orange)}.brand b{color:var(--orange)}.topnav{display:flex;gap:28px;align-items:center;font-size:12px;color:var(--muted)}.topnav a:hover{color:var(--orange)}.local-badge{font:10px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#a9bd88}.layout{display:grid;grid-template-columns:238px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 86px)}.sidebar{padding:34px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.eyebrow{font:10px var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.sidebar .eyebrow{padding:0 12px}.toolnav{display:flex;flex-direction:column;gap:7px}.toolnav a{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:5px;padding:13px 12px;font-size:12px;color:var(--muted)}.toolnav a.active{background:var(--panel);border-color:var(--line);color:var(--ink)}.toolnav a:hover{color:var(--ink);background:var(--panel)}.toolnav .symbol{width:22px;font:18px var(--mono);color:var(--orange)}.toolnav .external{margin-left:auto;font-size:12px}.sidebar-note{margin-top:auto;padding:22px 12px 0;border-top:1px solid var(--line)}.sidebar-note svg{width:90px;height:70px;display:block;margin-bottom:12px}.sidebar-note p{font:11px/1.8 var(--mono);color:var(--muted);margin:0}.content{padding:36px 48px 0;min-width:0;max-width:1280px;width:100%}.breadcrumb{display:flex;justify-content:space-between;gap:16px}.breadcrumb span:last-child{color:#6f7d67}.intro{padding:31px 0 28px;position:relative}.intro h1{font-size:clamp(30px,3.4vw,46px);line-height:1.12;font-weight:400;letter-spacing:-1.8px;margin:0 0 15px}.intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.intro p{font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:660px}.intro-number{position:absolute;right:0;top:15px;font:72px Georgia,serif;color:#252e24;pointer-events:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:20px;padding:25px 27px}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:23px}.panel-heading h2{font-size:16px;letter-spacing:-.25px;font-weight:500;margin:0}.step{color:var(--orange);font:10px var(--mono);margin-right:12px}.small{font-size:11px;color:var(--muted);line-height:1.6}.panel-heading .small{font:9px var(--mono);letter-spacing:.7px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:9px;font-size:11px;color:var(--ink)}.field .unit{color:var(--muted);font-size:10px}.field input,.field select{width:100%;min-width:0;background:var(--bg);border:1px solid #424d3c;color:var(--ink);border-radius:4px;padding:12px;font:12px var(--mono);height:42px}.field input:focus,.field select:focus{border-color:var(--orange)}.field small{font-size:10px;color:var(--muted);line-height:1.5}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:23px}.button{border:1px solid #526047;background:transparent;color:var(--ink);border-radius:4px;padding:12px 16px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:41px}.button.primary{background:var(--orange);border-color:var(--orange);color:var(--bg);font-weight:700}.button.primary:hover{background:#ffa575}.button.text{border:0;color:var(--muted);padding-left:2px}.button.text:hover{color:var(--orange)}.push{margin-left:auto}.check{display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--orange);width:15px;height:15px}.dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border:1px dashed #526047;border-radius:5px;background:#141914;padding:25px 18px;cursor:pointer;position:relative;text-align:center;min-height:140px;overflow-wrap:anywhere}.dropzone:hover,.dropzone.dragging{border-color:var(--orange);background:#1e261b}.dropzone:focus-within{outline:2px solid var(--orange);outline-offset:4px}.dropzone input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.upload-icon{font:23px var(--mono);color:var(--orange)}.dropzone strong{font-size:12px;font-weight:400}.dropzone small{font-size:10px;color:var(--muted)}.sourcebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.filename{font:10px/1.7 var(--mono);color:var(--muted);overflow-wrap:anywhere}.status{font-size:12px;line-height:1.7;border:1px solid var(--line);padding:13px 17px;border-radius:4px;margin:0 0 20px;overflow-wrap:anywhere}.status.error{border-color:#a2644b;color:#ffbca0;background:#2b201b}.status.success{color:#c0d5a8;border-color:#4c6040;background:#1c2719}.status:empty{display:none}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 17px}.section-heading h2{font-size:23px;font-weight:400;letter-spacing:-.6px;margin:0}.section-heading .eyebrow{display:block;margin-bottom:9px}.empty{border:1px solid var(--line);border-radius:6px;padding:30px;text-align:center;background:linear-gradient(130deg,#191e19,#111512);color:var(--muted)}.empty svg{display:block;width:180px;height:65px;margin:0 auto 15px;color:#6c805e}.empty h3{font-size:16px;font-weight:400;color:var(--ink);margin:0 0 10px}.empty p{font-size:12px;line-height:1.8;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:5px;margin-bottom:20px}.metric{padding:17px 22px;border-right:1px solid var(--line);min-width:0}.metric:last-child{border:0}.metric span{display:block;font:9px var(--mono);letter-spacing:1px;color:var(--muted);margin-bottom:9px}.metric strong{font:18px var(--mono);font-weight:400;overflow-wrap:anywhere}.chart-panel{padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:18px}.chart-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:20px}.chart-heading h3{font-weight:400;font-size:13px;margin:0}.chart-heading span{font:9px var(--mono);color:var(--muted)}.chart-container{position:relative;height:245px}.chart-container canvas{max-width:100%}.download-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 8px}.download-row p{font-size:11px;color:var(--muted);line-height:1.7}.hash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hash-grid .panel{min-width:0}.hash-box{padding:15px 12px;background:var(--bg);border:1px solid var(--line);border-radius:4px;margin-top:17px}.hash-box span{font:9px var(--mono);color:var(--muted);letter-spacing:1px;display:block;margin-bottom:11px}.hash-box code{font:clamp(10px,1.05vw,13px)/1.8 var(--mono);color:var(--orange);word-break:break-all}.hash-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.comparison{border:1px solid var(--line);border-radius:5px;padding:22px;text-align:center;font-size:13px;color:var(--muted);line-height:1.8}.comparison.match{color:#c0d5a8;border-color:#4c6040;background:#1c2719}.comparison.different{color:#ffbca0;border-color:#815841;background:#2b201b}.footnote{font:10px/1.8 var(--mono);color:var(--muted);padding-top:18px}.footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0;margin-top:36px;font:9px/1.7 var(--mono);letter-spacing:.5px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.content{padding-left:64px;padding-right:64px}.intro{padding-top:42px;padding-bottom:35px}}@media(max-width:1100px){.content{padding:30px 26px 0}.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:30px 12px}.fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hash-grid{grid-template-columns:1fr}.intro-number{display:none}.hash-box code{font-size:13px}}@media(max-width:720px){.topbar{height:74px;padding:0 20px}.brand{font-size:14px}.topnav>a{display:none}.local-badge{font-size:8px;letter-spacing:0}.layout{display:block}.sidebar{padding:13px 16px;border-right:0;border-bottom:1px solid var(--line);gap:0}.sidebar>.eyebrow,.sidebar-note{display:none}.toolnav{flex-direction:row;overflow-x:auto;gap:5px;padding:3px 0}.toolnav a{flex-shrink:0;font-size:11px;padding:10px}.toolnav .symbol{font-size:15px;width:16px}.content{padding:25px 20px 0}.intro{padding:25px 0}.intro h1{letter-spacing:-1px;font-size:32px}.breadcrumb{font-size:8px}.panel{padding:20px 18px}.fields,.fields.four{grid-template-columns:1fr 1fr}.fields .field:last-child:nth-child(odd){grid-column:1/-1}.panel-heading .small{display:none}.actions{gap:10px}.actions .push{margin-left:0;width:100%}.metrics{grid-template-columns:1fr 1fr 1fr}.metric{padding:14px 10px}.metric strong{font-size:14px}.metric span{font-size:8px}.chart-panel{padding:18px 12px}.chart-container{height:220px}.download-row{align-items:flex-start;flex-direction:column;gap:2px}.footer{font-size:8px}.section-heading h2{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
