/* Readability pass: keep labels, long names and actions from competing for space. */
.job-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.job-card>div:first-child{min-width:0}
.job-meta{row-gap:6px}
.job-title,.job-sub,.job-original{overflow-wrap:anywhere}
.card-actions{align-self:end;justify-content:flex-end;flex-wrap:wrap;max-width:265px}
.job-state{position:static;grid-column:1/-1;justify-self:end;margin-top:-8px;font:14px 'DM Mono';letter-spacing:.4px;color:#a59999}
.beijing-note{margin:0 0 23px;padding:14px 16px;background:rgba(222,27,37,.04);border-left:2px solid var(--red);font-size:15px;line-height:1.7;color:var(--muted)}
.availability-tag{font:500 14px 'DM Mono';letter-spacing:.1px;padding:4px 5px;border:1px solid var(--line);color:#59635d;background:#f8fbf9}.availability-tag.tracking{color:#806d48;background:#fdfbf6}.availability-tag.closed{color:#887878;background:#fbf9f9}
#companyCards.company-cards{display:block}.dashboard-grid.overview-mode{grid-template-columns:1fr}.overview-guide h2{font-size:24px;margin:0 0 12px}.overview-guide>p:not(.eyebrow){max-width:620px;font-size:16px;line-height:1.8;color:var(--muted);margin:0}.overview-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.beijing-note b{display:block;color:var(--ink);margin-bottom:3px}
.job-card,.detail-job-card{cursor:pointer}.job-detail{border-top:2px solid var(--ink)}.job-detail-top{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:36px 0 30px;border-bottom:1px solid var(--line)}.job-detail-top h1{font-size:clamp(30px,4vw,49px);line-height:1.18;margin:13px 0 8px}.job-detail-top p{font-size:16px;color:var(--muted);margin:0}.job-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);gap:50px;padding:34px 0}.job-detail-grid h2{font-size:22px;margin:0 0 15px}.detail-copy{font-size:17px;line-height:2;color:var(--muted);margin:0;white-space:pre-line}.job-detail-grid aside{border-left:1px solid var(--line);padding-left:28px}.job-detail-grid dl{margin:12px 0 0}.job-detail-grid dl div{padding:12px 0;border-bottom:1px solid var(--line)}.job-detail-grid dt{font-size:14px;color:var(--muted);margin-bottom:5px}.job-detail-grid dd{margin:0;font-size:15px;line-height:1.6}@media(max-width:760px){.job-detail-top{align-items:flex-start;flex-direction:column}.job-detail-grid{grid-template-columns:1fr;gap:28px}.job-detail-grid aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}}
.detail-list{margin-top:27px;padding-top:21px;border-top:1px solid var(--line)}.detail-list .eyebrow{margin:0 0 10px}.detail-list ul{margin:0;padding-left:19px;color:var(--muted);font-size:16px;line-height:1.85}.detail-copy.muted{font-size:15px;line-height:1.75;color:#9a9090}
.forecast-note{font-size:15px;line-height:1.8;color:var(--muted);padding:14px 16px;border-left:2px solid var(--red);background:var(--red-pale);margin:-2px 0 25px}.forecast-note b{color:var(--ink)}.forecast-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.forecast-card{border:1px solid var(--line);padding:22px;min-height:250px;display:flex;flex-direction:column}.forecast-card>div{display:flex;gap:7px;flex-wrap:wrap}.forecast-card h2{font-size:20px;line-height:1.35;margin:16px 0 10px}.forecast-card p{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 8px}.forecast-card .forecast-window{color:var(--ink)}.forecast-card small{color:#9a9090;font-size:14px;line-height:1.6}.forecast-card a{margin-top:auto;padding-top:17px;color:var(--red);font-size:15px;font-weight:700;text-decoration:none}.forecast-basis{font:500 14px 'DM Mono';padding:4px 5px;border:1px solid var(--line);color:#806d48;background:#fdfbf6}.forecast-basis.official{color:#506a58;background:#f7fbf8}@media(max-width:760px){.forecast-list{grid-template-columns:1fr}}
.sector-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 40px}.sector-tabs a{border:1px solid var(--line);padding:9px 13px;color:var(--muted);text-decoration:none;font-size:15px}.sector-tabs a:hover,.sector-tabs a.active{color:#fff;background:var(--red);border-color:var(--red)}.directory-section{margin:0 0 48px}.directory-heading{display:flex;align-items:end;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.directory-heading .eyebrow{margin:0}.directory-heading h2{margin:0;font-size:22px}.directory-heading span{font-size:15px;color:var(--muted)}.directory-heading a{margin-left:auto;color:var(--red);font-size:15px;font-weight:700;text-decoration:none}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-card{display:flex;flex-direction:column;min-height:172px;padding:20px;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:.2s}.directory-card:hover{border-color:rgba(222,27,37,.4);box-shadow:var(--shadow);transform:translateY(-2px)}.directory-card h2{font-size:19px;margin:15px 0 5px}.directory-card p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}.directory-card div{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;color:var(--red);font-size:15px;font-weight:700}.directory-card div b{font-size:18px}.home-industry{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 33px}.home-industry a{background:var(--red-pale);border:1px solid rgba(222,27,37,.12);padding:20px;color:var(--ink);text-decoration:none;transition:.2s}.home-industry a:hover{background:var(--red-wash);transform:translateY(-2px)}.home-industry span,.home-industry b,.home-industry i{display:block}.home-industry span{font:500 14px 'DM Mono';letter-spacing:1px;color:var(--red);margin-bottom:12px}.home-industry b{font:700 20px 'Noto Serif SC'}.home-industry i{font-style:normal;font-size:15px;color:var(--muted);margin-top:6px}.breadcrumb{display:flex;gap:9px;align-items:center;font-size:15px;margin-bottom:25px;color:var(--muted)}.breadcrumb a{color:var(--red);text-decoration:none}.company-hero{display:flex;align-items:end;justify-content:space-between;gap:28px;border-bottom:1px solid var(--ink);padding-bottom:28px}.company-hero .eyebrow{margin:0 0 11px}.company-hero h1{font-size:42px;margin:0}.company-hero p{font-size:16px;color:var(--muted);margin:12px 0 0}.company-info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:36px}.company-info-grid div{padding:20px;border-right:1px solid var(--line)}.company-info-grid div:last-child{border:0}.company-info-grid span,.company-info-grid b{display:block}.company-info-grid span{font-size:14px;color:var(--muted);margin-bottom:6px}.company-info-grid b{font:600 17px 'Noto Serif SC'}.company-opportunities .section-heading{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.company-opportunities .section-heading p{margin:0 0 6px}.company-opportunities .section-heading span{font:15px 'DM Mono';color:var(--muted)}.detail-job-list{display:grid;gap:10px}.detail-job-card{display:block;border:1px solid var(--line);border-left:3px solid var(--red);padding:18px 19px;color:var(--ink);text-decoration:none;transition:.2s}.detail-job-card:hover{border-color:rgba(222,27,37,.4);transform:translateY(-2px);box-shadow:var(--shadow)}.detail-job-card>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.detail-job-card h3{font:700 18px 'Noto Serif SC';margin:10px 0 5px}.detail-job-card p{font-size:15px;line-height:1.65;color:var(--muted);margin:0}.detail-job-card>b{display:block;color:var(--red);font-size:15px;margin-top:12px}.wechat-box{margin-top:35px;padding:22px;border:1px solid var(--line);background:#fffafa}.wechat-box .eyebrow{margin:0 0 7px}.wechat-box h2{font-size:18px;margin:0 0 14px}.wechat-box a{display:block;color:var(--red);font-size:15px;text-decoration:none;padding:9px 0;border-top:1px solid var(--line)}.wechat-box a b{float:right}
@media(max-width:760px){.directory-grid{grid-template-columns:1fr}.home-industry{grid-template-columns:1fr}.company-hero{align-items:flex-start;flex-direction:column}.company-info-grid{grid-template-columns:1fr}.company-info-grid div{border-right:0;border-bottom:1px solid var(--line)}.directory-heading{align-items:flex-start;flex-wrap:wrap}.directory-heading a{margin-left:0;width:100%}}

/* Consolidated dashboard and business-internship information architecture. */
.dashboard-home{padding-top:64px;padding-bottom:90px}.dashboard-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line)}.dashboard-heading h1{font-size:clamp(36px,4vw,54px);letter-spacing:-2.4px}.dashboard-heading>p{margin:0;color:var(--muted);font-size:16px;line-height:1.9}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0 22px;border:1px solid var(--line);background:#fff}.dashboard-metrics article{min-height:132px;padding:23px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.dashboard-metrics article:last-child{border-right:0}.dashboard-metrics span{font:500 14px 'DM Mono',monospace;letter-spacing:1px;color:var(--muted)}.dashboard-metrics strong{font:600 clamp(24px,2.8vw,38px) 'Noto Serif SC',serif;color:var(--ink);margin:13px 0 8px;line-height:1.15}.dashboard-metrics article:first-child strong,.dashboard-metrics article:nth-child(2) strong{color:var(--red)}.dashboard-metrics small{margin-top:auto;color:#978b8b;font-size:14px;line-height:1.5}.dashboard-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 72px}.dashboard-entry{position:relative;overflow:hidden;min-height:215px;padding:30px 32px;border:1px solid var(--line);color:var(--ink);text-decoration:none;background:linear-gradient(135deg,#fff 15%,#fff8f8 100%);transition:transform .25s,border-color .25s,box-shadow .25s}.dashboard-entry:after{content:'↗';position:absolute;right:28px;top:22px;font-size:24px;color:rgba(222,27,37,.26);transition:transform .25s}.dashboard-entry:hover{transform:translateY(-4px);border-color:rgba(222,27,37,.35);box-shadow:var(--shadow)}.dashboard-entry:hover:after{transform:translate(3px,-3px);color:var(--red)}.dashboard-entry span{font:500 14px 'DM Mono',monospace;letter-spacing:1.2px;color:var(--red)}.dashboard-entry h2{font-size:27px;margin:17px 0 9px}.dashboard-entry p{max-width:500px;color:var(--muted);font-size:15px;line-height:1.8;margin:0}.dashboard-entry b{display:block;margin-top:26px;color:var(--red);font-size:15px}.dashboard-entry.primary-entry{background:var(--red);border-color:var(--red);color:#fff}.dashboard-entry.primary-entry span,.dashboard-entry.primary-entry b{color:#fff}.dashboard-entry.primary-entry p{color:rgba(255,255,255,.76)}.dashboard-entry.primary-entry:after{color:rgba(255,255,255,.45)}.source-directory{scroll-margin-top:96px}.source-directory-heading{display:grid;grid-template-columns:1fr minmax(290px,.7fr);gap:50px;align-items:end;margin-bottom:28px}.source-directory-heading h2{font-size:31px;margin:0}.source-directory-heading>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.source-industry-group{margin:0 0 48px;animation:sourceGroupIn .45s ease both;animation-delay:calc(var(--group-index) * 35ms)}@keyframes sourceGroupIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.source-industry-title{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 0 13px;border-bottom:1px solid var(--ink);margin-bottom:13px}.source-industry-title>div{display:flex;align-items:baseline;gap:14px}.source-industry-title span{font:500 14px 'DM Mono',monospace;color:var(--red)}.source-industry-title h2{font-size:22px;margin:0}.source-industry-title p{margin:0;color:var(--muted);font-size:14px}.source-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.source-company-card{min-width:0;min-height:176px;padding:19px 20px;border:1px solid var(--line);color:var(--ink);text-decoration:none;background:#fff;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}.source-company-card:hover{transform:translateY(-3px);border-color:rgba(222,27,37,.32);box-shadow:0 15px 36px rgba(81,22,25,.07)}.source-company-card.is-hiring{border-top:2px solid var(--red)}.source-company-card>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.source-type{font:500 13px 'DM Mono',monospace;letter-spacing:.5px;color:var(--muted);white-space:normal;overflow:hidden;text-overflow:ellipsis}.hiring-dot,.monitoring-label{font-size:14px;padding:3px 6px;background:var(--red-wash);color:var(--red);white-space:nowrap}.monitoring-label{background:#f7f4f4;color:#8a7f7f}.source-company-card h3{font:700 18px 'Noto Serif SC',serif;margin:18px 0 6px}.source-company-card p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.source-company-card b{font-size:14px;color:var(--red);margin-top:auto;padding-top:20px}.business-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px 240px;gap:12px;padding:18px 20px;margin:0 0 34px;border:1px solid var(--line);background:#fdfafa}.business-toolbar label{font-size:14px;font-weight:700;color:var(--muted)}.business-toolbar label span{display:block;margin-bottom:7px}.business-toolbar input,.business-toolbar select{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:inherit;font-size:17px;font-family:inherit;outline:0}.business-toolbar input:focus,.business-toolbar select:focus{border-color:var(--red)}.business-list-header .scope-copy{margin-top:12px}.business-job-card p{max-width:760px}.topbar nav,.home-nav nav{min-width:0}.topbar nav a,.home-nav nav a{white-space:nowrap}
@media(max-width:900px){.dashboard-heading,.source-directory-heading{grid-template-columns:1fr;gap:18px}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-metrics article:nth-child(2){border-right:0}.dashboard-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.source-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-toolbar{grid-template-columns:1fr 1fr}.business-toolbar label:first-child{grid-column:1/-1}.topbar nav,.home-nav nav{gap:14px;margin-left:24px;overflow-x:auto;scrollbar-width:none}.topbar nav::-webkit-scrollbar,.home-nav nav::-webkit-scrollbar{display:none}}
@media(max-width:620px){.dashboard-home{padding-top:42px}.dashboard-metrics,.dashboard-entry-grid,.source-company-grid,.business-toolbar{grid-template-columns:1fr}.dashboard-metrics article{border-right:0;border-bottom:1px solid var(--line);min-height:112px}.dashboard-metrics article:last-child{border-bottom:0}.dashboard-entry{min-height:195px;padding:25px}.source-industry-title{align-items:flex-start;flex-direction:column;gap:7px}.source-company-card{min-height:156px}.business-toolbar label:first-child{grid-column:auto}}

@media (max-width:1050px){
  .topbar nav{margin-left:24px;gap:16px}
  .sync-text{display:none}
  .list-header{align-items:flex-start;flex-direction:column;gap:17px}
  .list-actions{flex-wrap:wrap}
  .focused-list .job-card,.job-card{grid-template-columns:1fr}
  .card-actions{justify-content:flex-start;max-width:none}
  .job-state{justify-self:start;margin-top:-4px}
}
.freshness-policy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:28px;margin:0 0 28px;padding:26px 30px;border:1px solid rgba(204,0,0,.13);border-radius:24px;background:linear-gradient(120deg,#fff 0%,rgba(204,0,0,.035) 100%);box-shadow:0 18px 50px rgba(42,18,18,.06)}
.freshness-policy h2{margin:4px 0 10px;font-size:26px}.freshness-policy p{margin:0;color:#6b5e5e;line-height:1.7}.freshness-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.freshness-steps span{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:14px;background:#fff;border:1px solid rgba(204,0,0,.09);font-size:16px;color:#514545}.freshness-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#c00;color:#fff;font-size:15px}
.source-freshness-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:15px 16px;border-bottom:1px solid rgba(45,31,31,.08);color:inherit;text-decoration:none;transition:.2s ease}.source-freshness-row:hover{background:rgba(204,0,0,.035);transform:translateX(3px)}.source-freshness-row b{display:block;margin-bottom:4px}.source-freshness-row p,.source-freshness-row small{margin:0;color:#786d6d;font-size:15px}.monitor-tier{padding:5px 8px;border-radius:999px;font-size:15px;font-style:normal;background:#f2eeee;color:#716565}.monitor-tier.high{background:rgba(204,0,0,.09);color:#a60000}
@media(max-width:800px){.freshness-policy{grid-template-columns:1fr;padding:22px}.freshness-steps{grid-template-columns:1fr}.source-freshness-row{grid-template-columns:auto minmax(0,1fr) auto}.source-freshness-row small{display:none}}
/* Beijing-only two-track scope */
.scope-copy{max-width:720px;margin:10px 0 0;color:#756868;line-height:1.7}.famous-watchlist{margin-top:48px}.scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:34px}.scope-switch>a{padding:28px;border-radius:22px;text-decoration:none;color:#231b1b;background:#fff;border:1px solid rgba(204,0,0,.12);box-shadow:0 18px 45px rgba(40,20,20,.06);transition:.22s ease}.scope-switch>a:hover{transform:translateY(-4px);border-color:rgba(204,0,0,.3)}.scope-switch span{font-size:15px;letter-spacing:.16em;color:#b00000}.scope-switch h2{margin:8px 0}.scope-switch p{min-height:44px;color:#756868;line-height:1.6}.scope-switch b{color:#b00000}.scope-sector{margin-bottom:44px}.scoped-job-card p{max-width:920px}.famous-watchlist .directory-card p{min-height:40px}@media(max-width:760px){.scope-switch{grid-template-columns:1fr}.scope-switch p{min-height:0}}
.company-industry-group{margin:0 0 36px}.company-industry-group>.directory-heading{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(190,0,0,.12)}.company-industry-group>.directory-heading h3{margin:0;font-size:1.1rem;font-weight:700}.directory-card.has-openings{border-color:rgba(190,0,0,.28);box-shadow:0 12px 30px rgba(142,0,0,.06)}

/* Compact source directory: broad sectors, one continuous grid. */
.source-filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding:13px;margin-bottom:14px;border:1px solid var(--line);background:#fdfafa}.source-filter-bar button{border:1px solid transparent;background:transparent;color:var(--muted);padding:9px 12px;font-weight:600;font-size:17px;font-family:inherit;cursor:pointer;transition:.18s}.source-filter-bar button:hover{color:var(--red);background:#fff}.source-filter-bar button.active{color:#fff;background:var(--red);border-color:var(--red)}.source-filter-bar button b{font:500 14px 'DM Mono',monospace;margin-left:5px;opacity:.72}.source-grid-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 1px 13px;border-bottom:1px solid var(--ink);margin-bottom:12px}.source-grid-summary span{font:700 16px 'Noto Serif SC',serif}.source-grid-summary i{font-style:normal;font-size:14px;color:var(--muted)}.source-company-grid.all-sources-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.all-sources-grid .source-company-card{min-height:150px;padding:17px 18px}.all-sources-grid .source-company-card h3{margin:14px 0 5px}.all-sources-grid .source-company-card footer{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:17px}.all-sources-grid .source-company-card footer .source-type{font-size:13px;min-width:0}.all-sources-grid .source-company-card footer b{flex:0 0 auto;margin:0;padding:0}.company-sector{font:500 13px 'DM Mono',monospace;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-company-card[hidden]{display:none!important}
@media(max-width:1120px){.source-company-grid.all-sources-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.source-company-grid.all-sources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-grid-summary i{display:none}}
@media(max-width:520px){.source-company-grid.all-sources-grid{grid-template-columns:1fr}.source-filter-bar{display:grid;grid-template-columns:1fr 1fr;padding:9px}.source-filter-bar button{text-align:left;padding:9px}.source-filter-bar button:first-child{grid-column:1/-1}}

/* 仪表盘企业目录：按行业分组，给卡片更充足的阅读空间 */
.dashboard-latest-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.source-industry-group{margin-bottom:58px}
.source-industry-title{padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid rgba(76,49,52,.22)}
.source-industry-title h3{margin:0;font:600 25px 'Noto Serif SC',serif;letter-spacing:-.5px}
.source-industry-title>div>span{font:600 13px 'DM Mono',monospace;letter-spacing:1px}
.source-industry-title>p{font-size:14px;color:var(--muted)}
.source-company-grid.all-sources-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.all-sources-grid .source-company-card{min-height:184px;padding:22px 22px;border-radius:20px}
.all-sources-grid .source-company-card h3{font-size:20px;margin:19px 0 7px}
.all-sources-grid .source-company-card p{font-size:14px;line-height:1.7}
.all-sources-grid .source-company-card footer{padding-top:22px}
@media(max-width:1120px){.source-company-grid.all-sources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-latest-heading{grid-template-columns:1fr auto}.source-company-grid.all-sources-grid{grid-template-columns:1fr}.source-industry-group{margin-bottom:42px}.all-sources-grid .source-company-card{min-height:166px;padding:19px 20px}}
#famousJobs.focused-list{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}#famousJobs .detail-job-card{height:100%}
@media(max-width:760px){#famousJobs.focused-list{grid-template-columns:1fr}}
.visitor-badge{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid rgba(222,27,37,.24);background:rgba(255,255,255,.88);color:var(--red);font:600 14px 'DM Mono',monospace;letter-spacing:.5px;white-space:nowrap}.home-nav .visitor-badge{background:rgba(20,16,16,.46);color:#fff;border-color:rgba(255,255,255,.28)}

/* 2026-09 glass-material pass: layered transparency without sacrificing JD readability. */
:root{
  --glass-clear:rgba(255,255,255,.48);
  --glass-panel:rgba(255,255,255,.64);
  --glass-solid:rgba(255,255,255,.78);
  --glass-line:rgba(255,255,255,.72);
  --glass-red:rgba(222,27,37,.075);
  --glass-shadow:0 22px 60px rgba(73,24,28,.09),inset 0 1px 0 rgba(255,255,255,.82);
}
body:not(.home-page){
  background:
    radial-gradient(circle at 8% 5%,rgba(222,27,37,.085),transparent 26rem),
    radial-gradient(circle at 92% 38%,rgba(222,27,37,.045),transparent 30rem),
    linear-gradient(145deg,#fff 0%,#fbf8f8 47%,#fff 100%);
  background-attachment:fixed;
}
.topbar{
  background:rgba(255,255,255,.68);
  border-bottom-color:rgba(255,255,255,.82);
  box-shadow:0 8px 28px rgba(69,26,29,.055);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  backdrop-filter:blur(24px) saturate(145%);
}
.home-nav{
  background:linear-gradient(180deg,rgba(18,8,10,.32),rgba(18,8,10,.08));
  border-bottom-color:rgba(255,255,255,.23);
  -webkit-backdrop-filter:blur(15px) saturate(125%);
  backdrop-filter:blur(15px) saturate(125%);
}
.home-shade:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 68% 28%,rgba(255,255,255,.11),transparent 29%);pointer-events:none}
.home-content,.page-shell{position:relative}
.home-content:before,.page-shell:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:320px;height:320px;border-radius:50%;background:rgba(222,27,37,.055);filter:blur(75px);top:90px;right:-80px}

/* Level 1: broad glass panels. */
.dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{
  background:var(--glass-panel);
  border-color:var(--glass-line);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  backdrop-filter:blur(22px) saturate(135%);
}
.dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{border-radius:18px;overflow:hidden}
.dashboard-metrics article{border-right-color:rgba(111,71,74,.09)}
.dashboard-metrics article:hover{background:rgba(255,255,255,.42)}
.business-toolbar{background:linear-gradient(135deg,rgba(255,255,255,.69),rgba(255,244,245,.48))}
.freshness-policy{background:linear-gradient(120deg,rgba(255,255,255,.68),rgba(222,27,37,.045))}

/* Level 2: cards float above the page while keeping dense text crisp. */
.job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry:not(.primary-entry){
  background:linear-gradient(145deg,var(--glass-solid),rgba(255,255,255,.58));
  border-color:rgba(255,255,255,.88);
  border-radius:16px;
  box-shadow:0 12px 35px rgba(68,25,28,.065),inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(18px) saturate(132%);
  backdrop-filter:blur(18px) saturate(132%);
}
.job-card,.detail-job-card{border-left-color:rgba(222,27,37,.72)}
.job-card:after,.detail-job-card:after,.source-company-card:after,.directory-card:after{
  content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;
  background:linear-gradient(115deg,rgba(255,255,255,.45),transparent 25%,transparent 74%,rgba(222,27,37,.025));opacity:.48;
}
.job-card,.detail-job-card,.source-company-card,.directory-card{position:relative;isolation:isolate}
.job-card>* ,.detail-job-card>* ,.source-company-card>* ,.directory-card>*{position:relative;z-index:1}
.job-card:hover,.detail-job-card:hover,.source-company-card:hover,.directory-card:hover,.scope-switch>a:hover,.dashboard-entry:not(.primary-entry):hover{
  background:rgba(255,255,255,.84);
  border-color:rgba(222,27,37,.22);
  box-shadow:0 22px 48px rgba(85,26,31,.105),inset 0 1px 0 #fff;
}
.source-company-card.is-hiring{border-top-color:rgba(222,27,37,.82)}
.dashboard-entry{border-radius:20px}
.dashboard-entry.primary-entry{
  background:linear-gradient(135deg,rgba(186,7,19,.94),rgba(222,27,37,.82));
  border-color:rgba(255,255,255,.22);
  box-shadow:0 24px 58px rgba(174,14,24,.21),inset 0 1px 0 rgba(255,255,255,.26);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  backdrop-filter:blur(20px) saturate(140%);
}

/* Level 3: controls and small surfaces. */
.business-toolbar input,.business-toolbar select,.filter-bar input,.filter-bar select,.icon-button,.secondary,.carousel-button,.freshness-steps span{
  background:rgba(255,255,255,.68);
  border-color:rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 16px rgba(71,31,34,.045);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.source-filter-bar button{border-radius:9px}.source-filter-bar button:hover{background:rgba(255,255,255,.67)}
.source-filter-bar button.active{background:linear-gradient(135deg,var(--red-dark),var(--red));box-shadow:0 8px 19px rgba(222,27,37,.18)}
.tag,.hiring-dot,.availability-tag,.monitor-tier,.company-chip{border-radius:999px}
.drawer{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 0 70px rgba(48,16,19,.18),inset 1px 0 0 rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(30px) saturate(145%);
  backdrop-filter:blur(30px) saturate(145%);
}
.drawer-scrim{background:rgba(40,16,19,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.drawer input,.drawer select{background:rgba(255,255,255,.3)}
.job-detail-grid aside{background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.78);border-radius:17px;padding:25px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.visitor-badge{background:rgba(255,255,255,.58);border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .topbar,.drawer{background:#fff}
  .dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{background:#fffafa}
  .job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry:not(.primary-entry){background:#fff}
}
@media(max-width:760px){
  body:not(.home-page){background-attachment:scroll}
  .topbar{-webkit-backdrop-filter:blur(17px) saturate(130%);backdrop-filter:blur(17px) saturate(130%)}
  .dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{border-radius:14px}
  .job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry{border-radius:14px}
  .job-detail-grid aside{padding:20px;border-radius:14px}
}
@media(prefers-reduced-transparency:reduce){
  .topbar,.drawer,.dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state,.job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Glass contrast, softer radii and a cleaner type hierarchy. */
:root{
  --glass-clear:rgba(255,255,255,.38);
  --glass-panel:rgba(255,255,255,.52);
  --glass-solid:rgba(255,255,255,.65);
  --glass-line:rgba(255,255,255,.9);
  --glass-radius-xl:26px;
  --glass-radius-lg:21px;
  --glass-radius-md:15px;
}
body{
  font-family:'Plus Jakarta Sans','Microsoft YaHei UI','Microsoft YaHei',sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body:not(.home-page){
  background:
    radial-gradient(ellipse 52% 38% at 7% 10%,rgba(222,27,37,.15),transparent 72%),
    radial-gradient(ellipse 45% 34% at 94% 34%,rgba(140,151,169,.105),transparent 74%),
    radial-gradient(ellipse 48% 42% at 28% 96%,rgba(222,27,37,.085),transparent 76%),
    linear-gradient(138deg,#f8f3f4 0%,#f5f5f7 48%,#fbf6f7 100%);
}
.home-page{
  background:
    radial-gradient(ellipse 48% 28% at 8% 66%,rgba(222,27,37,.13),transparent 72%),
    radial-gradient(ellipse 42% 30% at 92% 84%,rgba(125,139,160,.095),transparent 74%),
    linear-gradient(145deg,#faf5f6 0%,#f5f5f7 52%,#fbf7f8 100%);
  background-attachment:fixed;
}
.home-hero{box-shadow:0 30px 80px rgba(32,15,17,.16)}
.home-shade{
  background:
    linear-gradient(90deg,rgba(48,12,17,.7) 0%,rgba(75,24,28,.34) 42%,rgba(255,255,255,.025) 74%),
    linear-gradient(0deg,rgba(43,12,17,.32),transparent 43%);
}

/* Floating navigation makes the first transparent layer immediately visible. */
.topbar{
  width:calc(100% - 28px);height:64px;margin:12px auto 0;padding:0 max(3.5vw,22px);top:12px;
  border:1px solid rgba(255,255,255,.88);border-radius:19px;
  background:rgba(255,255,255,.56);
  box-shadow:0 14px 38px rgba(64,24,28,.09),inset 0 1px 0 rgba(255,255,255,.98);
}
.topbar nav a{padding:23px 0 20px}
.home-nav{
  left:16px;top:16px;width:calc(100% - 32px);height:64px;padding:0 max(3.5vw,22px);
  border:1px solid rgba(255,255,255,.26);border-radius:19px;
  background:linear-gradient(135deg,rgba(18,10,12,.32),rgba(255,255,255,.09));
  box-shadow:0 18px 44px rgba(10,7,8,.16),inset 0 1px 0 rgba(255,255,255,.19);
}
.home-nav nav a{padding:23px 0 20px}

/* Panels reveal the colored light field beneath them. */
.dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{
  border-radius:var(--glass-radius-xl);
  background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.36));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 22px 60px rgba(64,25,29,.1),0 0 0 1px rgba(222,27,37,.025),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(28px) saturate(145%);
  backdrop-filter:blur(28px) saturate(145%);
}
.dashboard-metrics article{background:transparent}
.business-toolbar{background:linear-gradient(120deg,rgba(255,255,255,.57),rgba(255,239,241,.31))}
.freshness-policy{background:linear-gradient(120deg,rgba(255,255,255,.55),rgba(255,231,234,.28))}
.source-filter-bar{background:rgba(255,255,255,.4)}

.job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry:not(.primary-entry){
  border-radius:var(--glass-radius-lg);
  background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,255,255,.47));
  border:1px solid rgba(255,255,255,.93);
  box-shadow:0 16px 42px rgba(65,25,29,.085),0 0 0 1px rgba(222,27,37,.035),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(24px) saturate(142%);
  backdrop-filter:blur(24px) saturate(142%);
}
.job-card,.detail-job-card{border-left:3px solid rgba(222,27,37,.72)}
.job-card:hover,.detail-job-card:hover,.source-company-card:hover,.directory-card:hover,.company-card:hover,.scope-switch>a:hover,.dashboard-entry:not(.primary-entry):hover{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.58));
  box-shadow:0 25px 58px rgba(70,23,28,.13),0 0 0 1px rgba(222,27,37,.07),inset 0 1px 0 #fff;
}
.dashboard-entry{border-radius:var(--glass-radius-xl)}
.dashboard-entry.primary-entry{border-radius:var(--glass-radius-xl)}
.company-info-grid{overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:var(--glass-radius-lg);background:rgba(255,255,255,.42);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}

/* Rounded controls and actions use smaller radii to preserve hierarchy. */
.button,.home-sync,.cover-cta,.icon-button,.carousel-button,.business-toolbar input,.business-toolbar select,.filter-bar input,.filter-bar select,.drawer input,.drawer select{
  border-radius:var(--glass-radius-md);
}
.button.primary,.cover-cta{box-shadow:0 10px 24px rgba(222,27,37,.18),inset 0 1px 0 rgba(255,255,255,.2)}
.button.secondary{background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.9)}
.source-filter-bar button{border-radius:13px}
.directory-heading,.source-industry-title,.list-header,.page-intro{border-bottom-color:rgba(76,49,52,.11)}
.drawer{border-radius:24px 0 0 24px}.drawer-left{border-radius:0 24px 24px 0}
.job-detail-grid aside{border-radius:var(--glass-radius-lg);background:rgba(255,255,255,.47)}

/* Serif remains for editorial headlines; dense cards switch to a cleaner UI face. */
h1,h2{font-family:'Noto Serif SC','Songti SC',serif;font-weight:700}
.job-title,.detail-job-card h3,.source-company-card h3,.directory-card h2,.company-card h2{
  font-family:'Plus Jakarta Sans','Microsoft YaHei UI','Microsoft YaHei',sans-serif;
  font-weight:650;letter-spacing:-.025em;
}
.job-title{line-height:1.5}.job-sub,.detail-job-card p,.source-company-card p{line-height:1.75}
.eyebrow,.source-type,.company-sector,.tag{letter-spacing:.1em}

@media(max-width:760px){
  .topbar{width:calc(100% - 16px);height:58px;margin-top:8px;top:8px;padding:0 14px;border-radius:16px}
  .topbar nav a{padding:20px 0 17px}
  .home-nav{left:8px;top:8px;width:calc(100% - 16px);height:58px;padding:0 13px;border-radius:16px}
  .home-nav nav a{padding:20px 0 17px}
  .dashboard-metrics,.business-toolbar,.freshness-policy,.source-filter-bar,.panel,.forecast-card,.wechat-box,.empty-state{border-radius:20px}
  .job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry{border-radius:18px}
  .button,.home-sync,.icon-button,.business-toolbar input,.business-toolbar select,.filter-bar input,.filter-bar select{border-radius:12px}
  .home-page{background-attachment:scroll}
  .home-hero>img{object-position:66% center}
}

/* Red is now an accent inside the content, never a partial card outline. */
.job-card,.job-card.consulting,.detail-job-card{
  border:1px solid rgba(255,255,255,.74)!important;
}
.source-company-card.is-hiring{
  border:1px solid rgba(255,255,255,.72)!important;
}
.directory-card.has-openings,.company-industry-group .directory-card.has-openings{
  border-color:rgba(255,255,255,.72)!important;
}
.job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.forecast-card{
  background:
    linear-gradient(145deg,rgba(248,245,247,.64),rgba(240,237,241,.34));
  border-color:rgba(255,255,255,.72);
  box-shadow:
    0 18px 46px rgba(58,31,38,.09),
    0 2px 8px rgba(58,31,38,.035),
    inset 0 1px 0 rgba(255,255,255,.94);
}
.job-card:before{
  inset:0;
  background:
    radial-gradient(circle at 94% 2%,rgba(222,27,37,.09),transparent 28%),
    linear-gradient(118deg,rgba(255,255,255,.3),transparent 32%);
  opacity:.58;
}
.job-card:hover:before{opacity:1}
.job-card:after,.detail-job-card:after,.source-company-card:after,.directory-card:after{
  background:linear-gradient(118deg,rgba(255,255,255,.45),transparent 24%,transparent 78%,rgba(110,91,99,.035));
}
.job-card:hover,.detail-job-card:hover,.source-company-card:hover,.directory-card:hover,.company-card:hover,.scope-switch>a:hover,.forecast-card:hover{
  border-color:rgba(255,255,255,.95)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.71),rgba(242,237,240,.42));
  box-shadow:0 26px 64px rgba(58,27,35,.135),0 5px 16px rgba(58,27,35,.045),inset 0 1px 0 #fff;
}
.job-card .tag,.detail-job-card .tag{border:0;background:rgba(222,27,37,.075);color:var(--red-dark)}
.availability-tag{border:0;background:rgba(255,255,255,.5)}
.source-company-card.is-hiring:before,.directory-card.has-openings:before{
  content:'';position:absolute;z-index:0;width:90px;height:90px;border-radius:50%;right:-38px;top:-42px;
  background:rgba(222,27,37,.075);filter:blur(18px);pointer-events:none;
}
.source-company-card.is-hiring>*,.directory-card.has-openings>*{position:relative;z-index:1}

/* The new architectural cover needs a lighter plum veil than the previous portrait. */
.home-shade{
  background:
    linear-gradient(90deg,rgba(47,13,19,.68) 0%,rgba(65,24,29,.35) 39%,rgba(255,255,255,.025) 72%),
    linear-gradient(0deg,rgba(42,14,19,.28),transparent 44%);
}
@media(max-width:760px){
  .home-hero>img{object-position:62% center}
}

/* ── POLARIS 登录页 ─────────────────────────────────────────── */
.login-page{background:linear-gradient(160deg,#ffffff 0%,#fff7f6 48%,#fdecec 100%);min-height:100vh}
.login-shell{max-width:1020px;margin:0 auto;padding:70px 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;min-height:100vh}
.login-brand .brand.light{color:var(--ink)}
.login-brand h1{font-size:clamp(46px,6vw,72px);color:var(--ink);letter-spacing:-3px;margin:18px 0 12px;line-height:1.05}
.login-intro{color:var(--muted);font-size:16px;line-height:1.9;max-width:440px;margin:0}
.login-intro b{color:var(--ink)}
.login-steps{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.login-steps span{font-size:14px;color:var(--muted);border:1px solid var(--line);background:#fff;padding:7px 11px;border-radius:99px}
.login-steps b{color:var(--red);margin-right:5px}
.login-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px 38px;box-shadow:var(--shadow)}
.login-panel h2{font-size:22px;margin:0 0 6px}
.login-hint{color:var(--muted);font-size:15px;margin:0 0 24px}
.login-panel label{display:block;font-size:15px;color:var(--muted);margin-bottom:16px}
.login-panel input{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font-size:17px;font-family:inherit}
.login-panel .code-row{display:flex;gap:10px;margin-top:7px}
.login-panel .code-row input{flex:1;margin-top:0;letter-spacing:4px}
.login-panel .code-row .button{white-space:nowrap;padding:0 16px}
.login-msg{font-size:15px;color:var(--red);margin:14px 0 0;min-height:16px}
@media(max-width:760px){.login-shell{grid-template-columns:1fr;padding:36px 18px;gap:26px}.login-brand h1{font-size:46px}.login-panel{padding:28px 22px}}

/* ── 公众号二维码（职位详情 / 企业页） ───────────────────────── */
.wechat-detail-box{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.wechat-detail-box h2{font-size:16px;margin:0 0 12px}
.wechat-detail-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wechat-detail-info{flex:1;min-width:0}
.wechat-detail-info b{font-size:15px;display:block;margin-bottom:6px}
.wechat-detail-info .inline-link{display:inline-block;margin-top:2px}
.wechat-channel-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wechat-channel-row a{color:var(--ink);text-decoration:none;font-size:15px}
.wechat-channel-row a b{color:var(--red);font-weight:700}
.wechat-qr-img{width:92px;height:92px;border:1px solid var(--line);border-radius:8px;flex:0 0 auto;background:#fff}

/* ── 上线前基础可用性修复 ─────────────────────────────────── */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
main,section,article,aside,.page-shell,.jobs-page{min-width:0}
img{max-width:100%}
.loading-state,.load-error{width:100%;margin:0;padding:28px;border:1px solid rgba(222,27,37,.12);border-radius:18px;background:rgba(255,255,255,.76);color:var(--muted);font-size:16px;line-height:1.7}
.loading-state:before{content:'';display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(222,27,37,.28);animation:pulse 1.8s infinite}
.load-error b{display:block;color:var(--ink);font-size:18px;margin-bottom:5px}.load-error p{margin:0 0 15px}
:where(a,button,input,select):focus-visible{outline:3px solid rgba(222,27,37,.28);outline-offset:3px}

@media(max-width:760px){
  .topbar{height:auto;min-height:58px;padding:10px 14px;gap:8px 12px;flex-wrap:wrap;align-items:center}
  .topbar nav{order:3;flex:0 0 100%;width:100%;margin:0;gap:20px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav a{flex:0 0 auto;padding:8px 0 9px;font-size:15px}
  .topbar .header-actions{margin-left:auto;min-width:0}
  .topbar .header-actions .button{min-height:38px;padding:8px 11px;white-space:nowrap}
  .page-shell{width:100%;padding:32px 16px 56px}
  .list-header,.page-intro{display:block}.list-header>p,.page-intro>p,.header-copy{width:auto;max-width:none;margin-top:14px}
  .list-header h1,.page-intro h1{font-size:clamp(30px,10vw,39px);overflow-wrap:anywhere}
  .list-actions{width:100%;margin-top:18px}.list-actions .button{min-height:44px}
  .business-toolbar,.filter-bar,.job-detail-grid,.company-info-grid{min-width:0}
  .business-toolbar input,.business-toolbar select,.filter-bar input,.filter-bar select{min-width:0;max-width:100%}
  .detail-job-card,.job-card,.forecast-card,.source-company-card{min-width:0;overflow-wrap:anywhere}
  .job-detail-top .button{width:100%;min-height:44px;text-align:center}
  .login-shell{width:100%;padding:28px 16px;overflow:hidden}
  .login-panel{min-width:0;padding:26px 18px}
  .login-panel .code-row{display:grid;grid-template-columns:1fr;gap:10px}
  .login-panel .code-row input{width:100%;min-width:0}
  .login-panel .code-row .button,.login-panel .button.full{min-height:44px;width:100%}
}

@media(prefers-reduced-motion:reduce){
  html:not(.motion-full) *,html:not(.motion-full) *::before,html:not(.motion-full) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ── POLARIS 极简标志 ─────────────────────────────────────── */
.brand-mark{width:27px;height:27px;flex-basis:27px;border-radius:0;filter:none;box-shadow:none!important}
.brand-mark img{border-radius:0}
.brand:hover .brand-mark{transform:translateY(-1px) scale(1.04);filter:none}
.brand.light .brand-mark{box-shadow:none}
@media(max-width:760px){.brand-mark{width:25px;height:25px;flex-basis:25px}}

/* ── 上线前 UI 收尾：窄屏、可读性与低成本材质 ─────────────── */
.skip-link{position:fixed;z-index:100;left:16px;top:12px;padding:10px 14px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-size:16px;transform:translateY(-160%);transition:transform .18s}
.skip-link:focus{transform:translateY(0)}
.dashboard-metrics span{font-size:14px}
.dashboard-metrics small{font-size:15px;color:var(--muted)}
.source-type,.company-sector{font-size:14px}
.hiring-dot,.monitoring-label{font-size:14px}
.source-company-card p,.source-grid-summary i{font-size:15px;color:var(--muted)}

@media(max-width:760px){
  .job-card,.detail-job-card,.source-company-card,.directory-card,.company-card,.scope-switch>a,.dashboard-entry:not(.primary-entry){
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    background:rgba(255,255,255,.76);
    box-shadow:0 10px 28px rgba(65,25,29,.07),inset 0 1px 0 rgba(255,255,255,.96);
  }
}

@media(max-width:480px){
  .home-nav{
    height:auto;min-height:94px;padding:10px 12px;display:grid;
    grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;
    gap:5px 10px;align-items:center;
  }
  .home-nav .brand{grid-column:1;grid-row:1}
  .home-nav>div{grid-column:2;grid-row:1;justify-self:end;min-width:max-content}
  .home-nav nav{
    grid-column:1/-1;grid-row:2;width:100%;margin:0;gap:0;
    justify-content:space-between;overflow:visible;
  }
  .home-nav nav a{font-size:14px;padding:7px 0 8px}
  .home-sync{flex:0 0 auto;min-width:max-content;white-space:nowrap;writing-mode:horizontal-tb}
  .hero-message{left:22px;right:18px}
  .hero-message h1{font-size:clamp(40px,13vw,52px);letter-spacing:-2.4px;word-break:keep-all}
}

/* ── 沉浸式封面：动态玻璃光场 ───────────────────────────── */
.home-page{
  --hero-x:0;
  --hero-y:0;
  --hero-scroll:0;
}
.home-hero.glass-field{
  min-height:680px;
  height:100svh;
  color:var(--ink);
  isolation:isolate;
  background:
    radial-gradient(circle at 72% 28%,rgba(255,255,255,.98) 0 12%,transparent 38%),
    radial-gradient(circle at 12% 88%,rgba(222,27,37,.075),transparent 34%),
    linear-gradient(137deg,#fff 0%,#f8f5f6 47%,#eee9eb 100%);
  box-shadow:0 34px 90px rgba(62,26,32,.12);
}
.hero-canvas{
  position:absolute;
  z-index:-1;
  inset:0;
  overflow:hidden;
  transform:translate3d(0,calc(var(--hero-scroll) * 82px),0);
  opacity:calc(1 - var(--hero-scroll) * .55);
  transition:opacity .08s linear;
}
.hero-canvas:before{
  content:'';
  position:absolute;
  inset:-18%;
  background:
    radial-gradient(circle at 77% 40%,rgba(255,255,255,.9),transparent 22%),
    radial-gradient(circle at 50% 58%,rgba(222,27,37,.08),transparent 30%);
  filter:blur(24px);
}
.glass-form,.glass-halo,.glass-light{position:absolute;display:block;pointer-events:none;will-change:transform,translate}
.glass-form{
  border:1px solid rgba(255,255,255,.74);
  box-shadow:
    inset 18px 24px 42px rgba(255,255,255,.42),
    inset -16px -18px 38px rgba(111,15,24,.1),
    0 34px 90px rgba(91,24,34,.13);
  -webkit-backdrop-filter:blur(34px) saturate(145%);
  backdrop-filter:blur(34px) saturate(145%);
}
.glass-form:after{
  content:'';
  position:absolute;
  inset:8% 12% 54% 10%;
  border-radius:50%;
  background:linear-gradient(150deg,rgba(255,255,255,.78),rgba(255,255,255,0));
  filter:blur(8px);
}
.glass-form-one{
  width:min(42vw,650px);height:min(70vh,680px);right:-4vw;top:7%;
  border-radius:48% 52% 58% 42% / 34% 42% 58% 66%;
  background:linear-gradient(145deg,rgba(255,84,94,.68),rgba(210,7,22,.78) 52%,rgba(137,0,15,.66));
  translate:calc(var(--hero-x) * -28px) calc(var(--hero-y) * -22px);
  animation:glassFloatOne 14s ease-in-out infinite alternate;
}
.glass-form-two{
  width:min(27vw,430px);height:min(47vh,440px);right:22%;top:-10%;
  border-radius:36% 64% 45% 55% / 54% 42% 58% 46%;
  background:linear-gradient(145deg,rgba(255,255,255,.46),rgba(255,196,201,.2));
  translate:calc(var(--hero-x) * 18px) calc(var(--hero-y) * 15px);
  animation:glassFloatTwo 17s ease-in-out infinite alternate;
}
.glass-form-three{
  width:min(24vw,360px);height:min(35vh,330px);right:34%;bottom:-12%;
  border-radius:61% 39% 32% 68% / 44% 61% 39% 56%;
  background:linear-gradient(155deg,rgba(255,255,255,.6),rgba(222,27,37,.13));
  translate:calc(var(--hero-x) * -14px) calc(var(--hero-y) * 22px);
  animation:glassFloatThree 19s ease-in-out infinite alternate;
}
.glass-form-four{
  width:min(16vw,260px);height:min(29vh,280px);right:8%;bottom:-6%;
  border-radius:42% 58% 68% 32% / 61% 38% 62% 39%;
  background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,114,123,.28));
  translate:calc(var(--hero-x) * 12px) calc(var(--hero-y) * -17px);
  animation:glassFloatFour 16s ease-in-out infinite alternate;
}
.glass-halo{
  width:min(52vw,820px);aspect-ratio:1;right:-11%;top:-22%;border-radius:50%;
  border:1px solid rgba(222,27,37,.12);
  box-shadow:0 0 0 8vw rgba(255,255,255,.09),0 0 90px rgba(222,27,37,.1);
  translate:calc(var(--hero-x) * 9px) calc(var(--hero-y) * 9px);
  animation:haloBreath 10s ease-in-out infinite;
}
.glass-light{
  width:42vw;height:140vh;right:12%;top:-28%;transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  filter:blur(20px);opacity:.58;
  animation:lightDrift 11s ease-in-out infinite alternate;
}
@keyframes glassFloatOne{from{transform:rotate(-9deg) scale(1)}to{transform:rotate(-4deg) scale(1.035)}}
@keyframes glassFloatTwo{from{transform:rotate(16deg)}to{transform:rotate(8deg) translateY(22px)}}
@keyframes glassFloatThree{from{transform:rotate(-13deg)}to{transform:rotate(-4deg) translateX(-18px)}}
@keyframes glassFloatFour{from{transform:rotate(9deg)}to{transform:rotate(16deg) translateY(-16px)}}
@keyframes haloBreath{0%,100%{transform:scale(.98);opacity:.62}50%{transform:scale(1.035);opacity:1}}
@keyframes lightDrift{from{translate:-5% 0;opacity:.28}to{translate:11% 0;opacity:.68}}

.glass-field .hero-message{
  top:46%;left:max(7.5vw,42px);max-width:min(760px,60vw);
  transform:translateY(-43%);
}
.glass-field .hero-message p{color:var(--red-dark);margin-bottom:18px}
.glass-field .hero-message .live-dot{vertical-align:1px}
.glass-field .hero-message h1{
  max-width:820px;
  color:var(--ink);
  font-size:clamp(54px,6.15vw,88px);
  line-height:1.1;
  letter-spacing:-4.7px;
  text-wrap:balance;
}
.glass-field .hero-message h1 em{color:var(--red);font-style:normal}
.glass-field .hero-description{
  max-width:480px;margin-top:24px;color:rgba(53,39,41,.68);
  font-size:17px;line-height:1.9;
}
.hero-actions{display:flex;align-items:center;gap:20px;margin-top:31px}
.hero-primary,.hero-secondary{
  display:inline-flex;align-items:center;justify-content:space-between;gap:34px;
  min-height:50px;padding:0 18px;text-decoration:none;font-size:15px;font-weight:700;
  border-radius:15px;transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.hero-primary{
  min-width:178px;color:#fff;background:linear-gradient(135deg,var(--red),var(--red-dark));
  box-shadow:0 13px 30px rgba(186,7,19,.22),inset 0 1px 0 rgba(255,255,255,.28);
}
.hero-primary b{font-size:18px;font-weight:400;transition:transform .28s ease}
.hero-secondary{color:var(--ink);background:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hero-secondary b{color:var(--red);transition:transform .28s ease}
.hero-primary:hover,.hero-secondary:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(74,31,37,.15)}
.hero-primary:hover b{transform:translate(2px,-2px)}.hero-secondary:hover b{transform:translateX(3px)}
.hero-primary:active,.hero-secondary:active{transform:translateY(-1px) scale(.985)}

.hero-signal{
  position:absolute;z-index:2;right:max(5vw,38px);bottom:34px;width:min(540px,45vw);
  padding:22px 25px 19px;border:1px solid rgba(255,255,255,.82);border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.47),rgba(255,255,255,.24));
  box-shadow:0 26px 64px rgba(70,28,35,.11),inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(25px) saturate(145%);backdrop-filter:blur(25px) saturate(145%);
}
.hero-signal header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(71,47,51,.1)}
.hero-signal header span{font:500 14px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--muted)}
.hero-signal header i{font-style:normal;font-size:14px;color:var(--red);display:flex;align-items:center;gap:8px}
.hero-signal header i:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(222,27,37,.09)}
.hero-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:19px 0 15px}
.hero-signal-grid p{margin:0;padding:0 21px;border-right:1px solid rgba(71,47,51,.09)}
.hero-signal-grid p:first-child{padding-left:0}.hero-signal-grid p:last-child{padding-right:0;border-right:0}
.hero-signal-grid strong{display:block;font:600 clamp(29px,2.15vw,36px) 'Plus Jakarta Sans','Microsoft YaHei',sans-serif;letter-spacing:-1.5px;color:var(--ink);line-height:1.12}
.hero-signal-grid span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.hero-signal small{display:block;font-size:14px;color:rgba(83,68,71,.58);line-height:1.6}
.glass-field .hero-scroll{left:max(4.5vw,30px);color:var(--ink);border-color:rgba(62,39,43,.24);display:flex;justify-content:space-between;align-items:center}
.glass-field .hero-scroll b{float:none;color:var(--red);animation:scrollNudge 1.8s ease-in-out infinite}
@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* The light hero uses ink navigation and becomes more opaque after scrolling. */
.home-page .home-nav{color:var(--ink);border-color:rgba(255,255,255,.72);background:linear-gradient(135deg,rgba(255,255,255,.54),rgba(255,255,255,.2));box-shadow:0 16px 44px rgba(67,28,34,.08),inset 0 1px 0 rgba(255,255,255,.9);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}
.home-page .home-nav.is-scrolled{position:fixed;background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.94);box-shadow:0 16px 46px rgba(55,24,29,.12)}
.home-page .brand.light{color:var(--ink)}
.home-page .home-nav nav a{color:rgba(41,28,30,.62)}
.home-page .home-nav nav a:hover,.home-page .home-nav nav a.active{color:var(--ink);border-color:var(--red)}
.home-page .home-nav>div{color:var(--muted)}
.home-page .home-sync{color:var(--ink);border-color:rgba(63,40,43,.22);background:rgba(255,255,255,.28);transition:background .24s ease,border-color .24s ease,transform .24s ease}
.home-page .home-sync:hover{background:rgba(255,255,255,.72);border-color:rgba(222,27,37,.3);transform:translateY(-1px)}

/* Site-wide reveal motion and tactile interactions. */
.motion-capable body:not(.ui-ready) .glass-field .hero-message>*{opacity:0;transform:translate3d(0,34px,0) scale(.992)}
.motion-capable body:not(.ui-ready) .hero-signal{opacity:0;transform:translateY(18px)}
.motion-capable .glass-field .hero-message>*{transition:opacity .78s ease,transform .78s cubic-bezier(.2,.75,.2,1)}
.motion-capable .glass-field .hero-message>*:nth-child(2){transition-delay:.1s}
.motion-capable .glass-field .hero-message>*:nth-child(3){transition-delay:.2s}
.motion-capable .glass-field .hero-message>*:nth-child(4){transition-delay:.3s}
.motion-capable .hero-signal{transition:opacity .78s .42s ease,transform .78s .42s cubic-bezier(.2,.75,.2,1),background .25s ease,box-shadow .25s ease}
.motion-capable .ui-ready .glass-field .hero-message>*,.motion-capable .ui-ready .hero-signal{opacity:1;transform:none}
.motion-capable .ui-reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .7s var(--reveal-delay,0ms) ease,transform .7s var(--reveal-delay,0ms) cubic-bezier(.2,.75,.2,1)}
.motion-capable .ui-reveal.is-revealed{opacity:1;transform:none}
.motion-preparing .ui-reveal{transition:none!important}
.button,.icon-button,.source-filter-bar button{transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.button:active,.icon-button:active,.source-filter-bar button:active{transform:scale(.97)}

@media(max-width:900px){
  .glass-field .hero-message{max-width:73vw}
  .glass-field .hero-message h1{font-size:clamp(50px,7.5vw,68px)}
  .hero-signal{right:max(3.5vw,26px);width:min(470px,50vw);padding:19px 21px 17px}
  .hero-signal-grid p{padding:0 15px}
  .hero-signal-grid strong{font-size:clamp(25px,3vw,31px)}
  .glass-form-one{width:52vw;right:-15vw}.glass-form-two{right:10%;width:33vw}.glass-form-three{right:25%}
}
@media(max-width:760px){
  .home-hero.glass-field{height:max(100svh,760px);min-height:760px}
  .glass-field .hero-message{left:24px;right:20px;top:142px;max-width:none;transform:none}
  .glass-field .hero-message h1{font-size:clamp(43px,11.8vw,58px);line-height:1.13;letter-spacing:-3px}
  .glass-field .hero-description{max-width:390px;margin-top:19px;font-size:15px;line-height:1.8}
  .hero-actions{gap:10px;margin-top:24px}.hero-primary,.hero-secondary{min-height:46px;padding:0 14px;gap:18px;font-size:15px}.hero-primary{min-width:158px}
  .hero-signal{left:18px;right:18px;bottom:24px;width:auto;padding:14px 15px 12px;border-radius:18px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .hero-signal-grid{padding:12px 0 9px}.hero-signal-grid p{padding:0 12px}.hero-signal-grid strong{font-size:22px}.hero-signal-grid span{font-size:14px}
  .glass-field .hero-scroll{display:none}
  .glass-form-one{width:76vw;height:44vh;right:-31vw;top:30%}.glass-form-two{width:56vw;height:31vh;right:-8%;top:5%}.glass-form-three{width:49vw;height:24vh;right:23%;bottom:12%}.glass-form-four{width:36vw;height:21vh;right:-8%;bottom:9%}
  .glass-halo{width:88vw;right:-43%;top:8%}.glass-light{width:70vw;right:0}
}
@media(max-width:480px){
  .home-hero.glass-field{height:max(100svh,780px);min-height:780px}
  .glass-field .hero-message{top:132px;left:20px;right:18px}
  .glass-field .hero-message p{font-size:13px;letter-spacing:1px;margin-bottom:13px}
  .glass-field .hero-message h1{font-size:clamp(32px,8.9vw,36px);letter-spacing:-1.8px;word-break:keep-all}
  .glass-field .hero-message h1 em{display:inline-block;white-space:nowrap}
  .hero-actions{align-items:stretch;flex-direction:column;width:min(230px,100%)}
  .hero-primary,.hero-secondary{width:100%}
  .hero-signal{left:12px;right:12px;bottom:14px}
  .hero-signal small{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-full) .glass-form,html:not(.motion-full) .glass-halo,html:not(.motion-full) .glass-light,html:not(.motion-full) .glass-field .hero-scroll b{animation:none!important}
  html:not(.motion-full) .hero-canvas{transform:none!important;opacity:1!important}
  html:not(.motion-full).motion-capable .ui-reveal{opacity:1!important;transform:none!important}
}

/* ── Glass ribbon revision: flowing planes instead of bubble volumes ── */
.hero-glass-canvas{
  position:absolute;z-index:2;inset:0;width:100%;height:100%;opacity:0;
  pointer-events:none;transition:opacity .9s ease;
  filter:drop-shadow(0 28px 38px rgba(105,14,25,.12));
}
.webgl-hero-ready .hero-glass-canvas{opacity:1}
.webgl-hero-ready .glass-ribbon-scene{opacity:.14;filter:blur(17px) saturate(112%);mix-blend-mode:multiply;transition:opacity .7s 1.1s ease,filter .7s ease}
.webgl-hero-ready .glass-field .glass-light{opacity:.2}
.glass-ribbon-scene{
  position:absolute;
  width:100%;height:100%;inset:0;
  overflow:visible;
  pointer-events:none;
  transform-origin:72% 45%;
  translate:calc(var(--hero-x) * -12px) calc(var(--hero-y) * -9px);
  will-change:transform,translate;
}
.ribbon-main,.ribbon-refraction{transform-box:fill-box;transform-origin:center;will-change:transform}
.ribbon-main{animation:ribbonBreathe 18s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.ribbon-refraction{opacity:.82;filter:drop-shadow(0 22px 42px rgba(76,44,50,.07));animation:ribbonEcho 21s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.ribbon-sheen{animation:ribbonSheen 8.5s ease-in-out infinite alternate}
.ribbon-inner-light{animation:ribbonEdgeGlow 6.5s ease-in-out infinite alternate}
@keyframes ribbonBreathe{from{transform:translate3d(0,-5px,0) rotate(-.35deg) scale(1)}to{transform:translate3d(-11px,9px,0) rotate(.45deg) scale(1.012)}}
@keyframes ribbonEcho{from{transform:translate3d(2px,3px,0) rotate(.15deg)}to{transform:translate3d(15px,-8px,0) rotate(-.55deg)}}
@keyframes ribbonSheen{from{opacity:.36}to{opacity:.88}}
@keyframes ribbonEdgeGlow{from{opacity:.35;stroke-width:7px}to{opacity:.8;stroke-width:13px}}
@keyframes ribbonFallbackReveal{from{clip-path:inset(0 0 100% 0);opacity:0}28%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}
.glass-ribbon-scene{animation:ribbonFallbackReveal 1.55s .12s cubic-bezier(.18,.72,.2,1) both}
.glass-field .glass-light{right:5%;width:34vw;opacity:.34;animation-duration:14s}

@media(max-width:900px){
  .glass-ribbon-scene{width:122%;height:100%;left:-7%;transform-origin:77% 47%}
}
@media(max-width:760px){
  .hero-glass-canvas{opacity:0!important}
  .webgl-hero-ready .glass-ribbon-scene{opacity:.62;filter:drop-shadow(0 20px 34px rgba(105,14,25,.16));mix-blend-mode:multiply}
  .glass-ribbon-scene{width:177%;height:83%;left:-35%;top:9%;transform-origin:78% 40%;animation-name:ribbonFallbackRevealMobile;filter:drop-shadow(0 20px 34px rgba(105,14,25,.16));mix-blend-mode:multiply}
  .ribbon-refraction{opacity:.6}
  .glass-field .glass-light{width:52vw;right:-2%;opacity:.24}
}
@keyframes ribbonFallbackRevealMobile{from{clip-path:inset(0 0 100% 0);opacity:0}28%{opacity:.35}to{clip-path:inset(0 0 0 0);opacity:.62}}
@media(max-width:480px){
  .glass-ribbon-scene{width:215%;height:76%;left:-95%;top:14%}
}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-full) .ribbon-main,html:not(.motion-full) .ribbon-refraction,html:not(.motion-full) .ribbon-sheen,html:not(.motion-full) .ribbon-inner-light{animation:none!important}
  html:not(.motion-full) .glass-ribbon-scene{translate:0 0!important}
}

/* ── Motion language: entrance, reveal, hover and response ─────────── */
.motion-capable body:not(.ui-ready) .home-nav,
.motion-capable body:not(.ui-ready) .topbar{opacity:0;transform:translateY(-16px)}
.motion-capable .home-nav,.motion-capable .topbar{transition:opacity .58s ease,transform .58s cubic-bezier(.2,.75,.2,1),background .3s ease,box-shadow .3s ease,border-color .3s ease}
.motion-capable .ui-ready .home-nav,.motion-capable .ui-ready .topbar{opacity:1;transform:none}

.motion-capable .glass-field .hero-message>*{transition-duration:.78s}
.motion-capable .glass-field .hero-message>*:first-child{transition-delay:.42s}
.motion-capable .glass-field .hero-message>*:nth-child(2){transition-delay:.52s}
.motion-capable .glass-field .hero-message>*:nth-child(3){transition-delay:.66s}
.motion-capable .glass-field .hero-message>*:nth-child(4){transition-delay:.78s}
.motion-capable .hero-signal{transition-delay:1s}

.dashboard-metrics article,.dashboard-entry,.job-card,.source-company-card,.forecast-card,.directory-card{transform-origin:50% 80%;will-change:transform}
.job-title,.source-company-card h3,.directory-card h2{transition:transform .26s cubic-bezier(.2,.75,.2,1),color .26s ease}
.job-card:hover .job-title,.source-company-card:hover h3,.directory-card:hover h2{transform:translateX(3px)}
.dashboard-entry b,.source-company-card b,.inline-link,.apply-link{transition:transform .24s ease,color .24s ease,border-color .24s ease}
.dashboard-entry:hover b,.source-company-card:hover b{transform:translateX(4px)}
.dashboard-metrics article:after{
  content:'';position:absolute;left:18%;right:18%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(222,27,37,.5),transparent);
  transform:scaleX(0);transition:transform .4s ease;
}
.dashboard-metrics article:hover:after{transform:scaleX(1)}
.source-filter-bar button{position:relative;overflow:hidden}
.source-filter-bar button:after{
  content:'';position:absolute;inset:-50% auto -50% -45%;width:32%;transform:rotate(16deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transition:left .55s ease;
}
.source-filter-bar button:hover:after{left:115%}

@media(prefers-reduced-motion:reduce){
  html:not(.motion-full) .glass-ribbon-scene{animation:none!important;clip-path:none!important}
  html:not(.motion-full).motion-capable body:not(.ui-ready) .home-nav,html:not(.motion-full).motion-capable body:not(.ui-ready) .topbar{opacity:1;transform:none}
}

/* ── Complete inventory, calm presentation ───────────────────────── */
.dashboard-latest{margin:0 0 68px}
.dashboard-latest-heading{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(320px,1fr) auto;gap:34px;align-items:end;margin-bottom:18px}
.dashboard-latest-heading h2{margin:4px 0 0;font-size:27px}
.dashboard-latest-heading>p{margin:0;color:var(--muted);font-size:15px;line-height:1.75}
.dashboard-latest-heading>a{color:var(--red);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.dashboard-latest-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,28%);gap:11px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(222,27,37,.25) transparent;padding:2px 1px 13px}
.dashboard-latest-card{scroll-snap-align:start;min-height:168px;padding:20px;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,245,246,.42));box-shadow:0 15px 38px rgba(67,24,30,.065),inset 0 1px 0 rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink);text-decoration:none;transition:transform .28s cubic-bezier(.2,.75,.2,1),border-color .28s ease,box-shadow .28s ease}
.dashboard-latest-card:hover{transform:translateY(-4px);border-color:rgba(222,27,37,.25);box-shadow:0 20px 44px rgba(91,20,29,.11),inset 0 1px 0 #fff}
.dashboard-latest-card>span{font:500 13px 'DM Mono',monospace;letter-spacing:.75px;color:var(--red)}
.dashboard-latest-card h3{font-size:18px;line-height:1.55;margin:14px 0 8px}
.dashboard-latest-card p{font-size:14px;color:var(--muted);margin:0}
.dashboard-latest-card{display:flex;flex-direction:column}
.dashboard-latest-card>.job-card-personal-actions{margin-top:auto;padding-top:12px}
.dashboard-latest-card>b{padding-bottom:14px}
.dashboard-latest-card b{display:block;margin-top:20px;color:var(--red);font-size:14px}

.company-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.company-preview-card{min-width:0;border:1px solid rgba(255,255,255,.88);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,246,247,.4));box-shadow:0 16px 42px rgba(67,24,30,.065),inset 0 1px 0 rgba(255,255,255,.95);overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease}
.company-preview-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(83,20,28,.1),inset 0 1px 0 #fff}
.company-preview-head{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:21px 22px 17px;color:var(--ink);text-decoration:none}
.company-preview-head .tag{grid-column:1/-1;justify-self:start}
.company-preview-head h3{font-size:20px;margin:8px 0 0}
.company-preview-head p{font:500 14px 'DM Mono',monospace;color:var(--muted);margin:13px 0 0;white-space:nowrap}
.company-preview-jobs{padding:0 22px}
.company-preview-jobs>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(83,57,61,.09);color:var(--ink);text-decoration:none;font-size:15px;line-height:1.5}
.company-preview-jobs>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-preview-jobs>a b{color:var(--red);font-weight:400;transition:transform .22s ease}
.company-preview-jobs>a:hover{color:var(--red)}
.company-preview-jobs>a:hover b{transform:translateX(3px)}
.company-preview-empty{display:block;padding:14px 0;border-top:1px solid rgba(83,57,61,.09);font-size:14px;color:var(--muted)}
.company-preview-all{display:flex;justify-content:space-between;align-items:center;margin-top:7px;padding:16px 22px;border-top:1px solid rgba(83,57,61,.09);color:var(--red);font-size:14px;font-weight:700;text-decoration:none;background:rgba(255,255,255,.2)}

.company-opportunities{scroll-margin-top:104px}
.pagination-bar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px;padding:15px;border-radius:18px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
.pagination-bar:empty{display:none}
.pagination-bar button{min-width:104px;padding:10px 13px;border:1px solid rgba(83,57,61,.14);border-radius:13px;background:rgba(255,255,255,.72);color:var(--ink);font-weight:700;font-size:16px;font-family:inherit;cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease}
.pagination-bar button:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(222,27,37,.35);color:var(--red);background:#fff}
.pagination-bar button:disabled{opacity:.35;cursor:not-allowed}
.pagination-bar span{min-width:150px;text-align:center;font:500 14px 'DM Mono',monospace;color:var(--muted)}

@media(max-width:900px){
  .dashboard-latest-heading{grid-template-columns:1fr auto}.dashboard-latest-heading>p{grid-column:1/-1;grid-row:2}
  .dashboard-latest-rail{grid-auto-columns:minmax(245px,44%)}
}
@media(max-width:760px){
  .dashboard-latest{margin-bottom:50px}.dashboard-latest-heading{grid-template-columns:1fr auto;gap:12px}.dashboard-latest-heading>p{grid-column:1/-1;grid-row:auto}
  .dashboard-latest-rail{grid-auto-columns:minmax(238px,78%);margin-right:-18px;padding-right:18px}
  .company-preview-grid{grid-template-columns:1fr}.company-preview-head{padding:19px 19px 15px}.company-preview-jobs{padding:0 19px}.company-preview-all{padding:15px 19px}
  .pagination-bar{gap:8px;justify-content:space-between}.pagination-bar button{min-width:0}.pagination-bar span{min-width:0;font-size:13px}
}

/* ── September polish: typography, menus, footer and page transitions ── */
.hero-actions{align-items:stretch;gap:12px}
.hero-primary,.hero-secondary{width:220px;min-width:220px;min-height:58px;padding:0 16px 0 21px;border:1px solid transparent;border-radius:18px;gap:18px;font-family:'Plus Jakarta Sans','Microsoft YaHei UI','PingFang SC',sans-serif;font-size:17px;font-weight:650;line-height:1;letter-spacing:-.08px}
.hero-primary span,.hero-secondary span{display:flex;align-items:center;height:100%;margin:0;color:inherit;font-size:inherit;white-space:nowrap;line-height:1}
.hero-primary b,.hero-secondary b{display:inline-flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;margin:0;border-radius:50%;font-size:17px;line-height:1}
.hero-primary b{background:rgba(255,255,255,.14)}.hero-secondary{color:#25191b;background:rgba(255,255,255,.84);border-color:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(74,31,37,.09),inset 0 1px 0 #fff}.hero-secondary b{color:var(--red);background:rgba(222,27,37,.09)}
.source-directory-heading.compact-heading{display:block;margin-bottom:22px}
.list-header>div:only-child{width:100%}
.compact-intro{display:block}

.forecast-disclaimer{display:flex;align-items:flex-start;gap:18px;margin-top:30px;padding:18px 20px;border-top:1px solid rgba(80,54,58,.12);border-radius:16px;background:rgba(255,255,255,.34);color:var(--muted);font-size:14px;line-height:1.75;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.forecast-disclaimer b{flex:0 0 auto;color:var(--ink)}

.native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.custom-select{position:relative;width:100%;z-index:1}
.custom-select.is-open{z-index:35}
.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.9);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,247,248,.48));box-shadow:0 8px 24px rgba(67,24,30,.055),inset 0 1px 0 rgba(255,255,255,.98);color:var(--ink);font:600 15px 'Plus Jakarta Sans','Microsoft YaHei UI','PingFang SC',sans-serif;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease}
.custom-select-trigger:hover,.custom-select.is-open .custom-select-trigger{border-color:rgba(222,27,37,.32);background:rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(82,21,29,.09),inset 0 1px 0 #fff}
.custom-select-trigger:focus-visible{outline:2px solid rgba(222,27,37,.25);outline-offset:2px}
.custom-select-trigger i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s ease}
.custom-select.is-open .custom-select-trigger i{transform:rotate(225deg) translate(-1px,-1px)}
.custom-select-panel{position:absolute;z-index:40;isolation:isolate;top:calc(100% + 7px);left:0;right:0;max-height:260px;padding:6px;border:1px solid #fff;border-radius:16px;background:linear-gradient(145deg,#fff 0%,#fffafa 100%);box-shadow:0 22px 54px rgba(62,20,27,.2),0 4px 12px rgba(62,20,27,.08),inset 0 1px 0 #fff;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(222,27,37,.34) transparent;touch-action:pan-y;pointer-events:auto;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);filter:blur(5px);transform-origin:50% 0;-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.75,.2,1),filter .22s ease,visibility 0s .22s}
.custom-select-panel::-webkit-scrollbar{width:7px}.custom-select-panel::-webkit-scrollbar-track{background:transparent}.custom-select-panel::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(222,27,37,.34);background-clip:padding-box}.custom-select-panel::-webkit-scrollbar-thumb:hover{background:rgba(222,27,37,.55);background-clip:padding-box}
.custom-select.is-open .custom-select-panel{opacity:1;visibility:visible;transform:none;filter:blur(0);transition-delay:0s}
.custom-select-panel button{display:block;width:100%;padding:10px 11px;border:0;border-radius:11px;background:transparent;color:var(--ink);font:500 15px 'Plus Jakarta Sans','Microsoft YaHei UI','PingFang SC',sans-serif;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.custom-select-panel button:hover,.custom-select-panel button:focus-visible{outline:0;background:rgba(222,27,37,.07);color:var(--red);transform:translateX(2px)}
.custom-select-panel button[aria-selected="true"]{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff}
.business-toolbar{overflow:visible}

.site-footer{max-width:calc(1220px + 9vw);margin:0 auto;padding:28px max(4.5vw,28px) 35px;border-top:1px solid rgba(75,48,52,.1);display:grid;grid-template-columns:1fr auto;gap:20px 45px;align-items:center;color:var(--muted)}
.site-footer>div{display:flex;align-items:center;gap:16px}.site-footer>div>span{font-size:14px}
.footer-brand{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font:700 15px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em}.footer-brand img{width:22px;height:22px}
.site-footer nav{display:flex;align-items:center;gap:22px}.site-footer nav a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .2s ease,transform .2s ease}.site-footer nav a:hover{color:var(--red);transform:translateY(-1px)}
.site-footer small{grid-column:1/-1;font-size:13px;color:rgba(92,72,75,.58)}

.data-about-page{padding-bottom:72px}
.data-about-lead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:end;padding:8px 0 38px}.data-about-lead p{max-width:720px;margin:0;font-size:20px;line-height:1.7;color:var(--ink)}.data-about-lead span{font:500 14px 'DM Mono',monospace;color:var(--red);letter-spacing:.7px}
.data-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:62px}.data-method-grid article{min-height:220px;padding:23px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(255,246,247,.42));box-shadow:0 17px 42px rgba(66,23,29,.06),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.data-method-grid article>b{font:600 14px 'DM Mono',monospace;color:var(--red)}.data-method-grid h2{margin:40px 0 10px;font-size:21px}.data-method-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.data-rule-section{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:60px;padding:38px 0;border-top:1px solid rgba(72,47,51,.12)}.data-rule-heading h2{font-size:28px;margin:5px 0}.data-rule-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.data-rule-list span{padding:15px 16px;border-radius:14px;background:rgba(255,255,255,.52);font-size:15px;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.data-rule-list span:before{content:'✓';color:var(--red);margin-right:9px}
.data-life-section{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:60px;padding:38px 0;border-top:1px solid rgba(72,47,51,.12)}.data-life-section h2{font-size:28px;margin:5px 0}.data-life-section ol{list-style:none;margin:0;padding:0}.data-life-section li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(72,47,51,.09)}.data-life-section li b{font-size:15px;color:var(--red)}.data-life-section li span{font-size:15px;color:var(--muted)}
.data-about-note{margin-top:25px;padding:18px 20px;border-radius:16px;background:rgba(222,27,37,.055);font-size:14px;line-height:1.8;color:var(--muted)}

/* Keep the dashboard heading full-width after removing the explanatory copy. */
.dashboard-heading{grid-template-columns:1fr}

@view-transition{navigation:auto}
.topbar,.home-nav{view-transition-name:polaris-dock;contain:layout paint}
::view-transition-group(polaris-dock){animation:none;z-index:100}
::view-transition-old(polaris-dock),::view-transition-new(polaris-dock){animation:none;mix-blend-mode:normal}
::view-transition-old(root),::view-transition-new(root){filter:none;backface-visibility:hidden;transform-origin:50% 42%;will-change:opacity,transform,filter}
::view-transition-old(root){animation:polarisPageOut var(--vt-out-duration,.46s) cubic-bezier(.36,.06,.28,1) both}
::view-transition-new(root){animation:polarisPageIn var(--vt-in-duration,.54s) cubic-bezier(.2,.72,.2,1) both}
@keyframes polarisPageOut{from{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}45%{opacity:.72;filter:blur(9px)}to{opacity:0;filter:blur(15px);transform:translate3d(-3.4%,0,0) scale(.968)}}
@keyframes polarisPageIn{from{opacity:0;filter:blur(15px);transform:translate3d(3.8%,0,0) scale(1.028)}40%{opacity:.72;filter:blur(6px)}75%{opacity:.95;filter:blur(1.2px)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}}
html.page-entering body>main,html.page-entering body>.home-hero,html.page-entering body>.site-footer{animation:polarisPageIn .26s cubic-bezier(.16,.78,.22,1) both}
.motion-capable .ui-reveal{filter:blur(5px);transition:opacity .64s var(--reveal-delay,0ms) ease,transform .64s var(--reveal-delay,0ms) cubic-bezier(.2,.75,.2,1),filter .64s var(--reveal-delay,0ms) ease}
.motion-capable .ui-reveal.is-revealed{filter:blur(0)}
.motion-capable .job-card.ui-reveal,.motion-capable .detail-job-card.ui-reveal,.motion-capable .source-company-card.ui-reveal,.motion-capable .forecast-card.ui-reveal,.motion-capable .dashboard-latest-card.ui-reveal{filter:none}
.job-card,.detail-job-card,.source-company-card,.forecast-card,.dashboard-latest-card{content-visibility:auto;contain-intrinsic-size:auto 170px}
.job-card.ui-reveal.is-revealed,
.detail-job-card.ui-reveal.is-revealed,
.business-job-card.ui-reveal.is-revealed,
.scoped-job-card.ui-reveal.is-revealed,
.source-company-card.ui-reveal.is-revealed,
.forecast-card.ui-reveal.is-revealed,
.dashboard-latest-card.ui-reveal.is-revealed{content-visibility:visible}
.motion-capable body:not(.ui-ready) .glass-field .hero-message>*,.motion-capable body:not(.ui-ready) .hero-signal,.motion-capable body:not(.ui-ready) .home-nav,.motion-capable body:not(.ui-ready) .topbar{filter:blur(9px)}
.motion-capable .glass-field .hero-message>*,.motion-capable .hero-signal,.motion-capable .home-nav,.motion-capable .topbar{transition-property:opacity,transform,filter,background,box-shadow,border-color}
.motion-capable .ui-ready .glass-field .hero-message>*,.motion-capable .ui-ready .hero-signal,.motion-capable .ui-ready .home-nav,.motion-capable .ui-ready .topbar{filter:blur(0)}

@media(max-width:900px){.data-method-grid{grid-template-columns:1fr 1fr}.data-rule-section,.data-life-section{grid-template-columns:1fr;gap:22px}}
@media(max-width:760px){
  .hero-actions{gap:9px}.hero-primary,.hero-secondary{min-width:0;padding:0 14px}
  .forecast-disclaimer{gap:10px;flex-direction:column}
  .site-footer{grid-template-columns:1fr;padding-bottom:28px}.site-footer nav{gap:14px;flex-wrap:wrap}.site-footer small{grid-column:auto}
  .data-about-lead{grid-template-columns:1fr;gap:14px}.data-about-lead p{font-size:18px}.data-method-grid{grid-template-columns:1fr}.data-method-grid article{min-height:0}.data-method-grid h2{margin-top:24px}.data-rule-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-full)::view-transition-old(root),html:not(.motion-full)::view-transition-new(root),html:not(.motion-full)::view-transition-old(polaris-dock),html:not(.motion-full)::view-transition-new(polaris-dock),html:not(.motion-full).page-entering body>main,html:not(.motion-full).page-entering body>.home-hero,html:not(.motion-full).page-entering body>.site-footer{animation:none!important}
  html:not(.motion-full).motion-capable .ui-reveal,html:not(.motion-full) .custom-select-panel{filter:none!important}
}

/* One immutable dock geometry and material across every page. */
.topbar,.home-page .home-nav,.home-page .home-nav.is-scrolled{
  position:fixed;
  z-index:60;
  top:12px;
  left:14px;
  right:auto;
  width:calc(100% - 28px);
  height:64px;
  min-height:64px;
  margin:0;
  padding:0 max(3.5vw,22px);
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:34px;
  border:1px solid rgba(255,255,255,.94);
  border-radius:19px;
  color:var(--ink);
  background:
    linear-gradient(112deg,rgba(255,255,255,.9) 0%,rgba(255,250,251,.84) 52%,rgba(255,234,237,.7) 100%);
  box-shadow:0 14px 40px rgba(64,24,28,.095),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(24px) saturate(138%);
  backdrop-filter:blur(24px) saturate(138%);
  transition:background .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.topbar nav,.home-page .home-nav nav{
  display:flex;
  align-items:stretch;
  gap:28px;
  min-width:0;
  margin:0 auto 0 14px;
}
.topbar nav a,.home-page .home-nav nav a{
  padding:23px 0 20px;
  color:rgba(41,28,30,.64);
}
.topbar nav a:hover,.topbar nav a.active,.home-page .home-nav nav a:hover,.home-page .home-nav nav a.active{
  color:var(--ink);
  border-color:var(--red);
}
.home-page .brand.light{color:var(--ink)}
.motion-capable body:not(.ui-ready) .topbar,.motion-capable body:not(.ui-ready) .home-nav,
.motion-capable .ui-ready .topbar,.motion-capable .ui-ready .home-nav{
  opacity:1;
  transform:none;
  filter:none;
}
body:not(.home-page){padding-top:88px}
::view-transition-old(polaris-dock){opacity:0}
::view-transition-new(polaris-dock){opacity:1}

@media(max-width:760px){
  .topbar,.home-page .home-nav,.home-page .home-nav.is-scrolled{
    top:8px;left:8px;width:calc(100% - 16px);height:auto;min-height:58px;
    padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;gap:7px 12px;border-radius:16px;
  }
  .topbar .brand,.home-page .home-nav .brand{grid-column:1;grid-row:1}
  .topbar>.header-actions,.home-page .home-nav>div{grid-column:2;grid-row:1;justify-self:end}
  .topbar nav,.home-page .home-nav nav{
    grid-column:1/-1;grid-row:2;width:100%;margin:0;gap:20px;overflow-x:auto;
    overscroll-behavior-inline:contain;scrollbar-width:none;
  }
  .topbar nav a,.home-page .home-nav nav a{flex:0 0 auto;padding:7px 0 8px;font-size:14px}
  body:not(.home-page){padding-top:112px}
}

/* ── 页面切换（推拉 + 模糊）：降级通道与渐变底幕 ─────────────────────────── */
:root{--vt-out-duration:.46s;--vt-in-duration:.54s}
html.page-entering body{animation:polarisPageIn var(--vt-in-duration) cubic-bezier(.2,.72,.2,1) both}
html.page-leaving body{animation:polarisPageOut var(--vt-out-duration) cubic-bezier(.36,.06,.28,1) both}
html.page-leaving::after,html.page-entering::after{content:'';position:fixed;inset:0;z-index:9;pointer-events:none;background:radial-gradient(120% 90% at 78% -10%,rgba(222,27,37,.055),transparent 62%),linear-gradient(180deg,#fff 0%,#fdfafa 46%,#fbf7f7 100%);opacity:0}
html.page-leaving::after{animation:polarisVeilOut var(--vt-out-duration) ease both}
html.page-entering::after{animation:polarisVeilIn var(--vt-in-duration) ease both}
@keyframes polarisVeilOut{from{opacity:0}to{opacity:1}}
@keyframes polarisVeilIn{from{opacity:1}to{opacity:0}}
html.page-entering .home-nav,html.page-leaving .home-nav,html.page-entering .topbar,html.page-leaving .topbar{animation:none;filter:none;transform:none}

.source-type,.company-sector{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}

/* 企业卡片：说明文字与标签保持单行，避免 227px 宽度下折成两行显得拥挤 */
.source-company-card p,.source-company-card .source-type,.source-company-card .company-sector{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.source-company-card p{letter-spacing:0}

/* ── My POLARIS: private account, opportunities and resume library ── */
.profile-page{padding-top:54px;padding-bottom:86px}
.profile-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);gap:70px;align-items:end;padding:30px 0 38px;border-bottom:1px solid rgba(75,48,52,.1)}
.profile-hero:before{content:'';position:absolute;z-index:-1;width:380px;height:190px;right:3%;bottom:-10px;border-radius:50%;background:rgba(222,27,37,.08);filter:blur(68px);pointer-events:none}
.profile-hero-copy h1{font-size:clamp(48px,6vw,76px);letter-spacing:-4px;margin:0 0 18px}
.profile-hero-copy>p:last-child{max-width:560px;margin:0;color:var(--muted);font-size:17px;line-height:1.8}
.profile-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:17px;align-items:center;min-height:126px;padding:23px 25px;border:1px solid rgba(255,255,255,.94);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,242,244,.48));box-shadow:0 22px 58px rgba(71,23,30,.09),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(138%);backdrop-filter:blur(24px) saturate(138%)}
.profile-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,var(--red),var(--red-dark));box-shadow:0 12px 28px rgba(190,10,24,.2),inset 0 1px 0 rgba(255,255,255,.26);color:#fff;font-size:23px;font-weight:700}
.profile-identity small,.profile-identity strong,.profile-identity p{display:block}.profile-identity small{margin-bottom:5px;color:var(--muted);font-size:13px}.profile-identity strong{overflow:hidden;text-overflow:ellipsis;font-size:17px}.profile-identity p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.profile-identity i{align-self:start;padding:6px 9px;border-radius:999px;background:rgba(222,27,37,.08);color:var(--red);font-size:13px;font-style:normal;white-space:nowrap}
.profile-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 25px;border:1px solid rgba(255,255,255,.9);border-radius:23px;background:rgba(255,255,255,.5);box-shadow:0 16px 44px rgba(71,23,30,.055),inset 0 1px 0 #fff;overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.profile-metrics article{min-height:128px;padding:23px 26px;border-right:1px solid rgba(75,48,52,.09);display:flex;flex-direction:column}.profile-metrics article:last-child{border-right:0}.profile-metrics span{color:var(--muted);font-size:14px}.profile-metrics strong{margin:8px 0 5px;color:var(--ink);font:600 31px 'Plus Jakarta Sans',sans-serif}.profile-metrics article:first-child strong{color:var(--red)}.profile-metrics small{margin-top:auto;color:rgba(93,72,75,.65);font-size:13px}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:18px;align-items:start}
.glass-panel{border:1px solid rgba(255,255,255,.94);border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,247,248,.42));box-shadow:0 22px 60px rgba(62,20,27,.07),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(22px) saturate(132%);backdrop-filter:blur(22px) saturate(132%)}
.profile-opportunities,.profile-resumes{padding:27px}
.profile-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid rgba(75,48,52,.1)}.profile-section-heading .eyebrow{margin-bottom:6px}.profile-section-heading h2{margin:0;font-size:25px}.profile-section-heading>span{color:var(--muted);font:500 14px 'DM Mono',monospace}
.profile-tabs{display:flex;gap:5px;padding:4px;border-radius:15px;background:rgba(80,55,58,.055)}.profile-tabs button{min-width:76px;padding:9px 13px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:650 14px 'Plus Jakarta Sans','Microsoft YaHei UI',sans-serif;cursor:pointer;transition:.2s}.profile-tabs button.active{background:#fff;color:var(--red);box-shadow:0 7px 19px rgba(75,25,31,.09)}
.profile-job-list{display:grid;gap:8px;padding-top:10px}.profile-job-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 4px 18px 5px;border-bottom:1px solid rgba(75,48,52,.085)}.profile-job-card:last-child{border-bottom:0}.profile-job-card>a{min-width:0;color:var(--ink);text-decoration:none}.profile-job-card>a>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.profile-job-card h3{margin:9px 0 5px;font-size:17px;line-height:1.45}.profile-job-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.profile-job-card>button{padding:8px 10px;border:1px solid rgba(82,57,60,.13);border-radius:11px;background:rgba(255,255,255,.58);color:var(--muted);font-family:inherit;cursor:pointer;transition:.2s}.profile-job-card>button:hover{border-color:rgba(222,27,37,.3);color:var(--red);background:#fff}.profile-job-card>a:hover h3{color:var(--red)}
.profile-empty{padding:62px 22px;text-align:center}.profile-empty>span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 17px;border-radius:16px;background:rgba(222,27,37,.08);color:var(--red);font-size:21px}.profile-empty h3{margin:0;font-size:20px}.profile-empty p{max-width:430px;margin:11px auto 18px;color:var(--muted);font-size:14px;line-height:1.75}.profile-empty a{color:var(--red);font-size:14px;font-weight:700;text-decoration:none}
.resume-dropzone{position:relative;display:grid;place-items:center;min-height:155px;margin:18px 0 12px;padding:22px;border:1px dashed rgba(222,27,37,.26);border-radius:20px;background:rgba(255,255,255,.34);cursor:pointer;transition:.22s}.resume-dropzone:hover,.resume-dropzone.is-uploading{border-color:rgba(222,27,37,.55);background:rgba(255,255,255,.66);transform:translateY(-2px)}.resume-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.resume-dropzone>span{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:rgba(222,27,37,.09);color:var(--red);font-size:21px}.resume-dropzone strong{margin:9px 0 4px;font-size:15px}.resume-dropzone small{color:var(--muted);font-size:12px}.resume-dropzone.is-uploading strong{font-size:0}.resume-dropzone.is-uploading strong:after{content:'正在安全上传…';font-size:15px}
.resume-list{display:grid;gap:7px}.resume-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid rgba(75,48,52,.08)}.resume-card:last-child{border-bottom:0}.resume-file-icon{display:grid;place-items:center;width:40px;height:48px;border-radius:10px;background:linear-gradient(145deg,rgba(222,27,37,.1),rgba(222,27,37,.04));color:var(--red);font:650 10px 'DM Mono',monospace}.resume-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.resume-card p{margin:4px 0;color:var(--muted);font-size:12px}.resume-card span{display:inline-block;padding:3px 6px;border-radius:999px;background:rgba(222,27,37,.08);color:var(--red);font-size:11px}.resume-actions{grid-column:1/-1;display:flex;gap:8px;padding-left:52px}.resume-actions a,.resume-actions button{padding:0;border:0;background:none;color:var(--muted);font:600 12px 'Plus Jakarta Sans','Microsoft YaHei UI',sans-serif;text-decoration:none;cursor:pointer}.resume-actions a:hover,.resume-actions button:hover{color:var(--red)}.resume-actions button:last-child{margin-left:auto;color:rgba(105,77,80,.62)}
.resume-empty{padding:24px 8px;color:var(--muted);font-size:13px;line-height:1.7;text-align:center}.resume-privacy{margin:15px 0 0;padding-top:14px;border-top:1px solid rgba(75,48,52,.08);color:rgba(93,72,75,.65);font-size:12px;line-height:1.65}
.job-personal-actions{display:flex;gap:8px;align-items:center;margin-top:18px}.job-personal-actions button{min-width:116px;padding:10px 13px;border:1px solid rgba(82,57,60,.14);border-radius:13px;background:rgba(255,255,255,.58);color:var(--ink);font:650 14px 'Plus Jakarta Sans','Microsoft YaHei UI',sans-serif;cursor:pointer;transition:.2s}.job-personal-actions button:hover,.job-personal-actions button.active{border-color:rgba(222,27,37,.35);background:rgba(222,27,37,.08);color:var(--red);transform:translateY(-1px)}
.job-personal-actions button[data-personal="saved"]{display:inline-flex;align-items:center;justify-content:center;gap:5px}.job-personal-actions button[data-personal="saved"] span:first-child{font-size:18px;line-height:1}
.job-detail-cta{display:flex;flex-direction:column;align-items:stretch;flex:0 0 auto}.job-detail-cta>.button{text-align:center}.job-detail-cta .job-personal-actions{justify-content:flex-end}

@media(max-width:960px){.profile-hero{grid-template-columns:1fr;gap:28px}.profile-layout{grid-template-columns:1fr}}
@media(max-width:760px){.profile-page{padding-top:32px}.profile-hero{padding-top:14px}.profile-hero-copy h1{font-size:52px}.profile-identity{grid-template-columns:auto minmax(0,1fr);padding:19px;border-radius:21px}.profile-identity>i{display:none}.profile-metrics{grid-template-columns:repeat(3,1fr)}.profile-metrics article{min-height:108px;padding:17px 13px}.profile-metrics strong{font-size:25px}.profile-metrics small{font-size:11px}.profile-opportunities,.profile-resumes{padding:19px;border-radius:22px}.profile-section-heading{align-items:flex-start;flex-direction:column}.profile-tabs{width:100%}.profile-tabs button{flex:1}.profile-job-card{grid-template-columns:1fr}.profile-job-card>button{justify-self:start}.job-detail-cta{width:100%}.job-personal-actions{flex-wrap:wrap}.job-personal-actions button{flex:1;min-width:145px}}

/* ── 每张职位卡片的个人操作：星标收藏 + 已投递标记 ── */
.job-card-personal-actions{position:relative;z-index:2;display:flex;align-items:center;gap:7px;margin-top:15px;padding-top:12px;border-top:1px solid rgba(75,48,52,.08)}
.job-card-personal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 10px;border:1px solid rgba(82,57,60,.13);border-radius:10px;background:rgba(255,255,255,.68);color:var(--muted);font:650 12px 'Plus Jakarta Sans','Microsoft YaHei UI',sans-serif;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}
.job-card-personal-actions button:hover,.job-card-personal-actions button.active{border-color:rgba(222,27,37,.36);background:rgba(222,27,37,.09);color:var(--red);transform:translateY(-1px)}
.job-card-personal-actions button:disabled{opacity:.58;cursor:wait;transform:none}
.job-save-action span:first-child{font-size:17px;line-height:1;color:currentColor}
.job-save-action:not(.active) span:first-child{color:rgba(131,111,113,.8)}
.job-card.has-profile-actions{padding-bottom:17px}
/* detail-job-card 目前是可点击链接，按钮区域阻止默认跳转并保持卡片内对齐 */
.detail-job-card .job-card-personal-actions,.business-job-card .job-card-personal-actions,.scoped-job-card .job-card-personal-actions{margin-top:14px}
@media(max-width:760px){.job-card-personal-actions{flex-wrap:wrap}.job-card-personal-actions button{flex:1;min-width:120px}.compact .job-card-personal-actions{margin-top:10px}.compact .job-card-personal-actions button{min-width:98px}}

/* ── 个人中心岗位 / 简历双栏节奏优化 ── */
.profile-layout{align-items:stretch;gap:24px}
.profile-opportunities,.profile-resumes{min-width:0}
.profile-opportunities{padding-bottom:24px}
.profile-resumes{padding-bottom:25px}
.profile-job-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;padding:21px 4px 20px 5px}
.profile-job-card>a{display:block;width:100%}
.profile-job-card h3{max-width:calc(100% - 4px);margin-top:10px}
.profile-job-card>button{justify-self:end;margin-top:14px;padding:8px 13px}
.profile-empty{min-height:230px;display:grid;place-content:center;justify-items:center;padding:44px 22px}
.resume-dropzone{min-height:170px;margin-top:18px;margin-bottom:15px}
.resume-privacy{margin-top:18px}
@media(min-width:961px){.profile-job-list{min-height:230px}.profile-opportunities,.profile-resumes{height:100%;box-sizing:border-box}}
@media(max-width:760px){.profile-layout{gap:16px}.profile-job-card{padding-left:2px;padding-right:2px}.profile-job-card>button{justify-self:start;margin-top:13px}.profile-empty{min-height:210px}.resume-dropzone{min-height:150px}}

/* ── 可点击容器的统一悬浮微放大 ── */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  :is(.dashboard-entry,.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.scope-switch>a,.forecast-card){
    transform-origin:center;
    transition:transform .26s cubic-bezier(.2,.78,.2,1),box-shadow .26s ease,border-color .26s ease,background .26s ease;
  }
  :is(.dashboard-entry,.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.scope-switch>a,.forecast-card):hover,
  .motion-capable :is(.dashboard-entry,.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.scope-switch>a,.forecast-card).ui-reveal.is-revealed:hover{
    transform:translate3d(0,-3px,0) scale(1.012)!important;
  }
  .dashboard-latest-rail{padding-top:8px;padding-left:6px;padding-right:6px}
  .dashboard-latest-card:hover,
  .motion-capable .dashboard-latest-card.ui-reveal.is-revealed:hover{
    transform:translate3d(0,-2px,0) scale(1.008)!important;
  }
  .resume-dropzone:hover{transform:translate3d(0,-2px,0) scale(1.006)}
}

/* 高频重复卡片只动画 transform，避免 blur / shadow 在悬浮时反复重绘 */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  :is(.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.forecast-card,.dashboard-latest-card),
  .motion-capable :is(.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.forecast-card,.dashboard-latest-card).ui-reveal.is-revealed{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    transition:transform .18s cubic-bezier(.2,.8,.2,1)!important;
  }
  :is(.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.forecast-card):hover,
  .motion-capable :is(.job-card,.detail-job-card,.business-job-card,.scoped-job-card,.source-company-card,.directory-card,.company-card,.company-preview-card,.forecast-card).ui-reveal.is-revealed:hover{
    transform:translate3d(0,-2px,0) scale(1.007)!important;
    background:linear-gradient(145deg,rgba(248,245,247,.64),rgba(240,237,241,.34));
    border-color:rgba(255,255,255,.72)!important;
    box-shadow:0 18px 46px rgba(58,31,38,.09),0 2px 8px rgba(58,31,38,.035),inset 0 1px 0 rgba(255,255,255,.94);
  }
  .dashboard-latest-card:hover,
  .motion-capable .dashboard-latest-card.ui-reveal.is-revealed:hover{
    transform:translate3d(0,-2px,0) scale(1.006)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(255,245,246,.42));
    border-color:rgba(255,255,255,.88);
    box-shadow:0 15px 38px rgba(67,24,30,.065),inset 0 1px 0 rgba(255,255,255,.94);
  }
  .job-card:hover .job-title,.source-company-card:hover h3,.directory-card:hover h2,.source-company-card:hover b{transform:none}
}

/* ── 两步式邮箱登录 ── */
.login-page{overflow-x:hidden;background:radial-gradient(70% 80% at 12% 16%,rgba(222,27,37,.09),transparent 66%),linear-gradient(145deg,#fff 0%,#fffafa 48%,#f8f4f6 100%)}
.login-page:before{content:'';position:fixed;pointer-events:none;width:560px;height:760px;right:-180px;top:-180px;border-radius:55% 45% 62% 38%;background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(222,27,37,.14));filter:blur(2px);transform:rotate(-18deg)}
.login-shell{position:relative;z-index:1;max-width:1120px;grid-template-columns:minmax(0,1.08fr) minmax(380px,.78fr);gap:76px}
.login-brand h1{font-size:clamp(50px,6vw,78px);margin:20px 0 18px}
.login-intro{max-width:500px;font-size:17px;line-height:1.85}
.login-panel{min-height:465px;padding:38px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,244,246,.54));box-shadow:0 28px 72px rgba(68,24,30,.12),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%)}
.login-panel>.eyebrow{margin-bottom:8px}.login-panel h2{font-size:29px;margin:0 0 8px}.login-panel .login-hint{margin-bottom:27px;line-height:1.65}
.login-stage[hidden]{display:none!important}.login-stage.is-active{animation:loginStageIn .32s cubic-bezier(.2,.78,.2,1) both}@keyframes loginStageIn{from{opacity:0;transform:translate3d(18px,0,0);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.login-stage h3{margin:0 0 20px;font-size:18px}.login-stage label{font-size:14px}.login-panel .login-stage input{height:50px;margin-top:9px;padding:0 15px;border:1px solid rgba(88,57,61,.15);border-radius:14px;background:rgba(255,255,255,.74);outline:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.login-panel .login-stage input:focus{border-color:rgba(222,27,37,.48);background:#fff;box-shadow:0 0 0 4px rgba(222,27,37,.07)}
.login-stage .button.full{display:flex;align-items:center;justify-content:space-between;min-height:50px;margin-top:22px;padding:0 17px;border-radius:14px}.login-stage .button.full span{font-size:19px;font-weight:400}.login-privacy{display:block;margin-top:16px;color:rgba(104,79,82,.68);font-size:12px;line-height:1.6}
.login-local-preview{display:block;margin:12px auto 0;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.login-local-preview[hidden]{display:none!important}.login-local-preview:hover{color:var(--red)}
.login-target{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 23px;padding:14px 15px;border-radius:15px;background:rgba(222,27,37,.055)}.login-target span,.login-target strong{display:block}.login-target span{margin-bottom:4px;color:var(--muted);font-size:12px}.login-target strong{font-size:14px}.login-target button,.login-resend{border:0;background:none;color:var(--red);font-family:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}.login-target button:hover,.login-resend:not(:disabled):hover{text-decoration:underline}.code-label input{text-align:center;font:650 26px 'DM Mono',monospace!important;letter-spacing:.42em;padding-left:calc(15px + .42em)!important}.login-code-actions{margin-top:6px}.login-resend{display:block;margin:15px auto 0}.login-resend:disabled{color:rgba(105,82,84,.48);cursor:not-allowed}.login-msg{margin-top:18px;line-height:1.55}.login-msg[data-tone="success"]{color:#33785a}.login-msg[data-tone="neutral"]{color:var(--muted)}

/* ── 全站账号菜单 ── */
.account-menu{position:relative;flex:0 0 auto}.account-trigger{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 10px 5px 6px;border:1px solid rgba(79,52,55,.13);border-radius:14px;background:rgba(255,255,255,.48);color:var(--ink);font-family:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.account-trigger:hover,.account-menu.is-open .account-trigger{border-color:rgba(222,27,37,.25);background:rgba(255,255,255,.84);transform:translateY(-1px)}.account-trigger>b{color:var(--muted);font-size:13px;font-weight:500;transition:transform .2s ease}.account-menu.is-open .account-trigger>b{transform:rotate(180deg)}
.account-avatar{display:inline-grid!important;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(145deg,var(--red),var(--red-dark));box-shadow:0 7px 18px rgba(188,12,23,.18),inset 0 1px 0 rgba(255,255,255,.25);color:#fff;font-size:13px;font-weight:750}.account-trigger-label{display:inline-block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;z-index:120;right:0;top:calc(100% + 12px);width:min(292px,calc(100vw - 28px));padding:10px;border:1px solid rgba(255,255,255,.96);border-radius:20px;background:rgba(255,251,252,.96);box-shadow:0 26px 72px rgba(54,22,27,.17),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%);animation:accountMenuIn .2s cubic-bezier(.2,.8,.2,1) both}.account-popover[hidden]{display:none!important}@keyframes accountMenuIn{from{opacity:0;transform:translate3d(0,-7px,0) scale(.98)}to{opacity:1;transform:none}}
.account-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;margin-bottom:7px;padding:10px 11px 14px;border-bottom:1px solid rgba(76,49,52,.09)}.account-summary small,.account-summary strong{display:block}.account-summary small{margin-bottom:3px;color:var(--muted);font-size:11px}.account-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.account-popover>a,.account-popover>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:var(--ink);font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.account-popover>a:hover,.account-popover>button:hover{background:rgba(222,27,37,.06);color:var(--red)}.account-popover>a b,.account-popover>button b{font-size:13px;font-weight:400}.account-popover>.account-logout{margin-top:3px;border-top:1px solid rgba(76,49,52,.08);border-radius:0 0 11px 11px;color:var(--muted)}

/* The account popover must be allowed to paint outside the rounded dock. */
.topbar,.home-nav{overflow:visible;contain:layout}

@media(max-width:1050px) and (min-width:761px){
  .topbar,.home-page .home-nav,.home-page .home-nav.is-scrolled{gap:22px}
  .topbar nav,.home-page .home-nav nav{gap:20px;margin-left:6px}
  .home-page .home-nav>div>#syncText{display:none}
}

/* ── “我的”页账号操作 ── */
.profile-identity-side{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:18px}.profile-identity-side>i{align-self:auto}.profile-identity-actions{display:flex;align-items:center;gap:7px}.profile-identity-actions button{padding:6px 8px;border:1px solid rgba(84,58,61,.11);border-radius:9px;background:rgba(255,255,255,.5);color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.profile-identity-actions button:hover{border-color:rgba(222,27,37,.24);background:#fff;color:var(--red)}

@media(max-width:760px){
  .login-shell{grid-template-columns:1fr;gap:28px;padding:38px 18px}.login-brand h1{font-size:48px}.login-brand .login-steps{display:none}.login-panel{min-height:430px;padding:28px 22px;border-radius:23px}.login-panel h2{font-size:26px}.login-page:before{right:-360px}
  .account-trigger{min-height:38px;padding:4px 6px}.account-trigger-label,.account-trigger>b{display:none}.home-nav .account-menu span{display:inline-grid}.account-popover{position:fixed;top:76px;right:8px;width:min(300px,calc(100vw - 16px))}
  .profile-identity-side{grid-column:1/-1;flex-direction:row-reverse;align-items:center}.profile-identity-actions{flex-wrap:wrap}.profile-identity-actions button{padding:7px 10px}
}

/* ══════════════════════════════════════════════════════════════════════════
   大屏自适应（v0.10.0）
   ──────────────────────────────────────────────────────────────────────────
   背景：设计基准是 1220px 容器 / ≈1440px 视口，此前全站没有任何 min-width
        断点，窗口越宽容器与字号越"缩水"（2566px 全屏下容器仅占 47%）。

   做法：视口变宽时同时做两件事——
     ① --z      整体等比放大（zoom），字体/间距/控件一起变大
     ② --shell  容器上限同步放宽，避免两侧留白过大

   ⚠️ 缩放陷阱：100vh / 100vw 相对的是【未缩放】视口，而 body 内的布局坐标
      已被 zoom 放大。直接沿用会让元素渲染成 100vh×z 而溢出，因此下面把
      所有视口单位统一除以 --z 做补偿。

   数值依据：容器渲染宽 = --shell × --z ≈ 视口的 90%
   ══════════════════════════════════════════════════════════════════════════ */
:root{--z:1;--shell:1220px}
.home-content,.page-shell{max-width:var(--shell)}

/* 断点：容器渲染宽 = --shell × --z ≈ 视口的 90% */
@media (min-width:1440px){:root{--z:1.06;--shell:1220px}}  /* 渲染≈1293 */
@media (min-width:1680px){:root{--z:1.16;--shell:1300px}}  /* 渲染≈1508 */
@media (min-width:1920px){:root{--z:1.28;--shell:1350px}}  /* 渲染≈1728 */
@media (min-width:2400px){:root{--z:1.45;--shell:1490px}}  /* 渲染≈2160 */
@media (min-width:3000px){:root{--z:1.65;--shell:1636px}}  /* 渲染≈2700 */

/* 视口单位补偿【只在大屏生效】——小屏 --z=1，以下全部为恒等变换，
   且不会覆盖移动端 .home-hero.glass-field 的 760/780px 下限。 */
@media (min-width:1440px){
  body{zoom:var(--z)}

  /* 注意：桌面端真正生效的是 .home-hero.glass-field{height:100svh;min-height:680px}
     （特异性 0,2,0），必须用同等特异性才盖得住，且用的是 svh 不是 vh。 */
  .home-hero{height:calc(100vh / var(--z))}
  .cover{height:calc(100vh / var(--z))}
  .home-hero.glass-field{height:calc(100svh / var(--z));min-height:calc(680px / var(--z))}
  .login-page,.login-shell{min-height:calc(100vh / var(--z))}

  dialog{width:min(500px,calc(100vw / var(--z) - 32px))}
  .account-popover{width:min(292px,calc(100vw / var(--z) - 28px))}
}
