.auth-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.auth-modal{background:var(--surface);border-radius:16px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border:1px solid var(--border);position:relative}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:var(--secondary-contrast);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.auth-modal-close:hover{background:var(--muted);color:var(--primary-contrast)}.auth-modal-content{padding:48px 32px 32px}.auth-form{width:100%}.auth-form-header{text-align:center;margin-bottom:32px}.auth-form-header h2{font-size:28px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px}.auth-form-header p{color:var(--secondary-contrast);font-size:16px}.auth-form-body{gap:20px}.auth-form-body,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--primary-contrast)}.form-group input{padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:16px;background:var(--background);color:var(--primary-contrast);transition:all .2s ease}.form-group input:focus{outline:none;border-color:#ffca28;box-shadow:0 0 0 3px rgba(255,202,40,.1)}.form-group input.error{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ef4444;margin-top:4px}.error-message.general-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:12px;font-size:14px;text-align:center}.auth-button{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:48px}.auth-button.primary{background:var(--button);color:var(--primary-contrast)}.auth-button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.12)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.auth-form-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.auth-form-footer p{color:var(--secondary-contrast);font-size:14px}.link-button{background:none;border:none;color:#ffca28;cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s ease}.link-button:hover:not(:disabled){color:#f57c00}.link-button:disabled{opacity:.5;cursor:not-allowed}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;color:var(--primary-contrast)}.user-menu-trigger:hover{background:var(--muted)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--button);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--primary-contrast)}.user-avatar.large{width:48px;height:48px;font-size:18px}.user-info{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-size:14px;font-weight:500;color:var(--primary-contrast)}.user-email{font-size:12px}.chevron,.user-email{color:var(--secondary-contrast)}.chevron{width:16px;height:16px;transition:transform .2s ease}.user-menu-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);min-width:240px;z-index:50}.user-menu-header{display:flex;align-items:center;gap:12px;padding:16px}.user-menu-divider{height:1px;background:var(--border);margin:8px 0}.user-menu-items{padding:8px 0}.user-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--primary-contrast);cursor:pointer;transition:background-color .2s ease;font-size:14px}.user-menu-item:hover{background:var(--muted)}.user-menu-item.logout{color:#ef4444}.user-menu-item.logout:hover{background:rgba(239,68,68,.1)}.user-menu-item svg{width:16px;height:16px;flex-shrink:0}.header-auth{display:flex;align-items:center;gap:12px}.auth-loading{color:var(--secondary-contrast);font-size:14px}.auth-trigger-button{padding:8px 16px;background:var(--button);color:var(--primary-contrast);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-trigger-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.12)}.protected-route-loading{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:40px 20px}.loading-spinner{text-align:center}.spinner{width:40px;height:40px;border-top:4px solid var(--muted);border:4px solid var(--muted);border-top-color:var(--button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:var(--secondary-contrast);font-size:14px;margin:0}.auth-required{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px}.auth-required-content{text-align:center;max-width:400px;padding:40px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.auth-required-icon{font-size:48px;margin-bottom:24px;opacity:.8}.auth-required-content h2{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:12px}.auth-required-content p{color:var(--secondary-contrast);font-size:16px;margin-bottom:24px;line-height:1.5}.page-guard{min-height:100vh;display:flex;flex-direction:column}.page-guard-header{padding:20px;border-bottom:1px solid var(--border);background:var(--surface)}.page-guard-content{flex:1 1;padding:40px 20px}.protected-page-banner{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.protected-page-banner h3{color:var(--primary-contrast);font-size:18px;margin-bottom:8px}.protected-page-banner p{color:var(--secondary-contrast);font-size:14px;margin:0}.container{max-width:1200px;margin:0 auto;padding:0 20px}.back-link{color:var(--primary-contrast);text-decoration:none;font-size:14px;padding:8px 12px;border-radius:6px;transition:background-color .2s ease}.back-link:hover{background:var(--muted)}.header-nav{display:flex;gap:16px}.dashboard-content,.profile-content{max-width:800px;margin:0 auto}.user-welcome{text-align:center;margin:40px 0}.user-welcome h2{font-size:28px;font-weight:600;color:var(--primary-contrast);margin-bottom:12px}.user-welcome p{color:var(--secondary-contrast);font-size:16px}.dashboard-grid,.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-top:32px}.stats{display:flex;flex-direction:column;gap:8px;margin-top:16px}.stat-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.stat-item:last-child{border-bottom:none}.profile-info{display:flex;flex-direction:column;gap:4px;margin-top:12px}.profile-info p{font-size:14px;color:var(--secondary-contrast);margin:0}.quick-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.action-button{padding:10px 16px;background:var(--muted);color:var(--primary-contrast);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.action-button:hover{background:var(--surface);transform:translateY(-1px)}.activity-list{gap:12px;margin-top:16px}.activity-item,.activity-list{display:flex;flex-direction:column}.activity-item{gap:4px;padding:12px;background:var(--muted);border-radius:6px}.activity-time{font-size:12px;color:var(--secondary-contrast)}.activity-text{font-size:14px;color:var(--primary-contrast)}.profile-card{text-align:center;padding:40px 24px!important}.profile-avatar{margin-bottom:24px}.profile-info h2{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:4px}.profile-info .email{color:var(--secondary-contrast);font-size:14px}.profile-actions{margin-top:24px}.profile-edit-form{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;gap:12px;justify-content:center}.auth-button.secondary{background:var(--muted);color:var(--primary-contrast);border:1px solid var(--border)}.auth-button.secondary:hover:not(:disabled){background:var(--surface)}.update-message{padding:12px;border-radius:6px;font-size:14px;text-align:center}.update-message.success{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.update-message.error{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.account-details{display:flex;flex-direction:column;gap:16px;margin-top:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.detail-item:last-child{border-bottom:none}.detail-item label{font-size:14px;font-weight:500;color:var(--primary-contrast)}.detail-item span{font-size:14px;color:var(--secondary-contrast)}.detail-item span.verified{color:#16a34a}.detail-item span.unverified{color:#dc2626}.settings-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.setting-item:last-child{border-bottom:none}.setting-button{padding:6px 12px;background:var(--muted);color:var(--primary-contrast);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background-color .2s ease;font-size:12px}.setting-button:hover{background:var(--surface)}.danger-zone{border:1px solid rgba(239,68,68,.3)!important;background:rgba(239,68,68,.05)!important}.danger-zone h3{color:#dc2626}.danger-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.danger-button{padding:8px 16px;background:transparent;color:#dc2626;border:1px solid rgba(239,68,68,.3);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.danger-button:hover:not(:disabled){background:rgba(239,68,68,.1)}.danger-button:disabled{opacity:.5;cursor:not-allowed}.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);display:flex;align-items:center;justify-content:center;padding:20px}.auth-page-container{width:100%;max-width:450px;background:var(--background);border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);overflow:hidden;position:relative}.auth-page-header{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.back-to-home{color:var(--secondary-contrast);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;transition:all .2s ease}.back-to-home:hover{background:var(--muted);color:var(--primary-contrast)}.auth-page-content{padding:40px 24px}.auth-page-brand{text-align:center;margin-bottom:32px}.auth-page-brand h1{font-size:32px;font-weight:700;color:var(--primary-contrast);margin-bottom:8px}.auth-page-brand p{color:var(--secondary-contrast);font-size:16px;margin:0}.auth-page-form-container{width:100%}.auth-page-form-header{text-align:center;margin-bottom:32px}.auth-page-form-header h2{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px}.auth-page-form-header p{color:var(--secondary-contrast);font-size:14px;line-height:1.5;margin:0}.auth-page-footer{padding:20px 24px;border-top:1px solid var(--border);background:var(--muted);text-align:center}.auth-page-footer p{color:var(--secondary-contrast);font-size:12px;margin:0}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{flex:1 1;padding-right:50px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;opacity:.7;transition:opacity .2s ease}.password-toggle:hover{opacity:1}.password-toggle:disabled{opacity:.4;cursor:not-allowed}.form-help{display:block;margin-top:6px;font-size:12px;color:var(--secondary-contrast);line-height:1.4}.checkbox-group{margin:20px 0}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--button);cursor:pointer;flex-shrink:0;margin:2px 0 0}.checkbox-text{color:var(--secondary-contrast)}.terms-link{color:var(--button);text-decoration:none;font-weight:500}.terms-link:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:24px 0;position:relative}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-divider span{padding:0 16px;color:var(--secondary-contrast);font-size:14px;background:var(--background)}.auth-links{display:flex;flex-direction:column;gap:16px;margin-top:24px}.auth-link-group{display:flex;justify-content:center;align-items:center;gap:8px;font-size:14px}.auth-link-group span{color:var(--secondary-contrast)}.auth-link{color:var(--button);text-decoration:none;font-weight:500;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.auth-link:hover{background:rgba(var(--button-rgb),.1);text-decoration:none}.auth-link.secondary{color:var(--secondary-contrast);text-decoration:underline}.auth-link.secondary:hover{color:var(--primary-contrast);text-decoration:none;background:var(--muted)}.auth-loading-container,.auth-success-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px}.success-icon{font-size:48px;margin-bottom:16px}.success-icon.large{font-size:72px;margin-bottom:24px}.auth-success-container h3{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:16px}.auth-success-container p{color:var(--secondary-contrast);line-height:1.6;margin-bottom:24px}.email-instructions{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:20px;margin:24px 0;text-align:left;width:100%;max-width:400px}.email-instructions h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:12px;display:flex;align-items:center;gap:8px}.email-instructions ol{margin:0;padding-left:20px}.email-instructions li{color:var(--secondary-contrast);font-size:14px;line-height:1.5;margin-bottom:6px}.email-instructions li:last-child{margin-bottom:0}.reset-actions{display:flex;flex-direction:column;gap:12px;margin-top:32px;width:100%;max-width:300px}.reset-info{background:rgba(var(--button-rgb),.05);border:1px solid rgba(var(--button-rgb),.2);border-radius:8px;padding:16px;margin-top:24px}.reset-info h4{font-size:14px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px;display:flex;align-items:center;gap:6px}.reset-info ul{margin:0;padding-left:20px}.reset-info li{color:var(--secondary-contrast);font-size:12px;line-height:1.4;margin-bottom:4px}.reset-info li:last-child{margin-bottom:0}.profile-image-upload{display:flex;flex-direction:column;align-items:center;gap:16px}.image-container{position:relative;width:120px;height:120px}.profile-image{object-fit:cover}.profile-image,.profile-image-placeholder{width:100%;height:100%;border-radius:50%;border:4px solid var(--border)}.profile-image-placeholder{background:var(--muted);font-size:48px;font-weight:600;color:var(--primary-contrast)}.profile-image-placeholder,.upload-overlay{display:flex;align-items:center;justify-content:center}.upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);border-radius:50%}.upload-spinner .spinner{width:32px;height:32px;border:3px solid hsla(0,0%,100%,.3);border-top-color:#fff}.image-actions{display:flex;gap:8px}.image-action-button{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.image-action-button.primary{background:var(--button);color:#fff;border:none}.image-action-button.secondary{background:transparent;color:var(--secondary-contrast);border:1px solid var(--border)}.image-action-button:hover:not(:disabled){transform:translateY(-1px);opacity:.9}.image-action-button:disabled{opacity:.5;cursor:not-allowed}.hidden-file-input{position:absolute;opacity:0;pointer-events:none}.upload-error{color:#dc2626;font-size:12px;text-align:center;margin-top:8px}.image-upload-info{text-align:center;font-size:11px;color:var(--secondary-contrast);line-height:1.4}.image-upload-info p{margin:2px 0}.extended-profile-form{display:flex;flex-direction:column;gap:24px}.form-section{background:var(--muted);padding:20px;border-radius:8px;border:1px solid var(--border)}.form-section h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.char-count{text-align:right;font-size:11px;color:var(--secondary-contrast)}.char-count,.field-error{display:block;margin-top:4px}.field-error{color:#dc2626;font-size:12px}.password-change-form{max-width:500px;margin:0 auto}.form-header{text-align:center;margin-bottom:32px}.form-header h3{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px}.form-header p{color:var(--secondary-contrast);font-size:14px}.password-strength{margin-top:8px}.strength-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:4px}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-text{font-size:12px;font-weight:500}.password-requirements{margin-top:12px;padding:12px;background:var(--muted);border-radius:6px;border:1px solid var(--border)}.password-requirements small{display:block;margin-bottom:8px;font-weight:500;color:var(--primary-contrast)}.password-requirements ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px}.password-requirements li{font-size:12px;color:var(--secondary-contrast);padding:2px 0;position:relative}.password-requirements li:before{content:"○";margin-right:6px;color:var(--border)}.password-requirements li.met{color:#16a34a}.password-requirements li.met:before{content:"●";color:#16a34a}.email-verification-manager{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin:24px 0}.email-verification-manager.verified{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.2)}.verification-status{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.status-icon{font-size:32px;flex-shrink:0}.status-icon.success{color:#16a34a}.status-icon.warning{color:#f59e0b}.status-content h4{font-size:18px;font-weight:600;color:var(--primary-contrast);margin-bottom:4px}.status-content p{color:var(--secondary-contrast);font-size:14px;margin:0}.verification-help,.verification-info{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:16px;margin:16px 0}.verification-help h5,.verification-info h5{font-size:14px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px;display:flex;align-items:center;gap:6px}.verification-help ul,.verification-info ol{margin:0;padding-left:20px}.verification-help li,.verification-info li{font-size:13px;color:var(--secondary-contrast);line-height:1.4;margin-bottom:4px}.verification-message{padding:12px 16px;border-radius:8px;margin:16px 0;font-size:14px}.verification-message.success{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.verification-message.error{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.verification-message.info{background:rgba(59,130,246,.1);color:#2563eb;border:1px solid rgba(59,130,246,.2)}.verification-actions{display:flex;gap:12px;flex-wrap:wrap}.notification-settings{max-width:600px;margin:0 auto}.settings-header{text-align:center;margin-bottom:32px}.settings-header h3{font-size:24px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px}.settings-header p{color:var(--secondary-contrast);font-size:14px}.notification-group{margin-bottom:32px;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.group-header{padding:20px;background:var(--muted);border-bottom:1px solid var(--border)}.group-header h4{font-size:18px;font-weight:600;color:var(--primary-contrast);margin-bottom:4px}.group-header p{color:var(--secondary-contrast);font-size:14px;margin:0}.notification-items{padding:0}.notification-item{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border);transition:background-color .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--muted)}.item-info{flex:1 1;margin-right:16px}.item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.item-icon,.item-label{font-size:16px}.item-label{font-weight:500;color:var(--primary-contrast);display:flex;align-items:center;gap:8px}.required-badge{background:#f59e0b;color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.item-description{color:var(--secondary-contrast);font-size:13px;margin:0;line-height:1.4}.item-toggle{flex-shrink:0}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}input:checked+.toggle-slider{background-color:var(--button)}input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}input:checked+.toggle-slider:before{transform:translateX(20px)}.settings-message{padding:12px 16px;border-radius:8px;margin:20px 0;font-size:14px}.settings-message.success{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.settings-message.error{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.settings-actions{display:flex;gap:12px;margin-top:32px;justify-content:center}.settings-info{background:var(--muted);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:24px}.settings-info h5{font-size:14px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px;display:flex;align-items:center;gap:6px}.settings-info ul{margin:0;padding-left:20px}.settings-info li{font-size:12px;color:var(--secondary-contrast);line-height:1.4;margin-bottom:4px}.settings-info li:last-child{margin-bottom:0}.enhanced-profile-page{min-height:100vh;background:var(--background)}.profile-header-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.profile-container{display:grid;grid-template-columns:280px 1fr;max-width:1200px;margin:0 auto;min-height:calc(100vh - 80px)}.profile-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:32px 24px;position:-webkit-sticky;position:sticky;top:80px;height:-moz-fit-content;height:fit-content}.sidebar-header{margin-bottom:32px}.sidebar-header h1{font-size:24px;font-weight:700;color:var(--primary-contrast);margin-bottom:8px}.sidebar-header p{color:var(--secondary-contrast);font-size:14px;margin:0}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:transparent;border:none;color:var(--secondary-contrast);cursor:pointer;transition:all .2s ease;font-size:14px;text-align:left;width:100%}.sidebar-item:hover{background:var(--muted);color:var(--primary-contrast)}.sidebar-item.active{background:var(--button);color:#fff}.sidebar-icon{font-size:16px;flex-shrink:0}.sidebar-label{font-weight:500}.profile-main-content{padding:32px 40px;overflow-x:hidden}.profile-message{padding:16px;border-radius:8px;margin-bottom:24px;font-size:14px}.profile-message.success{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}.profile-message.error{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}.overview-section{display:flex;flex-direction:column;gap:32px}.profile-header{justify-content:space-between;gap:32px}.profile-header,.profile-main{display:flex;align-items:flex-start}.profile-main{gap:24px;flex:1 1}.profile-details{flex:1 1}.profile-details h2{font-size:32px;font-weight:700;color:var(--primary-contrast);margin-bottom:8px}.bio{color:var(--secondary-contrast);font-size:16px;line-height:1.5;margin-bottom:16px}.profile-meta{margin-bottom:8px}.meta-item{color:var(--secondary-contrast);font-size:14px;display:flex;align-items:center;gap:8px}.profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.profile-card h3{font-size:18px;font-weight:600;color:var(--primary-contrast);margin-bottom:16px}.contact-info{font-size:16px;color:var(--primary-contrast)}.website-link{color:var(--button);text-decoration:none}.website-link:hover{text-decoration:underline}.activity-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.stat{text-align:center;padding:16px;background:var(--muted);border-radius:8px}.stat-value{display:block;font-size:24px;font-weight:700;color:var(--button);margin-bottom:4px}.section-header{margin-bottom:32px}.section-header h2{font-size:28px;font-weight:700}.section-header h2,.section-header h3{color:var(--primary-contrast);margin-bottom:8px}.section-header h3{font-size:20px;font-weight:600}.section-header p{color:var(--secondary-contrast);font-size:16px;margin:0}.account-actions,.security-actions{display:flex;flex-direction:column;gap:16px;margin:24px 0}.action-card{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.action-info{flex:1 1}.action-info h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:4px}.action-info p{color:var(--secondary-contrast);font-size:14px;margin:0}.danger-section{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:24px;margin-top:32px}@media (max-width:768px){.profile-container{grid-template-columns:1fr}.profile-sidebar{position:static;border-right:none;border-bottom:1px solid var(--border);padding:24px}.sidebar-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px}.profile-main-content{padding:24px 20px}.profile-header{flex-direction:column;align-items:stretch}.profile-main{flex-direction:column;align-items:center;text-align:center}.activity-stats,.form-row{grid-template-columns:1fr}.account-actions,.security-actions{gap:12px}.action-card{flex-direction:column;align-items:stretch;gap:16px}}.api-tester{max-width:100%}.api-tester-content{display:flex;flex-direction:column;gap:24px}.auth-status{background:var(--muted);padding:16px;border-radius:8px;border:1px solid var(--border)}.auth-status p{margin:0;font-size:14px;color:var(--secondary-contrast)}.test-description{background:rgba(var(--button-rgb),.05);border:1px solid rgba(var(--button-rgb),.2);border-radius:8px;padding:16px}.test-description h3{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:12px}.test-description ul{margin:0;padding-left:20px}.test-description li{font-size:13px;color:var(--secondary-contrast);line-height:1.5;margin-bottom:4px}.test-cases{display:flex;flex-direction:column;gap:16px}.test-case{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.test-case-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:20px}.test-info{flex:1 1}.test-info h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:4px}.test-info .test-description{background:none;border:none;padding:0;margin:0 0 8px;font-size:12px;color:var(--secondary-contrast)}.method-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:8px;background:var(--button);color:#fff}.endpoint{font-family:Monaco,Menlo,monospace;font-size:12px;background:var(--muted);padding:2px 6px;border-radius:4px;color:var(--primary-contrast)}.test-button{padding:8px 16px;background:var(--button);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.test-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.test-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.request-body{margin:12px 0}.request-body summary{font-size:12px;font-weight:500;color:var(--primary-contrast);cursor:pointer;padding:8px 0}.request-body pre{background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:12px;font-size:11px;overflow-x:auto;margin:8px 0 0;color:var(--primary-contrast)}.api-result{margin-top:12px;border-radius:8px;padding:12px;border:1px solid var(--border)}.api-result.success{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.2)}.api-result.client-error{background:rgba(249,115,22,.05);border-color:rgba(249,115,22,.2)}.api-result.network-error,.api-result.server-error{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.status-badge{font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px;background:var(--muted);color:var(--primary-contrast)}.api-result.success .status-badge{background:rgba(34,197,94,.1);color:#16a34a}.api-result.client-error .status-badge{background:rgba(249,115,22,.1);color:#ea580c}.api-result.network-error .status-badge,.api-result.server-error .status-badge{background:rgba(239,68,68,.1);color:#dc2626}.timestamp{font-size:11px;color:var(--secondary-contrast)}.error-message{background:rgba(239,68,68,.1);color:#dc2626;padding:8px;border-radius:4px;margin-bottom:8px;font-size:12px}.result-details summary{font-size:12px;font-weight:500;color:var(--primary-contrast);cursor:pointer;padding:4px 0}.result-data{background:var(--muted);border:1px solid var(--border);border-radius:4px;padding:8px;font-size:11px;overflow-x:auto;margin:4px 0 0;color:var(--primary-contrast);max-height:200px;overflow-y:auto}.security-info{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.security-info h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:16px}.security-features{display:flex;flex-direction:column;gap:12px}.feature{padding:12px;background:var(--muted);border-radius:6px;font-size:13px;color:var(--secondary-contrast)}.feature strong{color:var(--primary-contrast)}@media (max-width:768px){.test-case-header{flex-direction:column;align-items:stretch;gap:12px}.test-button{align-self:flex-start}.security-features{gap:8px}}.test-report{max-width:100%}.test-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:20px;background:var(--muted);border-radius:12px;border:1px solid var(--border)}.summary-stats{display:flex;gap:16px;flex-wrap:wrap}.stat-box{display:flex;flex-direction:column;align-items:center;padding:12px 16px;background:var(--surface);border-radius:8px;border:1px solid var(--border);min-width:80px}.stat-box.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3)}.stat-box.warning{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.3)}.stat-box.fail{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}.stat-number{font-size:24px;font-weight:700;color:var(--primary-contrast);margin-bottom:4px}.stat-box.success .stat-number{color:#16a34a}.stat-box.warning .stat-number{color:#ea580c}.stat-box.fail .stat-number{color:#dc2626}.stat-label{font-size:12px;color:var(--secondary-contrast);font-weight:500}.test-actions{display:flex;align-items:center}.test-run-button{padding:10px 20px;background:var(--button);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.test-run-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.test-run-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.test-results{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.test-result{padding:16px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.test-result.pass{background:rgba(34,197,94,.05);border-color:rgba(34,197,94,.2)}.test-result.warning{background:rgba(249,115,22,.05);border-color:rgba(249,115,22,.2)}.test-result.fail{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2)}.test-result.pending{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.2)}.test-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.test-icon{font-size:18px;flex-shrink:0}.test-name{font-size:16px;font-weight:600;color:var(--primary-contrast)}.test-message{font-size:14px;margin-bottom:4px}.test-details,.test-message{color:var(--secondary-contrast)}.test-details{font-size:12px;padding:8px 12px;background:var(--muted);border-radius:6px;border:1px solid var(--border);margin-top:8px}.test-conclusion{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px}.test-conclusion h3{font-size:18px;font-weight:600;color:var(--primary-contrast);margin-bottom:12px}.test-conclusion p{margin-bottom:8px;font-size:14px;color:var(--secondary-contrast)}.system-info{background:var(--muted);border:1px solid var(--border);border-radius:12px;padding:20px}.system-info h4{font-size:16px;font-weight:600;color:var(--primary-contrast);margin-bottom:16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.info-item{display:flex;justify-content:space-between;padding:8px 12px;background:var(--surface);border-radius:6px;border:1px solid var(--border)}.info-item label{font-weight:500;color:var(--primary-contrast);font-size:13px}.info-item span{color:var(--secondary-contrast);font-size:13px}@media (max-width:768px){.test-summary{flex-direction:column;gap:20px;align-items:stretch}.summary-stats,.test-actions{justify-content:center}.info-grid{grid-template-columns:1fr}.stat-box{min-width:70px}}@media (max-width:480px){.auth-modal-backdrop{padding:16px}.auth-modal-content{padding:40px 24px 24px}.auth-form-header h2{font-size:24px}.user-menu-dropdown{right:-8px;left:-8px;min-width:auto}.auth-required-content{padding:24px}.auth-required-icon{font-size:36px;margin-bottom:16px}.auth-required-content h2{font-size:20px}.auth-required-content p{font-size:14px}}:root{--primary-contrast:#0b151e;--secondary-contrast:#0b151e99;--background-gradient:linear-gradient(90deg,#ffca28,#f57c00);--background:#ffca28;--muted:rgba(194,137,3,.3);--surface:#e99e1d;--border:transparent;--top-gradient:#ffffff33;--bottom-gradient-top:#ffffff75;--bottom-gradient-bottom:transparent;--button:#0b151e}.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}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 2rem;max-width:1200px;margin:0 auto}.header svg{padding:16px 25px}.heading{font-size:48px;font-weight:500;letter-spacing:-2%;text-align:center}.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:15px;line-height:1.3;font-weight:500;padding:11px 16px;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:20px;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:24px;line-height:1.2;font-weight:500;letter-spacing:-2%}.card p{font-size:13px;line-height:1.5;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:14px 15px;color:var(--primary-contrast);font-size:14px;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:36px}.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}}