*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}#root{max-width:430px;min-height:100dvh;margin:0 auto;position:relative}:root{--bg:#0c0c0b;--bg-card:#161615;--bg-surface:#1c1c1a;--bg-elevated:#242422;--border:#ffffff14;--border-strong:#ffffff24;--text-primary:#f5f4f0;--text-secondary:#8a8a84;--text-tertiary:#5a5a55;--green-400:#1d9e75;--green-500:#179663;--green-600:#0f6e56;--green-800:#085041;--red-400:#d85a30;--red-500:#c14d28;--amber-400:#ef9f27;--amber-500:#d48c1e;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--shadow-card:0 1px 3px #0006, 0 0 0 .5px #ffffff0f;--font-mono:"Space Mono", monospace;--font-sans:"Plus Jakarta Sans", sans-serif}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:0;height:0}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mono{font-family:var(--font-mono)}.text-green{color:var(--green-400)}.text-red{color:var(--red-400)}.text-amber{color:var(--amber-400)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}body.sheet-open{width:100%;position:fixed;overflow:hidden}
