:root { color-scheme:dark; --bg:#151617; --surface:#1d1f21; --hover:#24272a; --fg:#f1f2f3; --muted:#a3a9af; --line:#303439; --green:#b8e8ca; --blue:#9ac9f2; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.65 "Segoe UI","Microsoft YaHei","PingFang SC",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--blue); text-decoration:none; overflow-wrap:anywhere; transition:color .15s,background .15s,border-color .15s; }
a:hover { color:#d4eaff; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
img { display:block; max-width:100%; }
.shell { max-width:1184px; padding:0 32px; margin:auto; }
.topbar { min-height:78px; display:flex; align-items:center; gap:40px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:9px; color:var(--fg); font-size:21px; font-weight:650; }
.brand-mark { color:var(--green); font-weight:400; }
.top-links { display:flex; gap:28px; font-size:14px; }
.top-links a { color:var(--muted); padding:24px 0; }
.top-links a:hover, .top-links [aria-current] { color:var(--fg); }
.platform { color:var(--muted); font-size:12px; margin-left:auto; white-space:nowrap; }
.workspace { display:grid; grid-template-columns:190px minmax(0,1fr); }
.sidebar { padding:36px 24px 36px 0; border-right:1px solid var(--line); }
.nav-label { font-size:12px; color:var(--muted); margin:0 0 14px 12px; }
.sidebar-link { display:flex; align-items:center; gap:10px; padding:10px 12px; color:var(--muted); font-size:14px; border-radius:5px; }
.sidebar-link:hover { background:var(--surface); color:var(--fg); }
.sidebar-link.active { color:var(--fg); background:var(--hover); }
.count { margin-left:auto; font-size:12px; color:var(--muted); }
.sidebar-software { margin-top:16px; display:grid; gap:3px; }
.sidebar-software a { display:flex; gap:10px; align-items:center; padding:9px 12px; font-size:13px; color:var(--muted); border-radius:5px; }
.sidebar-software a:hover { color:var(--fg); background:var(--surface); }
.sidebar-software img { object-fit:contain; flex-shrink:0; }
.secondary-label { margin-top:32px; }
.sidebar-note { padding-left:12px; margin-top:48px; font-size:12px; line-height:1.8; color:#969da5; }
main { min-width:0; }
.catalog { padding:32px 0 24px 40px; }
.page-heading { margin-bottom:28px; }
.eyebrow { color:var(--muted); font-size:12px; margin:0 0 8px; }
h1 { font-size:32px; font-weight:650; line-height:1.3; margin:0 0 10px; overflow-wrap:anywhere; }
h2 { font-size:16px; font-weight:600; margin:0 0 12px; }
h3 { font-size:16px; font-weight:600; margin:0; }
p { margin:0 0 16px; }
.muted, small { color:var(--muted); }
.page-heading p:last-child { margin:0; }
.verification-strip { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; padding:0 0 20px; font-size:12px; color:var(--muted); }
.verification-strip a { display:inline-flex; align-items:center; gap:4px; margin-left:auto; }
.trust-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.trust-facts div { min-width:0; }
.trust-facts dt { color:var(--muted); font-size:12px; margin-bottom:5px; }
.trust-facts dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.audit-list { padding:0; margin:0; list-style:none; }
.audit-list li { padding:16px 0; border-bottom:1px solid var(--line); }
.audit-list li:last-child { border-bottom:0; padding-bottom:0; }
.audit-list h3 { font-size:15px; margin-bottom:6px; }
.audit-list p { margin-bottom:10px; }
.bundle-strip { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px; background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bundle-description { display:flex; gap:16px; align-items:center; min-width:0; }
.bundle-description > .icon { width:28px; height:28px; color:var(--green); }
.bundle-description h2 { font-size:16px; margin-bottom:3px; }
.bundle-description p { font-size:12px; margin:0; color:var(--muted); }
.bundle-action { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.file-size { font-variant-numeric:tabular-nums; font-size:13px; color:#c2c7cc; white-space:nowrap; }
.file-size small { display:block; font-size:11px; text-align:right; }
.download { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 16px; background:var(--green); color:#12291d; border:1px solid transparent; border-radius:6px; font-size:13px; font-weight:600; white-space:nowrap; }
.download:hover { background:#d0f0dd; color:#12291d; }
.download:active, .icon-button:active { transform:translateY(1px); }
.download.secondary { background:var(--surface); border-color:#41474e; color:#e4e7eb; }
.download.secondary:hover { border-color:#7f9187; background:#29312e; }
.icon { display:inline-block; width:17px; height:17px; background:currentColor; mask:var(--icon) center / contain no-repeat; -webkit-mask:var(--icon) center / contain no-repeat; flex-shrink:0; }
.download-icon { --icon:url("assets/download.svg"); }
.external { --icon:url("assets/external-link.svg"); }
.archive { --icon:url("assets/archive.svg"); }
.document { --icon:url("assets/file-text.svg"); }
.back { --icon:url("assets/arrow-left.svg"); }
.chevron { --icon:url("assets/chevron-right.svg"); }
.catalog-section { padding-top:28px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:14px; }
.section-heading h2 { margin:0; }
.section-heading > span { font-size:12px; }
.files { list-style:none; margin:0; padding:0; }
.files > li { display:grid; grid-template-columns:48px minmax(0,1fr) 70px auto; column-gap:18px; row-gap:2px; padding:22px 0; border-top:1px solid var(--line); align-items:center; }
.app-icon { width:48px; height:48px; object-fit:contain; border-radius:8px; flex-shrink:0; }
.codex-logo { padding:7px; background:#282b2d; }
.software-info { min-width:0; grid-row:span 2; }
.software-info h3 a { color:var(--fg); }
.software-info h3 a:hover { color:var(--green); }
.software-info p { font-size:12px; color:var(--muted); margin:4px 0 5px; }
.version { font-family:Consolas,"SFMono-Regular",monospace; font-size:11px; color:#c2c7cc; font-variant-numeric:tabular-nums; }
.version > span { color:var(--muted); }
.files .app-icon { grid-row:span 2; }
.files .file-size { grid-row:span 2; justify-self:end; }
.row-actions { display:flex; align-items:center; gap:8px; justify-content:flex-end; }
.icon-button { width:40px; height:42px; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); border:1px solid var(--line); border-radius:6px; }
.icon-button:hover { background:var(--hover); color:var(--fg); border-color:#515961; }
.official-link { grid-column:4; display:inline-flex; align-items:center; justify-self:end; gap:6px; margin-top:5px; font-size:11px; color:var(--muted); }
.official-link .icon { width:12px; height:12px; }
.support-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; border-top:1px solid var(--line); margin-top:8px; padding:24px 0; }
.support-grid section { min-width:0; }
.support-grid h2 { font-size:14px; margin-bottom:5px; }
.support-grid p { font-size:12px; margin:0 0 10px; }
.links { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:13px; }
.links a { display:inline-flex; align-items:center; gap:5px; }
.links .icon { width:14px; height:14px; }
.notice { border-left:2px solid #d8b674; background:#24221e; padding:12px 16px; font-size:12px; line-height:1.75; color:#cfc3ae; }
.notice strong { display:block; color:#e4d4b4; font-size:12px; margin-bottom:3px; }
.notice p { margin:0; }
details { margin-top:16px; }
summary { cursor:pointer; color:var(--muted); font-size:12px; }
summary:hover { color:var(--fg); }
details code { display:block; padding-top:10px; }
code { font:12px/1.8 Consolas,"SFMono-Regular",monospace; overflow-wrap:anywhere; color:#bcc8c1; }
footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 28px; padding-top:22px; margin-top:24px; border-top:1px solid var(--line); font-size:11px; color:#969da5; }
.skip-link { position:absolute; left:16px; top:-80px; padding:8px 14px; z-index:10; background:var(--fg); color:var(--bg); }
.skip-link:focus { top:8px; }
.detail { max-width:980px; margin:auto; padding:0 32px 40px; }
.detail > nav { min-height:76px; display:flex; gap:24px; align-items:center; border-bottom:1px solid var(--line); font-size:13px; }
.detail > nav a { display:inline-flex; align-items:center; gap:7px; }
.detail > nav a:last-child { margin-left:auto; color:var(--muted); }
.product-header { display:flex; align-items:center; gap:20px; padding:32px 0; }
.product-header .app-icon { width:64px; height:64px; }
.product-header h1 { font-size:28px; margin-bottom:6px; }
.product-header p { font-size:13px; margin:0; }
.product-content { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px; border-top:1px solid var(--line); }
.product-content > section { padding:24px 0 8px; min-width:0; }
.product-content > section + section { padding-left:28px; border-left:1px solid var(--line); }
.product-content p { font-size:13px; }
.package-note { margin-top:20px; }
.product-content .notice { margin:18px 0; font-size:12px; }
.channels { list-style:none; margin:0 0 18px; padding:0; }
.channels li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); }
.channels strong, .channels small { display:block; }
.channels strong { font-size:14px; font-weight:600; }
.channels small { font-size:12px; margin-top:3px; }
.action { display:inline-flex; gap:7px; align-items:center; font-size:12px; }
.hash { display:block; padding:12px 14px; background:var(--surface); border:1px solid var(--line); border-radius:5px; margin:10px 0 18px; font-size:11px; }
.detail > header:not(.product-header) { padding:32px 0 24px; }
.guide { max-width:860px; }
.guide > section { padding:24px 0; border-top:1px solid var(--line); }
.guide > section p, .guide li { font-size:14px; }
ol { padding-left:24px; }
li { margin-bottom:8px; }
.files li, .channels li { margin-bottom:0; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
@media(max-width:1020px) {
  .shell { padding:0 24px; }
  .workspace { grid-template-columns:160px minmax(0,1fr); }
  .sidebar { padding-right:16px; }
  .catalog { padding-left:28px; }
  .files > li { column-gap:12px; grid-template-columns:44px minmax(0,1fr) auto; }
  .files .app-icon { grid-column:1; grid-row:1 / span 2; }
  .files .file-size { grid-column:2; grid-row:3; justify-self:start; margin-top:2px; font-size:11px; }
  .software-info { grid-column:2; grid-row:1 / span 2; }
  .row-actions { grid-column:3; grid-row:1 / span 2; }
  .official-link { grid-column:3; grid-row:3; }
  .bundle-strip { padding:20px; }
  .bundle-action { gap:12px; }
}
@media(max-width:760px) {
  .shell { padding:0 20px; }
  .topbar { gap:24px; min-height:66px; }
  .top-links { gap:18px; }
  .top-links a { padding:20px 0; font-size:13px; }
  .brand { font-size:19px; }
  .platform { display:none; }
  .workspace { display:block; }
  .sidebar { display:none; }
  .catalog { padding:26px 0; }
  .page-heading { margin-bottom:22px; }
  h1 { font-size:28px; }
  .bundle-action > .file-size { display:none; }
  .detail { padding:0 20px 28px; }
  .product-content { grid-template-columns:minmax(0,1fr); gap:0; }
  .product-content > section + section { border-left:0; border-top:1px solid var(--line); padding-left:0; margin-top:20px; }
  .product-header { padding:28px 0; }
}
@media(max-width:440px) {
  .verification-strip { gap:8px 14px; }
  .verification-strip a { margin-left:0; width:100%; }
  .trust-facts { grid-template-columns:minmax(0,1fr); gap:16px; }
  .shell, .detail { padding-right:16px; padding-left:16px; }
  .topbar { gap:20px; }
  .top-links { gap:14px; }
  .brand { font-size:18px; }
  .page-heading p { font-size:13px; }
  .bundle-strip { flex-wrap:wrap; padding:18px; gap:16px; }
  .bundle-action { width:100%; justify-content:space-between; }
  .bundle-action > .file-size { display:block; }
  .bundle-action .file-size small { display:inline; margin-left:4px; }
  .bundle-description h2 { font-size:15px; }
  .files > li { grid-template-columns:42px minmax(0,1fr); column-gap:12px; row-gap:4px; padding:20px 0; }
  .app-icon { width:42px; height:42px; }
  .files .app-icon { grid-column:1; grid-row:1; align-self:start; }
  .software-info { grid-column:2; grid-row:1; }
  .software-info h3 { font-size:16px; }
  .files .file-size { grid-column:2; grid-row:2; }
  .row-actions { grid-column:1 / -1; grid-row:3; justify-content:flex-start; margin-top:10px; }
  .row-actions .download { flex:1; }
  .official-link { grid-column:1 / -1; grid-row:4; justify-self:start; margin-top:6px; }
  .support-grid { gap:20px; }
  .support-grid .links { display:grid; gap:8px; font-size:12px; }
  .product-header { gap:14px; align-items:flex-start; }
  .product-header .app-icon { width:48px; height:48px; }
  .product-header h1 { font-size:24px; }
  .product-header p { font-size:12px; }
  .channels li { grid-template-columns:minmax(0,1fr); gap:12px; }
  .action { justify-self:start; }
  .detail > nav { gap:12px; flex-wrap:wrap; padding:16px 0; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; } }
