:root{--color-bg:#fff;--color-bg-subtle:#f6f9fc;--color-bg-muted:#edf2f7;--color-text:#0a2540;--color-text-secondary:#425466;--color-text-muted:#566678;--color-primary:#067267;--color-primary-hover:#055d54;--color-primary-subtle:rgba(6,114,103,.1);--color-border:#e3e8ee;--color-border-subtle:#f0f4f8;--color-card:#fff;--color-card-hover:#fafbfc;--color-tag-bg:#f0f4f8;--color-tag-text:#425466;--color-tag-accent-bg:rgba(6,114,103,.12);--color-tag-accent-text:#067267;--color-success:#0a7350;--color-success-bg:rgba(10,115,80,.1);--color-warning:#b45309;--color-error:#df1b41;--color-error-bg:rgba(223,27,65,.06);--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--max-width:960px;--radius:8px;--radius-lg:12px;--radius-sm:6px;--shadow-sm:0 1px 2px rgba(50,50,93,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(50,50,93,.08),0 2px 4px rgba(0,0,0,.06);--shadow-lg:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.07);--shadow-card:0 2px 4px rgba(50,50,93,.06),0 1px 2px rgba(0,0,0,.04);--shadow-card-hover:0 8px 16px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.06)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{background:var(--color-bg-subtle);color:var(--color-text);font-family:var(--font-family);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img{display:block;height:auto;max-width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.container{margin:0 auto;max-width:var(--max-width);padding:0 1.5rem}::-moz-selection{background:var(--color-primary-subtle);color:var(--color-primary)}::selection{background:var(--color-primary-subtle);color:var(--color-primary)}.page{background:var(--color-bg-subtle);min-height:100vh}.main{padding:1.5rem 0 4rem}.header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-inner{justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:1rem 1.5rem}.header-inner,.logo{align-items:center;display:flex}.logo-img{height:35px;width:auto}.btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.625rem 1.25rem;text-decoration:none;transition:all .15s ease}.btn-primary{background:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.btn-lg{font-size:1rem;padding:.875rem 2rem}.loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:1rem;padding:4rem 1rem}.spinner{animation:spin .7s linear infinite;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:28px;width:28px}@keyframes spin{to{transform:rotate(1turn)}}.error{background:var(--color-error-bg);border:1px solid rgba(223,27,65,.15);border-radius:var(--radius-lg);color:var(--color-error);margin-bottom:1.5rem;padding:1.5rem;text-align:center}.error--card{background:var(--color-card);border:1px solid var(--color-border);color:inherit;padding:3rem}.error--card h1{font-size:1.25rem;margin-bottom:.5rem}.error--card p{color:var(--color-text-muted);margin-bottom:1.5rem}.error-actions{display:flex;gap:1rem;justify-content:center}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color .15s ease}.card:hover{border-color:var(--color-text-muted)}.card-link{color:inherit;display:block;padding:1.25rem 1.5rem;text-decoration:none}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.card .company-info{align-items:center;display:flex;font-size:.8125rem;gap:.5rem}.card .company{color:var(--color-text);font-weight:600}.card .location{color:var(--color-text-secondary)}.card .location:before{color:var(--color-text-muted);content:"·";margin-right:.5rem}.card .posted{color:var(--color-text-muted);font-size:.75rem;white-space:nowrap}.card .title{color:var(--color-text);font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.card .description{color:var(--color-text-secondary);display:-webkit-box;font-size:.8125rem;-webkit-line-clamp:2;line-height:1.5;margin:0 0 .625rem;-webkit-box-orient:vertical;overflow:hidden}.card .description p{margin:0}.card .meta{display:flex;gap:.5rem;margin-bottom:.75rem}.card .skills{display:flex;flex-wrap:wrap;gap:.375rem}.card .skill-more{padding:.25rem}.card .skill-more,.meta-badge{color:var(--color-text-muted);font-size:.75rem}.meta-badge{background:var(--color-bg-muted);border-radius:var(--radius-sm);font-weight:500;padding:.25rem .625rem;text-transform:capitalize}.meta-badge--seniority{background:var(--color-success-bg);color:var(--color-success)}.skill-tag{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.skill-tag--accent{background:var(--color-bg-muted);border-color:var(--color-text-muted);color:var(--color-text)}.skill-tag--detail{background:var(--color-tag-accent-bg);border:none;color:var(--color-tag-accent-text);font-size:.8125rem;padding:.375rem .75rem}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip{background:var(--color-text);border-radius:var(--radius-sm);bottom:100%;color:#fff;font-size:.75rem;font-weight:400;line-height:1.4;margin-bottom:6px;opacity:0;padding:.5rem .75rem;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;visibility:hidden;white-space:nowrap;z-index:50}.tooltip,.tooltip:after{left:50%;position:absolute;transform:translate(-50%)}.tooltip:after{border:5px solid transparent;border-top:5px solid var(--color-text);content:"";top:100%}.tooltip-wrapper:hover .tooltip{opacity:1;visibility:visible}.back-link{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;transition:color .15s ease}.back-link:hover{color:var(--color-primary)}.empty{color:var(--color-text-muted);padding:5rem 1rem;text-align:center}.jobs{display:flex;flex-direction:column;gap:.875rem}.load-more{display:flex;justify-content:center;padding:2rem 0}.detail{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;position:relative}.detail-toolbar{display:flex;gap:.5rem;position:absolute;right:1rem;top:1rem;z-index:10}.toolbar-btn{align-items:center;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:.75rem;transition:all .15s ease}.toolbar-btn:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.detail-header{border-bottom:1px solid var(--color-border-subtle);padding:2rem}.detail-meta{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem;margin-bottom:.75rem}.detail-meta .company{color:var(--color-text);font-weight:600}.detail-meta .location:before,.detail-meta .role:before{color:var(--color-text-muted);content:"·";margin-right:.5rem}.detail-title{color:var(--color-text);font-size:1.5rem;font-weight:700;line-height:1.3;margin:0 0 .75rem}.detail-dates{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:1rem;margin-bottom:1rem}.detail-dates .deadline{color:var(--color-primary);font-weight:500}.detail-dates .deadline--warning{color:var(--color-warning)}.detail-dates .deadline--urgent{color:var(--color-error)}.detail-dates .deadline--past{color:var(--color-text-muted)}.detail-badges{display:flex;gap:.5rem}.detail-section{border-bottom:1px solid var(--color-border-subtle);padding:1.5rem 2rem}.detail-section h2{color:var(--color-text-muted);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.detail-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.detail-description h1,.detail-description h2,.detail-description h3{color:var(--color-text);font-size:1.125rem;font-weight:600;margin:1.5rem 0 .75rem}.detail-description p{margin-bottom:1rem}.detail-description ol,.detail-description ul{margin:1rem 0;padding-left:1.5rem}.detail-description li{margin-bottom:.5rem}.detail-description a{color:var(--color-primary);text-decoration:underline}.detail-skills{display:flex;flex-wrap:wrap;gap:.5rem}.detail-footer{align-items:center;display:flex;gap:1rem;padding:1.5rem 2rem}.detail-no-link{color:var(--color-text-muted);font-size:.875rem}.search-form{display:flex;gap:.75rem;margin-bottom:1.5rem;max-width:600px}.search-input-wrapper{flex:1;position:relative}.text-input{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.9375rem;padding:.75rem 2.5rem .75rem 1rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.text-input::-moz-placeholder{color:var(--color-text-muted)}.text-input::placeholder{color:var(--color-text-muted)}.input-clear{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:.5rem;position:absolute;right:.25rem;top:50%;transform:translateY(-50%)}.input-clear:hover{color:var(--color-text)}.search-results-count{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1rem}.home{background:var(--color-bg-subtle);min-height:100vh}.home,.search-header{display:flex;flex-direction:column}.search-header{align-items:center;flex:1;justify-content:center;padding:2rem 1rem;transition:flex .3s ease}.home:has(.results-container) .search-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex:0;max-height:none;padding:1.5rem 1rem}.logo-link{display:block;margin-bottom:2rem}.home:has(.results-container) .logo-link{margin-bottom:1rem}.brand-logo{color:var(--color-text);height:64px;width:auto}.home:has(.results-container) .brand-logo{height:36px}@media(max-width:640px){.brand-logo{height:52px}}.prompt-chevron{animation:prompt-pulse 2s ease-in-out infinite}.prompt-cursor{animation:cursor-blink 1.2s steps(2,start) infinite}@keyframes prompt-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.search-header .search-form{margin-bottom:0;max-width:580px;width:100%}.search-fields{display:flex;gap:.75rem;max-width:700px;width:100%}.search-fields .search-form{flex:1.5;margin-bottom:0}.location-input-wrapper{flex:1;min-width:140px;position:relative}.location-dropdown{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);left:0;list-style:none;margin-top:4px;max-height:280px;overflow-y:auto;padding:.25rem 0;position:absolute;right:0;top:100%;z-index:200}.location-suggestion{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.625rem 1rem;transition:background-color .1s ease}.location-suggestion--selected,.location-suggestion:hover{background:var(--color-bg-muted)}.location-suggestion-name{color:var(--color-text);font-size:.9375rem}.location-suggestion-type{background:var(--color-bg-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.75rem;padding:.125rem .5rem;text-transform:capitalize}@media(max-width:600px){.search-fields{flex-direction:column;gap:.5rem}.location-input-wrapper,.search-fields .search-form{flex:none;width:100%}.location-dropdown{max-height:200px}.location-suggestion{padding:.75rem 1rem}.text-input{font-size:16px}}.results-container{flex:1;padding:1.5rem}.filter-row,.results-container{margin:0 auto;max-width:var(--max-width);width:100%}.filter-row{display:flex;gap:.5rem;justify-content:flex-start;padding:1.5rem 1.5rem 0}.filter-chip{align-items:center;display:inline-flex;position:relative}.filter-chip select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000000a url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%230a2540' d='M2.5 4 5 6.5 7.5 4'/%3E%3C/svg%3E") no-repeat right .625rem center;border:none;border-radius:2rem;color:var(--color-text);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem 2rem .5rem .875rem;transition:background-color .15s ease}.filter-chip select:focus,.filter-chip select:hover{background-color:#00000014}.filter-chip select:focus{outline:none}
