@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#0f172a;--foreground:#f8fafc;--primary:#6366f1;--primary-foreground:#fff;--card:#1e293b;--card-foreground:#f8fafc;--border:#334155;--radius:.75rem}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,sans-serif}.container{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:1.5rem;display:flex}.btn{border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-outline{border:1px solid var(--border);color:var(--foreground);background:0 0}.input{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);outline:none;margin-bottom:1rem;padding:1rem;font-size:1rem}.input:focus{border-color:var(--primary)}.card{background:var(--card);color:var(--card-foreground);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1rem;padding:1.5rem}.card-hover{cursor:pointer;transition:border-color .2s}.card-hover:hover{border-color:var(--primary)}.header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.title{font-size:1.5rem;font-weight:700}.text-muted{color:#94a3b8;font-size:.875rem}.flex-col{flex-direction:column;gap:1rem;display:flex}.flex-row{align-items:center;gap:.5rem;display:flex}.justify-between{justify-content:space-between}.scrollable-history::-webkit-scrollbar{display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.3s ease-out slide-up}
