:root{--bg:#f0f2f8;--surface:#fff;--surface-alt:#f7f8fc;--text:#0f1117;--text-2:#4b5573;--text-3:#5b647a;--border:#dde2f0;--border-strong:#b9c2d8;--brand-start:#0f0c29;--brand-mid:#302b63;--brand-end:#24243e;--accent:#4f46e5;--accent-2:#a78bfa;--accent-text:#fff;--accent-bg:#ede9fe;--accent-border:#8073e6;--success:#047857;--success-bg:#d1fae5;--warning:#f59e0b;--warning-bg:#fef3c7;--danger:#b91c1c;--danger-bg:#fee2e2;--info:#3b82f6;--info-bg:#dbeafe;--chip-bg:#ede9fe;--chip-text:#5b21b6;--shadow-sm:0 1px 3px #0f0c290f, 0 1px 2px #0f0c290a;--shadow-md:0 4px 16px #0f0c2914, 0 2px 4px #0f0c290a;--shadow-lg:0 10px 40px #0f0c291f, 0 4px 12px #0f0c290f;--shadow-accent:0 4px 20px #6c63ff4d;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--sans:"Segoe UI", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.15s;--t-base:.22s;--t-slow:.35s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg);min-width:320px;min-height:100svh;color:var(--text);font-family:var(--sans);font-size:.9375rem;line-height:1.6}#root{flex-direction:column;min-height:100svh;display:flex}img,svg{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700;line-height:1.25}p{color:var(--text-2)}a{color:var(--accent);-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}button,input,select,textarea{font:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{z-index:100;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-sm);transition:top var(--t-base) var(--ease);padding:.5rem 1rem;font-weight:600;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.app-header,.primary-nav,main{width:min(1200px,100%);margin-inline:auto;padding-inline:1.25rem}.app-header-wrapper{background:linear-gradient(135deg, var(--brand-start) 0%, var(--brand-mid) 50%, var(--brand-end) 100%);padding-block:2.5rem 2rem;position:relative;overflow:hidden}.app-header-wrapper:before,.app-header-wrapper:after{content:"";filter:blur(80px);opacity:.35;pointer-events:none;border-radius:50%;position:absolute}.app-header-wrapper:before{background:radial-gradient(circle,#6c63ff 0%,#0000 70%);width:500px;height:500px;top:-120px;right:-60px}.app-header-wrapper:after{background:radial-gradient(circle,#a78bfa 0%,#0000 70%);width:350px;height:350px;bottom:-80px;left:10%}.app-header{z-index:1;padding-block:0;position:relative}.app-header__brand{flex-direction:column;gap:.4rem;display:flex}.app-header__eyebrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-full);background:#ffffff1a;border:1px solid #fff3;align-items:center;gap:.5rem;width:fit-content;margin-bottom:.5rem;padding:.3rem .75rem;font-size:.7rem;font-weight:600;display:inline-flex}.app-header h1{color:#fff;letter-spacing:-.03em;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.1}.app-header__gradient-text{background:linear-gradient(90deg,#a78bfa,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-header__subtitle{color:#ffffffa6;margin-top:.35rem;font-size:.95rem}.primary-nav-wrapper{background:var(--brand-start);z-index:2;border-bottom:1px solid #ffffff1a;position:relative}.primary-nav{gap:.25rem;padding-block:.5rem;display:flex}.primary-nav__link{color:#ffffffb3;border-radius:var(--radius-sm);transition:color var(--t-fast), background var(--t-fast);border:1px solid #0000;align-items:center;gap:.5rem;min-height:40px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.primary-nav__link:hover{color:#fff;background:#ffffff14}.primary-nav__link[aria-current=page]{color:#fff;background:#6c63ff40;border-color:#6c63ff80}.primary-nav__count{background:var(--accent);color:var(--accent-text);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}main{flex:1;padding-top:1.5rem;padding-bottom:3rem}.sample-banner{background:var(--info-bg);color:#1e40af;border-radius:var(--radius-md);border:1px solid #bfdbfe;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.65rem 1rem;font-size:.85rem;font-weight:500;display:flex}.sample-banner:before{content:"ℹ️";flex-shrink:0;font-size:1rem}.search-field{gap:.35rem;margin-bottom:1rem;display:grid}.search-field label{color:var(--text);font-size:.875rem;font-weight:600}.search-field__input-wrapper{align-items:center;display:flex;position:relative}.search-field__icon{width:1.1rem;height:1.1rem;color:var(--text-3);pointer-events:none;flex-shrink:0;position:absolute;left:1rem}.search-field input{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:48px;color:var(--text);transition:border-color var(--t-fast), box-shadow var(--t-fast);box-shadow:var(--shadow-sm);padding:.5rem 1rem .5rem 2.75rem;font-size:.9375rem}.search-field input::placeholder{color:var(--text-3)}.search-field input:hover{border-color:var(--border-strong)}.search-field input:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6c63ff26}.discover__layout{grid-template-columns:260px 1fr;align-items:start;gap:1.5rem;display:grid}.filter-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem;position:sticky;top:1.5rem}.filter-panel__heading{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:1rem;font-size:.75rem;font-weight:700}.filter-group{border:0;margin:0 0 1.25rem;padding:0}.filter-group:last-child{margin-bottom:0}.filter-group legend{color:var(--text);margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.filter-group select,.results-toolbar select{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);cursor:pointer;width:100%;min-height:40px;transition:border-color var(--t-fast);color:var(--text);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238892b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding:.4rem 2rem .4rem .75rem;font-size:.875rem}.filter-group select:hover,.results-toolbar select:hover{border-color:var(--accent)}.option-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:.15rem;max-height:180px;display:grid;overflow-y:auto}.option-list__item{border-radius:var(--radius-sm);cursor:pointer;min-height:32px;transition:background var(--t-fast);align-items:center;gap:.5rem;padding:.2rem .4rem;font-size:.875rem;display:flex}.option-list__item:hover{background:var(--accent-bg)}.option-list__item input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.filter-chips{flex-wrap:wrap;align-items:center;gap:.5rem;min-height:0;margin-bottom:1rem;display:flex}.filter-chips__list{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.chip{background:var(--accent-bg);color:var(--chip-text);border:1px solid var(--accent-border);border-radius:var(--radius-full);cursor:pointer;min-height:32px;transition:background var(--t-fast), transform var(--t-fast);align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.chip:hover{background:#ddd6fe;transform:translateY(-1px)}.chip__remove{background:#5b21b626;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.7rem;line-height:1;display:inline-flex}.filter-chips__clear{color:var(--danger);border:1.5px solid var(--danger);border-radius:var(--radius-full);cursor:pointer;min-height:32px;transition:background var(--t-fast), color var(--t-fast);background:0 0;padding:.3rem .85rem;font-size:.8rem;font-weight:600}.filter-chips__clear:hover{background:var(--danger-bg)}.results-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.results-toolbar__count{color:var(--text);font-size:.875rem;font-weight:600}.results-toolbar__count span{color:var(--accent)}.results-toolbar__controls{align-items:center;gap:.5rem;display:flex}.results-toolbar__controls label{color:var(--text-2);align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;display:flex}.results-toolbar__controls button{display:none}.job-results{gap:1rem;list-style:none;display:grid}.pagination{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}@media (width>=640px){.pagination{flex-direction:row;justify-content:space-between}}.pagination__info{color:var(--text-2);margin:0;font-size:.875rem}.pagination__info strong{color:var(--text);font-weight:600}.pagination__controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.pagination__pages{align-items:center;gap:.25rem;display:flex}.pagination__page,.pagination__nav-btn{border-radius:var(--radius-sm);min-height:40px;transition:all var(--t-fast) var(--ease);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);justify-content:center;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;display:inline-flex}.pagination__page{min-width:40px;padding:0 .5rem}.pagination__nav-btn{padding:0 .85rem}.pagination__page:hover:not(:disabled):not(.is-active),.pagination__nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-bg);transform:translateY(-1px)}.pagination__page.is-active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:default;box-shadow:0 2px 8px #4f46e559}.pagination__page:disabled,.pagination__nav-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--border);background:var(--surface-alt);color:var(--text-3);box-shadow:none;transform:none}.pagination__ellipsis{min-width:32px;color:var(--text-3);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease);content-visibility:auto;contain-intrinsic-size:0 160px;padding:1.25rem 1.5rem;position:relative;overflow:hidden}.job-card:before{content:"";opacity:0;transition:opacity var(--t-base) var(--ease);pointer-events:none;background:linear-gradient(135deg,#6c63ff08 0%,#0000 60%);position:absolute;inset:0}.job-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-border);transform:translateY(-2px)}.job-card:hover:before{opacity:1}.job-card__header{margin-bottom:.6rem}.job-card__header h3{color:var(--text);margin-bottom:.2rem;font-size:1.0625rem;font-weight:700;line-height:1.3}.job-card__company{color:var(--accent);margin-bottom:0;font-size:.875rem;font-weight:600}.job-card__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;list-style:none;display:flex}.job-card__meta li,.job-card__meta span{color:var(--text-2);align-items:center;gap:.25rem;font-size:.8rem;font-weight:500;display:inline-flex}.job-card__meta li:not(:last-child):after,.job-card__meta span:not(:last-child):after{content:"·";color:var(--border-strong);margin-left:.35rem}.job-card__salary{color:var(--success);margin-bottom:.75rem;font-size:.9rem;font-weight:700}.job-card__skills{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;list-style:none;display:flex}.job-card__skills li{background:var(--chip-bg);color:var(--chip-text);border-radius:var(--radius-full);padding:.2rem .65rem;font-size:.75rem;font-weight:500}.job-card__posted{color:var(--text-3);margin-bottom:1rem;font-size:.775rem}.job-card__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}button{cursor:pointer;border-radius:var(--radius-sm);min-height:40px;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);white-space:nowrap;border:2px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}button:not([class]){background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-accent)}button:not([class]):hover{background:#5b52e0;transform:translateY(-1px);box-shadow:0 6px 24px #6c63ff66}button:not([class]):active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.job-card__actions button:first-child{background:var(--accent);color:var(--accent-text);box-shadow:0 2px 8px #6c63ff40}.job-card__actions button:first-child:hover{box-shadow:var(--shadow-accent);background:#5b52e0;transform:translateY(-1px)}.bookmark-button{background:var(--surface);color:var(--text);border-color:var(--border)}.bookmark-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.bookmark-button.is-saved{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.bookmark-button.is-saved:hover{background:#ddd6fe}.bookmark-retry{background:var(--danger-bg);color:var(--danger);border-color:var(--danger);font-size:.8125rem}.bookmark-retry:hover{background:#fecaca}.empty-state{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.empty-state__icon{margin-bottom:.5rem;font-size:3rem;line-height:1}.empty-state h2{color:var(--text);font-size:1.125rem}.empty-state p{max-width:36ch;font-size:.9rem}.empty-state button{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-accent);margin-top:.5rem}.loading-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.loading-state__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:2.5rem;height:2.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{text-align:center;background:var(--danger-bg);border-radius:var(--radius-lg);color:#991b1b;border:1px solid #fca5a5;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.dialog-backdrop{-webkit-backdrop-filter:blur(6px);z-index:9999;box-sizing:border-box;width:100vw;height:100dvh;animation:fade-in var(--t-fast) var(--ease) forwards;background:#0f0c29a6;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--surface);color:var(--text);border-radius:var(--radius-lg);width:min(680px,100vw - 2.5rem);max-height:min(85vh,85dvh);animation:modal-pop var(--t-base) cubic-bezier(.16, 1, .3, 1) forwards;scrollbar-width:thin;scrollbar-color:var(--border) transparent;margin:auto;padding:1.75rem;overflow-y:auto;box-shadow:0 25px 80px #0f0c2959,0 0 0 1px #ffffff1a}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.dialog__header h2{color:var(--text);flex:1;font-size:1.25rem}.dialog__close{flex-shrink:0;background:var(--surface-alt)!important;color:var(--text)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-sm)!important;box-shadow:none!important;padding:.4rem .75rem!important;font-size:.8125rem!important}.dialog__close:hover{border-color:var(--border-strong)!important;transform:none!important}.dialog__company{color:var(--accent);margin-bottom:.35rem;font-size:1rem;font-weight:600}.dialog__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.dialog__meta-item{color:var(--text-2);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-full);align-items:center;gap:.3rem;padding:.2rem .65rem;font-size:.825rem;font-weight:500;display:inline-flex}.dialog__salary{color:var(--success);margin-bottom:1rem;font-size:1rem;font-weight:700}.dialog__section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:1.25rem 0 .5rem;font-size:.8rem;font-weight:700}.dialog__description{white-space:pre-wrap;color:var(--text-2);font-size:.9rem;line-height:1.7}.dialog__actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.dialog__apply-link{background:var(--surface-alt);color:var(--text);border:1.5px solid var(--border);border-radius:var(--radius-sm);min-height:40px;transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.dialog__apply-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.drawer-backdrop{-webkit-backdrop-filter:blur(6px);z-index:9999;box-sizing:border-box;width:100vw;height:100dvh;animation:fade-in var(--t-fast) var(--ease) forwards;background:#0f0c29a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);color:var(--text);border-radius:var(--radius-lg);width:min(440px,100vw - 2rem);height:auto;max-height:min(85vh,85dvh);animation:modal-pop var(--t-base) cubic-bezier(.16, 1, .3, 1) forwards;box-sizing:border-box;flex-direction:column;padding:1.5rem;display:flex;overflow:hidden;box-shadow:0 25px 80px #0f0c2959,0 0 0 1px #ffffff1a}.drawer__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.drawer__header h2{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.drawer__content{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;padding-right:.25rem;display:flex;overflow-y:auto}.drawer .filter-panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;position:static}.drawer .filter-panel__heading{display:none}.saved-page{flex-direction:column;gap:1rem;display:flex}.saved-page h2{color:var(--text);font-size:1.375rem;font-weight:800}@media (width<=767px){.discover__layout{grid-template-columns:1fr}.discover__filters{display:none}.results-toolbar__controls button{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-sm);align-items:center;display:inline-flex}.results-toolbar__controls button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg);box-shadow:none;transform:none}}@media (width>=768px){.results-toolbar__controls button{display:none}}.route-error{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.bookmark-control{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.discover,.saved-page{animation:page-enter var(--t-slow) var(--ease) both}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
