@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap");:root{--background:#fff;--surface:#f8f9fa;--surface-hover:#e9ecef;--border:#dee2e6;--text-primary:#000;--text-secondary:#495057;--text-tertiary:#6c757d;--primary:#2f5dfe;--primary-hover:#254bd9;--primary-light:rgba(47,93,254,.1);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.12);--transition:all 0.2s ease}[data-theme=dark]{--background:#000;--surface:#0f0f0f;--surface-hover:#1a1a1a;--border:#2a2a2a;--text-primary:#fff;--text-secondary:#a0a0a0;--text-tertiary:#707070;--primary:#2f5dfe;--primary-hover:#4d76fe;--primary-light:rgba(47,93,254,.15);--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 6px rgba(0,0,0,.5);--shadow-lg:0 10px 15px rgba(0,0,0,.6)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background-color:var(--primary);color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 40px}.card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:24px;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.btn{padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;transition:var(--transition);display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover)}.input{padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:14px;transition:var(--transition);width:100%}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(92,124,250,.1)}.input::placeholder{color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.fade-in{animation:fadeIn .6s ease forwards}.slide-in-left{animation:slideInLeft .6s ease forwards}.slide-in-right{animation:slideInRight .6s ease forwards}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (hover:none) and (pointer:coarse){[role=button],a,button{min-height:44px;min-width:44px}*{-webkit-overflow-scrolling:touch}}@media (max-width:768px){.container{padding:0 24px}.card{padding:20px;border-radius:10px}.btn{padding:12px 20px;font-size:14px;min-height:44px}.input{padding:14px 16px;font-size:16px}body{font-size:15px}*{-webkit-overflow-scrolling:touch}}@media (max-width:480px){.container{padding:0 16px}.card{padding:16px}.btn{padding:12px 16px;font-size:13px;min-height:44px}body{font-size:14px}}