:root{--bg: #F3F1EE;--card-sage: #EAF3E9;--card-pink: #F4E9F2;--card-blue: #E9EFF6;--card-peach: #FBF0E4;--card-surface: #FFFFFF;--text-primary: #1C1C1E;--text-secondary: #8A8A8E;--danger: #E4574C;--success: #3C8C5E;--accent: #1C1C1E;--accent-contrast: #FFFFFF;--border-color: rgba(0, 0, 0, .06);--fill-secondary: rgba(0, 0, 0, .05);--overlay: rgba(0, 0, 0, .35);--nav-bg: rgba(243, 241, 238, .9);--thumb-bg: rgba(255, 255, 255, .6);--radius-lg: 24px;--radius-sm: 14px;--shadow-soft: 0 8px 24px rgba(0, 0, 0, .06);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);color-scheme:light}html[data-theme=dark]{--bg: #121214;--card-sage: #1C2A20;--card-pink: #2A1F27;--card-blue: #1C2430;--card-peach: #2C2318;--card-surface: #1E1E21;--text-primary: #F2F2F3;--text-secondary: #9A9AA0;--danger: #FF6B60;--success: #59C783;--accent: #F2F2F3;--accent-contrast: #121214;--border-color: rgba(255, 255, 255, .08);--fill-secondary: rgba(255, 255, 255, .08);--overlay: rgba(0, 0, 0, .55);--nav-bg: rgba(18, 18, 20, .85);--thumb-bg: rgba(255, 255, 255, .08);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overscroll-behavior-y:none}html{transition:background-color .2s ease}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.1px;transition:background-color .2s ease,color .2s ease}#root{min-height:100vh;min-height:100dvh}::-webkit-scrollbar{display:none}*{scrollbar-width:none}.scroll-touch{-webkit-overflow-scrolling:touch;overflow-y:auto}button,input,textarea,select{font-family:inherit}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:700;letter-spacing:-.4px;margin:0}p{margin:0}.tap{transition:transform .15s ease,opacity .15s ease}.tap:active{transform:scale(.97);opacity:.85}.text-secondary{color:var(--text-secondary);font-size:13px;font-weight:400}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:18px;transition:background-color .2s ease}.btn-primary{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);padding:14px 20px;font-weight:600;font-size:15px;letter-spacing:-.2px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s ease,color .2s ease}.btn-secondary{background:var(--fill-secondary);color:var(--text-primary);border-radius:var(--radius-sm);padding:12px 18px;font-weight:600;font-size:14px;transition:background-color .2s ease,color .2s ease}.input{background:var(--card-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:14px 16px;font-size:16px;width:100%;color:var(--text-primary);outline:none;transition:border-color .15s ease,background-color .2s ease,color .2s ease}.input:focus{border-color:#80808066}.safe-top{padding-top:calc(var(--safe-top) + 12px)}.safe-bottom{padding-bottom:calc(var(--safe-bottom) + 12px)}
