:root{--bg:#0e1017;--bg-elev:#141720;--panel:#161922;--panel-soft:#121520;--surface:#ffffff05;--line:#ffffff0f;--line-soft:#ffffff0a;--line-strong:#7aa2f733;--text:#c8d3f0;--text-soft:#a0acd0;--muted:#5e6a88;--accent:#7aa2f7;--accent-soft:#7aa2f714;--accent-glow:#7aa2f70a;--success:#9ece6a;--success-soft:#9ece6a14;--danger:#f7768e;--danger-soft:#f7768e0f;--warn:#e0af68;--radius:8px;--radius-sm:6px;--mono:"JetBrains Mono", "IBM Plex Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--transition:.15s ease;--transition-slow:.25s ease}*,: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;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.6}::selection{color:var(--text);background:#7aa2f733}a{color:var(--accent);transition:opacity var(--transition);text-decoration:none}a:hover{opacity:.85}button,input,textarea,select{font:inherit}.page-shell{place-items:center;min-height:100dvh;padding:56px 24px;display:grid}.page-wrap{gap:22px;width:100%;max-width:520px;display:grid}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.header-path{color:var(--text);letter-spacing:.04em;font-size:15px;font-weight:600}.header-dot{background:var(--muted);width:6px;height:6px;transition:background var(--transition-slow), box-shadow var(--transition-slow);border-radius:50%;flex-shrink:0}.header-dot[data-status=staged]{background:var(--accent);box-shadow:0 0 6px var(--accent-soft)}.header-dot[data-status=encrypting],.header-dot[data-status=decrypting],.header-dot[data-status=uploading]{background:var(--accent);animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 8px #7aa2f740}.header-dot[data-status=ready],.header-dot[data-status=done]{background:var(--success);box-shadow:0 0 6px var(--success-soft)}.header-dot[data-status=error]{background:var(--danger);box-shadow:0 0 6px var(--danger-soft)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.dropzone{border:1px dashed var(--line);border-radius:var(--radius);cursor:pointer;min-height:148px;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);place-items:center;padding:28px 24px;display:grid;position:relative}.dropzone:hover{background:var(--accent-glow);border-color:#7aa2f72e}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 24px var(--accent-glow)}.dropzone.has-file{border-style:solid;border-color:var(--line)}.dropzone.has-file:hover{border-color:var(--line);background:var(--surface)}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-prompt{color:var(--muted);text-align:center;letter-spacing:.005em;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:11px}.actions{gap:8px;display:flex}.button{appearance:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition), box-shadow var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;padding:9px 18px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.button-primary{color:var(--accent);border-color:var(--line-strong);background:var(--accent-glow)}.button-primary:hover{background:var(--accent-soft);border-color:#7aa2f74d}.button-primary:active{background:#7aa2f724}.button-primary:disabled{opacity:.3;cursor:not-allowed;background:0 0}.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:var(--surface)}.button-ghost:active{background:#ffffff0a}.notice{border-radius:var(--radius-sm);color:var(--muted);padding:10px 14px;font-size:12px;line-height:1.55}.notice-error{color:#ffd0d9;background:var(--danger-soft);border:1px solid #f7768e1f}.result{border-radius:var(--radius);background:#9ece6a04;border:1px solid #9ece6a1a;gap:12px;padding:16px;display:grid}.result-label{color:var(--success);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.result-url{color:var(--accent);word-break:break-all;border-radius:var(--radius-sm);border:1px solid var(--line-soft);background:#00000040;padding:10px 12px;font-size:11px;line-height:1.75}.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:.35}.footer{color:var(--muted);border-top:1px solid var(--line-soft);letter-spacing:.005em;flex-wrap:wrap;gap:6px;padding-top:14px;font-size:11px;display:flex}.footer .separator{opacity:.3}.transfer-box{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);gap:10px;padding:16px 18px;display:grid}.transfer-id{align-items:baseline;gap:10px;min-width:0;display:flex}.transfer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:11px}.transfer-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.transfer-checks{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.transfer-checks .separator{opacity:.35}.check-missing{color:var(--danger)}.home-wrap{gap:32px;max-width:560px}.home-hero{gap:16px;display:grid}.home-tagline{color:var(--text);letter-spacing:-.02em;font-size:22px;font-weight:600;line-height:1.25}.home-desc{color:var(--text-soft);font-size:13px;line-height:1.8}.home-section{gap:14px;display:grid}.home-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.home-steps{gap:4px;display:grid}.home-step{border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color var(--transition), background var(--transition);grid-template-columns:28px 1fr;gap:12px;padding:14px 16px;display:grid}.home-step:hover{border-color:var(--line);background:var(--surface)}.home-step-num{color:var(--accent);opacity:.7;padding-top:1px;font-size:12px;font-weight:600}.home-step-title{color:var(--text);margin-bottom:5px;font-size:13px;font-weight:500}.home-step-desc{color:var(--muted);font-size:12px;line-height:1.7}.home-code{border:1px solid var(--line-soft);border-radius:var(--radius);background:#00000040;gap:3px;padding:16px 18px;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:8px}.home-code-line{color:var(--text);white-space:nowrap}.home-code-output{color:var(--muted);white-space:nowrap;padding-left:18px}.home-code-comment{color:var(--muted);opacity:.4;white-space:nowrap;margin-top:8px}.home-props{gap:4px;display:grid}.home-prop{border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color var(--transition), background var(--transition);justify-content:space-between;gap:20px;padding:10px 16px;font-size:12px;display:flex}.home-prop:hover{border-color:var(--line);background:var(--surface)}.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:18px}.dropzone{min-height:120px;padding:24px 20px}.file-info{flex-direction:column;gap:4px}.home-tagline{font-size:19px}.home-step{grid-template-columns:24px 1fr;padding:12px 14px}.home-prop{flex-direction:column;gap:4px}.home-prop-val{text-align:left}.transfer-id{flex-direction:column;gap:4px}}
