:root{--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-primary: #2463eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(36, 99, 235, .08);--color-bg-page: #f8fafc;--color-card-bg: #ffffff;--color-text-main: #0f1729;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-border: #e2e8f0;--color-border-focus: #2463eb;--color-error: #ef4444;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-card-hover: 0 10px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-btn: 0 3px 12px 0 rgba(36, 99, 235, .32)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.custom-scroll::-webkit-scrollbar{width:4px}.custom-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:9999px}.custom-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}body{font-family:var(--font-family);background-color:var(--color-bg-page);color:var(--color-text-main);line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}button{font-family:inherit;border:none;cursor:pointer;background:none;outline:none;transition:all .18s cubic-bezier(.4,0,.2,1)}input,select{font-family:inherit;color:var(--color-text-main);outline:none}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}a:hover{color:var(--color-primary-hover)}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg-page)}.main-content{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;width:100%;max-width:530px;margin:0 auto;padding:0 16px 24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease-out forwards}
