*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#0095f6;--color-primary-hover:#1877f2;--color-primary-light:#0095f61a;--color-primary-muted:#0095f626;--color-text-primary:#262626;--color-text-secondary:#8e8e8e;--color-text-muted:#c7c7c7;--color-text-inverse:#fff;--color-background:#fff;--color-surface:#fff;--color-surface-secondary:#fafafa;--color-surface-hover:#f5f5f5;--color-border:#dbdbdb;--color-border-light:#efefef;--color-success:#00c853;--color-success-muted:#00c85326;--color-error:#ed4956;--color-error-muted:#ed495626;--color-warning:#ffab00;--color-warning-muted:#ffab0026;--color-info:#0095f6;--color-info-muted:#0095f626;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--transition-fast:.15s ease;--transition-normal:.2s ease;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px}:root[data-theme=dark]{--color-primary:#0095f6;--color-primary-hover:#1877f2;--color-primary-light:#0095f626;--color-primary-muted:#0095f633;--color-text-primary:#f5f5f5;--color-text-secondary:#a8a8a8;--color-text-muted:#6e6e6e;--color-text-inverse:#262626;--color-background:#000;--color-surface:#121212;--color-surface-secondary:#1c1c1c;--color-surface-hover:#262626;--color-border:#363636;--color-border-light:#2a2a2a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}body{color:var(--color-text-primary);background-color:var(--color-background);min-height:100dvh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}main.content{box-sizing:border-box;width:100%;min-height:100dvh;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-shrink:0;width:min(100%,400px);padding:40px}.auth-title{text-align:center;color:var(--color-text-primary);margin-bottom:24px;font-size:24px;font-weight:600}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--color-text-secondary);font-size:14px;font-weight:500}.form-group input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text-primary);transition:border-color var(--transition-fast);outline:none;padding:12px 16px;font-size:16px}.form-group input:focus{border-color:var(--color-primary)}.form-group input::placeholder{color:var(--color-text-muted)}.auth-button{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);width:100%;transition:background-color var(--transition-fast);margin-top:8px;padding:12px 16px;font-size:14px;font-weight:600}.auth-button:hover:not(:disabled){background:var(--color-primary-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--color-error);border-radius:var(--radius-md);background:#ed49561a;border:1px solid #ed49564d;padding:12px 16px;font-size:14px}.auth-link{text-align:center;color:var(--color-text-secondary);margin-top:24px;font-size:14px}.auth-link a{color:var(--color-primary);font-weight:500}.auth-link a:hover{text-decoration:underline}.auth-divider{align-items:center;gap:12px;margin:20px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-divider span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.auth-oauth-buttons{flex-direction:column;gap:12px;width:100%;display:flex}.google-sign-in-button{color:#1f1f1f;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:#fff;border:1px solid #747775;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.google-sign-in-button:hover:not(:disabled){background:#f8f9fa;border-color:#5f6368}.google-sign-in-button:disabled{opacity:.6;cursor:not-allowed}:root[data-theme=dark] .google-sign-in-button{background:var(--color-surface-secondary);color:var(--color-text-primary);border-color:var(--color-border)}:root[data-theme=dark] .google-sign-in-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-muted)}.apple-sign-in-button{color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--transition-fast);background:#000;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.apple-sign-in-button:hover:not(:disabled){background:#1a1a1a}.apple-sign-in-button:disabled{opacity:.6;cursor:not-allowed}:root[data-theme=dark] .apple-sign-in-button{color:#000;background:#fff}:root[data-theme=dark] .apple-sign-in-button:hover:not(:disabled){background:#e8e8e8}@media (max-width:480px){main.content:has(.auth-container){background:var(--color-surface);justify-content:flex-start;align-items:stretch;padding:0}main.content:has(.auth-container) .auth-container{width:100%;max-width:none;min-height:100dvh;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));border:none;border-radius:0}}
