:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-y:scroll}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;width:100%;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.job-card{background:#161616;border:1px solid #2a2a2a;border-radius:12px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px #ffffff08,0 8px 24px #00000040;width:100%;cursor:pointer}.job-card:hover{transform:translateY(-2px);box-shadow:0 2px #ffffff0a,0 12px 28px #00000059}.job-poster{position:relative;height:160px;background:linear-gradient(135deg,#1c1c1c,#232323)}.job-poster img{width:100%;height:100%;object-fit:cover;display:block}.job-overlay{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:flex-start;padding:8px;opacity:0;transition:opacity .15s ease;background:linear-gradient(to top,#00000040,#0000)}.job-card:hover .job-overlay{opacity:1}.favorite-btn{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #444;background:#0006;color:#ff6b81}.favorite-btn:hover{background:#222;border-color:#555}.favorite-btn.active{background:#ff6b81;border-color:#ff6b81;color:#fff;box-shadow:0 0 0 2px #ff6b8140}.favorite-btn.active:hover{background:#ff5a72;border-color:#ff5a72}.job-overlay:has(.favorite-btn.active){opacity:1}.details-btn{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #444;background:#0006;color:#64b5f6;margin-left:8px}.details-btn:hover{background:#222;border-color:#555}.job-created-at{color:#888;font-size:.8rem;margin-top:4px}.job-info{padding:12px 14px;text-align:left}.job-info h3{margin:0 0 6px;font-size:1rem;color:#fff;line-height:1.25;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.job-info p{margin:0;font-size:.875rem;color:#b3b3b3}.job-company{color:#d6d6d6}.job-url{color:#8ab4f8}.job-hashtags{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}.hashtag{display:inline-block;padding:2px 6px;background:#8ab4f81a;color:#8ab4f8;border:1px solid rgba(138,180,248,.2);border-radius:4px;font-size:.75rem;font-weight:500;line-height:1.2;transition:all .15s ease}.hashtag:hover{background:#8ab4f826;border-color:#8ab4f84d;transform:translateY(-1px)}.home{display:flex;flex-direction:column;gap:24px;padding:16px 0}.search-form{display:flex;align-items:center;justify-content:center;gap:8px}.search-input{min-width:260px;padding:10px 12px;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#eaeaea}.search-input::placeholder{color:#9aa0a6}.search-btn{background:#646cff;color:#fff;border:1px solid #4f55d6}.jobs-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.spinner{width:36px;height:36px;border:3px solid #2b2b2b;border-top-color:#646cff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 640px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pagination{display:flex;align-items:center;justify-content:center;gap:12px}.pagination .page-info{color:#eaeaea}.favorites-empty{padding:60px 12px;text-align:center;color:#cfcfcf}.favorites-empty h2{margin:0 0 8px;font-size:1.4rem}.favorites-empty p{margin:0;color:#9aa0a6}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#111;border-bottom:1px solid #2a2a2a}.navbar-brand a{color:#fff;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px;text-decoration:none}.navbar-links{display:flex;align-items:center;gap:12px}.navbar a{color:#eaeaea}.navbar a:hover{color:#c9cbff}.navbar-logo{width:24px;height:24px;display:block}
