:root {
  color-scheme: light;
  --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --ink: #222126;
  --body: #4d4b52;
  --muted: #65626b;
  --line: #e9e6ea;
  --brand: #fe2b63;
  --brand-text: #ac1744;
  --brand-wash: #fff1f5;
  --hover: #f7f6f8;
  --pressed: #eeecf0;
  --page-pad: clamp(24px, 4.5vw, 64px);
  --header-height: 72px;
}
* { box-sizing: border-box }
body { margin: 0; background: #fff; color: var(--ink); font: 400 14px/22px var(--font) }
h1,h2,p { margin: 0 }
a { color: inherit; text-decoration: none }
button { font: inherit }
button,summary { cursor: pointer }
:is(a,button,summary):focus-visible { outline: 2px solid var(--brand-text); outline-offset: 3px }
.shell { width: min(1184px, calc(100% - 2 * var(--page-pad))); margin-inline: auto }
.site-header { position: sticky; top: 0; z-index: 4; background: #fff; border-bottom: 1px solid var(--line) }
.header-inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px }
.brand { display: block; width: 146px; flex: none }
.brand img { display: block; width: 100%; height: auto }
.header-inner > nav { align-self: stretch; display: flex; align-items: stretch; gap: clamp(16px, 2.2vw, 30px) }
.header-inner > nav a { display: flex; align-items: center; position: relative; color: var(--body); white-space: nowrap }
.header-inner > nav a:is(:hover,[aria-current]) { color: var(--brand-text) }
.header-inner > nav a[aria-current]::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--brand) }
.archive-link { border: 1px solid var(--line); border-radius: 5px; padding: 7px 12px; font-size: 13px; white-space: nowrap }
.archive-link:hover { color: var(--brand-text); background: var(--brand-wash) }

.hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); align-items: center; gap: 32px; min-height: 404px; padding-block: 48px }
h1 { font-size: clamp(32px,4.1vw,52px); line-height: 1.23; letter-spacing: -.025em; font-weight: 600; margin-bottom: 24px }
.headline-end { display: inline-block }
.intro { max-width: 35em; color: var(--body); font-size: 16px; line-height: 28px }
.hero-art { display: grid; place-items: center; min-width: 0 }
.official-mark { width: min(100%,252px); aspect-ratio: 284/255; background: url(assets/logo.png) 4.41% 50.14% / 539.08% 235.29% no-repeat }

.outputs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line) }
.column { padding: 22px 24px 20px; min-width: 0 }
.column:first-child { padding-left: 0 }
.column:last-child { padding-right: 0 }
.column + .column { border-left: 1px solid var(--line) }
.card-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 12px }
h2 { font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -.012em }
.edition { color: var(--muted); font-size: 13px; line-height: 20px; font-variant-numeric: tabular-nums; white-space: nowrap }
.outputs ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line) }
.outputs li + li { border-top: 1px solid var(--line) }
.outputs li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 8px; border-radius: 4px; font-weight: 500 }
.outputs li a:is(:hover,:focus-visible) { background: var(--hover) }
.outputs li a:active { background: var(--pressed) }
.outputs li small { display: inline-block; color: var(--muted); font-size: 12px; line-height: 18px; font-weight: 400; margin-right: 8px }
.coverage { color: var(--muted); font-size: 12px; line-height: 20px }
.coverage summary { padding: 6px 8px; border-radius: 4px }
.coverage summary:hover { background: var(--hover) }
.coverage p { padding: 0 8px 8px }
.more { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--brand-text); font-size: 13px; line-height: 20px; font-weight: 500 }
.more:hover { text-decoration: underline; text-underline-offset: 3px }
:is(.column,.lower article) { scroll-margin-top: calc(var(--header-height) + 16px) }
.lower { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-block: 42px }
.lower p { color: var(--body); margin-top: 8px; max-width: 34em; line-height: 24px }
footer { border-top: 1px solid var(--line) }
.footer-inner { display: flex; justify-content: space-between; gap: 18px; padding-block: 24px }
.footer-inner p,.filing { color: var(--muted); font-size: 12px; line-height: 20px }
.filing:hover { text-decoration: underline }
.footer-inner img { display: block; object-fit: contain; margin-top: 8px }

.menu-trigger { display: none }
.menu-trigger svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6 }
.nav-sheet { color: var(--ink); border: 0; margin: 0 0 0 auto; inset: 0 0 0 auto; width: min(320px,86vw); height: 100dvh; max-height: none; padding: 0; box-shadow: -8px 0 24px #201b251a }
.nav-sheet::backdrop { background: #211a254f }
.sheet-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 12px 16px }
.sheet-head h2 { font-size: 16px; line-height: 24px }
.sheet-close { width: 40px; height: 40px; border: 0; background: #fff; color: var(--ink); font-size: 24px; line-height: 1; border-radius: 4px }
.sheet-close:hover { background: var(--hover) }
.nav-sheet nav { display: grid; padding: 8px }
.nav-sheet nav a { min-height: 46px; display: flex; align-items: center; padding: 8px 13px; border-radius: 4px }
.nav-sheet nav a:is(:hover,:focus-visible) { background: var(--hover) }
.nav-sheet nav a[aria-current] { color: var(--brand-text); background: var(--brand-wash); font-weight: 600 }
body:has(.nav-sheet[open]) { overflow: hidden }

@media(max-width:900px) {
  .archive-link { display: none }
  .hero { min-height: 348px }
  .column { padding-inline: 16px }
  .outputs li small { display: block }
}
@media(max-width:670px) {
  :root { --page-pad: 20px; --header-height: 60px }
  .brand { width: 132px }
  .header-inner > nav { display: none }
  .menu-trigger { display: inline-flex; align-items: center; gap: 7px; border: 0; background: #fff; color: var(--ink); min-height: 44px; padding: 0 4px 0 10px }
  .menu-trigger:hover { background: var(--hover) }
  .hero { grid-template-columns: minmax(0,1fr) 68px; gap: 16px 12px; min-height: 0; padding-block: 32px 26px }
  .hero-copy { display: contents }
  h1 { grid-column: 1; grid-row: 1; margin: 0; font-size: clamp(27px,6.4vw,34px); line-height: 1.28 }
  .wide { display: none }
  .intro { grid-column: 1/-1; grid-row: 2; font-size: 14px; line-height: 24px }
  .hero-art { grid-column: 2; grid-row: 1 }
  .outputs,.lower { grid-template-columns: 1fr }
  .column,.column:first-child,.column:last-child { padding: 16px 0 }
  .column + .column { border-left: 0; border-top: 1px solid var(--line) }
  .outputs li small { display: inline-block }
  .lower { gap: 24px; padding-block: 28px }
}

.hero {
  grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr);
  gap:clamp(24px,4vw,56px); min-height:425px; padding-block:42px 40px;
}
h1 { font-size:clamp(31px,3.75vw,54px); letter-spacing:-.037em; line-height:1.2; margin-bottom:20px }
.intro { max-width:27em }
.hero-entry {
  display:inline-flex; align-items:center; gap:20px; margin-top:25px;
  padding:10px 14px; min-height:42px; background:var(--brand-wash); color:var(--brand-text);
  border-radius:5px; font-weight:500;
}
.hero-entry:hover { background:#ffe1eb }
.brand-visual { min-width:0; align-self:center; color:var(--brand) }
.brand-visual svg { display:block; width:100%; max-width:560px; height:auto; margin-inline:auto }
.outputs { border-top:2px solid var(--ink) }
@media(max-width:900px) {
  .hero { min-height:0; padding-block:34px }
}
@media(max-width:670px) {
  .hero { display:grid; grid-template-columns:minmax(0,1fr) 78px; align-items:start; gap:13px 12px; padding-block:28px 25px }
  .hero-copy { display:contents }
  h1 { font-size:clamp(27px,6.7vw,36px); margin:0 }
  .hero-entry { grid-column:1/-1; grid-row:3; justify-self:start; margin-top:1px; min-height:40px; padding:8px 11px; gap:10px }
  .brand-visual { grid-column:2; grid-row:1; align-self:center }
}

.entry-text { display:grid; grid-template-columns:4.5em minmax(0,1fr); align-items:baseline; gap:8px }
.outputs li .entry-text small { margin:0; line-height:1.5 }
.outputs .card-head { min-height:28px; margin-bottom:14px }
@media(max-width:900px) and (min-width:671px) {
  .entry-text { grid-template-columns:1fr; gap:2px }
}
@media(max-width:670px) {
  .hero { grid-template-columns:minmax(0,1fr) 92px }
  .brand-visual svg { width:100%; min-height:62px }
}


.link-icon { display:inline-block; width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round }
.archive-link { display:inline-flex; align-items:center; gap:6px }
.row-icon { color:var(--muted) }
.outputs .column { padding-top:20px }
.outputs .card-head { gap:4px 10px; margin-bottom:13px }
.outputs li a { min-height:48px; padding-inline:6px 8px }
.entry-text { grid-template-columns:54px minmax(0,1fr); column-gap:10px; flex:1; min-width:0 }
.entry-text > span { min-width:0; overflow-wrap:anywhere }
.outputs li a:is(:hover,:focus-visible) .row-icon { color:var(--brand-text) }
.coverage summary { list-style:none; display:flex; align-items:center; gap:8px; min-height:34px; padding-inline:6px }
.coverage summary::-webkit-details-marker { display:none }
.coverage summary::before { content:""; width:5px; height:5px; border-right:1px solid; border-bottom:1px solid; transform:rotate(-45deg); margin-right:2px }
.coverage[open] summary::before { transform:rotate(45deg) }
@media(max-width:900px) { .archive-link { display:none } }
@media(max-width:900px) and (min-width:671px) {
  .entry-text { grid-template-columns:1fr; row-gap:2px }
}
@media(max-width:670px) {
  .outputs .column { padding-top:16px }
  .entry-text { grid-template-columns:54px minmax(0,1fr) }
}

.aigcrank-home main.shell{padding-inline:0}
.aigcrank-home .site-header{max-width:none;height:auto;padding:0}
.aigcrank-home .brand{width:146px}
.aigcrank-home .nav-sheet nav{gap:0}
@media(max-width:670px){.aigcrank-home .brand{width:132px}}
