.art a{color:inherit}.art button{font:inherit;color:inherit;cursor:pointer}.art :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.art h1,.art h2,.art h3{text-wrap:balance;margin:0}.art p,.art ul,.art ol,.art figure{margin:0}.art .gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.art .wrap{max-width:1160px;margin-inline:auto}.art .label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.art .ico{flex:none;width:16px;height:16px}.art .btn{--bh:38px;height:var(--bh);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.art .btn-primary{background:var(--fg);color:var(--bg)}.art .btn-primary:hover{opacity:.88}.art .btn-ghost{border-color:var(--line-2)}.art .btn-ghost:hover{background:var(--surface-2)}.art .stack{position:relative}.art .cover{top:calc(env(safe-area-inset-top,0px) + var(--nav-h));z-index:1;height:min(78vh,700px);min-height:520px;padding-block:14px;position:sticky}.art .cover-card{isolation:isolate;color:#f6f7fb;height:100%;transform:scale(calc(1 - var(--k,0) * .045));transform-origin:50% 0;will-change:transform;border-radius:26px;position:relative;overflow:hidden}.art .cover-card:before{content:"";z-index:-2;background:var(--cover,url(/assets/hero-aurore.webp)) center 30%/cover no-repeat;position:absolute;inset:0}.art .cover-card:after{content:"";z-index:-1;background:linear-gradient(90deg,#0a0a10c7 0%,#0a0a1073 42%,#0a0a1014 75%),linear-gradient(#0a0a1000 45%,#0a0a10d9 100%);position:absolute;inset:0}.art .cover-dim{z-index:3;opacity:calc(var(--k,0) * .45);pointer-events:none;background:#000;position:absolute;inset:0}.art .cover-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:40px;height:100%;padding:clamp(24px,4.4vw,60px);display:grid}.art .cover-text{flex-direction:column;gap:20px;min-width:0;display:flex}.art .crumbs{color:#ebeefab3;flex-wrap:wrap;gap:8px;font-size:13px;display:flex;position:absolute;top:clamp(20px,3vw,32px);left:clamp(24px,4.4vw,60px)}.art .crumbs a{text-decoration:none}.art .crumbs a:hover{color:#fff}.art .chip{-webkit-backdrop-filter:blur(8px);color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 11px;font-size:12.5px;text-decoration:none;display:inline-flex}.art .chip i{background:#7be3bb;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #7be3bb}.art h1{letter-spacing:-.05em;max-width:11em;font-size:clamp(38px,5.6vw,72px);font-weight:600;line-height:1}.art .dek{color:#ebeefac7;max-width:34em;font-size:clamp(16px,1.5vw,19px);line-height:1.55}.art .byline{flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:4px;display:flex}.art .author{align-items:center;gap:11px;text-decoration:none;display:flex}.art .avatar{color:#0b0c10;background:linear-gradient(135deg,#7be3bb,#6f86ff);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:grid}.art .author b{font-size:14px;font-weight:600;display:block}.art .author small{color:#ebeefaa8;font-size:12.5px;display:block}.art .meta{color:#ebeefaa8;flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.art .meta span+span:before{content:"·";opacity:.6;margin-right:14px}.art .answer{-webkit-backdrop-filter:blur(18px)saturate(140%);color:#f0f2fadb;background:#10101a6b;border:1px solid #ffffff2e;border-radius:18px;flex-direction:column;justify-self:end;gap:14px;width:min(100%,380px);padding:18px;font-size:13.5px;animation:7s ease-in-out infinite alternate floaty;display:flex;box-shadow:0 30px 60px -30px #0009}.art .answer-q{color:#fff;background:#ffffff1f;border-radius:14px 14px 4px;align-self:flex-end;max-width:85%;padding:9px 13px}.art .answer-a{flex-direction:column;gap:8px;display:flex}.art .answer-a i{background:#ffffff2e;border-radius:4px;height:7px;display:block}.art .answer-src{flex-wrap:wrap;gap:6px;display:flex}.art .answer-src span{color:#ebeefab3;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;padding:4px 9px 4px 5px;font-size:11.5px;display:inline-flex}.art .answer-src b{width:16px;height:16px;font-family:var(--font-mono);background:#ffffff24;border-radius:50%;place-items:center;font-size:9.5px;font-weight:500;display:grid}.art .answer-src .me{color:#fff;border-color:#7be3bb99;box-shadow:0 0 18px -4px #7be3bbb3}.art .answer-src .me b{color:#0c1a14;background:#7be3bb}@keyframes floaty{to{transform:translateY(-8px)}}@media (width<=900px){.art .cover-in{grid-template-columns:1fr}.art .answer{display:none}}@media (width<=640px){.art .cover{height:auto;min-height:0;position:relative;top:auto}.art .cover-card{border-radius:20px;min-height:560px}.art .cover-in{padding:72px 20px 24px}.art .crumbs{left:20px}.art .cover-card:before{background-position:18% 10%;background-size:auto 130%}.art .cover-card:after{background:linear-gradient(#0a0a100d 22%,#0a0a10b8 58%,#0a0a10f0 100%)}}.art .sheet{z-index:2;background:var(--bg);border-radius:30px 30px 0 0;margin-top:-6px;position:relative;box-shadow:0 -30px 60px -40px #0000008c}@media (width<=640px){.art .sheet{box-shadow:none;border-radius:0;margin-top:0}}.art .tocbar{top:calc(env(safe-area-inset-top,0px) + var(--nav-h));z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:none;position:sticky}.art .tocbar-btn{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.art .tocbar-n{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.art .tocbar-t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.art .tocbar-btn svg{width:16px;height:16px;color:var(--muted);transition:transform .3s var(--ease)}.art .tocbar-btn[aria-expanded=true] svg{transform:rotate(180deg)}.art .tocbar-prog{background:var(--accent);height:2px;transform:scaleX(var(--p,0));transform-origin:0;position:absolute;bottom:-1px;left:0;right:0}.art .tocbar-sheet{border-top:1px solid var(--line);max-height:60vh;padding:6px 0 14px;overflow:auto}.art .tocbar-sheet a{color:var(--muted);padding:9px 0;font-size:15px;text-decoration:none;display:block}.art .tocbar-sheet a.on{color:var(--fg);font-weight:500}@media (width<=1099px){.art .tocbar{display:block}}.art .layout{grid-template-columns:minmax(0,680px) 240px;justify-content:space-between;gap:72px;padding-block:72px 40px;display:grid}@media (width<=1099px){.art .layout{grid-template-columns:minmax(0,1fr);max-width:680px;padding-block:36px 24px}.art .aside{display:none}}.art .article{min-width:0}.art .prose{color:var(--fg-2);flex-direction:column;gap:24px;font-size:17.5px;line-height:1.78;display:flex}.art .prose>p:first-of-type{color:var(--fg);font-size:19px;line-height:1.7}.art .prose h2{letter-spacing:-.035em;color:var(--fg);margin-top:36px;font-size:clamp(25px,2.5vw,30px);font-weight:600;line-height:1.18}.art .prose h2 .n{display:none}.art .prose h2 a.anchor{opacity:0;color:var(--faint);margin-left:10px;font-size:.7em;text-decoration:none;transition:opacity .2s}.art .prose h2:hover a.anchor,.art .prose h2 a.anchor:focus-visible{opacity:1}.art .prose p a,.art .prose li a{color:var(--fg);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-underline-offset:3px}.art .prose strong{color:var(--fg);font-weight:600}.art .prose ul.list,.art .prose ol.list{flex-direction:column;gap:10px;padding-left:22px;display:flex}.art .prose ul.list li::marker{color:var(--accent)}.art .prose ol.list li::marker{font-family:var(--font-mono);color:var(--accent);font-size:.8em}.art code{font-family:var(--font-mono);background:var(--surface-2);color:var(--fg);border-radius:5px;padding:1px 6px;font-size:.84em}.art .cap{color:var(--muted);font-size:13.5px;line-height:1.5}.art .kp{border-left:2px solid var(--accent);flex-direction:column;gap:12px;padding:4px 0 4px 22px;display:flex}.art .kp ul{color:var(--fg-2);flex-direction:column;gap:8px;padding-left:18px;font-size:16px;line-height:1.6;display:flex}.art .kp li::marker{color:var(--accent)}.art .ai{border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:20px 22px;font-size:15.5px;line-height:1.65;display:flex}.art .ai-q{background:var(--surface-2);max-width:80%;color:var(--fg);border-radius:14px 14px 4px;align-self:flex-end;padding:9px 14px;font-size:14.5px}.art .ai-a strong{color:var(--fg)}.art .cite{background:var(--surface-2);min-width:17px;height:17px;font-family:var(--font-mono);color:var(--muted);vertical-align:2px;border-radius:5px;place-items:center;margin-left:3px;padding:0 4px;font-size:10px;display:inline-grid}.art .cite.me{background:var(--accent-soft);color:var(--accent)}.art .srcs{flex-wrap:wrap;gap:6px;display:flex}.art .src{border:1px solid var(--line-2);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:12.5px;display:inline-flex}.art .src b{background:var(--surface-2);width:17px;height:17px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:9.5px;font-weight:500;display:grid}.art .src.me{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--fg)}.art .src.me b{background:var(--accent);color:var(--on-accent)}.art .fig2{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:28px;padding-block:22px;display:grid}.art .fig2 .big{letter-spacing:-.06em;color:var(--fg);font-size:76px;font-weight:500;line-height:.85}.art .fig2 p{color:var(--muted);font-size:15.5px;line-height:1.6}.art .fig2 p b{color:var(--fg);margin-bottom:4px;font-size:16.5px;font-weight:600;display:block}@media (width<=520px){.art .fig2{grid-template-columns:1fr;gap:10px}}.art .data{flex-direction:column;gap:18px;display:flex}.art .data-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.art .data-head h3{letter-spacing:-.015em;color:var(--fg);font-size:16px;font-weight:600}.art .tag-ex{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);font-size:10.5px}.art .bars{flex-direction:column;gap:14px;margin:0;display:flex}.art .bar-row{grid-template-columns:180px 1fr 40px;align-items:center;gap:16px;font-size:14.5px;display:grid}.art .bar-row dt{color:var(--muted)}.art .bar-row dd{background:var(--line);border-radius:3px;height:6px;margin:0;overflow:hidden}.art .bar-row dd i{height:100%;width:var(--v);background:var(--bar);transform-origin:0;animation:artgrow 1s var(--ease) both;border-radius:3px;display:block}.art .bar-row.me dd i{background:var(--accent)}.art .bar-row.me dt{color:var(--fg)}.art .bar-row span{font-family:var(--font-mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}@keyframes artgrow{0%{transform:scaleX(0)}}@media (width<=520px){.art .bar-row{grid-template-columns:1fr 40px;gap:6px 12px}.art .bar-row dt{grid-column:1/-1}}.art .note{border-left:2px solid var(--line-2);color:var(--fg-2);padding:2px 0 2px 20px;font-size:16px;line-height:1.65}.art .note b{color:var(--fg)}.art .note.warn{border-left-color:var(--warn)}.art .code{border:1px solid var(--line);border-radius:14px;overflow:hidden}.art .code-head{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding:9px 14px;font-size:11.5px;display:flex}.art .code-head button{font-family:var(--font-mono);color:var(--muted);background:0 0;border:0;padding:2px 4px;font-size:11px}.art .code-head button:hover{color:var(--fg)}.art .code pre{font-family:var(--font-mono);color:var(--fg-2);margin:0;padding:16px 18px;font-size:13.5px;line-height:1.75;overflow-x:auto}.art .code .c{color:var(--faint)}.art .code .k{color:var(--accent)}.art .tbl{overflow-x:auto}.art .tbl table{border-collapse:collapse;width:100%;min-width:500px;font-size:15px;line-height:1.5}.art .tbl th,.art .tbl td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:13px 16px 13px 0}.art .tbl thead th{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.art .tbl td:first-child{color:var(--fg);font-weight:500}.art .tbl .no{color:var(--muted)}.art .tbl .yes{color:var(--fg)}.art .faq{border-top:1px solid var(--line);flex-direction:column;display:flex}.art .faq details{border-bottom:1px solid var(--line)}.art .faq summary{cursor:pointer;color:var(--fg);justify-content:space-between;gap:16px;padding:18px 0;font-size:17px;font-weight:500;line-height:1.4;list-style:none;display:flex}.art .faq summary::-webkit-details-marker{display:none}.art .faq summary i{color:var(--muted);transition:transform .3s var(--ease);flex:none;font-size:20px;font-style:normal;line-height:1}.art .faq details[open] summary i{transform:rotate(45deg)}.art .faq details p{padding-bottom:18px;font-size:16.5px}.art .sources{flex-direction:column;gap:8px;padding-left:22px;font-size:14.5px;display:flex}.art .sources li::marker{font-family:var(--font-mono);color:var(--muted);font-size:12px}.art .sources a{color:var(--fg-2)}.art .endbar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:36px;padding-top:28px;display:flex}.art .tags{flex-wrap:wrap;gap:6px;display:flex}.art .tags a{border:1px solid var(--line-2);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12.5px;text-decoration:none}.art .tags a:hover{color:var(--fg)}.art .aside{min-width:0}.art .aside-in{top:calc(env(safe-area-inset-top,0px) + var(--nav-h,64px) + 28px);flex-direction:column;gap:28px;display:flex;position:sticky}.art .toc{flex-direction:column;gap:12px;display:flex}.art .toc-head{justify-content:space-between;align-items:center;display:flex}.art .toc-pct{font-family:var(--font-mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.art .toc-track{position:relative}.art .toc-track:before{content:"";background:var(--line-2);width:1px;position:absolute;top:0;bottom:0;left:0}.art .toc-rail{width:1px;height:calc(100% * var(--p,0));background:var(--accent);box-shadow:0 0 8px var(--accent);position:absolute;top:0;left:0}.art .toc ol{flex-direction:column;padding:0;list-style:none;display:flex}.art .toc a{color:var(--muted);padding:6px 0 6px 16px;font-size:13.5px;line-height:1.45;text-decoration:none;transition:color .25s;display:block}.art .toc a:hover{color:var(--fg)}.art .toc a.on{color:var(--fg);font-weight:500}.art .share{border:1px solid var(--line);color:var(--muted);text-align:left;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;display:flex}.art .share:hover{color:var(--fg);border-color:var(--line-2)}.art .side-cta{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:24px;display:flex}.art .side-cta h3{letter-spacing:-.015em;font-size:15.5px;line-height:1.35}.art .side-cta p{color:var(--muted);font-size:13px;line-height:1.5}.art .field{border:1px solid var(--line-2);background:var(--bg-2);border-radius:10px;align-items:center;gap:6px;height:40px;padding:0 12px;display:flex}.art .field span{font-family:var(--font-mono);color:var(--faint);font-size:12px}.art .field input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:14px}.art .side-cta .btn{width:100%}.art .side-msg{color:var(--accent);font-size:12.5px}.art .end{isolation:isolate;color:#f5f6fb;text-align:center;background:#0f0e15;border-radius:26px;flex-direction:column;align-items:center;gap:16px;padding:64px clamp(20px,5vw,56px);display:flex;position:relative;overflow:hidden}.art .end:before{content:"";z-index:-2;background:url(/assets/hero-aurore.webp) 50% 30%/cover no-repeat;position:absolute;inset:0;transform:scaleY(-1)}.art .end:after{content:"";z-index:-1;background:linear-gradient(#0f0e15 0%,#0f0e15a6 40%,#0f0e1533 100%);position:absolute;inset:0}.art .end .label{color:#e2e6fa9e}.art .end h2{letter-spacing:-.04em;max-width:15em;font-size:clamp(28px,3.6vw,40px);line-height:1.08}.art .end p{color:#e2e6fabd;max-width:32em;font-size:16px}.art .end .row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.art .end .btn-primary{color:#0c0d1c;background:#fff}.art .end .btn-ghost{color:#fff;border-color:#ffffff3d}.art .end .btn-ghost:hover{background:#ffffff14}.art .related{padding-block:88px 104px}.art .related-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;display:flex}.art .related-head h2{letter-spacing:-.035em;font-size:clamp(24px,2.6vw,30px)}.art .related-head a{color:var(--muted);font-size:14px;text-decoration:none}.art .related-head a:hover{color:var(--fg)}.art .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.art .card{flex-direction:column;gap:12px;text-decoration:none;display:flex}.art .thumb{aspect-ratio:16/10;background:var(--bg-2);border-radius:16px;max-width:100%;position:relative;overflow:hidden}.art .thumb:before{content:"";background:url(/assets/hero-aurore.webp) var(--pos,center)/cover no-repeat;filter:hue-rotate(var(--h,0deg)) saturate(1.1);transition:transform .7s var(--ease);position:absolute;inset:-6%}.art .card:hover .thumb:before{transform:scale(1.05)}.art .card .kicker{color:var(--muted);gap:10px;font-size:12.5px;display:flex}.art .card h3{letter-spacing:-.025em;font-size:18px;line-height:1.3}.art .card p{color:var(--muted);font-size:14.5px;line-height:1.55}@media (width<=860px){.art .cards{grid-template-columns:1fr;gap:36px}}@media (prefers-reduced-motion:reduce){.art .cover-card{transform:none}.art .cover-dim{opacity:0}}.art .side-cta .side-h{letter-spacing:-.015em;font-size:15.5px;font-weight:500;line-height:1.35}.art .side-links{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:20px;font-size:13.5px;display:flex}.art .side-links a{color:var(--fg-2)}.art .side-links a:hover{color:var(--accent)}.art .blog-head{max-width:760px;padding:clamp(120px,14vw,180px) 0 40px}.art .blog-head h1{letter-spacing:-.045em;font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.02}.art .blog-head p{color:var(--muted);margin-top:18px;font-size:17px}.art .blog-cat{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:48px 0 20px;font-size:12px}.art .blog-empty{color:var(--muted);padding:40px 0 120px}.art .note p{margin:0}.art .note p+p{margin-top:8px}.art figure.img{margin:30px 0}.art figure.img img{border:1px solid var(--line);border-radius:16px;width:100%;max-width:100%;height:auto;display:block}.art figure.img .cap{margin-top:10px}
