.swipe-view{display:flex;flex-direction:column;align-items:center;min-height:100%;padding:1rem;background:linear-gradient(180deg,#fffef9,#fff8e7);position:relative;overflow:hidden}.swipe-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin-bottom:1rem;padding:0 .5rem}.swipe-header__title{font-size:1.25rem;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:.5rem}.swipe-header__icon{font-size:1.5rem}.swipe-header__progress{font-size:.875rem;color:#666;background:#fff;padding:.25rem .75rem;border-radius:20px;border:1px solid #e5e5e5}.swipe-stack{position:relative;width:100%;max-width:380px;height:520px;margin:0 auto}.swipe-card-wrapper{position:absolute;width:100%;height:100%;will-change:transform;display:flex;align-items:center;justify-content:center}.job-card{width:100%;max-width:360px;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a,0 2px 10px #0000000d;padding:1.5rem;display:flex;flex-direction:column;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.job-card--active{cursor:grab}.job-card:active{cursor:grabbing}.job-card__header{display:flex;justify-content:center;align-items:center;position:relative;width:100%;margin-bottom:1rem}.job-card__logo-wrapper{width:80px;height:80px;border-radius:16px;overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014}.job-card__logo{width:100%;height:100%;object-fit:contain}.job-card__source{position:absolute;top:0;right:0;font-size:.7rem;font-weight:500;padding:.25rem .5rem;border-radius:10px;background:#e5e5e5;color:#666}.job-card__source--adzuna{background:#e8f4fd;color:#06c}.job-card__source--remoteok{background:#e8fde8;color:green}.job-card__source--job_radar{background:#fde8f4;color:#c06}.job-card__source--user_added{background:#f7c94833;color:#960}.job-card__source--deferred{background:#e8e8fd;color:#60c}.job-card__title-section{text-align:center;margin-bottom:1rem}.job-card__role{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 .25rem;line-height:1.3}.job-card__company{font-size:1rem;color:#666;margin:0}.job-card__match{margin:1rem 0}.job-card__match-ring{position:relative;width:100px;height:100px}.job-card__match-svg{width:100%;height:100%;transform:rotate(0)}.job-card__match-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.job-card__match-percent{display:block;font-size:1.5rem;font-weight:700;color:var(--match-color, #22c55e)}.job-card__match-label{display:block;font-size:.75rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.job-card__meta{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.job-card__meta-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#555;background:#f5f5f5;padding:.35rem .75rem;border-radius:20px}.job-card__meta-icon{font-size:.875rem}.job-card__highlights{width:100%;margin-bottom:1rem}.job-card__highlight{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:#333;padding:.35rem 0}.job-card__highlight-icon{color:#22c55e;font-weight:700;flex-shrink:0}.job-card__description{width:100%;font-size:.8rem;color:#777;line-height:1.5;margin-bottom:.75rem;text-align:left;padding:.5rem .75rem;background:#fafafa;border-radius:8px;border-left:2px solid #e5e5e5}.job-card__concerns{width:100%;margin-bottom:.5rem}.job-card__concern{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:#b45309;padding:.25rem 0}.job-card__concern-icon{color:#f59e0b;font-weight:700;font-size:.75rem;flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:#fef3c7;border-radius:50%}.job-card__tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.5rem}.job-card__tag{font-size:.75rem;font-weight:500;background:#f0f0f0;color:#555;padding:.25rem .5rem;border-radius:8px}.job-card__hints{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:.75rem;border-top:1px dashed #e5e5e5}.job-card__hint{font-size:.75rem;color:#999;font-weight:500}.job-card__hint--left{color:#ef4444}.job-card__hint--up{color:#f59e0b}.job-card__hint--right{color:#22c55e}.swipe-actions{display:flex;gap:1rem;margin-top:1.5rem;padding:.5rem}.swipe-actions__btn{width:64px;height:64px;border-radius:50%;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0000001a}.swipe-actions__btn:disabled{opacity:.5;cursor:not-allowed}.swipe-actions__btn:not(:disabled):hover{transform:scale(1.1)}.swipe-actions__btn:not(:disabled):active{transform:scale(.95)}.swipe-actions__btn--pass{background:#fff;border:2px solid #ef4444}.swipe-actions__btn--pass .swipe-actions__icon{color:#ef4444;font-size:1.5rem;font-weight:700}.swipe-actions__btn--defer{background:#fff;border:2px solid #f59e0b}.swipe-actions__btn--defer .swipe-actions__icon{color:#f59e0b;font-size:1.5rem}.swipe-actions__btn--apply{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;width:72px;height:72px}.swipe-actions__btn--apply .swipe-actions__icon{color:#fff;font-size:1.75rem}.swipe-actions__label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.15rem}.swipe-actions__btn--pass .swipe-actions__label{color:#ef4444}.swipe-actions__btn--defer .swipe-actions__label{color:#f59e0b}.swipe-actions__btn--apply .swipe-actions__label{color:#fff}.swipe-actions__count{font-size:.55rem;color:#fffc;margin-top:.1rem}.swipe-result{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#fffef9fa;z-index:100}.swipe-result__content{max-width:400px;width:100%;text-align:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.swipe-result__icon{font-size:3rem;display:block;margin-bottom:.5rem}.swipe-result__content h3{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.swipe-result__content p{font-size:1rem;color:#666;margin:0}.swipe-result--generating .swipe-result__spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#f7c948;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.swipe-result--deferred{animation:slideUp 1.5s ease forwards}@keyframes slideUp{0%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.swipe-result--applied .swipe-result__header{margin-bottom:1.5rem}.swipe-result__error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem;margin-bottom:1rem}.swipe-result__error p{color:#dc2626;font-size:.875rem}.swipe-result__customizations{text-align:left;background:#f0fdf4;border-radius:12px;padding:1rem;margin-bottom:1rem}.swipe-result__customizations h4{font-size:.875rem;font-weight:600;color:#166534;margin:0 0 .5rem}.swipe-result__customizations ul{margin:0;padding-left:1.25rem}.swipe-result__customizations li{font-size:.875rem;color:#333;margin-bottom:.25rem}.swipe-result__preview{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:1rem;margin-bottom:1rem;text-align:left}.swipe-result__preview-header{font-size:1rem;color:#1a1a1a;margin-bottom:.5rem}.swipe-result__preview-summary{font-size:.875rem;color:#555;line-height:1.5}.swipe-result__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:1rem}.swipe-result__btn{padding:.6rem 1rem;border-radius:8px;border:1px solid #e5e5e5;background:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.swipe-result__btn:hover{background:#f5f5f5}.swipe-result__btn--copy{background:#f7c948;border-color:#f7c948;color:#1a1a1a}.swipe-result__btn--copy:hover{background:#e6b93d}.swipe-result__continue{width:100%;padding:1rem;border-radius:12px;border:none;background:#1a1a1a;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.swipe-result__continue:hover{background:#333}.swipe-loading,.swipe-empty,.swipe-error,.swipe-done{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;max-width:360px}.swipe-loading__spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#f7c948;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.swipe-empty__icon-wrapper,.swipe-empty__icon,.swipe-error__icon,.swipe-done__icon{display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#f7c948}.swipe-empty__icon-wrapper svg,.swipe-done__icon svg{width:48px;height:48px;stroke-width:1.5}.swipe-error__icon svg{width:32px;height:32px;stroke:#ef4444}.swipe-empty h3,.swipe-done h3{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 .5rem}.swipe-empty p,.swipe-error p,.swipe-done p{font-size:1rem;color:#666;margin:0 0 .5rem}.swipe-empty__subtitle,.swipe-done__subtitle{font-size:.875rem;color:#999}.swipe-empty__generate{margin-top:1.5rem;padding:1rem 2rem;border-radius:12px;border:none;background:#f7c948;color:#1a1a1a;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.swipe-empty__generate:hover:not(:disabled){background:#e6b93d;transform:translateY(-2px)}.swipe-empty__generate--disabled,.swipe-empty__generate:disabled{background:#e5e5e5;color:#999;cursor:not-allowed}.swipe-empty__generate--disabled:hover,.swipe-empty__generate:disabled:hover{background:#e5e5e5;transform:none}.swipe-error__retry{margin-top:1rem;padding:.75rem 1.5rem;border-radius:8px;border:1px solid #ef4444;background:#fff;color:#ef4444;font-size:.875rem;font-weight:500;cursor:pointer}.swipe-error__retry:hover{background:#fef2f2}.swipe-done__stats{display:flex;gap:1.5rem;margin:1.5rem 0}.swipe-done__stat{display:flex;flex-direction:column;align-items:center}.swipe-done__stat-value{font-size:2rem;font-weight:700;color:#1a1a1a}.swipe-done__stat-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.swipe-tier-notice{margin-top:1rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#666;background:#fff;padding:.5rem 1rem;border-radius:20px;border:1px solid #e5e5e5}.swipe-tier-notice__upgrade{background:none;border:none;color:#f59e0b;font-weight:600;cursor:pointer;text-decoration:underline}@media (max-width: 480px){.swipe-view{padding:.75rem}.swipe-stack{height:480px}.job-card{padding:1.25rem;max-width:100%}.job-card__role{font-size:1.125rem}.job-card__match-ring{width:80px;height:80px}.job-card__match-percent{font-size:1.25rem}.swipe-actions__btn{width:56px;height:56px}.swipe-actions__btn--apply{width:64px;height:64px}.swipe-actions__icon{font-size:1.25rem!important}.swipe-actions__label{display:none}.swipe-result__actions{flex-direction:column}.swipe-result__btn{width:100%}}@media (max-height: 600px){.swipe-stack{height:380px}.job-card{padding:1rem}.job-card__match-ring{width:70px;height:70px}.job-card__highlights{display:none}}
