:root{--brand:#1d5bd8;--brand-dark:#1746a8;--brand-light:#eaf1ff;--brand-deep:#0b2a6f;--warm:#f97316;--warm-light:#fff4e8;--success:#16a34a;--success-light:#e9f7ee;--danger:#dc2626;--danger-light:#fdecec;--warn:#d97706;--warn-light:#fff7e6;--ink:#0f172a;--ink-2:#334155;--ink-3:#64748b;--ink-4:#94a3b8;--line:#e2e8f0;--line-2:#eef2f7;--bg:#f5f7fb;--bg-2:#fafbfd;--white:#fff;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--container:1200px;--header-h:68px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--fs-4xl:46px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);font-size:var(--fs-base);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4,h5{color:var(--ink);margin:0;font-weight:700;line-height:1.3}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{border:0;max-width:100%;height:auto}a{color:var(--brand);text-decoration:none;transition:color .15s}a:hover{color:var(--brand-dark)}button{font-family:inherit}table{border-collapse:collapse;width:100%}::selection{background:var(--brand-light);color:var(--brand-dark)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}.container-wide{max-width:1360px}.page-main{padding:var(--sp-6) 0 var(--sp-12);min-height:calc(100vh - var(--header-h) - 300px)}.grid{gap:var(--sp-5);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-side{grid-template-columns:240px minmax(0,1fr)}.grid-side-r{grid-template-columns:minmax(0,1fr) 300px}.row{align-items:center;gap:var(--sp-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.row-wrap{flex-wrap:wrap}.col{gap:var(--sp-3);flex-direction:column;display:flex}.grow{flex:1;min-width:0}.mt-2{margin-top:var(--sp-2)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-muted{color:var(--ink-3)}.text-faint{color:var(--ink-4)}.text-warm{color:var(--warm)}.text-brand{color:var(--brand)}.text-red{color:var(--danger)}.text-center{text-align:center}.text-right{text-align:right}.radio{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.radio input{width:16px;height:16px;accent-color:var(--brand)}.stack{flex-direction:column;gap:18px;display:flex}.strong{font-weight:700}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hidden{display:none!important}.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}.site-header{z-index:100;height:var(--header-h);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0}.site-header .container{align-items:center;gap:var(--sp-8);height:100%;display:flex}.logo{font-size:var(--fs-lg);color:var(--ink);letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:10px;font-weight:800;display:inline-flex}.logo:hover{color:var(--ink)}.logo-mark{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;font-size:16px;font-weight:800;display:grid}.site-nav{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.site-nav a{border-radius:var(--r-sm);font-size:var(--fs-md);color:var(--ink-2);white-space:nowrap;padding:8px 14px;position:relative}.site-nav a:hover{background:var(--brand-light);color:var(--brand-dark)}.site-nav a.active{color:var(--brand);font-weight:600}.site-nav a.active:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:0;left:14px;right:14px}.header-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.nav-toggle{border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;display:none}.nav-toggle span{background:var(--ink-2);border-radius:2px;width:18px;height:2px;display:block}.user-chip{border:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-sm);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 6px;display:inline-flex}.user-chip:hover{color:var(--ink);border-color:#c7d6ef}.avatar{object-fit:cover;background:var(--brand-light);width:28px;height:28px;color:var(--brand);font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.avatar-lg{width:56px;height:56px;font-size:var(--fs-lg)}.btn{border-radius:var(--r-sm);height:38px;font-size:var(--fs-base);cursor:pointer;white-space:nowrap;color:var(--ink-2);border:1px solid #0000;border-color:var(--line);background:#fff;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn:hover{color:var(--brand);border-color:#c7d6ef}.btn:disabled,.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--brand-light);color:var(--brand-dark);border-color:#0000}.btn-warm{background:var(--warm);border-color:var(--warm);color:#fff;font-weight:600}.btn-warm:hover{color:#fff;background:#ea6a0c;border-color:#ea6a0c}.btn-danger{color:var(--danger);background:#fff;border-color:#f3c9c9}.btn-danger:hover{background:var(--danger-light);color:var(--danger);border-color:#eab0b0}.btn-sm{height:30px;font-size:var(--fs-sm);border-radius:var(--r-sm);padding:0 10px}.btn-lg{height:46px;font-size:var(--fs-md);border-radius:var(--r);padding:0 24px}.btn-block{width:100%}.btn-link{color:var(--brand);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0}.btn-link:hover{color:var(--brand-dark);text-decoration:underline}.btn-link.danger{color:var(--danger)}.card{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}.card-pad{padding:var(--sp-5)}.card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line-2);padding:16px 20px;display:flex}.card-title{font-size:var(--fs-md);align-items:center;gap:8px;font-weight:700;display:flex}.card-title:before{content:"";background:var(--brand);border-radius:2px;width:3px;height:15px}.card-body{padding:20px}.card-foot{border-top:1px solid var(--line-2);background:var(--bg-2);padding:14px 20px}.section{margin-top:var(--sp-8)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.section-title{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:800}.section-sub{color:var(--ink-3);font-size:var(--fs-sm);margin-top:4px}.field{margin-bottom:var(--sp-4)}.field-label{font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:6px;font-weight:600;display:block}.field-label .req{color:var(--danger);margin-left:2px}.field-hint{font-size:var(--fs-xs);color:var(--ink-3);margin-top:5px}.field-error{font-size:var(--fs-xs);color:var(--danger);margin-top:5px}.input,.select,.textarea{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;height:40px;color:var(--ink);font-family:inherit;font-size:var(--fs-base);background:#fff;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:110px;padding:10px 12px;line-height:1.6}.input:hover,.select:hover,.textarea:hover{border-color:#c7d6ef}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1d5bd81f}.input.has-error,.select.has-error,.textarea.has-error{border-color:var(--danger)}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--bg-2);color:var(--ink-3);cursor:not-allowed}.select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.4 1.4 6 6l4.6-4.6L12 2.8 6 8 .4 2.8z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.input-icon{position:relative}.input-icon .input{padding-left:38px}.input-icon svg{width:16px;height:16px;color:var(--ink-4);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.form-grid{gap:0 var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:1/-1}.check,.radio{font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input,.radio input{accent-color:var(--brand);width:15px;height:15px}.check-group{flex-wrap:wrap;gap:8px 18px;display:flex}.switch{width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch i{cursor:pointer;background:#cbd5e1;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.switch input:checked+i{background:var(--brand)}.switch input:checked+i:after{transform:translate(18px)}.tag{background:var(--bg);height:22px;color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:0 8px;line-height:1;display:inline-flex}.tag-blue{background:var(--brand-light);color:var(--brand-dark)}.tag-orange{background:var(--warm-light);color:#c2410c}.tag-green{background:var(--success-light);color:#15803d}.tag-red{background:var(--danger-light);color:#b91c1c}.tag-warn{background:var(--warn-light);color:#b45309}.tag-outline{border:1px solid var(--line);background:#fff}.badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.list{border-radius:var(--r);overflow:hidden}.list-item{align-items:center;gap:var(--sp-4);border-bottom:1px solid var(--line-2);padding:16px 20px;transition:background .12s;display:flex}.list-item:last-child{border-bottom:0}.list-item:hover{background:var(--bg-2)}.table-wrap{overflow-x:auto}.table th{background:var(--bg-2);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-xs);text-align:left;white-space:nowrap;padding:11px 14px;font-weight:600}.table td{border-bottom:1px solid var(--line-2);font-size:var(--fs-sm);color:var(--ink-2);vertical-align:middle;padding:13px 14px}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--bg-2)}.table .td-actions{white-space:nowrap;gap:10px;display:flex}.table-compact th,.table-compact td{padding:9px 10px}.pager{margin-top:var(--sp-6);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pager a,.pager span{border:1px solid var(--line);border-radius:var(--r-sm);min-width:34px;height:34px;color:var(--ink-2);font-size:var(--fs-sm);background:#fff;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.pager a:hover{border-color:var(--brand);color:var(--brand)}.pager .is-current{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.pager .is-disabled{color:var(--ink-4);background:var(--bg-2)}.pager .pager-info{color:var(--ink-3);background:0 0;border:0}.empty{text-align:center;color:var(--ink-3);padding:56px 20px}.empty-icon{background:var(--bg);width:56px;height:56px;color:var(--ink-4);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:24px;display:grid}.empty-title{font-size:var(--fs-md);color:var(--ink-2);margin-bottom:6px;font-weight:600}.empty-desc{font-size:var(--fs-sm)}.alert{border-radius:var(--r-sm);font-size:var(--fs-sm);border:1px solid;gap:10px;padding:12px 14px;line-height:1.6;display:flex}.alert-info{background:var(--brand-light);color:var(--brand-dark);border-color:#cfe0ff}.alert-warn{background:var(--warn-light);color:#92400e;border-color:#f5dfb8}.alert-error{background:var(--danger-light);color:#991b1b;border-color:#f3c9c9}.alert-success{background:var(--success-light);color:#166534;border-color:#c7ebd3}.hero{color:#fff;background:linear-gradient(135deg,#0b2a6f 0%,#1746a8 55%,#1d5bd8 100%);padding:56px 0 64px;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff0f;border-radius:50%;width:520px;height:520px;position:absolute;top:-160px;right:-120px}.hero:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-220px;left:-80px}.hero .container{z-index:1;position:relative}.hero-title{font-size:var(--fs-4xl);letter-spacing:-.03em;color:#fff;font-weight:800;line-height:1.15}.hero-sub{font-size:var(--fs-md);color:#ffffffc7;margin-top:14px}.hero-stats{gap:40px;margin-top:28px;display:flex}.hero-stat b{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:800;display:block}.hero-stat span{font-size:var(--fs-xs);color:#ffffffb3}.hero-search{border-radius:var(--r-xl);background:#fff;gap:8px;margin-top:32px;padding:8px;display:flex;box-shadow:0 18px 40px -18px #04143c8c}.hero-search .input-wrap{flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.hero-search .input-wrap+.input-wrap{border-left:1px solid var(--line)}.hero-search input,.hero-search select{height:48px;font-size:var(--fs-md);color:var(--ink);background:0 0;border:0;outline:none;width:100%}.hero-search input::placeholder{color:var(--ink-4)}.hero-search .btn{border-radius:var(--r);height:48px;font-size:var(--fs-md);padding:0 34px}.hero-hot{font-size:var(--fs-sm);color:#ffffffa6;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.hero-hot a{color:#ffffffe6}.hero-hot a:hover{color:#fff;text-decoration:underline}.notice-bar{border:1px solid var(--line);border-radius:var(--r);z-index:2;background:#fff;align-items:center;gap:12px;margin-top:-22px;padding:11px 16px;display:flex;position:relative;box-shadow:0 8px 20px -14px #0f172a33}.cat-list{flex-direction:column;display:flex}.cat-item{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;display:flex}.cat-item:last-child{border-bottom:0}.cat-item:hover{background:var(--bg-2)}.cat-name{color:var(--ink);font-weight:600;font-size:var(--fs-base)}.cat-count{font-size:var(--fs-xs);color:var(--ink-4);font-family:var(--mono)}.cat-subs{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.cat-subs a{font-size:var(--fs-xs);color:var(--ink-3)}.cat-subs a:hover{color:var(--brand)}.job-list{flex-direction:column;display:flex}.job-card{border-bottom:1px solid var(--line-2);padding:16px 20px;transition:background .12s;display:block}.job-card:last-child{border-bottom:0}.job-card:hover{background:var(--bg-2)}.job-card-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.job-card-title{font-size:var(--fs-md);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.job-card:hover .job-card-title{color:var(--brand)}.job-card-salary{font-size:var(--fs-md);color:var(--warm);white-space:nowrap;font-weight:700}.job-card-meta{font-size:var(--fs-sm);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;display:flex}.job-card-meta .dot{color:var(--line)}.job-card-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.company-mini{font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.company-mini .logo-sq{background:var(--bg);width:18px;height:18px;color:var(--ink-3);border-radius:4px;place-items:center;font-size:10px;font-weight:700;display:grid;overflow:hidden}.job-row{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:20px;padding:18px 20px;display:grid}.job-row:last-child{border-bottom:0}.job-row:hover{background:var(--bg-2)}.job-row-main{min-width:0}.job-row-side{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.company-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.company-card{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:18px;transition:border-color .15s,transform .15s;display:block}.company-card:hover{border-color:#b9cff5;transform:translateY(-2px)}.company-card-head{align-items:center;gap:12px;display:flex}.company-logo{object-fit:cover;background:var(--bg);width:44px;height:44px;color:var(--ink-3);font-weight:700;font-size:var(--fs-md);border:1px solid var(--line-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.company-name{font-size:var(--fs-base);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.company-meta{font-size:var(--fs-xs);color:var(--ink-3);margin-top:3px}.company-card-jobs{border-top:1px dashed var(--line);flex-direction:column;gap:7px;margin-top:14px;padding-top:12px;display:flex}.company-card-jobs a{font-size:var(--fs-sm);color:var(--ink-2);justify-content:space-between;gap:10px;display:flex}.company-card-jobs a:hover{color:var(--brand)}.company-card-jobs .s{color:var(--warm);font-weight:600}.filter-bar{border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:var(--sp-5);background:#fff;padding:4px 20px}.filter-row{border-bottom:1px dashed var(--line-2);font-size:var(--fs-sm);align-items:flex-start;gap:14px;padding:11px 0;display:flex}.filter-row:last-child{border-bottom:0}.filter-label{width:72px;color:var(--ink-3);flex-shrink:0;padding-top:3px}.filter-opts{flex-wrap:wrap;flex:1;gap:4px 6px;display:flex}.filter-opts a{color:var(--ink-2);border-radius:4px;padding:3px 10px}.filter-opts a:hover{background:var(--brand-light);color:var(--brand-dark)}.filter-opts a.on{background:var(--brand);color:#fff;font-weight:500}.filter-more{color:var(--brand);cursor:pointer;padding:3px 6px}.search-bar{border:1px solid var(--line);border-radius:var(--r);margin-bottom:var(--sp-5);background:#fff;align-items:center;gap:10px;padding:10px 12px;display:flex}.search-bar .input,.search-bar .select{background:var(--bg-2);border-color:#0000}.search-bar .input:focus,.search-bar .select:focus{border-color:var(--brand);background:#fff}.detail-head{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:26px 28px}.detail-title{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:800;line-height:1.3}.detail-salary{font-size:var(--fs-2xl);color:var(--warm);letter-spacing:-.02em;font-weight:800}.detail-meta{font-size:var(--fs-sm);color:var(--ink-3);flex-wrap:wrap;gap:8px 18px;margin-top:12px;display:flex}.detail-meta b{color:var(--ink-2);font-weight:500}.detail-actions{flex-wrap:wrap;gap:10px;display:flex}.prose{font-size:var(--fs-base);color:var(--ink-2);line-height:1.9}.prose p{margin:0 0 12px}.prose h3{font-size:var(--fs-md);margin:22px 0 10px}.prose ul{margin:0 0 12px;padding-left:20px;list-style:outside}.prose li{margin-bottom:6px}.prose img{border-radius:var(--r-sm)}.kv{font-size:var(--fs-sm);grid-template-columns:110px minmax(0,1fr);gap:10px 16px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{color:var(--ink-2);margin:0}.side-nav{border:1px solid var(--line);border-radius:var(--r-lg);top:calc(var(--header-h) + 20px);background:#fff;align-self:start;padding:8px;position:sticky}.side-nav-group{font-size:var(--fs-xs);color:var(--ink-4);padding:10px 12px 4px;font-weight:600}.side-nav a{border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.side-nav a:hover{background:var(--bg);color:var(--ink)}.side-nav a.on{background:var(--brand-light);color:var(--brand-dark);font-weight:600}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:16px 18px}.stat-label{font-size:var(--fs-xs);color:var(--ink-3)}.stat-value{font-size:var(--fs-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-weight:800}.stat-value small{font-size:var(--fs-sm);color:var(--ink-3);margin-left:3px;font-weight:500}.tabs{border-bottom:1px solid var(--line);margin-bottom:var(--sp-5);gap:24px;display:flex}.tabs a,.tabs button{font-size:var(--fs-base);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:10px 0;position:relative}.tabs a:hover,.tabs button:hover{color:var(--brand)}.tabs .on{color:var(--brand);font-weight:600}.tabs .on:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.breadcrumb{font-size:var(--fs-xs);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.breadcrumb a{color:var(--ink-3)}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{color:var(--ink-4)}.auth-wrap{min-height:calc(100vh - var(--header-h));background:#fff;grid-template-columns:1fr 480px;display:grid}.auth-aside{color:#fff;background:linear-gradient(150deg,#0b2a6f 0%,#1746a8 60%,#1d5bd8 100%);flex-direction:column;justify-content:center;padding:64px;display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-180px;right:-140px}.auth-aside h2{font-size:var(--fs-3xl);color:#fff;letter-spacing:-.03em;line-height:1.25}.auth-aside p{color:#ffffffbf;font-size:var(--fs-md);max-width:440px;margin-top:16px}.auth-points{flex-direction:column;gap:14px;margin-top:36px;display:flex}.auth-point{font-size:var(--fs-sm);color:#ffffffe6;align-items:flex-start;gap:10px;display:flex}.auth-point i{background:#ffffff29;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;font-size:11px;font-style:normal;display:grid}.auth-main{justify-content:center;align-items:center;padding:48px 40px;display:flex}.auth-box{width:100%;max-width:360px}.auth-title{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:800}.auth-sub{color:var(--ink-3);font-size:var(--fs-sm);margin-top:8px}.auth-form{margin-top:28px}.auth-foot{font-size:var(--fs-sm);color:var(--ink-3);text-align:center;margin-top:22px}.auth-switch{background:var(--bg);border-radius:var(--r-sm);gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-switch a{text-align:center;font-size:var(--fs-sm);color:var(--ink-3);border-radius:5px;flex:1;padding:7px 0}.auth-switch a.on{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #0f172a0f}.site-footer{color:#94a3b8;background:#0f172a;margin-top:auto;padding:48px 0 0}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr) 1.2fr;gap:36px;padding-bottom:36px;display:grid}.footer-brand .logo,.footer-brand .logo:hover{color:#fff}.footer-desc{font-size:var(--fs-sm);color:#94a3b8;max-width:280px;margin-top:14px;line-height:1.8}.footer-title{color:#e2e8f0;font-size:var(--fs-sm);margin-bottom:14px;font-weight:600}.footer-links{flex-direction:column;gap:9px;display:flex}.footer-links a{color:#94a3b8;font-size:var(--fs-sm)}.footer-links a:hover{color:#fff}.footer-contact{font-size:var(--fs-sm);color:#94a3b8;line-height:1.9}.footer-contact b{color:#fff;font-size:var(--fs-lg);margin-bottom:4px;display:block}.footer-bottom{font-size:var(--fs-xs);color:#64748b;border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.footer-bottom a{color:#64748b}.footer-bottom a:hover{color:#cbd5e1}.divider{background:var(--line-2);height:1px;margin:var(--sp-4) 0}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.sticky-side{top:calc(var(--header-h) + 20px);align-self:start;position:sticky}@media (width<=1200px){.container{padding:0 16px}.hero-title{font-size:38px}.grid-4,.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.2fr repeat(2,1fr) 1.2fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){:root{--header-h:60px}.site-nav{left:0;right:0;top:var(--header-h);border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:2px;padding:10px 16px 18px;display:none;position:fixed;box-shadow:0 12px 24px -18px #0f172a66}.site-nav.is-open{display:flex}.site-nav a{font-size:var(--fs-base);padding:11px 12px}.site-nav a.active:after{display:none}.nav-toggle{display:inline-flex}.header-actions .btn span.long{display:none}.grid-side,.grid-side-r{grid-template-columns:minmax(0,1fr)}.side-nav{gap:6px;padding:8px;display:flex;position:static;overflow-x:auto}.side-nav-group{display:none}.side-nav a{white-space:nowrap;padding:8px 12px}.side-nav a.on{background:var(--brand);color:#fff}.hero{padding:40px 0 48px}.hero-title{font-size:32px}.hero-search{flex-direction:column;padding:10px}.hero-search .input-wrap+.input-wrap{border-left:0;border-top:1px solid var(--line)}.hero-search .btn{width:100%}.hero-stats{gap:26px}.auth-wrap{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{padding:40px 24px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-brand{grid-column:1/-1}}@media (width<=640px){.page-main{padding:18px 0 40px}.hero-title{font-size:26px}.hero-sub{font-size:var(--fs-base)}.hero-stats{flex-wrap:wrap;gap:20px}.hero-stat b{font-size:var(--fs-xl)}.detail-head{padding:18px}.detail-title,.detail-salary{font-size:var(--fs-xl)}.grid-2,.grid-3,.grid-4,.company-grid,.form-grid{grid-template-columns:minmax(0,1fr)}.job-row{grid-template-columns:minmax(0,1fr);gap:10px}.job-row-side{text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-start}.card-head,.card-body{padding-left:16px;padding-right:16px}.list-item{padding:13px 16px}.filter-label{width:60px}.footer-grid{grid-template-columns:minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{font-size:var(--fs-lg)}.header-actions .btn-ghost{display:none}}.app-main{min-height:60vh}.home-grid{grid-template-columns:264px minmax(0,1fr) 316px;align-items:start;gap:16px;margin-top:20px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-title{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:800;line-height:1.3}.page-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:6px}.content-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.form-actions{border-top:1px solid var(--line-2);align-items:center;gap:10px;margin-top:8px;padding-top:20px;display:flex}.action-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.side-item{border-bottom:1px dashed var(--line-2);gap:10px;padding:10px 0;display:flex}.side-item:last-child{border-bottom:0}@media (width<=1100px){.home-grid{grid-template-columns:minmax(0,1fr) 300px}.home-grid>aside:first-child{grid-column:1/-1}.cat-list{flex-flow:wrap}.cat-item{border-bottom:1px solid var(--line-2);width:33.333%}}@media (width<=960px){.home-grid{grid-template-columns:minmax(0,1fr)}.cat-item{width:50%}.content-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.cat-item{width:100%}.page-title{font-size:var(--fs-xl)}}.pager-btn[data-v-6a9d601a]{border:1px solid var(--line);border-radius:var(--r-sm);min-width:34px;height:34px;color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:#fff;padding:0 10px}.pager-btn[data-v-6a9d601a]:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.pager-btn[data-v-6a9d601a]:disabled{color:var(--ink-4);background:var(--bg-2);cursor:not-allowed}.pager-btn.is-current[data-v-6a9d601a]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.pager-gap[data-v-6a9d601a]{text-align:center;min-width:24px;color:var(--ink-4)}.filter-opts button[data-v-a944c227]{color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 10px;font-family:inherit}.filter-opts button[data-v-a944c227]:hover{background:var(--brand-light);color:var(--brand-dark)}.filter-opts button.on[data-v-a944c227]{background:var(--brand);color:#fff;font-weight:500}.filter-opts button[data-v-9d2882e4]{color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 10px;font-family:inherit}.filter-opts button[data-v-9d2882e4]:hover{background:var(--brand-light);color:var(--brand-dark)}.filter-opts button.on[data-v-9d2882e4]{background:var(--brand);color:#fff}@media (width<=640px){.card-body[data-v-3a29d0ac]{padding:20px!important}}.map-layout[data-v-5955b871]{grid-template-columns:420px minmax(0,1fr);align-items:start;gap:16px;display:grid}.map-list[data-v-5955b871]{max-height:640px;overflow-y:auto}.map-item[data-v-5955b871]{text-align:left;border:0;border-bottom:1px solid var(--line-2);cursor:pointer;background:#fff;width:100%;padding:14px 18px;font-family:inherit;display:block}.map-item[data-v-5955b871]:hover{background:var(--bg-2)}.map-item.on[data-v-5955b871]{background:var(--brand-light);box-shadow:inset 3px 0 0 var(--brand)}.map-canvas[data-v-5955b871]{background:linear-gradient(0deg, #1d5bd80a 1px, transparent 1px) 0 0 / 100% 40px, linear-gradient(90deg, #1d5bd80a 1px, transparent 1px) 0 0 / 40px 100%, var(--bg-2);place-items:center;min-height:640px;display:grid}.map-fallback[data-v-5955b871]{text-align:center;padding:32px}@media (width<=960px){.map-layout[data-v-5955b871]{grid-template-columns:minmax(0,1fr)}.map-canvas[data-v-5955b871]{min-height:280px}.map-list[data-v-5955b871]{max-height:none}}.progress[data-v-68712ac3]{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.progress span[data-v-68712ac3]{background:var(--brand);border-radius:999px;height:100%;transition:width .3s;display:block}.stack[data-v-e30dc05c]{flex-direction:column;gap:18px;display:flex}.msg-item[data-v-7a2874ec]{border:0;border-bottom:1px solid var(--line-2);cursor:pointer;background:0 0;width:100%;font-family:inherit}.msg-item[data-v-7a2874ec]:hover{background:var(--bg-2)}.dot-indicator[data-v-7a2874ec]{background:0 0;border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot-indicator.on[data-v-7a2874ec]{background:var(--danger)}.chat-layout[data-v-a617eb59]{grid-template-columns:280px minmax(0,1fr);min-height:580px;display:grid}.chat-side[data-v-a617eb59]{border-right:1px solid var(--line-2)}.conv[data-v-a617eb59]{border:0;border-bottom:1px solid var(--line-2);cursor:pointer;background:#fff;align-items:center;gap:10px;width:100%;padding:12px 14px;font-family:inherit;display:flex}.conv[data-v-a617eb59]:hover{background:var(--bg-2)}.conv.on[data-v-a617eb59]{background:var(--brand-light)}.conv-name[data-v-a617eb59]{font-size:var(--fs-sm);font-weight:600;display:block}.conv-last[data-v-a617eb59]{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px;display:block}.conv-side[data-v-a617eb59]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.chat-main[data-v-a617eb59]{flex-direction:column;min-width:0;display:flex}.chat-body[data-v-a617eb59]{background:var(--bg-2);flex:1;max-height:460px;padding:18px;overflow-y:auto}.bubble-row[data-v-a617eb59]{margin-bottom:12px;display:flex}.bubble-row.mine[data-v-a617eb59]{justify-content:flex-end}.bubble[data-v-a617eb59]{border:1px solid var(--line);max-width:72%;font-size:var(--fs-sm);word-break:break-word;background:#fff;border-radius:12px;padding:10px 14px;line-height:1.7}.bubble-row.mine .bubble[data-v-a617eb59]{background:var(--brand);border-color:var(--brand);color:#fff}.bubble-time[data-v-a617eb59]{color:var(--ink-4);margin-top:4px;font-size:11px}.bubble-row.mine .bubble-time[data-v-a617eb59]{color:#ffffffb3}.chat-input[data-v-a617eb59]{border-top:1px solid var(--line-2);gap:10px;padding:14px 18px;display:flex}@media (width<=760px){.chat-layout[data-v-a617eb59]{grid-template-columns:minmax(0,1fr)}.chat-side[data-v-a617eb59]{border-right:0;border-bottom:1px solid var(--line-2);max-height:220px;overflow-y:auto}}.upload-box[data-v-7b6403bc]{border:1px dashed var(--line);border-radius:var(--r);background:var(--bg-2);cursor:pointer;justify-content:center;align-items:center;height:132px;display:flex}.upload-box[data-v-7b6403bc]:hover{border-color:var(--brand);background:var(--brand-light)}.progress[data-v-20a41e3b]{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.progress span[data-v-20a41e3b]{background:var(--brand);border-radius:999px;height:100%;display:block}
/*$vite$:1*/