:root {
  --brand: #19558f;
  --brand-dark: #113e6b;
  --brand-deep: #0c3157;
  --brand-soft: #eaf2f9;
  --accent: #19a78d;
  --accent-soft: #e7f7f3;
  --ink: #172b3d;
  --muted: #64798a;
  --line: #dfe7ed;
  --paper: #ffffff;
  --surface: #f5f8fa;
  --radius: 8px;
  --shadow: 0 12px 34px rgba(22, 55, 82, .09);
  font-family: "Segoe UI", "Microsoft YaHei", Inter, system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; top: -60px; left: 20px; z-index: 100; padding: 10px 14px; color: white; background: var(--brand); border-radius: 6px; font-weight: 800; }
.skip-link:focus { top: 10px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.topbar { position: sticky; top: 0; z-index: 30; color: var(--ink); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.topbar-inner { width: min(1240px, calc(100% - 40px)); min-height: 74px; display: flex; align-items: center; gap: 24px; margin: auto; }
.brand { display: flex; align-items: center; gap: 11px; min-width: max-content; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.brand strong { color: var(--brand-dark); font-size: 1.08rem; letter-spacing: -.025em; }
.brand small { margin-top: 5px; color: #8294a2; font-size: .61rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.brand-symbol { position: relative; width: 39px; height: 39px; display: grid; place-items: center; border-radius: 8px; background: var(--brand); overflow: hidden; }
.brand-symbol i { position: absolute; width: 28px; height: 9px; border: 2px solid white; border-left: 0; border-right: 0; border-radius: 50%; transform: rotate(-28deg); }
.brand-symbol i:nth-child(2) { transform: rotate(28deg) scale(.72); opacity: .75; }
.brand-symbol i:nth-child(3) { width: 5px; height: 5px; border: 0; border-radius: 50%; background: #8ee6d6; box-shadow: 10px -7px 0 #fff, -10px 7px 0 #c7ddf0; }
.topbar nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.topbar nav a { padding: 9px 12px; border-radius: 6px; color: #455e71; font-size: .84rem; font-weight: 700; }
.topbar nav a:hover, .topbar nav a:focus-visible { color: var(--brand); background: var(--brand-soft); }
.topbar nav .nav-biominer { margin-left: 4px; color: white; background: var(--brand); }
.topbar nav .nav-biominer:hover { color: white; background: var(--brand-dark); }
.language { display: flex; padding: 2px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.language button { min-width: 36px; padding: 5px 7px; border: 0; border-radius: 5px; color: #758998; background: transparent; font-size: .72rem; font-weight: 800; cursor: pointer; }
.language button.active { color: white; background: var(--brand); }
.menu-button { display: none; width: 39px; height: 39px; padding: 0; border: 1px solid var(--line); border-radius: 7px; background: white; }
.menu-button span { display: block; width: 17px; height: 2px; margin: 4px auto; background: var(--ink); }

.portal-hero { color: white; background: radial-gradient(circle at 15% 10%, rgba(86,159,213,.25), transparent 28%), radial-gradient(circle at 87% 85%, rgba(25,167,141,.18), transparent 29%), linear-gradient(120deg, #103e6c 0%, #19558f 56%, #176682 100%); }
.hero-inner { width: min(1000px, calc(100% - 40px)); margin: auto; padding: clamp(78px, 9vw, 126px) 0 clamp(72px, 8vw, 110px); text-align: center; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; color: #dcecf7; background: rgba(255,255,255,.08); font-size: .71rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-badge > span:first-child { width: 7px; height: 7px; border-radius: 50%; background: #7fe0ce; box-shadow: 0 0 0 4px rgba(127,224,206,.14); }
.portal-hero h1 { max-width: 930px; margin: 0 auto; font-size: clamp(3rem, 6vw, 5.8rem); line-height: 1.02; letter-spacing: -.055em; }
.hero-lede { max-width: 780px; margin: 24px auto 0; color: #d6e6f0; font-size: clamp(1rem, 1.5vw, 1.22rem); }
.global-search { position: relative; max-width: 820px; display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 36px auto 0; padding: 8px; border-radius: 10px; background: white; box-shadow: 0 18px 46px rgba(4,34,63,.28); }
.global-search input { width: 100%; height: 54px; padding: 0 16px 0 48px; color: var(--ink); border: 0; outline: 0; background: transparent; font-size: .97rem; }
.global-search button { padding: 0 24px; border: 0; border-radius: 7px; color: white; background: var(--accent); font-size: .86rem; font-weight: 850; cursor: pointer; }
.global-search button:hover { background: #118f79; }
.search-icon { position: absolute; z-index: 1; left: 27px; top: 28px; width: 14px; height: 14px; border: 2px solid #6f8392; border-radius: 50%; pointer-events: none; }
.search-icon::after { content: ""; position: absolute; width: 6px; height: 2px; right: -5px; bottom: -2px; background: #6f8392; transform: rotate(45deg); }
.popular-searches { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 17px; color: #bcd2e1; font-size: .74rem; }
.popular-searches button { padding: 2px 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: #edf7fb; background: rgba(255,255,255,.06); font-size: .7rem; cursor: pointer; }
.popular-searches button:hover { background: rgba(255,255,255,.15); }

.portal-stats { width: min(1120px, calc(100% - 40px)); display: grid; grid-template-columns: repeat(5, 1fr); margin: -33px auto 0; position: relative; z-index: 2; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--shadow); }
.portal-stats div { padding: 24px 28px; border-left: 1px solid var(--line); text-align: center; }
.portal-stats div:first-child { border-left: 0; }
.portal-stats strong, .portal-stats span { display: block; }
.portal-stats strong { color: var(--brand); font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.1; letter-spacing: -.04em; }
.portal-stats span { margin-top: 6px; color: #748897; font-size: .72rem; font-weight: 700; }
.portal-stats .refined-stat { background: linear-gradient(180deg,#f3fbf8 0%,#fff 100%); }.portal-stats .refined-stat strong { color: #07806f; }

.announcement { padding: 34px 20px 0; background: white; }
.announcement-inner { width: min(1120px, 100%); min-height: 62px; display: flex; align-items: center; gap: 15px; margin: auto; padding: 11px 16px; border: 1px solid #d6e7e2; border-radius: 8px; background: #f1faf7; }
.announcement-tag { padding: 4px 9px; border-radius: 999px; color: white; background: var(--accent); font-size: .67rem; font-weight: 900; text-transform: uppercase; }
.announcement p { display: flex; flex: 1; flex-wrap: wrap; gap: 4px 10px; margin: 0; font-size: .79rem; }
.announcement p strong { color: #174a43; }.announcement p span { color: #6e847f; }
.announcement a { color: #0b7e6c; font-size: .74rem; font-weight: 850; white-space: nowrap; }

.section { padding: clamp(72px, 8vw, 112px) 20px; }
.section-heading { width: min(1120px, 100%); margin: 0 auto 38px; }
.section-heading.centered { max-width: 760px; text-align: center; }
.section-heading .kicker { margin: 0 0 10px; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.section-heading h2 { margin: 0; color: var(--ink); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.04em; }
.section-heading > p:not(.kicker), .section-heading div + p { margin: 14px auto 0; color: var(--muted); font-size: .93rem; }
.heading-row { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.65fr); gap: 70px; align-items: end; }
.heading-row > a { justify-self: end; color: var(--brand); font-size: .8rem; font-weight: 850; }

.action-section { background: white; }
.action-grid { width: min(1120px, 100%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: auto; }
.action-card { display: grid; grid-template-columns: 54px 1fr; gap: 17px; padding: 26px; border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: 0 6px 20px rgba(20,57,84,.045); }
.action-card:hover { border-color: #a9c5db; box-shadow: var(--shadow); transform: translateY(-2px); }
.action-icon { position: relative; width: 52px; height: 52px; display: block; border-radius: 8px; background: var(--brand-soft); }
.icon-search::before { content: ""; position: absolute; width: 16px; height: 16px; left: 15px; top: 13px; border: 3px solid var(--brand); border-radius: 50%; }.icon-search::after { content: ""; position: absolute; width: 11px; height: 3px; left: 29px; top: 31px; background: var(--brand); transform: rotate(45deg); }
.icon-download::before { content: "↓"; position: absolute; inset: 7px 0 auto; color: var(--brand); font-size: 1.7rem; font-weight: 800; text-align: center; }.icon-download::after { content: ""; position: absolute; width: 25px; height: 3px; left: 14px; bottom: 11px; background: var(--brand); }
.icon-doc::before { content: ""; position: absolute; width: 22px; height: 28px; left: 15px; top: 11px; border: 2px solid var(--brand); border-radius: 2px; }.icon-doc::after { content: "≡"; position: absolute; left: 21px; top: 9px; color: var(--brand); font-size: 1.25rem; }
.action-card h3 { margin: 0 0 6px; font-size: 1.07rem; }.action-card p { margin: 0; color: var(--muted); font-size: .79rem; }.action-card b { display: block; margin-top: 15px; color: var(--brand); font-size: .75rem; }

.featured-section { background: var(--surface); }
.featured-grid { width: min(1120px, 100%); display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin: auto; }
.dataset-card { padding: 24px; border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: 0 6px 18px rgba(24,60,86,.045); }
.dataset-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.format-tag { padding: 4px 7px; border-radius: 4px; color: var(--brand); background: var(--brand-soft); font: 800 .63rem/1.2 ui-monospace, monospace; }
.status-dot { display: inline-flex; align-items: center; gap: 6px; color: #16816f; font-size: .65rem; font-weight: 800; }.status-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #24b89e; }.status-dot.blue { color: #4e70a6; }.status-dot.blue::before { background: #6e9ad4; }
.status-dot.refined { color: #8b6414; }.status-dot.refined::before { background: #d9a52d; box-shadow: 0 0 0 3px #fff1c8; }
.dataset-card h3 { margin: 23px 0 8px; font-size: 1.15rem; }.dataset-card > p { min-height: 76px; margin: 0; color: var(--muted); font-size: .78rem; }
.dataset-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: 20px 0; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.dataset-card dl div + div { padding-left: 15px; border-left: 1px solid var(--line); }.dataset-card dt { color: #8999a5; font-size: .62rem; text-transform: uppercase; }.dataset-card dd { margin: 3px 0 0; color: var(--ink); font-size: .8rem; font-weight: 800; }
.dataset-card > a, .dataset-card > button { padding: 0; color: var(--brand); border: 0; background: transparent; font-size: .75rem; font-weight: 850; cursor: pointer; }
.refined-dataset { border-color: #c5dfd8; box-shadow: 0 8px 24px rgba(7,128,111,.09); }.refined-dataset .format-tag { color: #08796f; background: #e4f8f4; }

.collection-section { background: white; }
.collection-grid { width: min(1120px, 100%); display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin: auto; }
.collection-grid button { position: relative; min-height: 170px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px; overflow: hidden; color: var(--ink); border: 1px solid var(--line); border-radius: 9px; background: white; text-align: left; cursor: pointer; }
.collection-grid button::after { content: ""; position: absolute; width: 88px; height: 88px; right: -35px; bottom: -35px; border-radius: 50%; background: var(--brand-soft); }
.collection-grid button:hover { color: white; border-color: var(--brand); background: var(--brand); transform: translateY(-2px); box-shadow: var(--shadow); }.collection-grid button:hover::after { background: rgba(255,255,255,.09); }
.collection-code { min-height: 35px; color: var(--brand); font: 900 1.25rem/1 ui-monospace, monospace; }.collection-grid button:hover .collection-code { color: #8de5d5; }.collection-code sub { font-size: .6em; }
.collection-grid strong { margin-top: auto; font-size: 1.5rem; letter-spacing: -.04em; }.collection-grid small { color: #7b8f9e; }.collection-grid button:hover small { color: #c9dbe7; }.collection-grid i { position: absolute; z-index: 2; right: 16px; bottom: 13px; color: var(--brand); font-style: normal; }.collection-grid button:hover i { color: white; }
.collection-grid .refined-collection { border-color: #bcded5; background: #f3fbf8; }.collection-grid .refined-collection .collection-code { color: #08796f; }

.data-section { background: var(--surface); }
.explorer-shell { width: min(1120px, 100%); margin: auto; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: var(--shadow); }
.filters { display: grid; grid-template-columns: minmax(240px,1.55fr) repeat(4,minmax(118px,.5fr)) auto; gap: 11px; padding: 17px; border-bottom: 1px solid var(--line); background: #fbfcfd; }
.filters label { min-width: 0; }.filters label > span:not(.sr-only) { display: block; margin: 0 0 4px 2px; color: #738695; font-size: .64rem; font-weight: 850; text-transform: uppercase; }
.search-field { position: relative; align-self: end; }.search-field i { position: absolute; left: 15px; top: 50%; width: 13px; height: 13px; margin-top: -7px; border: 2px solid #6f8392; border-radius: 50%; pointer-events: none; }.search-field i::after { content: ""; position: absolute; width: 6px; height: 2px; right: -5px; bottom: -2px; background: #6f8392; transform: rotate(45deg); }
.filters input, .filters select { width: 100%; height: 44px; border: 1px solid #d4e0e6; border-radius: 6px; color: var(--ink); background: white; outline: 0; }.filters input { padding: 0 13px 0 41px; }.filters select { padding: 0 30px 0 11px; }.filters input:focus, .filters select:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(25,85,143,.09); }
.reset-button { align-self: end; height: 44px; padding: 0 14px; border: 1px solid #d4e0e6; border-radius: 6px; color: #617687; background: white; font-size: .76rem; font-weight: 800; cursor: pointer; }
.results-bar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 17px; color: #728695; border-bottom: 1px solid var(--line); font-size: .75rem; }.results-bar p { margin: 0; }.results-bar strong { color: var(--brand); font-size: .9rem; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; table-layout: fixed; }
th { padding: 12px 11px; color: #637988; background: #f4f7f9; font-size: .63rem; font-weight: 900; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
th:nth-child(1){width:88px}th:nth-child(2){width:140px}th:nth-child(3){width:29%}th:nth-child(4){width:68px}th:nth-child(5){width:90px}th:nth-child(6){width:140px}th:nth-child(7){width:88px}th:last-child{width:50px}
td { padding: 14px 11px; border-top: 1px solid #edf1f4; color: #52697a; font-size: .77rem; vertical-align: middle; } tbody tr:hover { background: #f7fafc; }
.pdb-link { color: var(--brand); font: 900 .84rem/1 ui-monospace, monospace; letter-spacing: .04em; }.activity-cell strong { display: block; color: var(--ink); font-family: ui-monospace, monospace; font-size: .77rem; }.activity-cell small { color: #899aa6; }
.refined-pill { width: max-content; display: block; margin-top: 5px; padding: 3px 5px; border-radius: 3px; color: #08796f; background: #e4f8f4; font: 850 .52rem/1.1 ui-monospace,monospace; letter-spacing: 0; text-transform: uppercase; }
.ligand-cell { overflow: hidden; }.ligand-cell strong,.ligand-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ligand-cell strong{color:var(--ink)}.ligand-cell small{color:#8798a5;font:.68rem/1.5 ui-monospace,monospace}
.method-pill,.class-pill{display:inline-flex;padding:4px 7px;border-radius:4px;font-size:.61rem;font-weight:850;text-transform:uppercase}.method-pill{color:#48667b;background:#edf3f6}.class-pill{color:#08796f;background:#e4f8f4}.class-pill.extended{color:#5266a7;background:#edf0ff}
.detail-button{width:30px;height:30px;padding:0;border:1px solid #d9e4e9;border-radius:6px;color:var(--brand);background:white;cursor:pointer}.detail-button:hover{color:white;border-color:var(--brand);background:var(--brand)}
.loading-row,.empty-row{height:220px;color:#718697;text-align:center}.loader{display:inline-block;width:15px;height:15px;margin-right:8px;border:2px solid #d9e6e9;border-top-color:var(--brand);border-radius:50%;vertical-align:-3px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.pagination{min-height:56px;display:flex;align-items:center;justify-content:flex-end;gap:17px;padding:9px 17px;border-top:1px solid var(--line)}.pagination button{padding:7px 10px;border:1px solid #d7e2e8;border-radius:6px;color:#496175;background:white;font-size:.72rem;font-weight:800;cursor:pointer}.pagination button:disabled{opacity:.38;cursor:default}.pagination>span{color:#708294;font-size:.72rem}

.download-section { background: white; }
.download-layout { width: min(1120px, 100%); display: grid; grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr); gap: 20px; margin: auto; }
.download-list { display: grid; gap: 10px; }.download-card { min-height: 85px; display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 14px 17px; border: 1px solid var(--line); border-radius: 8px; background: white; }.download-card:hover { border-color: #abc5d9; box-shadow: 0 8px 22px rgba(22,57,82,.08); transform: translateX(2px); }
.file-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--brand); border-radius: 6px; background: var(--brand-soft); font: 900 .64rem/1 ui-monospace,monospace; }.download-card strong,.download-card small{display:block}.download-card strong{overflow:hidden;color:var(--ink);font:800 .8rem/1.5 ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.download-card small{color:#7e919f;font-size:.7rem}.download-card b{color:var(--accent);font-size:.66rem;white-space:nowrap}
.package-card { padding: 27px; border-radius: 9px; color: white; background: linear-gradient(145deg,var(--brand-dark),#195b8c); }.package-tag { margin:0 0 5px;color:#99ddd1;font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.package-card h3{margin:0;font-size:1.35rem}.package-card dl{margin:24px 0;border-top:1px solid rgba(255,255,255,.16)}.package-card dl div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12)}.package-card dt{color:#b8cfdd;font-size:.73rem}.package-card dd{margin:0;font-weight:800}.package-card>p:not(.package-tag){color:#c1d5e1;font-size:.75rem}.package-status{display:block;margin-top:21px;padding:9px;border:1px dashed rgba(255,255,255,.3);border-radius:6px;color:#dceaf2;font-size:.7rem;font-weight:800;text-align:center}

.method-section { background: var(--surface); }.method-grid{width:min(1120px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px auto 0;padding:0;list-style:none}.method-grid li{min-height:230px;padding:23px;border:1px solid var(--line);border-radius:8px;background:white}.method-grid li>span{color:var(--accent);font:900 .7rem/1 ui-monospace,monospace}.method-grid li div{margin-top:58px}.method-grid h3{margin:0 0 7px;font-size:1.07rem}.method-grid p{margin:0;color:var(--muted);font-size:.77rem}.method-note{width:min(1120px,100%);display:grid;grid-template-columns:140px 1fr;gap:22px;margin:24px auto 0;padding:22px;border-left:3px solid var(--accent);background:#eaf6f3}.method-note strong{color:#08796f;font-size:.74rem;text-transform:uppercase}.method-note p{margin:0;color:#5e756f;font-size:.8rem}
.refined-method { width:min(1120px,100%); margin:0 auto; padding:28px; border:1px solid #bddfd6; border-radius:10px; background:linear-gradient(135deg,#fff 0%,#f0faf7 100%); box-shadow:0 12px 32px rgba(7,128,111,.08); }.refined-method-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.refined-method-head .kicker{margin:0 0 6px;color:var(--accent);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.refined-method-head h3{max-width:720px;margin:0;font-size:1.45rem;line-height:1.2}.refined-method-head>a{flex:0 0 auto;color:#08796f;font-size:.75rem;font-weight:850}.refined-funnel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center;margin:25px 0;padding:17px;border-radius:8px;background:white}.refined-funnel div{display:flex;align-items:baseline;gap:9px}.refined-funnel strong{color:var(--brand);font-size:1.7rem;letter-spacing:-.04em}.refined-funnel span{color:#728695;font-size:.7rem}.refined-funnel i{color:#9cb1bd;font-style:normal}.refined-funnel .selected strong{color:#07806f}.refined-rules{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:0;padding:0;list-style:none}.refined-rules li{min-height:125px;padding:14px;border:1px solid #d8e9e4;border-radius:7px;background:rgba(255,255,255,.78)}.refined-rules span{color:var(--accent);font:900 .62rem/1 ui-monospace,monospace}.refined-rules p{margin:20px 0 0;color:#526c68;font-size:.7rem}.refined-policy{margin:15px 0 0;color:#657c77;font-size:.72rem}

dialog{width:min(680px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));padding:0;color:var(--ink);border:0;border-radius:10px;box-shadow:0 30px 90px rgba(2,18,32,.32)}dialog::backdrop{background:rgba(9,32,50,.65);backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;display:flex;justify-content:space-between;gap:20px;padding:22px 24px 17px;border-bottom:1px solid var(--line);background:white}.dialog-head .kicker{margin:0 0 4px;color:var(--accent);font-size:.68rem;font-weight:900;text-transform:uppercase}.dialog-head h2{margin:0;color:var(--brand);font:900 1.6rem/1 ui-monospace,monospace}.dialog-close{width:36px;height:36px;border:1px solid var(--line);border-radius:6px;color:#506779;background:white;font-size:1.3rem;cursor:pointer}.detail-content{padding:21px 24px 26px}.detail-primary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-primary div{padding:14px;border-radius:7px;background:var(--surface)}.detail-primary span,.detail-primary strong{display:block}.detail-primary span{color:#778b99;font-size:.64rem;font-weight:800;text-transform:uppercase}.detail-primary strong{margin-top:3px;font-size:.86rem}.detail-list{margin:18px 0 0;border-top:1px solid var(--line)}.detail-list div{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:#7b8e9d;font-size:.72rem}.detail-list dd{margin:0;color:var(--ink);font-size:.77rem;font-weight:700;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.detail-actions a{padding:8px 11px;border-radius:6px;color:white;background:var(--brand);font-size:.72rem;font-weight:800}.detail-actions a.secondary-link{color:var(--ink);background:#e9f0f3}

footer { color: #9ab0bf; background: #0c2c49; }.footer-inner { width:min(1120px,calc(100% - 40px));display:grid;grid-template-columns:1.45fr repeat(3,minmax(120px,.55fr));gap:38px;margin:auto;padding:52px 0 40px}.footer-brand{display:flex;align-items:flex-start;gap:13px}.footer-brand .brand-symbol{flex:0 0 auto;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.footer-brand strong{color:white}.footer-brand p{max-width:300px;margin:4px 0 0;font-size:.73rem}.footer-inner>div:not(.footer-brand){display:flex;flex-direction:column;gap:7px}.footer-inner>div>p{margin:0 0 5px;color:#e1edf3;font-size:.7rem;font-weight:850;text-transform:uppercase}.footer-inner a{font-size:.73rem}.footer-inner a:hover{color:#8be0d1}.footer-bottom{width:min(1120px,calc(100% - 40px));display:flex;justify-content:space-between;gap:20px;margin:auto;padding:16px 0;border-top:1px solid rgba(255,255,255,.11);font-size:.65rem}

@media(max-width:1050px){.topbar nav a{padding-inline:8px}.action-grid,.featured-grid{grid-template-columns:1fr 1fr}.collection-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.search-field{grid-column:1/-1}.reset-button{grid-column:auto}.refined-rules{grid-template-columns:repeat(3,1fr)}.method-grid{grid-template-columns:1fr 1fr}th:nth-child(6),td:nth-child(6){display:none}}
@media(max-width:800px){.topbar-inner{min-height:68px}.topbar nav{position:fixed;inset:68px 0 auto;display:none;flex-direction:column;align-items:stretch;margin:0;padding:16px 20px 22px;background:white;border-top:1px solid var(--line);box-shadow:0 18px 32px rgba(20,50,72,.15)}.menu-open .topbar nav{display:flex}.topbar nav a{padding:11px}.language{margin-left:auto}.menu-button{display:block}.portal-stats{grid-template-columns:1fr 1fr}.portal-stats div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.portal-stats div:nth-child(4){border-top:1px solid var(--line)}.portal-stats div:nth-child(5){grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.announcement-inner{align-items:flex-start}.announcement p{flex-direction:column}.heading-row{grid-template-columns:1fr;gap:18px}.heading-row>a{justify-self:start}.action-grid,.featured-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.reset-button{grid-column:auto}.download-layout{grid-template-columns:1fr}.refined-method-head{align-items:flex-start;flex-direction:column;gap:12px}.refined-rules{grid-template-columns:1fr 1fr}th:nth-child(5),td:nth-child(5),th:nth-child(7),td:nth-child(7){display:none}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:540px){.topbar-inner{width:calc(100% - 24px)}.brand small{display:none}.language button{min-width:32px;padding-inline:5px}.hero-inner{width:calc(100% - 28px);padding-top:68px}.portal-hero h1{font-size:2.8rem}.global-search{grid-template-columns:1fr;padding:7px}.global-search input{height:49px}.global-search button{height:45px}.search-icon{top:25px}.popular-searches>span{width:100%}.portal-stats{width:calc(100% - 28px)}.portal-stats div{padding:18px 10px}.portal-stats strong{font-size:1.65rem}.announcement{padding-inline:14px}.announcement-inner{flex-wrap:wrap}.announcement a{margin-left:45px}.section{padding-inline:14px}.section-heading h2{font-size:2.25rem}.action-card{grid-template-columns:46px 1fr;padding:20px}.action-icon{width:44px;height:44px}.icon-search::before{left:12px;top:10px}.icon-search::after{left:26px;top:28px}.icon-download::before{inset:2px 0 auto}.icon-download::after{left:10px;bottom:8px}.icon-doc::before{left:11px;top:8px}.icon-doc::after{left:17px;top:6px}.collection-grid{grid-template-columns:1fr}.collection-grid button{min-height:132px}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.reset-button{grid-column:2}.results-bar{align-items:flex-start;flex-direction:column;gap:2px}th:nth-child(4),td:nth-child(4){display:none}th:nth-child(1){width:75px}th:nth-child(2){width:120px}th:nth-child(3){width:auto}th:last-child{width:43px}.download-card{grid-template-columns:40px minmax(0,1fr)}.download-card>b{display:none}.download-card strong{font-size:.69rem}.refined-method{padding:20px}.refined-funnel{grid-template-columns:1fr;gap:8px}.refined-funnel i{transform:rotate(90deg);text-align:center}.refined-funnel div{justify-content:center}.refined-rules{grid-template-columns:1fr}.refined-rules li{min-height:100px}.method-grid{grid-template-columns:1fr}.method-grid li{min-height:190px}.method-grid li div{margin-top:42px}.method-note{grid-template-columns:1fr;gap:7px}.detail-primary{grid-template-columns:1fr}.detail-list div{grid-template-columns:1fr;gap:2px}.footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
