/* Spectral graphite: shared presentation tokens for research, tools and account. */
:root {
  color-scheme:dark; --bg:#090b12; --surface:#111520; --surface-2:#181d2a;
  --ink:#eceef8; --muted:#a1a6bd; --line:#ffffff16; --line-strong:#ffffff30;
  --acid:#b4a0f5; --acid-strong:#9980e3; --blue:#8ca9ed; --green:#82c9b2;
  --purple:#b4a0f5; --sidebar:#0c0e17; --sidebar-muted:#a0a2b9; --amber:#d5b679;
  --font-sans:"Segoe UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;
  --shadow:0 20px 70px #0005; --radius:10px;
}
body.atlas-site,body.atlas-admin{background:radial-gradient(ellipse at 70% 0,#44346422,transparent 50%),#090b12;color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:1.6}
button,a,input,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:disabled{opacity:.4;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7bdded;outline-offset:3px}
input,select,textarea{font:inherit;color:var(--ink);background:#0c101c;border:1px solid var(--line-strong);border-radius:7px;min-height:42px;padding:9px 12px;max-width:100%}
input::placeholder,textarea::placeholder{color:#858aa2}
select option{background:#171b29;color:var(--ink)}
.atlas-site .app-shell{grid-template-columns:210px minmax(0,1fr)}
.atlas-site .sidebar{padding:26px 14px 16px;background:linear-gradient(175deg,#17132180,#0c0e17 36%);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:thin}
.sidebar .brand{padding:0 6px 23px;gap:10px}
.brand .brand-mark{background:linear-gradient(140deg,#c2a6ed,#7560ae 45%,#67bbca);color:#fff;width:32px;height:36px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border-radius:0}
.sidebar .brand strong{font-size:15px;font-weight:600}.sidebar .brand small{font-size:11px;line-height:1.8;letter-spacing:1px}
.nav-group-label{padding:15px 12px 6px;color:#727990;font-size:11px;letter-spacing:1px}
.nav-list{gap:3px}.nav-item{min-height:42px;font-size:13px;font-weight:400;border-radius:7px;padding:0 10px;gap:9px}
.nav-item.is-active{color:#e8dfff;background:linear-gradient(100deg,#aa8aea22,#739cba0a);box-shadow:inset 2px 0 #af94e6}
.nav-item:hover{background:#ffffff06;color:#f2edff}.nav-count{font:11px var(--font-sans);color:#9396ad}
.nav-item svg{width:16px;height:16px}.sidebar-note{border-color:var(--line);margin-top:24px;padding:17px 10px}
.sidebar-note strong{font-size:11px;font-weight:500}.sidebar-note small{font-size:11px}.status-dot{background:#99bcdf;box-shadow:0 0 10px #97a8eb44}
.sidebar .feedback-card{padding:9px 10px;border-color:var(--line);margin-bottom:8px;background:transparent;grid-template-columns:20px 1fr;gap:7px}
.feedback-card strong{font-size:11px}.feedback-card small{font-size:10px;color:#878da5}.feedback-card svg{width:15px!important;color:#aaa0c9!important}
.legal-links{border-color:var(--line);font-size:10px;line-height:1.6;padding:8px 5px;color:#7e849b}.legal-links small{font-size:10px}
.atlas-site .topbar,.atlas-admin .topbar{min-height:70px;height:70px;padding:0 30px;background:#0c0f19e8;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.search-trigger{background:#ffffff03;border:1px solid var(--line);border-radius:8px;color:#959bb1;padding:0 12px;min-height:38px;font-size:12px;max-width:420px}
.search-trigger kbd{font:10px var(--font-sans);background:none;border:1px solid var(--line);border-radius:3px;color:#8d94a9}
.topbar-actions{gap:12px}.upgrade-btn{background:linear-gradient(110deg,#b1a0e627,#6cb2c517)!important;color:#dcd0fb!important;border:1px solid #af97e545!important;border-radius:7px!important;box-shadow:none!important;min-height:36px;font-size:12px}
.icon-button{color:#adb0c6;border-radius:7px}.avatar{background:linear-gradient(135deg,#443957,#25434e);border:1px solid #ffffff22;color:#e0d6f4;font-weight:500}
.notification-dot{background:#a696dd}
.topbar .upgrade-btn span{display:inline!important}
.atlas-site #app{max-width:1700px;width:100%;margin:0 auto;padding:30px 32px 60px;min-width:0}
.atlas-site[data-page=home] #app{padding-top:0}
.atlas-site[data-page=home] .main-column{position:relative;isolation:isolate;background:#090b12}
.atlas-site[data-page=home] .main-column::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% -15%,#795bd333,transparent 45%),radial-gradient(ellipse at 93% 6%,#20444c25,transparent 35%);opacity:var(--home-glow,1)}
.atlas-site[data-page=home] .atlas-home::before{content:none}
.page-header{padding:8px 0 24px;margin-bottom:0;border:0;align-items:flex-start}.page-header h1{font:600 clamp(25px,2.8vw,35px)/1.35 var(--font-sans);letter-spacing:-.6px;max-width:900px}
.page-subtitle{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px;max-width:780px}.eyebrow{font-size:11px;font-weight:500;color:#aaa0cb;margin-bottom:8px}
.primary-button{background:linear-gradient(115deg,#a993e6,#80baca);border:1px solid #c5b8ec66;color:#10121c;box-shadow:none;border-radius:7px;font-size:13px;font-weight:600;min-height:42px}
.primary-button:hover{background:linear-gradient(115deg,#bda7f7,#94cfda)}
.secondary-button,.filter-button{background:#ffffff03;border:1px solid var(--line);border-radius:7px;color:#b7bbd0;font-size:12px;font-weight:500;min-height:38px}
.secondary-button:hover,.filter-button:hover{background:#ffffff07;border-color:#b8a1e45e;color:#eee8ff}
.filter-button.is-active{background:#af96e51c;color:#d6c7fb;border-color:#af96e559}
.filter-bar{gap:7px;flex-wrap:wrap;margin-bottom:20px}.atlas-category-bar small{font:11px var(--font-sans);opacity:.7;margin-left:5px}
.atlas-controls{display:flex;gap:15px;flex-wrap:wrap;padding:20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(110deg,#ac8cdc07,#76bfd407);margin-bottom:12px;align-items:end}
.atlas-controls label{display:grid;gap:7px;min-width:125px;font-size:11px;color:#a6a6be}.atlas-controls .atlas-search{flex:1;min-width:220px}.atlas-controls input,.atlas-controls select{width:100%;font-size:13px;min-height:42px}
.atlas-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 18px;color:#9b9fb6;font-size:12px;scroll-margin-top:90px}.atlas-pagination>div{display:flex;gap:8px}.atlas-pagination button{padding:0 13px}
.atlas-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-card{border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#191927,#11151f);padding:22px;box-shadow:none;color:var(--ink);text-decoration:none;transition:border-color .15s;text-align:left}
.library-card:hover{transform:none;border-color:#a98ee780;box-shadow:0 8px 30px #0002}.library-card h3{font-size:18px;font-weight:600;line-height:1.4;margin:15px 0 11px}.library-card p{font-size:13px;line-height:1.85;color:#a7acc1;margin-bottom:20px}.card-meta{color:#858ba5;font-size:11px;border-color:var(--line);gap:7px}
.atlas-card-top{display:flex;gap:10px;justify-content:space-between;font-size:10px;color:#a3a0bd}.atlas-access{border:1px solid #baa6e22c;padding:1px 6px;border-radius:4px;color:#c2b2e5;white-space:nowrap}
.atlas-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}.company-table{width:100%;border:0;background:var(--surface);border-collapse:collapse}
.company-table th{padding:15px 21px;background:#171b28;color:#a8adc2;font-size:12px;font-weight:500;border-color:var(--line)}
.company-table td{padding:17px 21px;border-color:var(--line);font-size:13px;vertical-align:middle}.company-table tr{cursor:default}.company-table tbody tr:hover{background:#aaa0eb08}
.atlas-company-link{display:block;color:#e5e3f4;text-decoration:none;min-width:140px}.atlas-company-link:hover strong{color:#bda7ee}.atlas-company-link strong{font-size:15px;font-weight:600}.atlas-company-link small{display:block;margin-top:4px;color:#898fa7;font-size:11px}.atlas-market{display:block;color:#9199b3;font-size:11px;margin-top:3px}.ticker{font-size:12px;color:#b8b3d2;background:none;padding:0;font-variant-numeric:tabular-nums}
.company-bottleneck-tags{gap:5px}.company-bottleneck-tags a,.company-bottleneck-tags span{display:inline-block;text-decoration:none;color:#b6b6cc;background:#c4afe70a;border:1px solid #bba6df20;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:400}.company-bottleneck-tags a:hover{border-color:#bca3ed88;color:#e0cfff}
.atlas-empty{padding:45px 25px;color:#a8aec4;font-size:14px;grid-column:1/-1}
.panel,.detail-card,.tech-route,.route-option,.cd-section,.cd-hero,.admin-panel,.admin-stat{border-color:var(--line);background:var(--surface);border-radius:12px;box-shadow:none}
.detail-layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px}.detail-card{padding:25px;margin-bottom:17px}.detail-card h1{font-size:34px;font-weight:600;letter-spacing:-.7px}.detail-card h2,.section-heading h2{font-size:17px;font-weight:600}.detail-card p{font-size:14px;line-height:1.95;color:#b5bbcd;max-width:78ch}.detail-main .detail-card:first-child{background:radial-gradient(ellipse at top right,#856cb92a,transparent 65%),var(--surface);border-color:#b49cd735}
.tag{font-size:11px;font-weight:500;border-radius:5px;color:#bdc3db;background:#ffffff06;border:1px solid var(--line)}.tag.hot{color:#cfbfed;background:#ad92e712}
.position-strip{background:#0b101b;border-color:var(--line);border-radius:9px;padding:16px;flex-wrap:wrap;gap:13px;line-height:1.8}.position-strip span{font-size:12px;color:#a8b1c8}.position-strip .current{background:#b49adb19;color:#d3bdef;border-color:#ad92d743}
.data-row{border-color:var(--line);font-size:12px}.data-row dt{color:#939bb3}.data-row dd{color:#c1c7d8}.access-preview-banner{border:1px solid #b49add3a;background:#a68dd611;color:#c3b2e6;border-radius:8px;font-size:13px}
.tech-route{margin-bottom:20px;overflow:hidden}.tech-route-header{background:radial-gradient(ellipse at right,#a28ae019,transparent),#141824;padding:25px;border-color:var(--line)}.tech-route-header h2{font-size:23px;font-weight:600}.tech-route-header p,.route-option p{font-size:13px;line-height:1.85;color:#aab0c6}.route-option{padding:20px;background:#111622}.route-status{font-size:11px}.route-options{gap:12px;padding:18px}
.update-item{padding:20px 0;border-color:var(--line);gap:24px}.update-date{color:#b2a0d3;font-size:12px;background:#ad94d710;border-radius:6px}.update-item strong{font-size:15px;font-weight:500}.update-item p{font-size:13px;line-height:1.8;color:#a0a7bd}.update-list{padding:0}
.cd-hero{padding:25px;background:radial-gradient(ellipse at right,#987fc724,transparent 65%),var(--surface)}.cd-hero h1{font-weight:600}.cd-section-title{font-size:18px;font-weight:600}.cd-tldr-row{background:#a78bc80b;border-color:#b095d12d}.cd-tldr-row strong{color:#baa6d9}.cd-tldr-num{background:linear-gradient(135deg,#a38ad3,#648fbb);box-shadow:none}.cd-tldr-row p{font-size:14px;line-height:1.85}.cd-fin-table th,.cd-fin-table td{font-weight:400;font-size:13px;border-color:var(--line)}.cd-fin-card-value{font-weight:600;font-family:var(--font-sans);font-variant-numeric:tabular-nums}.cd-adv-card{background:#b49ce908;border-color:var(--line)}
.modal,.search-panel,.account-panel{border:1px solid #baa3ed38;border-radius:15px;background:linear-gradient(150deg,#201d30,#101722);box-shadow:0 28px 100px #0009;color:var(--ink)}
.modal:not(.is-visible),.search-panel:not(.is-visible),.account-panel:not(.is-visible){visibility:hidden}
.modal h2{font-size:25px;font-weight:600}.modal p,.modal-desc{font-size:13px;line-height:1.85;color:#aeb3c8}.modal-kicker{font-size:11px;color:#bda6e6}.auth-form label{font-size:12px;font-weight:400;color:#b1b5ca}.auth-form input{border-radius:7px;background:#0f1320;border-color:var(--line-strong)}.scrim{background:#03050baa;backdrop-filter:blur(5px)}
.pricing-tabs{gap:7px;flex-wrap:wrap}.pricing-tab{background:#ffffff03;color:#aeb5cb;border:1px solid var(--line);border-radius:8px;font-size:11px;padding:12px 9px;min-width:75px;flex:1}.pricing-tab.is-active{background:#b29bd51c;color:#e0d0ff;border-color:#bca3e975}.pricing-tab strong{font-size:17px}.benefit-list{font-size:12px;color:#b6b7ce}.search-result{background:transparent;border-color:var(--line);color:var(--ink);border-radius:7px}.search-result:hover{background:#b299e016}
.admin-panel{overflow:auto}.admin-table th,.admin-table td{border-color:var(--line);font-size:12px}.admin-table th{background:#191d2a}.admin-stat{padding:23px}.admin-stat strong{font-family:var(--font-sans);font-weight:600;color:#c8b6ea}.mini-button{border-radius:5px}
/* Override legacy absolute colors on the financial tools, preserving red/green data semantics. */
.sa-card,.sa-panel,.md-card,.md-panel,.qs-card,.qs-panel{background:var(--surface);border-color:var(--line);border-radius:10px}
/* Homepage keeps the approved artwork and its own map typography. */
.atlas-home{position:relative;margin:0;min-height:0;font-family:var(--font-sans);background:transparent!important;overflow:visible!important;padding:0!important}
.atlas-home:before{position:absolute!important;inset:0!important;z-index:-1!important}.atlas-home .hero{min-height:265px}.atlas-home h1{font-size:clamp(28px,3vw,43px);font-weight:600}.atlas-home .workspace-body{grid-template-columns:minmax(0,1fr) 265px}.atlas-home .toolbar{flex-wrap:wrap}.atlas-home .searchbox{flex:1;min-width:175px;width:auto}.atlas-home .searchbox input{padding:0;min-height:20px;font-size:12px;border-radius:0}.atlas-home .lighting select{min-height:33px}.atlas-home .map{padding:21px 18px}.atlas-home .map-grid{gap:12px}.atlas-home .sector-title{white-space:normal;font-size:12px}.atlas-home .sector-title span{display:none}.atlas-home .node{font-size:12px;min-height:39px}.atlas-home .more,.atlas-home .legend,.atlas-home .filter{font-size:11px}.atlas-home .detail-section h3{font-size:12px}.atlas-home .inspector p{font-size:13px}.atlas-home .flowrow{font-size:12px}.atlas-home .inspector h2{font-size:30px}.atlas-home .source-note{font-size:11px}.atlas-home .list-card strong{font-size:13px}.atlas-home .deep-link{color:#e4d9fc}.atlas-home .hero-copy p{line-height:1.8}.atlas-home .meta strong{font-family:var(--font-sans)}.atlas-home .bottom-row{margin-bottom:0}.atlas-home .searchbox kbd{padding:0 4px}.atlas-home .company-pill{touch-action:manipulation}.atlas-home .brand small{font-size:10px}
@media(min-width:1700px){.atlas-home .workspace-body{grid-template-columns:minmax(0,1fr) 310px}.atlas-home .sector-title span{display:grid}}
@media(max-width:1200px){.atlas-site .app-shell{grid-template-columns:185px minmax(0,1fr)}.atlas-site #app{padding:22px}.atlas-site .sidebar{padding-left:9px;padding-right:9px}.sidebar .brand strong{font-size:13px}.atlas-home .workspace-body{grid-template-columns:1fr}.atlas-home .inspector{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.atlas-home .detail-top,.atlas-home .deep-link,.atlas-home .source-note{grid-column:1/-1}.atlas-home .inspector h2{margin-top:12px}.atlas-home .detail-section{margin-top:15px}.atlas-library{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:900px){.atlas-site .app-shell{display:block}.atlas-site .sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;transform:translateX(-100%);transition:transform .18s;z-index:65;background:#0e111c}.atlas-site .sidebar.is-open{transform:translateX(0)}.atlas-site .mobile-menu{display:grid}.atlas-site .topbar{padding:0 20px}.atlas-site #app{padding:22px 20px 85px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#101320ef;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{min-height:58px;flex:1;color:#929bb5;background:transparent}.mobile-nav button.is-active{color:#c7b2ef;background:#bba2ee09}.detail-layout{grid-template-columns:1fr}.detail-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.atlas-home .hero h1{font-size:34px}.atlas-home .map-grid{gap:12px}.topbar-actions{gap:8px}.atlas-controls{gap:12px}}
@media(max-width:580px){.atlas-site .topbar{height:62px;min-height:62px;padding:0 14px;gap:10px}.search-trigger{min-width:0;flex:1;width:auto}.search-trigger span{font-size:0}.search-trigger span:after{content:'搜索产业 / 公司';font-size:11px}.search-trigger kbd,.topbar-actions>.icon-button{display:none}.upgrade-btn{padding:0 9px}.upgrade-btn svg{display:none}.avatar{width:32px;height:32px}.atlas-site #app{padding:20px 14px 90px}.atlas-home .hero{min-height:240px}.atlas-home .hero h1{font-size:29px}.atlas-home .map{padding:17px 12px}.atlas-home .map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.atlas-home .toolbar{padding:11px}.atlas-home .searchbox{flex:auto;width:100%;min-height:44px}.atlas-home .searchbox input{font-size:14px}.atlas-home .sector-title{font-size:12px;min-height:44px}.atlas-home .inspector{display:block;padding:20px}.atlas-home .node{min-height:44px}.atlas-home .more{min-height:40px}.atlas-home .bottom-row{grid-template-columns:1fr}.atlas-home .meta{gap:17px}.atlas-home .meta strong{font-size:18px}.atlas-home .hero-copy{padding-top:26px}.atlas-home .legend .unmapped{font-size:11px}.atlas-library{grid-template-columns:1fr}.library-card{padding:20px}.atlas-controls{padding:15px;gap:12px}.atlas-controls label{flex:1;min-width:120px}.atlas-controls .atlas-search{flex-basis:100%;min-width:0}.atlas-category-bar{gap:6px}.filter-button{min-height:42px;font-size:11px}.atlas-pagination{font-size:11px;align-items:center}.atlas-pagination button{font-size:11px;min-height:40px}.company-table th,.company-table td{padding:13px 12px}.company-table{min-width:520px}.atlas-company-link{min-width:120px}.detail-side{display:block}.detail-card{padding:20px}.detail-card h1{font-size:29px}.position-strip{display:grid}.position-strip i{display:none}.page-header h1{font-size:27px}.page-subtitle{font-size:12px}.route-options{grid-template-columns:1fr}.tech-route-header{padding:20px}.modal{max-height:calc(100dvh - 32px);overflow:auto;padding:22px}.search-panel{width:calc(100% - 24px)}.atlas-admin #app{width:calc(100% - 28px)!important}.atlas-admin .topbar{padding:0 14px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

