/* TYPE SCALE OWNERSHIP. This file used to declare its own --t-11..--t-38 ladder and use four
   steps of it, so twelve of the site's thirty-three pages shipped a SECOND type scale that
   check_type_scale.mjs never opens -- the gate reads shipped font-sizes, and a tokenised override
   is invisible to it. The four uses now point at vz.css's --fs-* steps (11/12/13 map exactly) and
   the ladder is gone. One scale, one owner, one gate that can see it. */

/* ==================================================================================================
   VEIZIK — what the twelve non-generated pages SHARE (2026-09-25).

   /privacy /terms /refund /security /notices /subprocessors /model-licenses /data-requests
   /youth-protection and the three under /legal each carried their own inline stylesheet: eight
   distinct sheets, 20.5-34.4 KB apiece, 298 KB in total.

   ONLY RULES IDENTICAL IN ALL TWELVE AND SAFE TO MOVE ARE HERE. Identical is not enough on its
   own: this file loads right after vz.css, ahead of what stays inline, so a shared rule that used
   to sit AFTER a page-specific rule with the same selector and an overlapping property would move
   in front of it and lose a fight it used to win. Measured across the twelve, 7-14 rules per page
   are in that position; they stay inline. 79 of the 98 identical rules moved here.

   What is left is duplication with nothing else attached: every page already renders with exactly
   these bytes, in this position, so lifting them cannot change a pixel.

   What is deliberately NOT here: everything the pages do differently. They are not twelve drifted
   copies of one sheet, they are a few page types. /legal/index and /legal/ai-transparency are
   overview pages built from cards; /privacy, /terms, /security and the rest are long documents
   with numbered sections and a contents panel. An earlier attempt took the largest sheet whole and
   applied it to all twelve: the documents' contents panels collapsed into a run-on line of links
   and their section numbers ran into their headings. Consolidating a page type into another page
   type is not deduplication.

   The divergences that remain are listed in the commit that created this file. Some are design
   (an index page is not a document); some are accidents, and `.toc` was one -- it rendered as a
   flex run of links on /privacy and a bordered panel on /terms until 2026-09-24. Those get fixed
   one at a time, with a render in front of you, not by a merge.
   ================================================================================================== */

@font-face{
  @font-face{font-family:'Red Hat Display';font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/RedHatDisplay.woff2) format('woff2')}
  @font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/JetBrainsMono.woff2) format('woff2')}
}
*{box-sizing:border-box;margin:0;padding:0}
a{color:var(--amber2);text-decoration:none}
a:hover{color:var(--amber)}
.mono{font-family:var(--mono)}
.brand span{display:block;font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.08em}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber); display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--amber)}
th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut); background:var(--bg1);font-weight:500;white-space:nowrap}
tbody tr:last-child td{border-bottom:none}
svg.i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em}
.btn:hover{background:var(--amber2);color:#0d0205}
.nav-links a{color:var(--mut);font-size:14px}
.nav-links a:hover{color:var(--ink)}
.fbrand p{color:var(--mut);font-size:13px;margin:10px 0 14px;max-width:34ch}
.fcol h4{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.fcol a{display:block;color:var(--mut);font-size:14px;margin-bottom:9px}
.fcol a:hover{color:var(--amber2)}
@media(max-width:900px){
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .nav-links{display:none}
  .fgrid{grid-template-columns:1fr}
}
:root{ --lh-prose:1.72; --lh-ui:1.45; --lh-head:1.18; --measure:68ch; --measure-wide:78ch; --ko:'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR';}
html{-webkit-text-size-adjust:100%}
.mono,code,kbd,pre,samp{font-family:var(--mono),var(--ko),monospace}
h1,h2,h3,h4,h5{line-height:var(--lh-head);text-wrap:balance}
h4{letter-spacing:-.005em;font-weight:600}
p,li{line-height:var(--lh-prose)}
section > p,main > p,.lede,p.muted{max-width:var(--measure-wide)}
/* This rule exists to add the Korean and generic-monospace fallbacks that --mono does not
   carry ('JetBrains Mono',ui-monospace,'SF Mono',Menlo,Consolas -- no Hangul face, no
   `monospace`). On Korean legal pages that matters, so it must stay AFTER the per-selector
   rules above and win the font-family.

   It used to carry `letter-spacing:.11em` as well, and that was a REGRESSION on all twelve
   pages: same specificity, later position, so it beat .eyebrow{.16em}, th{.06em} and
   .fcol h4{.08em} -- values that vz.css sets identically, i.e. the design system's own.
   Measured before the extraction, .eyebrow tracked 1.76px and th 0.66px; after it, both
   rendered 1.21px. In the pages' original inline sheets this grouped rule sat BEFORE the
   specific ones and lost; the extractor emitted rules in one page's document order and
   inverted that. Tracking now stays with the selector that owns it, and the two selectors
   that have no rule of their own keep .11em explicitly. */
.eyebrow,th,.fcol h4,.toc h3,.stat .l{font-family:var(--mono),var(--ko),monospace}
.toc h3,.stat .l{letter-spacing:.11em}
th{font-size:var(--fs-micro)}
.nav-links a,.mobile a,.btn,.tab,.pill,.badge,.fbot,.meta-line,.microcopy{font-family:var(--mono),var(--ko),monospace}
.nav-links a{font-size:var(--fs-meta);letter-spacing:-.005em}
.num,td,th,.stat .n,table{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.pill svg.i{font-size:1em;margin-right:.35em;vertical-align:-.12em}
.pill .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:.4em;vertical-align:.05em}
.pill.ok{color:var(--ok);border-color:var(--ok-d);background:rgba(143,185,138,.07)}
.pill.am{color:var(--amber);border-color:var(--amber-d);background:rgba(218,91,117,.08)}
.pill.live{color:var(--ok)}
details.disclosure{border:1px solid var(--line);border-radius:var(--r,12px);background:var(--bg1);margin-top:12px}
details.disclosure > summary{cursor:pointer;list-style:none;padding:12px 16px; font-family:var(--mono),var(--ko),monospace;font-size:var(--fs-small);letter-spacing:.04em; color:var(--mut);display:flex;align-items:center;gap:9px}
details.disclosure > summary::-webkit-details-marker{display:none}
details.disclosure > summary::before{content:"+";color:var(--amber);font-weight:700;width:1em;flex:0 0 auto}
details.disclosure[open] > summary::before{content:"−"}
details.disclosure > summary:hover{color:var(--ink)}
details.disclosure .dbody{padding:2px 16px 14px;border-top:1px solid var(--line)}
details.disclosure .dbody ul{list-style:none;display:grid;gap:9px;margin:12px 0 0;padding:0}
details.disclosure .dbody li{color:var(--mut);font-size:var(--fs-meta);line-height:var(--lh-prose); padding-left:16px;position:relative;max-width:var(--measure-wide)}
details.disclosure .dbody li::before{content:"—";color:var(--amber-d);position:absolute;left:0}
details.disclosure .dbody b{color:var(--ink)}
.langsw:hover,.langsw:focus-visible{color:var(--amber2);border-color:var(--amber-d)}
.langsw::after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%; background:var(--amber);opacity:.9}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}
html,body{overflow-x:hidden}
.tw,.codebox,.term{max-width:100%}
pre{overflow-x:auto}
img,video,svg:not(.i){max-width:100%;height:auto}
.fbrand{grid-column:span 2}
@media(max-width:620px){
  .fbrand{grid-column:auto}
}
.term pre,.codebox pre{font-size:12px;line-height:1.8}
.term .bar .t,.codebox .bar .t{font-size:11px}
.pill{max-width:100%}
.card .pill,.scard .pill{white-space:normal}
.tile .btn,.card .btn{white-space:normal;text-align:center;justify-content:center;line-height:1.35}
.hero>*,.grid2>*,.grid3>*,.models>*,.soongrid>*,.fgrid>*,.stats>*,.tm>*,.cmpgrid>*{min-width:0}
.term,.codebox,.tw,.card,.tile,.model,.stat{min-width:0}
.cta,.microcopy{flex-wrap:wrap}
.cta>*{min-width:0}
.btn.sm{line-height:1.35}
:root{--num:#b98a35}
.toc .n,.toc a .n{color:var(--num)}
section.tos li::before,details.disclosure .dbody li::before,.plain li::before{color:var(--num)}
h2 .no,h2 .num{color:var(--num)}
.callout .k{color:var(--amber)}
.hero .pill,.pill.am[style*="margin-bottom"]{white-space:normal}
@media(max-width:520px){
  .brand span{white-space:nowrap;font-size:11px}
  .brand b{font-size:16px}
  .nav-cta{gap:8px}
}
