@font-face{font-family:"Trust Sora";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/sora-latin.d2909123a6a8.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Trust Sora";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/sora-latin-ext.df4fca18912e.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
.tc{min-height:100vh;background:var(--tc-ground);color:var(--tc-ink);font-family:var(--tc-font);font-size:15px;line-height:24px;-webkit-text-size-adjust:100%}
.tc a{color:var(--tc-link);text-underline-offset:3px}
.tc a:hover{text-decoration-thickness:2px}
.tc :focus-visible{outline:2px solid var(--tc-focus);outline-offset:2px}
.tc h1,.tc h2{font-family:var(--tc-font-head);color:var(--tc-ink);text-wrap:balance;margin:0}
.tc p{margin:0}
.tc .muted{color:var(--tc-ink-2)}
.tc .small{font-size:13px;line-height:20px;color:var(--tc-ink-3)}
.tc .skip{position:absolute;left:12px;top:-60px;padding:8px 12px;background:var(--tc-surface);color:var(--tc-link);border-radius:var(--tc-radius);z-index:2}
.tc .skip:focus{top:12px}
.tc .band{background:var(--tc-brand);color:var(--tc-brand-ink)}
.tc .band a{color:var(--tc-brand-ink)}
.tc .band :focus-visible{outline-color:var(--tc-brand-ink)}
.tc .band-in{max-width:1160px;margin:0 auto;padding:18px 32px 44px;display:flex;flex-direction:column;gap:36px}
.tc .band-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.tc .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:17px}
.tc .brand .tag{font-weight:400}
.tc .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:calc(var(--tc-radius) / 2 + 2px);background:var(--tc-brand-ink);color:var(--tc-brand);font-weight:700;font-size:15px}
.tc nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.tc nav a{display:inline-block;padding:10px 0}
.tc .band h1{color:var(--tc-brand-ink);font-size:40px;line-height:48px;font-weight:700;letter-spacing:-0.02em}
.tc .lede{font-size:18px;line-height:28px;max-width:720px;margin-top:10px}
.tc .actions{display:flex;flex-wrap:wrap;gap:10px}
.tc .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--tc-radius);border:1px solid transparent;font-weight:600;text-decoration:none}
.tc .band .btn{background:var(--tc-brand-ink);color:var(--tc-brand)}
.tc main{max-width:1160px;margin:-20px auto 0;padding:0 32px 48px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.tc .card{grid-column:span 6;background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-radius);padding:22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px -16px rgba(0,0,0,.18)}
.tc .card.hot{border-color:var(--tc-brand)}
.tc .card.third{grid-column:span 2}
.tc .card.third h2{font-size:17px;line-height:26px;font-weight:600}
.tc .brand .logo{display:block;height:30px;width:auto;max-width:240px}
.tc ul.links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tc ul.links li{border-bottom:1px solid var(--tc-line)}
.tc ul.links a{display:block;padding:10px 0}
.tc ul.links li:last-child{border-bottom:0}
.tc .card h2{font-size:20px;line-height:28px;font-weight:650}
.tc .head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}
.tc .state{display:inline-flex;align-items:center;gap:6px;padding:1px 10px;border-radius:99px;font-size:13px;line-height:22px;font-weight:500;white-space:nowrap;border:1px solid var(--tc-line);color:var(--tc-ink-2)}
.tc .state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tc .state.new{border-color:var(--tc-brand);color:var(--tc-link)}
.tc .tablebox{overflow-x:auto}
.tc table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px;line-height:21px;font-variant-numeric:tabular-nums}
.tc caption{text-align:left;padding-bottom:6px}
.tc th{text-align:left;font-weight:600;font-size:13px;color:var(--tc-ink-2);padding:10px 12px;border-bottom:1px solid var(--tc-line);white-space:nowrap}
.tc td{padding:12px;border-bottom:1px solid var(--tc-line);vertical-align:top}
.tc tbody th{font-size:14px;color:var(--tc-ink);vertical-align:top;padding:12px;white-space:normal}
.tc td .small{display:block}
.tc ol.log{list-style:none;margin:0;padding:0}
.tc ol.log li{padding:12px 0;border-bottom:1px solid var(--tc-line);scroll-margin-top:16px}
.tc ol.log li:target{outline:2px solid var(--tc-focus);outline-offset:4px}
.tc ol.log h3{margin:0;font-size:15px;line-height:24px;font-weight:600}
.tc footer{max-width:1160px;margin:0 auto;padding:0 32px 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--tc-ink-3);font-size:13px;line-height:20px}
.tc footer a{color:var(--tc-ink-2)}
.tc .band.slim .band-in{padding-bottom:40px;gap:28px}
.tc .crumbs{font-size:14px;line-height:20px;margin-bottom:6px}
.tc .prose{display:flex;flex-direction:column;gap:12px;max-width:760px}
.tc .prose h3,.tc .prose h4,.tc .prose h5,.tc .prose h6{margin:10px 0 0;font-family:var(--tc-font-head);font-size:17px;line-height:26px;font-weight:600}
.tc .prose h4,.tc .prose h5,.tc .prose h6{font-size:15px;line-height:24px}
.tc .prose ul,.tc .prose ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
.tc .prose blockquote{margin:0;padding-left:16px;border-left:2px solid var(--tc-line);color:var(--tc-ink-2)}
.tc .prose hr{width:100%;margin:8px 0;border:0;border-top:1px solid var(--tc-line)}
.tc .prose code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.92em}
.tc ol.versions{list-style:none;margin:0;padding:0}
.tc ol.versions li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:12px 0;border-bottom:1px solid var(--tc-line)}
.tc ol.versions li:last-child{border-bottom:0}
.tc ol.versions .name{flex:1 1 200px;font-weight:600}
.tc ol.versions .when{font-size:13px;line-height:20px;color:var(--tc-ink-3)}
.tc dl.texts{margin:0;display:grid;grid-template-columns:minmax(0,1fr)}
.tc dl.texts>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 20px;padding:14px 0;border-bottom:1px solid var(--tc-line)}
.tc dl.texts>div:last-child{border-bottom:0}
.tc dl.texts dt{font-weight:600}
.tc dl.texts dd{margin:0;display:flex;flex-direction:column;gap:2px}
.tc dl.texts dd ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.tc .btn.quiet{background:transparent;color:var(--tc-link);border-color:var(--tc-line)}
@media (max-width:1000px){.tc .card.third{grid-column:span 3}}
@media (max-width:760px){.tc .card.third{grid-column:span 6}.tc .band-in,.tc main,.tc footer{padding-left:16px;padding-right:16px}.tc .band h1{font-size:30px;line-height:38px}.tc dl.texts>div{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.tc *{scroll-behavior:auto;transition:none}}
.tc{--tc-ground:#111317;--tc-surface:#181B21;--tc-ink:#F2F2F5;--tc-ink-2:#C4C6CF;--tc-ink-3:#9A9DA8;--tc-line:#2A2E36;--tc-brand:#FF7A29;--tc-brand-ink:#000000;--tc-link:#29D3EE;--tc-focus:#29D3EE;--tc-radius:14px;--tc-font:"Trust Sora", ui-sans-serif, system-ui, sans-serif;--tc-font-head:"Trust Sora", ui-sans-serif, system-ui, sans-serif;color-scheme:dark}.tc{--tc-ground:#050506;--tc-surface:#0b0b0d;--tc-line:rgba(255,255,255,.12);--tc-ink:#f2eee8;--tc-ink-2:#bdb6ab;--tc-ink-3:#a39c91;background-image:radial-gradient(800px 600px at 15% -240px,rgba(255,122,41,.15),transparent 70%),radial-gradient(760px 560px at 75% -200px,rgba(41,211,238,.12),transparent 70%);.band{background:transparent;color:var(--tc-ink);}.band a{color:var(--tc-ink);}.band h1{color:#fff;font-weight:500;letter-spacing:-.03em;}.band .btn{background:#ff7a29;color:#1c0d03;border-radius:999px;}.card{background:rgba(255,255,255,.04);}}
