@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Mono:wght@300;400;500&display=swap";.navbar{background:var(--nav-bg);border-bottom:1px solid var(--glass-border);z-index:100;-webkit-backdrop-filter:var(--glass-blur);justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:sticky;top:0}.navbar-brand{color:var(--color-text);letter-spacing:-1px;font-size:1.35rem;font-weight:800;font-family:var(--font-display);flex-shrink:0;text-decoration:none;transition:opacity .2s}.navbar-brand:hover{opacity:.8}.navbar-brand span{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem;display:flex}.nav-link{color:var(--color-text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:.4rem .85rem;text-decoration:none;transition:all .25s;position:relative}.nav-link:hover{color:var(--color-text);background:#a78bfa14}.nav-link--primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#fff;box-shadow:0 2px 12px var(--color-primary-glow);font-weight:600}.nav-link--primary:hover{box-shadow:0 4px 20px var(--color-primary-glow);color:var(--btn-primary-text);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--glass-border);background:var(--glass);cursor:pointer;width:34px;height:34px;color:var(--color-text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .25s;display:flex}.theme-toggle:hover{color:var(--color-warm);background:#fbbf2414;border-color:#fbbf244d}.theme-toggle svg{width:18px;height:18px}.nav-link--logout{color:var(--color-danger)}.nav-link--logout:hover{color:var(--color-danger);background:#fb718514}@media (width<=600px){.navbar{gap:.35rem;padding:.6rem .85rem}.navbar-brand{font-size:1.15rem}.nav-link{padding:.35rem .55rem;font-size:.75rem}}.spinner-container{justify-content:center;align-items:center;padding:3rem;display:flex}.spinner{border:2px solid #a78bfa26;border-top-color:var(--color-primary);width:32px;height:32px;box-shadow:0 0 15px var(--color-primary-light);border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing{max-width:960px;margin:0 auto;padding:2rem;position:relative;overflow:hidden}.landing-glow{pointer-events:none;z-index:0;width:900px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.landing-glow:before,.landing-glow:after{content:"";filter:blur(80px);border-radius:50%;animation:20s ease-in-out infinite meshRotate;position:absolute}.landing-glow:before{background:radial-gradient(circle,#a78bfa40,#0000 70%);width:500px;height:500px;top:0;left:10%}.landing-glow:after{background:radial-gradient(circle,#22d3ee26,#0000 70%);width:400px;height:400px;animation-direction:reverse;animation-delay:-7s;top:80px;right:10%}.landing-hero{text-align:center;z-index:1;padding:6rem 0 4rem;position:relative}.landing-badge{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--color-primary);font-size:.72rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--glass-border);border-radius:100px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.45rem 1.2rem;animation:.6s ease-out fadeUp,3s ease-in-out infinite pulse-ring;display:inline-flex}.landing-badge:before{content:"";background:var(--color-success);width:6px;height:6px;box-shadow:0 0 8px var(--color-success);border-radius:50%;animation:2s ease-in-out infinite pulse-ring}.landing-title{letter-spacing:-3px;font-size:4rem;font-weight:800;line-height:1.05;font-family:var(--font-display);margin-bottom:1.5rem;animation:.7s ease-out .1s both fadeUp}.landing-title span{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary), var(--color-primary));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradient-shift}.landing-subtitle{color:var(--color-text-secondary);max-width:500px;margin:0 auto 2.5rem;font-size:1.08rem;font-weight:400;line-height:1.8;animation:.7s ease-out .2s both fadeUp}.landing-cta{flex-wrap:wrap;justify-content:center;gap:1rem;animation:.7s ease-out .3s both fadeUp;display:flex}.landing-features{z-index:1;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:2rem 0 5rem;display:grid;position:relative}.feature-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem 1.75rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeUp;position:relative;overflow:hidden}.feature-card:first-child{animation-delay:.4s}.feature-card:nth-child(2){animation-delay:.5s}.feature-card:nth-child(3){animation-delay:.6s}.feature-card:before{content:"";background:linear-gradient(90deg, transparent, var(--color-primary), var(--color-secondary), transparent);opacity:0;height:1px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.feature-card:after{content:"";background:radial-gradient(ellipse at center, var(--color-primary-light), transparent 70%);opacity:0;width:140%;height:100%;transition:opacity .4s;position:absolute;bottom:-50%;left:-20%}.feature-card:hover{border-color:#a78bfa33;transform:translateY(-6px);box-shadow:0 20px 60px #a78bfa14}.feature-card:hover:before{opacity:1}.feature-card:hover:after{opacity:.5}.feature-icon-wrap{background:linear-gradient(135deg, var(--color-primary-light), #22d3ee14);width:50px;height:50px;color:var(--color-primary);z-index:1;border:1px solid #a78bfa26;border-radius:14px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex;position:relative}.feature-card h3{font-size:1.08rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.3px;z-index:1;margin-bottom:.5rem;position:relative}.feature-card p{color:var(--color-text-secondary);z-index:1;font-size:.88rem;line-height:1.65;position:relative}@media (width<=768px){.landing-features{grid-template-columns:1fr}}@media (width<=600px){.landing{padding:1rem}.landing-hero{padding:3rem 0 2rem}.landing-title{letter-spacing:-1.5px;font-size:2.5rem}.landing-subtitle{font-size:.95rem}.landing-glow:before{width:300px;height:300px}.landing-glow:after{width:250px;height:250px}}.auth-page{justify-content:center;padding:3rem 1rem;animation:.5s ease-out fadeUp;display:flex}.auth-form{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 40px #0006,inset 0 1px #ffffff0a}.auth-form:before{content:"";background:linear-gradient(90deg,#0000,#a78bfa66,#0000);height:1px;position:absolute;top:0;left:15%;right:15%}.auth-form h1{font-size:1.75rem;font-family:var(--font-display);letter-spacing:-1px;margin-bottom:.3rem;font-weight:800}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.88rem}.role-selector{gap:.5rem;margin-bottom:1.5rem;display:flex}.role-btn{border:1px solid var(--color-border);background:var(--input-bg);border-radius:var(--radius);cursor:pointer;color:var(--color-text-secondary);font-size:.88rem;font-weight:600;font-family:var(--font-body);flex:1;padding:.75rem;transition:all .3s}.role-btn--active{color:var(--color-primary);box-shadow:0 0 20px var(--color-primary-light), inset 0 0 15px var(--color-primary-light);background:#a78bfa14;border-color:#a78bfa66}.auth-footer{text-align:center;color:var(--color-text-secondary);margin-top:1.5rem;font-size:.85rem}.auth-footer a{color:var(--color-primary);font-weight:600}.privacy-checkbox{color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;font-size:.82rem;display:flex}.privacy-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin-top:.2rem}.privacy-link{color:var(--color-primary);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.policy-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.policy-modal{background:var(--color-surface-solid);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:520px;max-height:85vh;padding:2rem;animation:.3s ease-out fadeUp;display:flex;box-shadow:0 25px 80px #0009}.policy-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.policy-header h2{font-size:1.15rem;font-family:var(--font-display);margin:0;font-weight:700}.policy-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:0;font-size:1.75rem;line-height:1;transition:color .2s}.policy-close:hover{color:var(--color-text)}.policy-content{flex:1;margin-bottom:1.25rem;padding-right:.5rem;overflow-y:auto}.policy-content h3{color:var(--color-text);font-size:.88rem;font-weight:700;font-family:var(--font-display);margin:1.25rem 0 .5rem}.policy-content h3:first-child{margin-top:0}.policy-content p{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.82rem;line-height:1.75}.policy-content ul{color:var(--color-text-secondary);margin:.25rem 0 .75rem 1.25rem;font-size:.82rem;line-height:1.85}.policy-content li{margin-bottom:.2rem}@media (width<=480px){.auth-page{padding:1.5rem .75rem}.auth-form{padding:1.5rem}.auth-form h1{font-size:1.5rem}}.create-profile-page{justify-content:center;padding:2rem 1rem;animation:.5s ease-out fadeUp;display:flex}.profile-form{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:560px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 40px #0000004d}.profile-form:before{content:"";background:linear-gradient(90deg,#0000,#a78bfa66,#0000);height:1px;position:absolute;top:0;left:15%;right:15%}.profile-form h1{font-family:var(--font-display);letter-spacing:-1px;margin-bottom:1.5rem;font-weight:800}.skills-search{font-family:var(--font-mono);margin-top:.5rem;margin-bottom:.5rem;font-size:.8rem}.skills-grid{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.skills-grid--scrollable{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--input-bg);align-content:flex-start;max-height:160px;margin-top:0;padding:.5rem;overflow-y:auto}.skill-select-btn{border:1px solid var(--color-border);background:var(--input-bg);cursor:pointer;color:var(--color-text-secondary);font-size:.7rem;font-weight:500;font-family:var(--font-mono);border-radius:8px;padding:.3rem .65rem;transition:all .2s}.skill-select-btn--active{color:var(--color-primary);box-shadow:0 0 10px var(--color-primary-light);background:#a78bfa1a;border-color:#a78bfa59}.add-skill-row{gap:.5rem;margin-top:.75rem;display:flex}.add-skill-input{flex:1;min-width:0}.add-skill-btn{flex-shrink:0;padding:.6rem 1.25rem}.selected-skills{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.selected-skills-detail{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.skill-detail-row{background:var(--input-bg);border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .2s;display:flex}.skill-detail-row:hover{border-color:#a78bfa26}.skill-detail-name{color:var(--color-primary);min-width:80px;font-size:.78rem;font-weight:600;font-family:var(--font-mono);flex-shrink:0}.skill-detail-input{border:1px solid var(--color-border);width:55px;font-size:.78rem;font-family:var(--font-mono);text-align:center;color:var(--color-text);background:var(--input-bg);border-radius:8px;padding:.35rem .4rem}.skill-detail-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.skill-detail-select{border:1px solid var(--color-border);font-size:.78rem;font-family:var(--font-body);color:var(--color-text);background:var(--input-bg);border-radius:8px;flex:1;min-width:0;padding:.35rem .4rem}.skill-detail-select:focus{border-color:var(--color-primary);outline:none}.skill-detail-remove{color:var(--color-danger);cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.2rem;line-height:1;transition:opacity .2s}.skill-detail-remove:hover{opacity:1}.form-hint{color:var(--color-text-secondary);font-size:.75rem;font-weight:400;font-family:var(--font-body);text-transform:none;letter-spacing:0;margin-bottom:.25rem}.clear-filter-btn{color:var(--color-danger);cursor:pointer;font-size:.72rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;margin-top:.5rem;padding:0}.file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-upload-btn{background:var(--input-bg);border-radius:var(--radius);width:100%;color:var(--color-text-secondary);font-size:.85rem;font-weight:500;font-family:var(--font-body);cursor:pointer;border:2px dashed #a78bfa26;justify-content:center;align-items:center;gap:.5rem;margin-top:.35rem;padding:.85rem 1rem;transition:all .3s;display:flex}.file-upload-btn:hover{color:var(--color-primary);box-shadow:0 0 20px var(--color-primary-light);background:#a78bfa0d;border-color:#a78bfa66}.file-current{color:var(--color-success);font-size:.72rem;font-weight:500;font-family:var(--font-mono);margin-top:.35rem}@media (width<=480px){.create-profile-page{padding:1rem .5rem}.profile-form{padding:1.5rem}}.skill-tag{color:var(--color-primary);font-size:.7rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;background:#a78bfa14;border:1px solid #a78bfa1a;border-radius:8px;align-items:center;gap:.25rem;padding:.28rem .65rem;transition:all .2s;display:inline-flex}.skill-tag:hover{background:#a78bfa24;border-color:#a78bfa33}.skill-tag-meta{opacity:.65;text-transform:capitalize;font-size:.58rem;font-weight:400}.skill-tag-remove{color:var(--color-primary);cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 .12rem;font-size:.72rem;line-height:1;transition:opacity .2s}.skill-tag-remove:hover{opacity:1}.swipe-card-wrapper{perspective:1200px;width:380px;max-width:90vw;position:relative}.swipe-card-wrapper .swipe-card-front,.swipe-card-wrapper .swipe-card-back{backface-visibility:hidden;transition:transform .6s cubic-bezier(.23,1,.32,1)}.swipe-card-wrapper .swipe-card-front{z-index:2;position:relative;transform:rotateY(0)}.swipe-card-wrapper .swipe-card-back{z-index:1;width:100%;position:absolute;top:0;left:0;transform:rotateY(180deg)}.swipe-card-wrapper--flipped .swipe-card-front{z-index:1;pointer-events:none;transform:rotateY(-180deg)}.swipe-card-wrapper--flipped .swipe-card-back{z-index:2;pointer-events:auto;transform:rotateY(0)}.swipe-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--glass-border);width:100%;padding:1.75rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d}.swipe-card:before{content:"";background:linear-gradient(90deg,#0000,#a78bfa66,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}.swipe-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.swipe-card-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:56px;height:56px;font-size:1.35rem;font-weight:700;font-family:var(--font-display);box-shadow:0 4px 15px var(--color-primary-glow);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.swipe-card-avatar--sm{width:36px;height:36px;box-shadow:0 2px 8px var(--color-primary-glow);border-radius:10px;font-size:1rem}.swipe-card-name{font-size:1.2rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.5px;margin:0}.swipe-card-location{color:var(--color-text-secondary);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.03em;margin:.2rem 0 0}.swipe-card-exp{color:var(--color-text-secondary);font-size:.75rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.03em;margin-bottom:.75rem}.swipe-card-bio{color:var(--color-text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.88rem;line-height:1.65;display:-webkit-box;overflow:hidden}.swipe-card-skills{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.swipe-card-actions{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.contact-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;z-index:10;font-size:.72rem;font-weight:600;font-family:var(--font-body);border:1px solid #0000;border-radius:10px;align-items:center;gap:.3rem;padding:.4rem .75rem;text-decoration:none;transition:all .25s;display:inline-flex;position:relative}.contact-btn--email{color:var(--color-primary);background:#a78bfa1a;border-color:#a78bfa26}.contact-btn--email:hover{background:#a78bfa33;box-shadow:0 0 15px #a78bfa26}.contact-btn--whatsapp{color:var(--color-success);background:#34d3991a;border-color:#34d39926}.contact-btn--whatsapp:hover{background:#34d39933;box-shadow:0 0 15px #34d39926}.contact-btn--resume{color:var(--color-accent);background:#22d3ee14;border-color:#22d3ee1f}.contact-btn--resume:hover{background:#22d3ee2e;box-shadow:0 0 15px #22d3ee26}.contact-btn--feedback{color:var(--color-warm);font-family:var(--font-body);background:#fbbf2414;border:1px solid #fbbf241f}.contact-btn--feedback:hover{background:#fbbf242e;box-shadow:0 0 15px #fbbf2426}.contact-btn--phone{color:var(--color-accent);background:#22d3ee14;border-color:#22d3ee1f}.contact-btn--phone:hover{background:#22d3ee2e}.swipe-card-hint{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.68rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;padding-top:.75rem;display:flex}.hint-left{color:var(--color-danger)}.hint-right{color:var(--color-success)}.flip-btn{border-radius:var(--radius);width:100%;color:var(--color-primary);font-size:.78rem;font-weight:600;font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;z-index:10;background:#a78bfa0f;border:1px solid #a78bfa1f;justify-content:center;align-items:center;gap:.4rem;margin-top:.75rem;padding:.65rem;transition:all .3s;display:flex;position:relative}.flip-btn:hover{box-shadow:0 0 25px var(--color-primary-light);background:#a78bfa1f;border-color:#a78bfa4d;transform:translateY(-1px)}.flip-btn:active{transform:scale(.97)}.swipe-card-back-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.swipe-card-back-header .swipe-card-name{font-size:1rem}.swipe-card-cv{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;height:340px;margin-bottom:.75rem}.swipe-card-no-cv{height:200px;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.swipe-card-no-cv p{font-size:.85rem}.swipe-card-back-links{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}@media (width<=480px){.swipe-card-wrapper{width:100%;max-width:100%}.swipe-card{padding:1.25rem}.swipe-card-avatar{border-radius:12px;width:44px;height:44px;font-size:1.15rem}.swipe-card-name{font-size:1.05rem}.contact-btn{padding:.38rem .65rem;font-size:.7rem}.swipe-card-cv{height:260px}.flip-btn{padding:.7rem;font-size:.85rem}}.star-rating{gap:.08rem;display:inline-flex}.star{color:#ffffff1a;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:1.35rem;transition:all .2s}.star:hover{transform:scale(1.2)}.star--filled{color:var(--color-warm);text-shadow:0 0 8px #fbbf2466}.star--readonly{cursor:default}.star--readonly:hover{transform:none}.feedback-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.feedback-modal{background:var(--color-surface-solid);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:1.75rem;animation:.3s ease-out fadeUp;position:relative;overflow:hidden;box-shadow:0 25px 80px #00000080}.feedback-modal:before{content:"";background:linear-gradient(90deg,#0000,#fbbf2466,#0000);height:1px;position:absolute;top:0;left:15%;right:15%}.feedback-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.feedback-modal-header h3{font-size:1rem;font-family:var(--font-display);margin:0;font-weight:700}.feedback-modal-close{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.feedback-modal-close:hover{color:var(--color-text)}.feedback-modal-rating{font-weight:500;font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.75rem;display:flex}.feedback-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.skill-filter{width:380px;max-width:90vw;margin-bottom:1rem;position:relative}.skill-filter-toggle{background:var(--glass);width:100%;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);color:var(--color-text-secondary);font-size:.72rem;font-weight:500;font-family:var(--font-mono);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em;align-items:center;gap:.5rem;padding:.55rem 1rem;transition:all .25s;display:flex;overflow:hidden}.skill-filter-toggle:hover{border-color:#a78bfa4d}.chevron{flex-shrink:0;margin-left:auto;transition:transform .25s}.chevron--open{transform:rotate(180deg)}.skill-filter-dropdown{background:var(--color-surface-solid);border:1px solid var(--glass-border);border-radius:var(--radius);z-index:50;padding:.75rem;animation:.2s ease-out fadeUp;position:absolute;top:calc(100% + .35rem);left:0;right:0;box-shadow:0 15px 50px #00000080}.skill-filter-search{border:1px solid var(--color-border);width:100%;font-size:.75rem;font-family:var(--font-mono);color:var(--color-text);background:var(--input-bg);border-radius:8px;outline:none;margin-bottom:.5rem;padding:.45rem .65rem}.skill-filter-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.skill-filter-clear{color:var(--color-danger);cursor:pointer;font-size:.72rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;margin-bottom:.5rem;padding:0;display:block}.skill-filter-grid{flex-wrap:wrap;align-content:flex-start;gap:.35rem;max-height:180px;display:flex;overflow-y:auto}.skill-filter-empty{color:var(--color-text-secondary);padding:.5rem 0;font-size:.75rem}.skill-filter-btn{border:1px solid var(--color-border);background:var(--input-bg);cursor:pointer;color:var(--color-text-secondary);font-size:.68rem;font-weight:500;font-family:var(--font-mono);border-radius:8px;padding:.28rem .6rem;transition:all .2s}.skill-filter-btn--active{color:var(--color-primary);background:#a78bfa1a;border-color:#a78bfa59}@media (width<=480px){.skill-filter{width:100%;max-width:100%}}.swipe-feed{flex-direction:column;align-items:center;min-height:calc(100vh - 56px);padding:2rem 1rem;animation:.5s ease-out fadeUp;display:flex}.swipe-feed-title{font-size:1.5rem;font-weight:800;font-family:var(--font-display);letter-spacing:-1px;background:linear-gradient(135deg, var(--color-text), var(--color-text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.25rem}.swipe-feed-cards{width:380px;max-width:90vw;height:560px;position:relative}.swipe-tinder-card{cursor:grab;width:100%;position:absolute}.swipe-tinder-card:active{cursor:grabbing}.swipe-tinder-card--behind{visibility:hidden;pointer-events:none}.swipe-feed-actions{gap:2.5rem;margin-top:2rem;display:flex}.swipe-btn{background:var(--glass);width:68px;height:68px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);cursor:pointer;font-size:.72rem;font-weight:700;font-family:var(--font-body);letter-spacing:.03em;text-transform:uppercase;border:1.5px solid;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1)}.swipe-btn--left{color:var(--color-danger);border-color:#fb718566}.swipe-btn--left:hover{border-color:var(--color-danger);background:#fb71851a;transform:scale(1.1);box-shadow:0 0 30px #fb718533}.swipe-btn--right{color:var(--color-success);border-color:#34d39966}.swipe-btn--right:hover{border-color:var(--color-success);background:#34d3991a;transform:scale(1.1);box-shadow:0 0 30px #34d39933}.swipe-empty{text-align:center;padding:4rem 2rem}.swipe-empty h2{font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:.5rem}.swipe-empty p{color:var(--color-text-secondary)}@media (width<=480px){.swipe-feed{padding:1rem .5rem}.swipe-feed-title{margin-bottom:.75rem;font-size:1.2rem}.swipe-feed-cards{width:100%;max-width:100%;height:480px}.swipe-btn{width:56px;height:56px;font-size:.65rem}.swipe-feed-actions{gap:2rem;margin-top:1rem}}.favorites-page{max-width:900px;margin:0 auto;padding:2rem 1rem;animation:.5s ease-out fadeUp}.favorites-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.favorites-header h1{font-family:var(--font-display);letter-spacing:-1px;font-weight:800}.favorites-filter{max-width:250px}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.favorite-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.favorite-card:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#a78bfa4d,#0000);height:1px;transition:opacity .3s;position:absolute;top:0;left:20%;right:20%}.favorite-card:hover{border-color:#a78bfa33;transform:translateY(-4px);box-shadow:0 15px 50px #0000004d}.favorite-card:hover:before{opacity:1}.favorite-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.favorite-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:44px;height:44px;font-size:1.05rem;font-weight:700;font-family:var(--font-display);box-shadow:0 3px 10px var(--color-primary-glow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.favorite-card-header h3{font-size:1rem;font-family:var(--font-display);letter-spacing:-.3px;margin:0;font-weight:700}.favorite-location{color:var(--color-text-secondary);font-size:.72rem;font-family:var(--font-mono);margin:0}.favorite-exp{color:var(--color-text-secondary);font-size:.75rem;font-family:var(--font-mono);margin-bottom:.5rem}.favorite-bio{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.favorite-skills{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.favorite-contact{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.favorite-actions{flex-wrap:wrap;gap:.4rem;display:flex}.favorites-empty{text-align:center;color:var(--color-text-secondary);padding:4rem 2rem}.favorites-empty .btn{margin-top:1rem}@media (width<=600px){.favorites-header{flex-direction:column;align-items:stretch}.favorites-filter{max-width:100%}.favorites-grid{grid-template-columns:1fr}.favorite-card{padding:1.25rem}.favorite-actions{flex-direction:column}.favorite-actions .btn{justify-content:center;width:100%}}.resume-viewer{max-width:700px;margin:0 auto;padding:2rem 1rem;animation:.5s ease-out fadeUp}.resume-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 8px 40px #0000004d}.resume-card:before{content:"";background:linear-gradient(90deg,#0000,#a78bfa66,#0000);height:1px;position:absolute;top:0;left:15%;right:15%}.resume-header{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.resume-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:68px;height:68px;font-size:1.6rem;font-weight:700;font-family:var(--font-display);box-shadow:0 6px 20px var(--color-primary-glow);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resume-header h1{font-family:var(--font-display);letter-spacing:-1px;margin:0}.resume-location{color:var(--color-text-secondary);font-family:var(--font-mono);margin:.15rem 0 0;font-size:.78rem}.resume-exp{color:var(--color-text-secondary);font-weight:500;font-family:var(--font-mono);margin-bottom:1rem;font-size:.82rem}.resume-bio{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.75}.resume-contact-bar{background:var(--input-bg);border-radius:var(--radius);border:1px solid var(--color-border);flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;padding:1rem;display:flex}.resume-section{margin-bottom:1.5rem}.resume-section h3{font-weight:700;font-family:var(--font-display);letter-spacing:-.3px;margin-bottom:.75rem}.resume-skills{flex-wrap:wrap;gap:.4rem;display:flex}.resume-links{gap:1rem;margin-bottom:1.5rem;display:flex}.resume-link{color:var(--color-primary);font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s}.resume-link:hover{color:var(--color-secondary)}.resume-embed{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;height:600px}@media (width<=600px){.resume-card{padding:1.5rem}.resume-header{text-align:center;flex-direction:column}.resume-header h1{font-size:1.5rem}.resume-contact-bar{flex-direction:column}.contact-btn{justify-content:center}.resume-embed{height:400px}}.feedback-page{max-width:600px;margin:0 auto;padding:2rem 1rem;animation:.5s ease-out fadeUp}.feedback-page h1{font-family:var(--font-display);letter-spacing:-1px;margin-bottom:1.5rem;font-weight:800}.feedback-form{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:2rem;padding:1.5rem}.feedback-form h3{font-family:var(--font-display);margin-bottom:1rem;font-weight:700}.feedback-rating-row{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.75rem;display:flex}.feedback-list{flex-direction:column;gap:.75rem;display:flex}.feedback-item{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem;transition:border-color .2s}.feedback-item:hover{border-color:#a78bfa26}.feedback-item-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.feedback-item p{color:var(--color-text-secondary);margin:.5rem 0;line-height:1.65}.feedback-date{color:var(--color-text-secondary);font-size:.7rem;font-family:var(--font-mono)}.feedback-empty{text-align:center;color:var(--color-text-secondary);padding:2rem}.dashboard{max-width:700px;margin:0 auto;padding:2rem 1rem;animation:.5s ease-out fadeUp}.dashboard-empty{text-align:center;padding:4rem 2rem}.dashboard-empty p{color:var(--color-text-secondary);margin:.5rem 0 1.5rem}.dashboard-profile{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.dashboard-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;width:68px;height:68px;font-size:1.6rem;font-weight:700;font-family:var(--font-display);box-shadow:0 6px 20px var(--color-primary-glow);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-profile h1{font-family:var(--font-display);letter-spacing:-1px;margin:0}.dashboard-location{color:var(--color-text-secondary);font-family:var(--font-mono);letter-spacing:.03em;margin:0;font-size:.78rem}.dashboard-edit{margin-left:auto}.dashboard-bio{color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.75}.dashboard-exp{color:var(--color-text-secondary);font-weight:500;font-family:var(--font-mono);margin-bottom:1rem;font-size:.82rem}.dashboard-skills{flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;display:flex}.dashboard-stats{gap:1rem;margin-bottom:2rem;display:flex}.stat-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);text-align:center;padding:1.25rem 2rem;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(135deg, var(--color-primary-light), transparent);opacity:0;transition:opacity .3s;position:absolute;inset:0}.stat-card:hover{box-shadow:0 0 30px var(--color-primary-light);border-color:#a78bfa33}.stat-card:hover:before{opacity:1}.stat-value{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;font-size:2rem;font-weight:800;font-family:var(--font-display);z-index:1;-webkit-background-clip:text;background-clip:text;position:relative}.stat-label{color:var(--color-text-secondary);font-size:.68rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;z-index:1;margin-top:.3rem;position:relative}.dashboard-section-title{font-size:1.15rem;font-family:var(--font-display);letter-spacing:-.5px;margin-bottom:1rem;font-weight:700}.feedback-empty-text{color:var(--color-text-secondary)}.dashboard-feedback{flex-direction:column;gap:.75rem;display:flex}.dashboard-feedback-item{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem;transition:all .25s}.dashboard-feedback-item:hover{border-color:#a78bfa26}.dashboard-feedback-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.dashboard-feedback-item p{color:var(--color-text-secondary);margin:.5rem 0;line-height:1.65}.dashboard-feedback-date{color:var(--color-text-secondary);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.03em}.explore-page{flex-direction:column;align-items:center;min-height:calc(100vh - 56px);padding:2rem 1rem;animation:.5s ease-out fadeUp;display:flex}.explore-title{font-size:1.5rem;font-weight:800;font-family:var(--font-display);letter-spacing:-1px;margin-bottom:.25rem}.explore-subtitle{color:var(--color-text-secondary);text-align:center;margin-bottom:1.25rem;font-size:.88rem}.explore-cards{width:380px;max-width:90vw;height:560px;position:relative}.explore-actions{gap:1rem;margin-top:2rem;display:flex}.swipe-btn--skip{background:var(--glass);width:68px;height:68px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--color-primary);cursor:pointer;font-size:.72rem;font-weight:700;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03em;border:1.5px solid #a78bfa66;border-radius:50%;transition:all .3s}.swipe-btn--skip:hover{box-shadow:0 0 30px var(--color-primary-glow);border-color:var(--color-primary);background:#a78bfa1a;transform:scale(1.1)}@media (width<=480px){.explore-page{padding:1rem .5rem}.explore-title{font-size:1.2rem}.explore-cards{width:100%;max-width:100%;height:480px}.swipe-btn--skip{width:56px;height:56px;font-size:.65rem}}:root{--color-primary:#8b7cf6;--color-primary-hover:#7c3aed;--color-primary-light:#8b7cf61a;--color-primary-glow:#8b7cf640;--color-secondary:#22d3ee;--color-secondary-glow:#22d3ee33;--color-bg:#151822;--color-bg-elevated:#1a1e2c;--color-surface:#1c2030bf;--color-surface-solid:#1e2235;--color-surface-hover:#24283ae6;--color-text:#e8eaf2;--color-text-secondary:#8890b0;--color-border:#ffffff14;--color-border-light:#ffffff0a;--color-danger:#fb7185;--color-success:#34d399;--color-accent:#22d3ee;--color-warm:#fbbf24;--font-display:"Syne", sans-serif;--font-mono:"DM Mono", monospace;--font-body:"Syne", sans-serif;--radius:14px;--radius-lg:22px;--glass:#1c20308c;--glass-border:#ffffff1a;--glass-blur:blur(20px) saturate(180%);--input-bg:#15182299;--grid-line:#8b7cf60a;--shadow-color:#0000004d;--btn-primary-text:white;--nav-bg:#151822d9}[data-theme=light]{--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-primary-light:#7c3aed14;--color-primary-glow:#7c3aed26;--color-secondary:#0891b2;--color-secondary-glow:#0891b21f;--color-bg:#f4f4f8;--color-bg-elevated:#eeeef3;--color-surface:#ffffffd9;--color-surface-solid:#fff;--color-surface-hover:#f5f5faf2;--color-text:#1a1a2e;--color-text-secondary:#6b7194;--color-border:#00000014;--color-border-light:#0000000a;--color-danger:#ef4444;--color-success:#16a34a;--color-accent:#0891b2;--color-warm:#d97706;--glass:#ffffffb3;--glass-border:#0000000f;--input-bg:#f5f5facc;--grid-line:#7c3aed0a;--shadow-color:#0000000f;--btn-primary-text:white;--nav-bg:#ffffffd9}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:60px 60px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 30%,#000 20%,#0000 70%);mask-image:radial-gradient(80% 60% at 50% 30%,#000 20%,#0000 70%)}#root{z-index:1;position:relative}a{color:inherit;text-decoration:none}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a78bfa33;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a78bfa66}.btn{border-radius:var(--radius);cursor:pointer;font-size:.88rem;font-weight:600;font-family:var(--font-body);letter-spacing:.02em;border:none;justify-content:center;align-items:center;padding:.7rem 1.6rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .3s;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn--primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:var(--btn-primary-text);box-shadow:0 4px 20px var(--color-primary-glow), inset 0 1px 0 #ffffff26}.btn--primary:hover{box-shadow:0 8px 35px var(--color-primary-glow), inset 0 1px 0 #fff3;transform:translateY(-2px)}.btn--primary:active{transform:translateY(0)scale(.98)}.btn--primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.btn--outline{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:var(--color-text)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 20px var(--color-primary-light)}.btn--danger{color:var(--color-danger);background:#fb71851a;border:none}.btn--danger:hover{background:#fb718533;box-shadow:0 0 15px #fb718526}.btn--lg{border-radius:16px;padding:.95rem 2.5rem;font-size:.95rem}.btn--sm{border-radius:10px;padding:.4rem .9rem;font-size:.78rem}.btn--full{width:100%}.form-label{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:500;font-family:var(--font-mono);flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.form-input{border:1px solid var(--color-border);border-radius:var(--radius);font-size:.92rem;font-family:var(--font-body);color:var(--color-text);background:var(--input-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);outline:none;padding:.75rem 1rem;transition:all .3s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light), 0 0 20px var(--color-primary-light)}.form-input::placeholder{color:var(--color-text-secondary);opacity:.4}.form-textarea{resize:vertical;min-height:80px}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes meshRotate{0%{transform:rotate(0)scale(1)}33%{transform:rotate(120deg)scale(1.1)}66%{transform:rotate(240deg)scale(.95)}to{transform:rotate(360deg)scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}to{opacity:.5;transform:scale(.9)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes border-glow{0%,to{border-color:#a78bfa1a}50%{border-color:#a78bfa4d}}
