@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg-primary: #fafaf9;--bg-surface: #ffffff;--bg-elevated: #f5f5f4;--bg-overlay: rgba(12, 10, 9, .4);--text-primary: #0c0a09;--text-secondary: #57534e;--text-tertiary: #a8a29e;--text-on-accent: #ffffff;--accent: #0f766e;--accent-hover: #115e59;--accent-subtle: #ccfbf1;--accent-on-subtle: #115e59;--success: #15803d;--success-subtle: #dcfce7;--warning: #b45309;--warning-subtle: #fef3c7;--danger: #b91c1c;--danger-subtle: #fee2e2;--border-subtle: #e7e5e4;--border-strong: #d6d3d1;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(12, 10, 9, .04);--shadow-md: 0 2px 8px rgba(12, 10, 9, .06);--shadow-lg: 0 8px 24px rgba(12, 10, 9, .1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg-primary);overscroll-behavior-y:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.tnum{font-variant-numeric:tabular-nums}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.pressable{transition:opacity .12s ease,background-color .12s ease,transform .06s ease;-webkit-user-select:none;user-select:none}.pressable:active{opacity:.78}.pressable:disabled{cursor:not-allowed}.card-press{transition:background-color .12s ease,transform .06s ease}.card-press:active{transform:scale(.995);background:var(--bg-elevated)}.app-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 0px,#ececeb 200px,var(--bg-elevated) 400px);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease}.sheet-panel{width:100%;max-width:520px;background:var(--bg-surface);border-radius:24px 24px 0 0;padding:16px 20px calc(24px + var(--safe-bottom));max-height:88vh;overflow-y:auto;animation:sheet-up .24s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto 14px}@keyframes dialog-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.dialog-card{animation:dialog-pop .18s ease}.app-frame{max-width:520px;margin:0 auto;height:100%;position:relative;background:var(--bg-primary);box-shadow:0 0 0 1px var(--border-subtle);display:flex;flex-direction:column}.app-route{flex:1;min-height:0}input[type=checkbox]{accent-color:var(--accent)}
