:root{--bg:#fff;--ink:#0b0b0b;--ink-soft:#1b1b1b;--muted:#6c6c6c;--line:#e6e6e6;--line-strong:#cfcfcf}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:#fff}.mono{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace}.wrap{max-width:760px;margin:0 auto;padding:0 1.25rem}.nav{border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40}.nav-inner{max-width:760px;margin:0 auto;padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:1.15rem;letter-spacing:-.04em}.brand span{color:var(--muted);font-weight:400}.nav-links{display:flex;gap:.4rem;align-items:center}.hero{padding:5rem 0 2.5rem;text-align:center}.wordmark{font-weight:800;font-size:clamp(4rem,16vw,7rem);letter-spacing:-.06em;line-height:.9}.dot,.tagline{color:var(--muted)}.tagline{margin-top:1rem;font-size:1.05rem}.panel{padding:2.5rem 0}.dropzone{border:1.5px dashed var(--line-strong);border-radius:14px;padding:3rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone.drag,.dropzone:hover{border-color:var(--ink);background:#fafafa}.dropzone h3{font-weight:600;font-size:1.1rem}.dropzone p{color:var(--muted);margin-top:.4rem;font-size:.9rem}kbd{font-size:.8rem;border:solid var(--line-strong);border-width:1px 1px 2px;border-radius:5px;padding:1px 6px;background:#fff}.result,kbd{font-family:ui-monospace,monospace}.result{border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;display:flex;gap:.6rem;align-items:center;justify-content:space-between;font-size:.85rem}.result,.status{margin-top:.9rem}.status{color:var(--muted);font-size:.9rem}.btn{font:inherit;font-weight:600;cursor:pointer;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.55rem 1rem;border-radius:9px;transition:opacity .15s}.btn:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.btn-ghost:hover{border-color:var(--ink);opacity:1}.btn-sm{padding:.4rem .8rem;font-size:.9rem}.features{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}@media (min-width:640px){.features{grid-template-columns:repeat(3,1fr)}}.feature{padding:1.3rem;border-bottom:1px solid var(--line)}@media (min-width:640px){.feature{border-bottom:none;border-right:1px solid var(--line)}.feature:last-child{border-right:none}}.feature h4{font-size:.95rem;font-weight:700}.feature p{color:var(--muted);font-size:.85rem;margin-top:.3rem}.auth{max-width:360px;margin:5rem auto}.auth h1{font-size:1.6rem;font-weight:800;letter-spacing:-.03em}.auth p.sub{color:var(--muted);margin-top:.3rem}.field{width:100%;margin-top:.8rem}.field input{width:100%;font:inherit;padding:.65rem .8rem;border:1px solid var(--line-strong);border-radius:9px;background:#fff}.field input:focus{outline:none;border-color:var(--ink)}.switch{color:var(--muted);font-size:.9rem;margin-top:1rem;text-align:center}.switch button{background:none;border:none;cursor:pointer;color:var(--ink);font:inherit;text-decoration:underline}.footer{color:var(--muted);font-size:.85rem;text-align:center;padding:3rem 0 5rem}.footer a{text-decoration:underline;text-underline-offset:2px}