:root{--bg:#f5f7fa;--card:#ffffffeb;--text:#1a1a2e;--muted:#6b7280;--border:#6366f126;--accent:#6366f1;--accent-strong:#4f46e5;--accent-soft:#eef2ff;--green:#10b981;--green-soft:#ecfdf5;--orange:#f59e0b;--orange-soft:#fffbeb;--tag-bg:#f1f5f9;--tag-text:#475569;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 5%, #6366f114, transparent 30vw), radial-gradient(circle at 85% 15%, #10b9810f, transparent 25vw), radial-gradient(circle at 70% 80%, #f59e0b0d, transparent 30vw), linear-gradient(180deg, #f8fafc 0%, var(--bg) 50%, #f1f5f9 100%);min-width:320px;min-height:100vh;margin:0}.page-shell{max-width:800px;margin:0 auto;padding:2rem 1.5rem 4rem}.hero{margin-bottom:2rem}.hero h1{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.hero .intro{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.meta-row{color:var(--muted);font-size:.8rem}.filter-panel{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;margin-bottom:1.5rem;padding:1rem 1.25rem}.filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.filter-row:last-child{margin-bottom:0}.filter-label{color:var(--muted);min-width:4rem;font-size:.8rem;font-weight:600}.filter-tag{border:1px solid var(--border);background:var(--tag-bg);color:var(--tag-text);cursor:pointer;border-radius:6px;padding:.25rem .7rem;font-size:.8rem;transition:all .15s}.filter-tag:hover{border-color:var(--accent);color:var(--accent)}.filter-tag.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:500}.remote-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.remote-toggle input{accent-color:var(--accent)}.job-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.job-card{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:1rem 1.25rem;transition:box-shadow .2s,transform .15s}.job-card:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6366f114}.job-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.4}.job-title a{color:var(--text);text-decoration:none}.job-title a:hover{color:var(--accent)}.job-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.job-city{background:var(--accent-soft);color:var(--accent-strong);border-radius:4px;padding:.15rem .5rem;font-size:.78rem;font-weight:500}.job-remote{background:var(--green-soft);color:var(--green);border-radius:4px;padding:.15rem .5rem;font-size:.78rem;font-weight:500}.job-salary{background:var(--orange-soft);color:var(--orange);border-radius:4px;padding:.15rem .5rem;font-size:.78rem;font-weight:500}.job-author{color:var(--muted);margin-left:auto;font-size:.78rem}.job-techs{flex-wrap:wrap;gap:.35rem;display:flex}.tech-tag{background:var(--tag-bg);color:var(--tag-text);border-radius:4px;padding:.12rem .45rem;font-size:.72rem}.job-time{color:var(--muted);margin-top:.5rem;font-size:.75rem}.state-card{text-align:center;color:var(--muted);padding:3rem 1rem;font-size:.95rem}.loader{border:2px solid var(--border);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:1.2rem;height:1.2rem;margin-right:.5rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-card{color:#dc2626}.error-card button{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:6px;margin-top:.75rem;padding:.4rem 1rem;font-size:.85rem}.pagination{justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.pagination button{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;transition:all .15s}.pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:var(--muted);font-size:.85rem}@media (width<=600px){.page-shell{padding:1.5rem 1rem 3rem}.hero h1{font-size:1.4rem}.filter-row{gap:.4rem}.job-author{margin-left:0}}
