.v2{--v2-page:#f8f8f8;--v2-card:#fff;--v2-subtle:#f0f1f1;--v2-line:#e6e8e8;--v2-line-strong:#d9dcdc;--v2-ink:#182020;--v2-muted:#465050;--v2-dim:#687070;--v2-brand:#4870f8;--v2-accent:#3e64ee;--v2-accent-soft:#eef2fe;--v2-linen:#e7ddd3;--v2-midnight:#152441;--v2-slate:#4a6290;--v2-critical:#d93a2f;--v2-critical-soft:#fcebea;--v2-major:#ff9619;--v2-major-soft:#fff2e2;--v2-major-text:#a35a00;--v2-pass:#5a9c3b;--v2-pass-soft:#eef6ea;--v2-pass-text:#3f7a26;--v2-grade-a:#5b8af3;--v2-grade-b:#5a9c3b;--v2-grade-c:#ff9619;--v2-grade-d:#d93a2f;--v2-grade-f:#8b1d1d;--v2-avatar-blue-bg:#e1edff;--v2-avatar-blue-fg:#0f4fcc;--v2-avatar-green-bg:#e6f4e1;--v2-avatar-green-fg:#2f6b1e;--v2-avatar-orange-bg:#fff2e2;--v2-avatar-orange-fg:#a35a00;--v2-avatar-purple-bg:#efe8ff;--v2-avatar-purple-fg:#5b3cc4;--v2-avatar-teal-bg:#dff4f1;--v2-avatar-teal-fg:#0e6e63;--v2-avatar-pink-bg:#fce7f0;--v2-avatar-pink-fg:#a8336b;--v2-avatar-amber-bg:#fff5d6;--v2-avatar-amber-fg:#7a5800;--v2-avatar-stone-bg:#efeee9;--v2-avatar-stone-fg:#4d4f54;--v2-shadow-card:0 0 0 1px #1113180d, 0 1px 2px #1113180f;--v2-shadow-xs:0 1px 2px #1113180d;--v2-shadow-float:0 4px 12px -4px #12121a2e;--v2-radius-card:20px;--v2-radius-control:10px;--v2-ease:cubic-bezier(.2, .7, .2, 1);--v2-fast:.14s;--v2-base:.22s}@layer base{.v2{background:var(--v2-page);color:var(--v2-ink);font-family:var(--font-sans)}}.v2 .font-mono-code{font-family:"Geist Mono", var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace}.v2 a,.v2 button,.v2 .v2-lift,.v2 .v2-row{transition:background-color var(--v2-fast) var(--v2-ease), border-color var(--v2-fast) var(--v2-ease), color var(--v2-fast) var(--v2-ease), box-shadow var(--v2-base) var(--v2-ease), opacity var(--v2-fast) var(--v2-ease), transform var(--v2-base) var(--v2-ease)}.v2 button:active:not(:disabled),.v2 .v2-press:active{transform:scale(.97)}.v2 .v2-lift:hover{border-color:var(--v2-line-strong);transform:translateY(-2px);box-shadow:0 10px 24px -12px #12121a2e}.v2 .v2-row:hover{background:var(--v2-page)}.v2 .v2-arrow{transition:transform var(--v2-base) var(--v2-ease);display:inline-block}.v2 a:hover .v2-arrow,.v2 button:hover .v2-arrow{transform:translate(3px)}.v2 input:focus-visible,.v2 textarea:focus-visible{outline:none}.v2 :focus-visible{outline:3px solid color-mix(in srgb, var(--v2-accent) 35%, transparent);outline-offset:2px;border-radius:8px}@keyframes v2-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes v2-fade{0%{opacity:0}to{opacity:1}}@keyframes v2-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes v2-draw{0%{stroke-dashoffset:var(--v2-len,600)}to{stroke-dashoffset:0}}@keyframes v2-needle{0%{transform:rotate(var(--v2-from,-90deg))}}@keyframes v2-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes v2-progress{0%{transform:scaleX(0)}60%{transform:scaleX(.7)}to{transform:scaleX(.92)}}.v2 .v2-enter>*{animation:v2-rise .42s var(--v2-ease) both}.v2 .v2-enter>:nth-child(2){animation-delay:50ms}.v2 .v2-enter>:nth-child(3){animation-delay:.1s}.v2 .v2-enter>:nth-child(4){animation-delay:.15s}.v2 .v2-enter>:nth-child(5){animation-delay:.2s}.v2 .v2-enter>:nth-child(n+6){animation-delay:.25s}.v2 .v2-fade{animation:v2-fade .26s var(--v2-ease) both}.v2 .v2-bar{transform-origin:bottom;animation:v2-grow-y .6s var(--v2-ease) both}.v2 .v2-line{stroke-dasharray:var(--v2-len,600);animation:v2-draw .9s var(--v2-ease) both}.v2 .v2-needle{transform-box:view-box;animation:v2-needle .9s var(--v2-ease) both}.v2 .v2-skeleton{background:linear-gradient(90deg, var(--v2-subtle) 0, #f7f8f8 50%, var(--v2-subtle) 100%);background-size:800px 100%;animation:1.3s linear infinite v2-shimmer}.v2 .v2-progress{transform-origin:0;animation:v2-progress 1.6s var(--v2-ease) both}@keyframes v2-scan{0%{top:0%}to{top:100%}}.v2-scan{animation:2.8s cubic-bezier(.45,0,.55,1) infinite alternate v2-scan;position:absolute;top:0;left:0;right:0}@keyframes v2-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 45%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 0%, transparent)}}.v2-pulse{animation:1.6s ease-in-out infinite v2-pulse}@media (prefers-reduced-motion:reduce){.v2 .v2-scan{display:none}.v2 .v2-pulse{animation:none}.v2 *,.v2 :before,.v2 :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}.v2 .v2-lift:hover{transform:none}}@keyframes v2-caret{50%{opacity:0}}.v2 .v2-caret{animation:1s step-end infinite v2-caret}@media (prefers-reduced-motion:reduce){.v2 .v2-caret{animation:none}}
