:root{color:#1e2522;background:#f4f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: #ffffff;--text-muted: #66716b;--border: #d9dfd5;--accent: #0e7a62;--accent-dark: #075c4b;--accent-soft: #dff2ec;--danger: #a43434;--shadow: 0 18px 48px rgba(28, 46, 37, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0}.hero{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.hero h1{margin:6px 0 10px;color:#10231e;font-size:42px;line-height:1.08;font-weight:760;letter-spacing:0}.intro{width:min(680px,100%);margin:0;color:var(--text-muted);font-size:16px;line-height:1.7}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:740;letter-spacing:0;text-transform:uppercase}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:18px;align-items:stretch}.panel{min-width:0;min-height:520px;padding:22px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;margin-bottom:18px}.panel-heading h2{margin:3px 0 0;color:#152520;font-size:20px;line-height:1.25;letter-spacing:0}.panel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.ghost-button,.primary-button,.segmented button{min-height:38px;border-radius:7px;transition:background .16s ease,border-color .16s ease,color .16s ease}.ghost-button{padding:0 14px;border:1px solid var(--border);background:#f7f9f5;color:#2e3a35}.ghost-button:not(:disabled):hover{border-color:#b9c8bf;background:#eff5ef}.primary-button{min-width:78px;padding:0 16px;background:var(--accent);color:#fff;font-weight:700}.primary-button:not(:disabled):hover{background:var(--accent-dark)}textarea{display:block;width:100%;height:calc(100% - 64px);min-height:410px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:16px;outline:none;background:#fbfcfa;color:#152520;line-height:1.65}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.result-panel{display:flex;flex-direction:column}.controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.segmented{display:grid;grid-template-columns:repeat(2,minmax(86px,1fr));padding:3px;border:1px solid var(--border);border-radius:8px;background:#f4f7f3}.segmented button{padding:0 12px;background:transparent;color:#42504a;font-weight:700}.segmented button.active{background:#fff;color:var(--accent-dark);box-shadow:0 1px 8px #283f341f}.toggle{display:inline-flex;align-items:center;gap:8px;color:#35433d;font-size:14px;font-weight:650;white-space:nowrap}.toggle input{width:16px;height:16px;accent-color:var(--accent)}.toggle.disabled{color:#99a39d}.hash-output{display:block;flex:1;min-height:260px;overflow-wrap:anywhere;border:1px solid #cfd8d2;border-radius:8px;padding:16px;background:#111d19;color:#d8fff2;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:15px;line-height:1.75}.hash-output.empty{display:flex;align-items:center;justify-content:center;color:#7f9188;background:#eef3ef;font-family:inherit}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.stats div{min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px;background:#f8faf7}.stats span,.stats strong{display:block}.stats span{color:var(--text-muted);font-size:12px}.stats strong{margin-top:5px;color:#152520;font-size:19px}.error-message{margin:16px 0 0;color:var(--danger)}@media(max-width:860px){.app-shell{width:min(100% - 24px,680px);padding:28px 0}.hero h1{font-size:32px}.workspace{grid-template-columns:1fr}.panel{min-height:auto;padding:18px}textarea{height:320px;min-height:320px}}@media(max-width:520px){.panel-heading{align-items:flex-start;flex-direction:column}.panel-actions,.primary-button{width:100%}.ghost-button,.primary-button{flex:1}.controls,.segmented,.toggle{width:100%}.stats{grid-template-columns:1fr}}
