.h512-tool{margin-bottom:2rem;}
.h512-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;}
.h512-source{padding:1.25rem 1.25rem 0;}
.h512-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-main,#111);margin-bottom:.5rem;}
.h512-textarea{width:100%;min-height:100px;padding:.875rem 1rem;border:2px solid var(--border,#e2e8f0);border-radius:12px;font-size:1rem;line-height:1.5;resize:vertical;background:var(--surface,#fff);color:var(--text-main,#111);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;-webkit-appearance:none;appearance:none;}
.h512-textarea:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.h512-textarea::placeholder{color:var(--text-muted,#64748b);}
.h512-file-wrap{margin-top:1rem;}
.h512-drop{display:flex;align-items:center;justify-content:center;min-height:56px;padding:.75rem 1rem;border:2px dashed var(--border,#e2e8f0);border-radius:12px;background:var(--surface-muted,#f8fafc);cursor:pointer;transition:border-color .2s,background .2s;}
.h512-drop:hover,.h512-drop.h512-dragover{border-color:var(--primary,#2563eb);background:rgba(37,99,235,.06);}
.h512-drop-txt{font-size:.8125rem;color:var(--text-muted,#64748b);pointer-events:none;}
.h512-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.h512-actions{padding:1rem 1.25rem;}
.h512-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:280px;padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;background:var(--primary,#2563eb);color:#fff;transition:background .2s,transform .15s;}
.h512-btn:hover{background:var(--primary-dark,#1d4ed8);}
.h512-btn:active{transform:scale(.98);}
.h512-result{padding:0 1.25rem 1.25rem;}
.h512-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;}
.h512-result-head .h512-label{margin-bottom:0;}
.h512-result-label{font-size:.875rem;font-weight:600;color:var(--text-main,#111);}
.h512-copy{padding:.5rem 1rem;border-radius:10px;font-size:.8125rem;font-weight:600;cursor:pointer;background:var(--primary,#2563eb);color:#fff;border:none;transition:background .2s,opacity .2s;}
.h512-copy:hover:not(:disabled){background:var(--primary-dark,#1d4ed8);}
.h512-copy:disabled{opacity:.5;cursor:not-allowed;}
.h512-copy.h512-done{background:#059669;}
.h512-output{display:block;min-height:88px;padding:1rem;border-radius:12px;background:#0f172a;border:2px solid #1e293b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8125rem;line-height:1.6;color:#34d399;word-break:break-all;white-space:pre-wrap;}
.h512-output[data-empty="true"]{color:var(--text-muted,#64748b);font-style:italic;}
.h512-ctx{margin-bottom:2rem;}
.h512-ctx-title{font-size:1.25rem;font-weight:700;color:var(--text-main,#111);margin:0 0 .75rem;}
.h512-ctx-p{font-size:1rem;line-height:1.65;color:var(--text-muted,#64748b);margin:0 0 .75rem;}
.h512-ctx-p:last-child{margin-bottom:0;}
.h512-ctx-p a{color:var(--primary,#2563eb);text-decoration:underline;}
.h512-ctx-p a:hover{text-decoration:none;}
@media (min-width:768px){.h512-card{border-radius:20px;}.h512-source,.h512-actions,.h512-result{padding:1.5rem 1.75rem;}.h512-source{padding-bottom:0;}.h512-actions{padding-top:1.25rem;}.h512-result{padding:0 1.75rem 1.5rem;}.h512-textarea{min-height:120px;}.h512-output{min-height:100px;font-size:.875rem;}.h512-btn{max-width:240px;}}
@media (max-width:480px){.h512-source,.h512-actions,.h512-result{padding:1rem;}.h512-textarea{min-height:88px;}.h512-copy{padding:.4rem .75rem;font-size:.75rem;}}
