.tool-hero{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;margin-bottom:1rem;}
.hero-text{flex:1;min-width:260px;}
.hero-text h1{font-size:40px;font-weight:700;line-height:1.2;margin-bottom:0;}
.hero-subtitle{font-size:18px;color:var(--text-muted);max-width:640px;margin-bottom:1rem;margin-top:0;}
@media (max-width:767px){.hero-text h1{font-size:clamp(1.75rem,5vw,2.5rem);}.hero-subtitle{font-size:clamp(1rem,3vw,1.125rem);}}
.md2-root{margin-bottom:2rem;}
.md2-sheet{background:var(--bs-body-bg,#fff);border-radius:14px;border:1px solid rgba(0,0,0,0.08);box-shadow:0 2px 12px rgba(0,0,0,0.06);overflow:hidden;}
.md2-inlet{padding:1.25rem 1rem;}
@media (min-width:768px){.md2-inlet{padding:1.5rem 1.5rem;}}
.md2-label{display:block;font-size:0.8125rem;font-weight:600;color:var(--bs-body-color,#1a1a1a);margin-bottom:0.5rem;letter-spacing:0.02em;}
.md2-textarea{width:100%;min-height:120px;padding:0.875rem 1rem;font-size:1rem;line-height:1.5;color:var(--bs-body-color,#1a1a1a);background:var(--bs-body-bg,#fff);border:1px solid rgba(0,0,0,0.12);border-radius:10px;resize:vertical;transition:border-color 0.2s ease,box-shadow 0.2s ease;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}
.md2-textarea::placeholder{color:var(--text-muted,#6b7280);}
.md2-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,0.2);}
.md2-meta{margin-top:0.5rem;display:flex;justify-content:flex-end;}
.md2-count{font-size:0.75rem;color:var(--text-muted,#6b7280);}
.md2-divider{display:flex;align-items:center;gap:0.75rem;padding:0 1rem;margin:0 0 0.5rem 0;}
.md2-divider::before,.md2-divider::after{content:"";flex:1;height:1px;background:rgba(0,0,0,0.1);}
.md2-divider span{font-size:0.75rem;color:var(--text-muted,#6b7280);text-transform:lowercase;}
.md2-drop{position:relative;margin:0 1rem 1rem;padding:1.25rem;border:2px dashed rgba(0,0,0,0.14);border-radius:10px;text-align:center;cursor:pointer;transition:border-color 0.2s ease,background 0.2s ease;background:rgba(0,0,0,0.02);}
.md2-drop:hover{border-color:#6366f1;background:rgba(99,102,241,0.04);}
.md2-drop.md2-dragover{border-color:#6366f1;background:rgba(99,102,241,0.08);}
.md2-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.md2-drop-icon{display:inline-block;width:32px;height:32px;margin-bottom:0.5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center/24px no-repeat;}
.md2-drop-text{display:block;font-size:0.875rem;font-weight:500;color:var(--bs-body-color,#1a1a1a);}
.md2-result{padding:0 1rem 1.25rem;}
@media (min-width:768px){.md2-result{padding:0 1.5rem 1.5rem;}}
.md2-result-bar{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;min-height:52px;padding:0.75rem 1rem;background:rgba(0,0,0,0.04);border-radius:10px;border:1px solid rgba(0,0,0,0.06);}
.md2-hash-line{flex:1;min-width:0;font-size:0.875rem;line-height:1.5;color:var(--text-muted,#6b7280);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}
.md2-hash-line.has-value{color:#4338ca;font-weight:500;}
.md2-copy-btn{flex-shrink:0;padding:0.5rem 1rem;font-size:0.8125rem;font-weight:600;color:#fff;background:#6366f1;border:none;border-radius:8px;cursor:pointer;transition:background 0.2s ease,transform 0.1s ease;}
.md2-copy-btn:hover:not(:disabled){background:#4f46e5;}
.md2-copy-btn:active:not(:disabled){transform:scale(0.98);}
.md2-copy-btn:disabled{opacity:0.5;cursor:not-allowed;}
.md2-copy-btn.md2-copied{background:#059669;}
.md2-note{margin-top:1rem;padding:1rem;font-size:0.875rem;color:var(--text-muted,#6b7280);background:rgba(0,0,0,0.03);border-radius:10px;border-left:3px solid #6366f1;}
.md2-note p{margin:0;line-height:1.5;}
