.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 20px 40px rgba(0,0,0,.15);max-width:480px;width:100%;position:relative;animation:slideUp .3s ease-out;max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all var(--transition-fast) ease;z-index:10}.modal-close:hover{background:var(--secondary);color:var(--foreground)}.modal-content{padding:2.5rem 2rem 2rem}.modal-header{text-align:center;margin-bottom:2rem}.modal-title{font-size:1.75rem;font-weight:700;color:var(--foreground);margin-bottom:.5rem;line-height:1.2}.modal-subtitle{font-size:1rem;color:var(--muted-foreground);line-height:1.5}.benefits-section,.modal-body{margin-bottom:2rem}.benefits-section{padding:1.25rem;background:var(--muted);border-radius:var(--radius-md);border:1px solid var(--border)}.benefits-section h3{font-size:.875rem;font-weight:600;color:var(--foreground);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{position:relative;padding-left:1.5rem;margin-bottom:.625rem;color:var(--foreground);font-size:.9375rem;line-height:1.5}.benefits-list li:last-child{margin-bottom:0}.benefits-list li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.preferences-section{display:flex;flex-direction:column;gap:1rem}.toggle-item{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;transition:all var(--transition-fast) ease}.toggle-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.toggle-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;user-select:none}.toggle-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.toggle-title{font-size:.9375rem;font-weight:600;color:var(--foreground)}.toggle-description{font-size:.875rem;color:var(--muted-foreground);line-height:1.4}.terms-link{color:var(--primary);text-decoration:underline;transition:opacity var(--transition-fast) ease}.terms-link:hover{opacity:.7}.toggle-switch{position:relative;width:51px;height:31px;background:var(--border);border-radius:var(--radius-full);border:none;cursor:pointer;transition:background-color var(--transition-base) ease;flex-shrink:0;padding:0}.toggle-switch.active{background:#34c759}.toggle-thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;background:white;border-radius:50%;transition:transform var(--transition-base) ease;box-shadow:0 2px 4px rgba(0,0,0,.2);display:block}.toggle-switch.active .toggle-thumb{transform:translateX(20px)}.toggle-switch:focus{outline:2px solid var(--primary);outline-offset:2px}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.modal-footer{flex-direction:column;gap:1rem}.modal-footer,.signup-button{display:flex;align-items:center}.signup-button{width:100%;justify-content:center;gap:.625rem;padding:.875rem 1.5rem;background:var(--primary);color:var(--background);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast) ease;box-shadow:var(--shadow-sm)}.signup-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.signup-button:active:not(:disabled){transform:translateY(0)}.signup-button:disabled{opacity:.5;cursor:not-allowed}.privacy-note{font-size:.8125rem;color:var(--muted-foreground);text-align:center;line-height:1.5}.privacy-note a{color:var(--primary);text-decoration:underline;transition:opacity var(--transition-fast) ease}.privacy-note a:hover{opacity:.7}@media (max-width:640px){.modal-content{padding:2rem 1.5rem 1.5rem}.modal-title{font-size:1.5rem}.modal-subtitle{font-size:.9375rem}.toggle-label{gap:.75rem}.toggle-text{min-width:0}.benefits-section{padding:1rem}}@media (prefers-color-scheme:dark){.modal-overlay{background-color:rgba(0,0,0,.7)}.benefits-list li:before{color:#ffffff}}.github-login-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background-color:var(--foreground);color:var(--background);border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast) ease;box-shadow:var(--shadow-sm)}.github-login-button.compact{padding:.5rem .75rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-full);gap:.375rem}.github-login-button:hover{background-color:var(--muted-foreground);transform:translateY(-2px);box-shadow:var(--shadow-md)}.user-profile-container{position:relative}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem .5rem 1rem;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-full);transition:all var(--transition-fast) ease;cursor:pointer;font:inherit}.user-profile.compact{gap:.375rem;padding:.5rem .75rem}.user-profile:hover{box-shadow:var(--shadow-sm);border-color:var(--primary)}.user-name{font-size:.9375rem;font-weight:500;color:var(--foreground);white-space:nowrap}.user-profile.compact .user-name{font-size:.6875rem;text-transform:uppercase;letter-spacing:.02em;font-weight:500}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--border)}.user-avatar.compact{width:16px;height:16px;border:1px solid var(--border)}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:160px;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;animation:dropdown-appear .15s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:none;border:none;font-size:.9375rem;font-weight:500;text-align:left;color:var(--foreground);cursor:pointer;transition:all var(--transition-fast) ease}.dropdown-item:hover{background-color:var(--accent)}.logout-item{color:var(--destructive,#ef4444)}.logout-item:hover{background-color:rgba(239,68,68,.1)}@media (max-width:768px){.github-login-button:not(.compact){padding:.5rem 1rem;font-size:.875rem}.user-profile:not(.compact){padding:.375rem .5rem .375rem .75rem}.user-profile:not(.compact) .user-name{font-size:.875rem}.user-dropdown{min-width:140px}.dropdown-item{padding:.625rem .875rem;font-size:.875rem}}