.hash-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:28px}.hash-tab{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;padding:12px 28px;cursor:pointer;border:none;background:transparent;color:var(--text-dim);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.hash-tab:hover{color:var(--text)}.hash-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.hash-panel{display:none}.hash-panel.active{display:block}.hash-drop-zone{border:2px dashed var(--line-strong);border-radius:var(--radius-m);padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative}.hash-drop-zone:hover,.hash-drop-zone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.hash-drop-zone-icon{font-size:40px;margin-bottom:12px;opacity:.6}.hash-drop-zone-text{font-family:var(--font-mono);font-size:14px;color:var(--text-dim);line-height:1.7}.hash-drop-zone-text strong{color:var(--accent)}.hash-file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.hash-file-info{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);margin-top:16px;font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.hash-file-info-icon{font-size:20px}.hash-file-info-name{color:var(--text);font-weight:500}.hash-file-info-size{color:var(--text-faint);margin-left:auto}.hash-file-info-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:var(--radius-s);transition:color .2s,background .2s}.hash-file-info-remove:hover{color:var(--bad);background:#f871711a}.hash-result-row{display:flex;align-items:center;gap:8px}.hash-result-row .mono-input{flex:1;min-width:0}.hash-copy-btn{background:none;border:1px solid var(--line-strong);color:var(--text-dim);font-family:var(--font-mono);font-size:12px;padding:8px 12px;border-radius:var(--radius-s);cursor:pointer;transition:color .2s,border-color .2s,background .2s;white-space:nowrap;flex-shrink:0}.hash-copy-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.hash-case-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-s);overflow:hidden}.hash-case-btn{font-family:var(--font-mono);font-size:12px;padding:6px 14px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .2s,color .2s}.hash-case-btn.active{background:var(--accent);color:#1a1207;font-weight:600}.hash-case-btn:not(.active):hover{background:var(--accent-soft);color:var(--accent)}.hash-compare-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.hash-compare-row{display:flex;align-items:center;gap:12px;margin-top:10px}.hash-compare-row .input{flex:1;font-family:var(--font-mono);font-size:13px}.hash-compare-result{font-family:var(--font-mono);font-size:13px;padding:6px 14px;border-radius:var(--radius-s);white-space:nowrap;flex-shrink:0}.hash-compare-result.match{background:#4ade801f;color:var(--good);border:1px solid rgba(74,222,128,.3)}.hash-compare-result.mismatch{background:#f871711f;color:var(--bad);border:1px solid rgba(248,113,113,.3)}@media(max-width:900px){.hash-drop-zone{padding:32px 16px}.hash-result-row,.hash-compare-row{flex-wrap:wrap}}
