@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=IBM+Plex+Mono:wght@400;500&family=Inter+Tight:wght@400;500;600;700&display=swap");:root{--paper:#f6f4ef;--card:#fffefb;--ink:#1c1b19;--ink-soft:#57544e;--ink-faint:#8a867e;--line:#e3dfd6;--line-strong:#cfcabe;--accent:#dcd6ff;--accent-strong:#b3a7f0;--accent-soft:#f0edff;--on-accent:#2a2540;--danger:#9a3b32;--radius:10px;--font-sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"SF Mono","JetBrains Mono","Fira Code",Menlo,Consolas,monospace;--font-hand:"Caveat",cursive}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:550;letter-spacing:-.01em;margin:0}.eyebrow,.mono{font-family:var(--font-mono)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.shell{width:100%;max-width:960px;margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--line);background:var(--card)}.topbar-inner{max-width:960px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-weight:600;letter-spacing:-.02em;font-size:17px}.brand-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:14px;font-weight:500;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .05s ease}.btn:hover{background:var(--paper);border-color:var(--ink-faint)}.btn:active{transform:scale(.985)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary,.btn-primary:hover{border-color:var(--accent-strong)}.btn-primary:hover{background:var(--accent-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:block;margin-bottom:16px}.label{display:block;font-size:13px;font-weight:500;color:var(--ink-soft);margin-bottom:6px}.input{width:100%;font:inherit;font-size:15px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.error{background:#f7e9e7;border:1px solid #e3c4bf;color:var(--danger);font-size:13px;padding:10px 12px;border-radius:var(--radius);margin-bottom:16px}.muted{color:var(--ink-faint)}@keyframes vf-spin{to{transform:rotate(1turn)}}.vf-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:vf-spin .7s linear infinite;vertical-align:middle}@keyframes vf-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.vf-shimmer{background:linear-gradient(90deg,var(--paper) 25%,var(--line) 50%,var(--paper) 75%);background-size:800px 100%;animation:vf-shimmer 1.4s ease-in-out infinite}