/* Generated by scripts/build-t12-css.py from the mockup (t12-data). Do not edit by hand; edit the generator or the
   live-site adjustments in public/t12/t12-live.css. */
.t12 .news{position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--line)}
.t12 .news .wrap{padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(32px,3.6vw,52px)}
.t12 .news__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;margin:0 0 18px}
.t12 .news__h h2{margin:0;font:800 clamp(22px,2.2vw,30px)/1.1 var(--ff);letter-spacing:-.03em;color:var(--ink)}
.t12 .news__h h2 .zh{display:inline;margin-left:10px;font-size:.62em;font-weight:500;letter-spacing:0;color:var(--muted)}
.t12 .news__h p{margin:0;font-size:13px;color:var(--muted)}
.t12 .ncols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,2.6vw,40px)}
.t12 .ncol{position:relative;min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:14px}
.t12 .ncol::before{content:"";position:absolute;left:0;top:-2px;width:48px;height:3px;background:var(--sygrad)}
.t12 .ncol h3{margin:0 0 2px;font:700 12px/1.35 var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.t12 .ncol h3 .zh{display:inline;margin-left:8px;letter-spacing:.04em;font-weight:500;color:var(--muted)}
.t12 .nlist,.t12 .nfeed{list-style:none;margin:0;padding:0}
.t12 .nlist li{border-bottom:1px solid var(--line)}
.t12 .nitem{position:relative;padding:14px 0 12px}
.t12 .nmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;font:600 12.5px/1.3 var(--ff);color:var(--muted);font-variant-numeric:tabular-nums}
.t12 .nmeta time{color:var(--ink);font-weight:700;margin-right:2px}
.t12 .nup{font-weight:600;color:var(--ac)}
.t12 .nbadge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:var(--bg3);color:var(--body);font:600 11px/1 var(--ff);letter-spacing:.02em;white-space:nowrap}
.t12 .nbadge.off{background:var(--act);color:var(--ach)}
.t12 .nbadge.prop{background:#fff;box-shadow:inset 0 0 0 1px var(--line3);color:var(--ink)}
.t12 .nt{margin:7px 0 0;font:600 15px/1.45 var(--ff);letter-spacing:-.005em;color:var(--ink);text-wrap:pretty}
.t12 .nz{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:var(--body)}
.t12 .nsrc{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:2px 0 -6px;font:600 13px/1.3 var(--ff);color:var(--ink);text-decoration:underline;text-decoration-color:var(--line3);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}
.t12 .nsrc svg{width:11px;height:11px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.t12 .nsrc:hover{color:var(--ach);text-decoration-color:currentColor}
.t12 .nsrc:hover svg{transform:translate(2px,-2px)}}
.t12 .nsrc:focus-visible,.t12 .nmore:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:2px}
.t12 .nmore{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:44px;margin-top:6px;font:700 14px/1 var(--ff);color:var(--ink);text-decoration:none;position:relative}
.t12 .nmore::after{content:"";position:absolute;left:0;right:22px;bottom:10px;height:1px;background:var(--sygrad);transform:scaleX(.35);transform-origin:left;transition:transform .45s cubic-bezier(.23,1,.32,1)}
.t12 .nmore svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.t12 .nmore:hover::after{transform:scaleX(1)}
.t12 .nmore:hover svg{transform:translateX(3px)}}
@media (max-width:900px){.t12 .ncols{grid-template-columns:minmax(0,1fr);gap:30px}
.t12 .ncol .nlist li:nth-child(n+3){display:none}}
.t12 .nfeed{margin-top:clamp(8px,1vw,16px);border-top:1px solid var(--ink)}
.t12 .nfeed>li{border-bottom:1px solid var(--line)}
.t12 .nfeed .nitem{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);grid-template-areas:"m t" "m z" "m s";gap:0 clamp(20px,3vw,48px);padding:20px 0 16px}
.t12 .nfeed .nmeta{grid-area:m;align-content:start;flex-direction:column;align-items:flex-start;gap:8px}
.t12 .nfeed .nmeta time{font-size:15px}
.t12 .nfeed .nt{grid-area:t;margin:0;max-width:62ch;font-size:clamp(16px,1.35vw,18.5px);line-height:1.42;font-weight:700}
.t12 .nfeed .nz{grid-area:z;max-width:62ch;font-size:14.5px}
.t12 .nfeed .nsrc{grid-area:s;justify-self:start}
@media (max-width:700px){.t12 .nfeed .nitem{grid-template-columns:minmax(0,1fr);grid-template-areas:"m" "t" "z" "s";gap:0}
.t12 .nfeed .nmeta{flex-direction:row;align-items:center;margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.t12 .nsrc,.t12 .nsrc svg,.t12 .nmore::after,.t12 .nmore svg{transition:none}}
