*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #050507;--color-surface: #0e0e12;--color-surface-hover: #16161c;--color-border: #1e1e26;--color-amber: #f59e0b;--color-amber-hover: #fbbf24;--color-amber-glow: rgba(245, 158, 11, .12);--color-text: #e8e8ee;--color-text-muted: #6b6b78;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .08);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .08);--color-code-bg: #0a0a0e;--color-md5: #ef4444;--color-sha1: #f97316;--color-sha256: #10b981;--color-sha512: #3b82f6;--font-mono: "Fragment Mono", "SF Mono", "Fira Code", Menlo, monospace;--font-display: "DM Serif Display", Georgia, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}.container{max-width:900px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--color-border);padding:16px 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;display:flex;align-items:center;gap:10px}.logo-icon{width:30px;height:30px;background:var(--color-amber);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-family:var(--font-mono);color:#000;font-weight:800;letter-spacing:-.5px}.hero{text-align:center;padding:48px 0 32px}.hero h1{font-family:var(--font-display);font-size:2.4rem;font-weight:400;margin:0 0 12px;letter-spacing:-.01em}.hero h1 span{color:var(--color-amber);font-style:italic}.hero p{color:var(--color-text-muted);font-size:1.05rem;max-width:520px;margin:0 auto}.tabs{display:flex;gap:4px;background:var(--color-surface);border-radius:10px;padding:4px;margin-bottom:24px;flex-wrap:wrap}.tab{padding:10px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:.85rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.tab.active{background:var(--color-amber);color:#000}.panel{display:none}.panel.active{display:block}.tool-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px}.tool-card h3{font-size:1rem;margin:0 0 16px;color:var(--color-text)}.hash-textarea{width:100%;min-height:140px;padding:16px;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.85rem;font-family:var(--font-mono);line-height:1.7;resize:vertical;outline:none;transition:border-color .15s}.hash-textarea:focus{border-color:var(--color-amber);box-shadow:0 0 0 3px var(--color-amber-glow)}.hash-textarea::placeholder{color:var(--color-text-muted)}.algo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.algo-option{padding:12px 14px;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px}.algo-option:hover{border-color:var(--color-amber)}.algo-option.active{border-color:var(--color-amber);background:var(--color-amber-glow)}.algo-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.algo-dot.md5{background:var(--color-md5)}.algo-dot.sha1{background:var(--color-sha1)}.algo-dot.sha256{background:var(--color-sha256)}.algo-dot.sha512{background:var(--color-sha512)}.algo-name{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text);font-weight:600}.algo-desc{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}.action-bar{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.action-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s;font-size:.9rem}.action-btn.primary{background:var(--color-amber);color:#000}.action-btn.primary:hover{background:var(--color-amber-hover)}.action-btn.secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.action-btn.secondary:hover{border-color:var(--color-amber)}.output-area{margin-top:16px;padding:16px;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:8px;font-size:.85rem;font-family:var(--font-mono);word-break:break-all;line-height:1.6;white-space:pre-wrap;max-height:400px;overflow-y:auto;color:var(--color-text-muted);position:relative}.output-area.success{border-color:var(--color-success);color:var(--color-text)}.output-area.error{border-color:var(--color-error);color:var(--color-error)}.hash-result{padding:12px 0;border-bottom:1px solid var(--color-border)}.hash-result:last-child{border-bottom:none}.hash-result-label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem;font-weight:600}.hash-result-value{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text);word-break:break-all;padding-right:60px}.copy-btn{position:absolute;top:8px;right:8px;padding:6px 12px;background:var(--color-amber);color:#000;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s;font-weight:600}.copy-btn:hover{background:var(--color-amber-hover)}.file-drop{border:2px dashed var(--color-border);border-radius:12px;padding:40px 20px;text-align:center;color:var(--color-text-muted);cursor:pointer;transition:all .15s;background:var(--color-code-bg)}.file-drop:hover,.file-drop.dragover{border-color:var(--color-amber);background:var(--color-amber-glow)}.file-drop input[type=file]{display:none}.file-drop-icon{font-size:2rem;margin-bottom:12px}.file-drop p{margin:0 0 4px;font-size:.9rem}.file-drop small{font-size:.75rem;color:var(--color-text-muted)}.stats-row{display:flex;gap:16px;margin-top:12px;font-size:.8rem;color:var(--color-text-muted)}.site-footer{border-top:1px solid var(--color-border);padding:24px 0;margin-top:48px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.site-footer a{color:var(--color-amber);text-decoration:none}.site-footer a:hover{text-decoration:underline}.seo-content{margin:48px 0}.seo-content h2{font-family:var(--font-display);font-size:1.6rem;margin:32px 0 16px;color:var(--color-text)}.seo-content p{color:var(--color-text-muted);max-width:640px}.faq{margin-top:24px}.faq-item{border-bottom:1px solid var(--color-border);padding:16px 0}.faq-item h3{font-size:1rem;margin:0 0 8px}.faq-item p{color:var(--color-text-muted);margin:0}@media(max-width:640px){.hero h1{font-size:1.8rem}.tabs{flex-direction:column}.tab{text-align:left}.action-bar{flex-direction:column}.action-btn{width:100%;text-align:center}.algo-grid{grid-template-columns:1fr}}
