@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap";:root{--bg: #0f172a;--card: #111827;--text: #e5e7eb;--muted: #94a3b8;--accent: #38bdf8;--border: #1f2937;--success: #22c55e;--error: #ef4444}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;background:radial-gradient(120% 120% at 20% 20%,#0a5fa8,#0e1838 40%,#0b1120),radial-gradient(90% 90% at 80% 15%,#6d28d959,#0f172a00 60%),radial-gradient(85% 85% at 85% 85%,#4c1d9573,#0f172a00 60%);color:var(--text);min-height:100vh}.page{max-width:960px;margin:0 auto;padding:24px 20px 64px}.hero{padding:12px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted);margin:0 0 6px}h1{margin:0 0 10px;font-size:30px;line-height:1.2}.lede{margin:0;color:var(--muted)}.card{background:#111827cc;border:1px solid var(--border);border-radius:16px;padding:24px;margin-top:18px;box-shadow:0 20px 50px #00000040;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.file-picker{display:flex;flex-direction:column;gap:12px}.file-dropzone{border:1px dashed var(--border);border-radius:16px;padding:28px 20px;background:#080e1cd9;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;position:relative}.file-dropzone label{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;cursor:pointer}.file-dropzone strong{font-size:16px;color:var(--text)}.file-dropzone .muted{font-size:13px}.file-dropzone.drag-active{border-color:#38bdf899;background:#081428f2;box-shadow:0 10px 35px #38bdf82e;transform:translateY(-1px)}.file-dropzone[aria-disabled=true]{opacity:.55;cursor:not-allowed}.drop-graphic{width:64px;height:64px;border-radius:50%;background:#38bdf814;border:1px solid rgba(56,189,248,.25);display:flex;align-items:center;justify-content:center}.drop-highlight{color:var(--accent);font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}input,textarea,button,select{width:100%;border-radius:10px;border:1px solid var(--border);padding:12px;background:#0b162a;color:var(--text);font-size:15px;font-family:Space Grotesk,system-ui,-apple-system,sans-serif}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;padding-right:34px}.input-row{display:flex;gap:8px;align-items:center}.input-row input{flex:1}.input-row button{width:auto;white-space:nowrap}.readonly-field{padding:12px;border:1px solid var(--border);border-radius:10px;background:#0b162a;color:var(--muted)}input:focus,textarea:focus,button:focus{outline:none;box-shadow:none}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{min-height:90px;resize:vertical}.actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.actions.vertical-actions{flex-direction:column;align-items:stretch}button{cursor:pointer;background:var(--accent);color:#0b1120;font-weight:600;border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,border-color .12s ease}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:none;border-color:#ffffff35}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:12px}.status{margin-top:12px;padding:12px;border-radius:10px;font-size:14px;border:1px solid var(--border)}.status.success{border-color:#22c55e4d;color:var(--success)}.status.error{border-color:#ef44444d;color:var(--error)}.status.info{border-color:#38bdf859;color:var(--accent)}.preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.grid.single-col{grid-template-columns:1fr}pre{background:#0b162a;border:1px solid var(--border);border-radius:10px;padding:12px;color:var(--muted);white-space:pre-wrap;word-break:break-all;min-height:120px}h2{margin-top:0}h3{margin:0 0 6px}.hint{color:var(--muted);margin-top:10px}.top-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.muted{color:var(--muted);font-size:14px}.ghost{width:auto;padding:10px 14px;background:transparent;border:1px solid var(--border);color:var(--text)}.nav-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px;background:#0f172ab3;border:1px solid var(--border);border-radius:12px;padding:8px;position:sticky;top:12px;z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nav-item{border-radius:10px;border:1px solid var(--border);background:#0b162a;color:var(--text);padding:10px 12px;cursor:pointer;font-weight:600;transition:all .12s ease;width:auto;display:flex;align-items:center;justify-content:center;gap:6px}.nav-item span{font-size:13px}.copy-block{position:relative}.copy-button{position:absolute;top:8px;right:8px;width:auto;padding:6px 10px;font-size:12px;border-radius:8px;border:1px solid var(--border);background:#0f172ae6;color:var(--text);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.copy-block:hover .copy-button,.copy-block:focus-within .copy-button{opacity:1;pointer-events:auto;transform:translateY(-2px)}.copy-button.copied{border-color:#22c55e80;color:var(--success);background:#22c55e14}.contact-list{margin-top:22px}.contact-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.contact-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.contact-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.contact-item{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center;gap:16px;border:1px solid var(--border);border-radius:14px;padding:16px;background:#0b162acc}.contact-meta strong{font-size:16px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button-inline,.contact-header button,.contact-actions button,.modal-header button,.modal-actions button{width:auto}.copy-state.copied{border-color:#22c55e80;color:var(--success);background:#22c55e14}.copy-state.error{border-color:#ef44448c;color:var(--error);background:#ef444414}.button-inline.danger,.ghost.button-inline.danger{border-color:#ef444499;color:var(--error)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;opacity:0;animation:fadeIn .16s ease forwards}.modal-backdrop.closing{animation:fadeOut .16s ease forwards}.modal-card{background:#0d1322f2;border:1px solid var(--border);border-radius:20px;padding:24px;width:min(520px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #00000073;opacity:0;transform:translateY(16px) scale(.98);animation:floatIn .22s ease forwards}.modal-card.closing{animation:floatOut .22s ease forwards}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.segment-control{display:inline-flex;background:#0a1324;border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px;width:fit-content}.segment-option{border:none;background:transparent;color:var(--muted);padding:8px 16px;border-radius:8px;font-weight:600;width:auto}.segment-option.active{background:linear-gradient(120deg,#38bdf82e,#0f172ae6);color:var(--text);border:1px solid rgba(56,189,248,.35)}.file-picker input[type=file]{padding:10px 0;border:none;background:transparent}.file-info{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px dashed var(--border);border-radius:12px;padding:14px;margin-top:8px;background:#0b162acc}.file-info>div{flex:1}.encrypt-summary,.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:12px}.meta-grid p{margin:4px 0 0;font-weight:600}.summary-label{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted)}.result-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.progress-row{margin-top:12px;display:flex;flex-direction:column;gap:6px}.progress-bar{position:relative;width:100%;height:8px;border-radius:999px;background:#94a3b833;overflow:hidden;border:1px solid var(--border)}.progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,#38bdf8e6,#0ea5e9e6);border-radius:inherit;animation:progressSlide 1.1s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes floatOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}@keyframes progressSlide{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(200%)}}.nav-item.active{border-color:#38bdf866;box-shadow:0 10px 25px #38bdf82e;background:linear-gradient(120deg,#38bdf82e,#0f172ae6)}.form-vertical{display:flex;flex-direction:column;gap:12px}@media (max-width: 720px){.page{padding-bottom:140px}.nav-bar{position:fixed;bottom:max(env(safe-area-inset-bottom),10px);left:50%;transform:translate(-50%);width:min(460px,calc(100% - 24px));border-radius:24px;margin:0 auto;display:flex;justify-content:space-evenly;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#0c101c47,#0e142438 45%,#121a2c42);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.18);max-width:460px;height:auto;max-height:90px;top:auto;z-index:20;box-shadow:0 8px 32px #00000040,inset 0 1px #ffffff26,inset 0 -1px #0000001a}.nav-item{flex:1 1 0;min-width:0;width:auto;height:auto;text-align:center;flex-direction:column;padding:10px 6px;border-radius:12px}.nav-item span{font-size:11px}}
