:root{--bg:#111218;--bg-elev:#161922;--panel:#171a23;--panel-soft:#141720;--surface:#ffffff06;--line:#ffffff12;--line-soft:#ffffff0b;--line-strong:#7aa2f738;--text:#cbd5f5;--text-soft:#aeb8d8;--muted:#6f7a99;--accent:#7aa2f7;--accent-soft:#7aa2f71f;--success:#9ece6a;--danger:#f7768e;--warn:#e0af68;--radius:8px;--mono:"JetBrains Mono", "IBM Plex Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.6}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit}.page-shell{place-items:center;min-height:100vh;padding:48px 20px;display:grid}.page-wrap{gap:20px;width:100%;max-width:520px;display:grid}.header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.header-path{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.header-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;transition:background .2s}.header-dot[data-status=staged]{background:var(--accent)}.header-dot[data-status=encrypting]{background:var(--accent);animation:1s infinite pulse}.header-dot[data-status=ready]{background:var(--success)}.header-dot[data-status=error]{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.dropzone{border:1px dashed var(--line);border-radius:var(--radius);cursor:pointer;place-items:center;min-height:140px;padding:24px 20px;transition:border-color .15s,background .15s;display:grid;position:relative}.dropzone:hover{background:#ffffff03;border-color:#7aa2f740}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.has-file{border-style:solid;border-color:var(--line)}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-prompt{color:var(--muted);text-align:center;font-size:13px}.file-info{align-items:baseline;gap:12px;width:100%;min-width:0;display:flex}.file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.file-size{color:var(--muted);flex-shrink:0;font-size:12px}.actions{gap:8px;display:flex}.button{appearance:none;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.button-primary{color:var(--accent);border-color:var(--line-strong);background:0 0}.button-primary:hover{background:var(--accent-soft)}.button-primary:disabled{opacity:.35;cursor:not-allowed}.button-ghost{color:var(--muted);border-color:var(--line-soft);background:0 0}.button-ghost:hover{color:var(--text-soft);border-color:var(--line);background:#ffffff05}.notice{border-radius:var(--radius);padding:10px 14px;font-size:13px;line-height:1.5}.notice-error{color:#ffd7de;background:#f7768e0a;border:1px solid #f7768e26}.result{border-radius:var(--radius);background:#9ece6a05;border:1px solid #9ece6a1f;gap:12px;padding:16px;display:grid}.result-label{color:var(--success);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.result-url{color:var(--accent);word-break:break-all;border:1px solid var(--line-soft);background:#0003;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.7}.result-actions{gap:8px;display:flex}.result-meta{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.result-meta .separator{opacity:.4}.footer{color:var(--muted);border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;padding-top:12px;font-size:11px;display:flex}.footer .separator{opacity:.4}.header-dot[data-status=decrypting]{background:var(--accent);animation:1s infinite pulse}.header-dot[data-status=done]{background:var(--success)}.transfer-box{border:1px solid var(--line-soft);border-radius:var(--radius);gap:8px;padding:14px 16px;display:grid}.transfer-id{align-items:baseline;gap:10px;min-width:0;display:flex}.transfer-label{color:var(--muted);flex-shrink:0;font-size:12px}.transfer-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.transfer-checks{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.transfer-checks .separator{opacity:.4}.check-missing{color:var(--danger)}.home-wrap{gap:28px;max-width:560px}.home-hero{gap:14px;display:grid}.home-tagline{color:var(--text);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.3}.home-desc{color:var(--text-soft);font-size:13px;line-height:1.75}.home-section{gap:12px;display:grid}.home-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.home-steps{gap:2px;display:grid}.home-step{border:1px solid var(--line-soft);border-radius:var(--radius);grid-template-columns:24px 1fr;gap:12px;padding:12px 14px;display:grid}.home-step-num{color:var(--muted);padding-top:1px;font-size:12px}.home-step-title{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:500}.home-step-desc{color:var(--muted);font-size:12px;line-height:1.65}.home-code{border:1px solid var(--line-soft);border-radius:var(--radius);background:#0003;gap:2px;padding:14px 16px;font-size:12px;line-height:1.7;display:grid;overflow-x:auto}.home-code-prompt{color:var(--accent);-webkit-user-select:none;user-select:none;margin-right:6px}.home-code-line{color:var(--text);white-space:nowrap}.home-code-output{color:var(--muted);white-space:nowrap}.home-code-comment{color:var(--muted);opacity:.5;white-space:nowrap;margin-top:6px}.home-props{gap:2px;display:grid}.home-prop{border:1px solid var(--line-soft);border-radius:var(--radius);justify-content:space-between;gap:16px;padding:9px 14px;font-size:12px;display:flex}.home-prop-key{color:var(--muted);flex-shrink:0}.home-prop-val{color:var(--text-soft);text-align:right}@media (max-width:560px){.page-shell{place-items:start center;padding:32px 16px}.page-wrap{gap:16px}.dropzone{min-height:120px}.file-info{flex-direction:column;gap:4px}}
