.auth-form-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:20px}.auth-form{background:var(--surface);border-radius:24px;padding:40px;max-width:480px;width:100%;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,.1)}.auth-title{font-size:32px;font-weight:600;text-align:center;margin-bottom:12px;color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;gap:12px}.auth-title span:first-child{font-size:36px}.auth-subtitle{font-size:18px;text-align:center;color:var(--secondary-contrast);margin-bottom:32px;line-height:1.5}.form{gap:20px}.form,.form-field{display:flex;flex-direction:column}.form-field{gap:8px}.form-label{font-weight:500}.form-input,.form-label{font-size:18px;color:var(--primary-contrast)}.form-input{padding:16px 20px;border:2px solid var(--border);border-radius:12px;background:var(--background);transition:border-color .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px rgba(40,167,69,.1)}.form-input::placeholder{color:var(--secondary-contrast);opacity:.7}.auth-button{padding:18px 24px;font-size:20px;font-weight:600;background:var(--button);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-family:inherit}.auth-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.auth-button:active{transform:translateY(0)}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-button.loading{opacity:.8}.error-message{background:#fee;border:2px solid #fcc;border-radius:12px;color:#c33}.error-message,.form .success-message{padding:16px;display:flex;align-items:center;gap:8px;font-size:16px;margin-top:-8px}.form .success-message{background:#efe;border:2px solid #cfc;border-radius:12px;color:#383}.auth-switch{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.auth-switch p{font-size:16px;color:var(--secondary-contrast);margin:0}.switch-button{background:none;border:none;color:#28a745;font-size:16px;font-weight:500;cursor:pointer;text-decoration:underline;font-family:inherit;padding:0;margin-left:4px}.switch-button:hover{color:#20c997}.auth-links{text-align:center;margin-top:16px;margin-bottom:8px}.forgot-password-button{background:none;border:none;color:var(--secondary-contrast);font-size:16px;cursor:pointer;text-decoration:underline;font-family:inherit;padding:8px;border-radius:6px;transition:color .2s ease,background-color .2s ease}.forgot-password-button:hover{color:#28a745;background-color:rgba(40,167,69,.1)}.auth-button-secondary{padding:16px 20px;font-size:18px;font-weight:500;background:var(--surface);color:var(--primary-contrast);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.auth-button-secondary:hover{border-color:#28a745;background:rgba(40,167,69,.05);transform:translateY(-1px)}.auth-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.reset-instructions{background:rgba(40,167,69,.1);border:2px solid rgba(40,167,69,.3);border-radius:12px;padding:20px;margin:20px 0}.reset-instructions h3{color:var(--primary-contrast);font-size:18px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.reset-instructions ol{margin:0;padding-left:24px;color:var(--primary-contrast)}.reset-instructions li{font-size:16px;line-height:1.6;margin-bottom:8px}.auth-form>.success-message{background:rgba(40,167,69,.1);border:2px solid rgba(40,167,69,.3);border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:12px;font-size:16px;color:var(--primary-contrast);margin:20px 0}.auth-form>.success-message span:first-child{font-size:24px;flex-shrink:0}.auth-form>.success-message p{margin:0 0 8px;line-height:1.5}.auth-form>.success-message p:last-child{margin-bottom:0}.auth-message{text-align:center;padding:40px;background:var(--surface);border-radius:24px;border:1px solid var(--border);margin:20px}.auth-message p{font-size:18px;color:var(--primary-contrast);margin:0}@media only screen and (max-width:768px){.auth-form{padding:24px;margin:12px}.auth-title{font-size:28px}.auth-subtitle,.form-input{font-size:16px}.form-input{padding:14px 16px}.auth-button{font-size:18px;padding:16px 20px}}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-features{gap:20px}.dashboard-features .card{display:flex;flex-direction:column}.dashboard-features .button{align-self:flex-start;padding:10px 16px;font-size:14px;font-weight:500}.profile-header{text-align:center;margin-bottom:40px}.profile-section{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.profile-card{width:100%;max-width:none}.profile-form{display:flex;flex-direction:column;gap:16px}.interests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.interest-button{padding:12px 16px;font-size:16px;font-weight:500;border:2px solid var(--border);border-radius:12px;background:var(--surface);color:var(--primary-contrast);cursor:pointer;transition:all .2s ease;font-family:inherit}.interest-button:hover:not(:disabled){border-color:#28a745;background:rgba(40,167,69,.1)}.interest-button.selected{background:var(--button);color:#fff;border-color:transparent}.interest-button:disabled{opacity:.6;cursor:not-allowed}.security-options{display:flex;flex-direction:column;gap:16px}.security-options>div{padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.notification-settings{display:flex;flex-direction:column;gap:20px}.setting-item{padding:16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.setting-label{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:var(--primary-contrast);cursor:pointer;margin-bottom:8px}.setting-checkbox{width:20px;height:20px;accent-color:#28a745;cursor:pointer}.setting-description{font-size:14px;color:var(--secondary-contrast);margin:0 0 0 32px;line-height:1.4}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.stat-item{text-align:center;padding:20px;background:var(--background);border-radius:12px;border:1px solid var(--border)}.stat-number{font-size:28px;font-weight:600;color:#28a745;margin-bottom:8px}.stat-label{font-size:14px;color:var(--secondary-contrast);font-weight:500}@media only screen and (max-width:768px){.dashboard-features{grid-template-columns:1fr}.interests-grid{grid-template-columns:repeat(2,1fr)}.interest-button{font-size:14px;padding:10px 12px}.stats-grid{grid-template-columns:1fr;gap:12px}.stat-item{padding:16px}.stat-number{font-size:24px}}:root{--primary-contrast:#2c3e50;--secondary-contrast:#2c3e5099;--background-gradient:linear-gradient(135deg,#f8f9fa,#e9ecef);--background:#f8f9fa;--muted:hsla(208,7%,46%,.15);--surface:#fff;--border:hsla(208,7%,46%,.2);--top-gradient:#ffffff66;--bottom-gradient-top:#dee2e6;--bottom-gradient-bottom:transparent;--button:linear-gradient(135deg,#28a745,#20c997)}.dark-theme{--primary-contrast:#fff;--secondary-contrast:#ffffff99;--background-gradient:linear-gradient(90deg,#0b151e,#0b151e);--background:#0b151e;--muted:rgba(21,39,60,.6);--surface:#112031;--border:#ffffff20;--top-gradient:#1b72e833;--bottom-gradient-top:#1b72e8;--bottom-gradient-bottom:#1b72e850;--button:linear-gradient(90deg,#ffca28,#f57c00)}*{margin:0;font-family:Google Sans}body{font-size:16px;line-height:1.6}html{background:var(--background)}body{color:var(--primary-contrast);background:var(--background-gradient);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center}.dots{pointer-events:none;height:100%;background-image:radial-gradient(circle at center,var(--muted) 2px,transparent 2px);background-size:30px 30px;background-position:12px 12px;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 50%);mask-image:linear-gradient(180deg,#000 0,transparent 50%)}.dots,.top-gradient{position:absolute;top:0;left:0;width:100%}.top-gradient{height:25vh;background:linear-gradient(180deg,transparent 0,var(--top-gradient) 50%);-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw));clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw))}.bottom-gradient{position:fixed;bottom:0;width:90%;height:900px;margin-bottom:-550px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;--top:var(--bottom-gradient-top);--bottom:var(--bottom-gradient-bottom);--first:conic-gradient(from 90deg at 0% 50%,var(--top),var(--bottom));--second:conic-gradient(from 270deg at 100% 50%,var(--bottom),var(--top));-webkit-mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);background-image:var(--first),var(--second);background-position-x:0,100%;background-position-y:100%,0;background-repeat:no-repeat;opacity:.4;transform:translateY(-200px) rotate(180deg) translateZ(0);transform-origin:center center}.header{position:absolute;top:4vh;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 4vw;z-index:100}.header svg{padding:16px 25px}.header-actions{display:flex;align-items:center;gap:12px}.header-loading{font-size:20px}.header-user-info{display:flex;align-items:center;gap:16px}.header-nav-buttons{display:flex;align-items:center;gap:8px}.nav-button{background:rgba(40,167,69,.1);color:#28a745;border-color:rgba(40,167,69,.3);font-size:14px;padding:8px 12px}.nav-button:hover{background:rgba(40,167,69,.2)}.user-greeting{font-size:16px;color:var(--primary-contrast);font-weight:500}.header-auth-buttons{display:flex;align-items:center;gap:8px}.header-button{padding:10px 16px;font-size:16px;font-weight:500;border-radius:8px;text-decoration:none;transition:all .2s ease;border:1px solid var(--border);background:var(--surface);color:var(--primary-contrast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-button:hover{transform:translateY(-1px);filter:brightness(1.1)}.login-button{background:var(--surface);color:var(--primary-contrast)}.signup-button{background:var(--button);color:#fff;border-color:transparent}.logout-button{background:hsla(0,100%,70%,.1);color:#dc3545;border-color:hsla(0,100%,70%,.3)}.logout-button:hover{background:hsla(0,100%,70%,.2)}.heading{font-size:56px;font-weight:500;letter-spacing:-2%;text-align:center;line-height:1.2}.regenerate-button{color:var(--background);background:var(--button)}.back-button{position:fixed;top:32px;left:32px;color:var(--primary-contrast);background-color:var(--surface);display:flex;align-items:center;gap:6px;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.button{font-size:17px;line-height:1.3;font-weight:500;padding:13px 20px;border-radius:100px;border:none;cursor:pointer;transition:scale .2s,filter .2s}.button:hover{filter:brightness(1.1)}.button:active{scale:.97}.content{margin:120px 12px;justify-content:center;gap:80px}.content,.content header{display:flex;flex-direction:column;align-items:center}.content header{gap:32px}.content header h2{font-size:24px;font-weight:400}.data-container,.features{display:grid;grid-gap:10px;gap:10px}.features{text-wrap:balance}.data-container,.features{grid-template-columns:repeat(2,1fr)}.data-container{text-wrap:pretty}.card{flex-direction:column;padding:24px;gap:12px;max-width:360px}.card h2{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-2%}.card p{font-size:16px;line-height:1.6;color:var(--secondary-contrast);letter-spacing:-1%}.card p a,.link{color:var(--primary-contrast);text-decoration:underline;text-underline-offset:2px}.links-container{padding-top:24px;gap:24px}.links,.links-container{display:flex;flex-wrap:wrap}.links{gap:10px}.links a{padding:16px 18px;color:var(--primary-contrast);font-size:16px;font-weight:500;text-decoration:none;white-space:nowrap;justify-content:center;align-items:center;gap:4px}.card,.links a{position:relative;border-radius:24px;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex}.card:before,.links a:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(var(--border),transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card:not(:first-child):after,.links a:not(:first-child):after{content:"";top:0;height:100%;background:var(--surface);position:absolute;pointer-events:none}.card:not(:first-child):after{width:10px;left:-10px;mask:url(/between-cards.svg) no-repeat center/contain;-webkit-mask:url(/between-cards.svg) no-repeat center/contain}.links a:not(:first-child):after{width:30px;left:calc(-20px);mask:url(/between-links.svg) no-repeat center/contain;-webkit-mask:url(/between-links.svg) no-repeat center/contain}@media only screen and (max-width:1023px){.heading{font-size:42px}.back-button{top:10px;left:10px}.data-container,.features{grid-template-columns:1fr}.card:after,.links a:after,.top-gradient{display:none}.bottom-gradient{width:150%;height:400px;margin-bottom:-450px}.header{padding:0 2vw}.user-greeting{display:none}.header-auth-buttons{gap:4px}.header-button{padding:8px 12px;font-size:14px}.header-nav-buttons{display:none}}