:root{
  --rv-primary:#00c2a8;
  --rv-primary-hover:#13b7a2;
  --rv-primary-soft:#d9f5ef;
  --rv-primary-paper:#087f72;
  --rv-accent:#69bfd1;
  --rv-dark:#173532;
  --rv-ink:#172321;
  --rv-muted:#596866;
  --rv-paper:#f7f3ea;
  --rv-surface:#ffffff;
  --rv-mint:#cfebda;
  --rv-blue:#dceef1;
  --rv-yellow:#f5e7b6;
  --rv-line:#dce4df;
  --rv-line-dark:rgba(255,255,255,.16);
  --rv-input-line:#aebdb8;
  --rv-terminal:#16312f;
  --rv-danger:#c94b45;
  --rv-success:#16806f;
  --rv-font-heading:"Sora",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --rv-font-body:"Chivo",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --rv-font-mono:"SFMono-Regular","Cascadia Code","Roboto Mono","Liberation Mono",monospace;
  --rv-fs-0:.75rem;
  --rv-fs-1:.875rem;
  --rv-fs-2:1rem;
  --rv-fs-3:1.125rem;
  --rv-fs-4:1.375rem;
  --rv-fs-5:clamp(1.75rem,3vw,2.5rem);
  --rv-fs-6:clamp(2.35rem,4.5vw,3.25rem);
  --rv-lh-tight:1.16;
  --rv-lh-heading:1.24;
  --rv-lh-body:1.65;
  --rv-space-1:.5rem;
  --rv-space-2:1rem;
  --rv-space-3:1.5rem;
  --rv-space-4:2.5rem;
  --rv-space-5:4rem;
  --rv-space-6:6rem;
  --rv-space-7:8rem;
  --rv-radius-sm:.875rem;
  --rv-radius-md:1.5rem;
  --rv-radius-lg:2.5rem;
  --rv-radius-pill:999px;
  --rv-shadow-soft:0 12px 34px rgba(23,53,50,.08);
  --rv-shadow-float:0 18px 50px rgba(23,53,50,.14);
  --rv-container-narrow:48rem;
  --rv-container:74rem;
  --rv-container-wide:88rem;
  --rv-gutter:clamp(1rem,4vw,2rem);
  --rv-header-height:5rem;
  --rv-duration:190ms;
  --rv-ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{margin:0;background:var(--rv-surface);color:var(--rv-ink);font-family:var(--rv-font-body);font-size:var(--rv-fs-2);line-height:var(--rv-lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0;color:inherit;font-family:var(--rv-font-heading);font-weight:500;letter-spacing:-.035em}
h1{font-size:var(--rv-fs-6);line-height:var(--rv-lh-tight)}
h2{font-size:var(--rv-fs-5);line-height:var(--rv-lh-heading)}
h3{font-size:var(--rv-fs-4);line-height:var(--rv-lh-heading)}
h4{font-size:var(--rv-fs-3);line-height:var(--rv-lh-heading)}
h5{font-size:var(--rv-fs-2);line-height:var(--rv-lh-heading)}
h6{font-size:var(--rv-fs-1);line-height:var(--rv-lh-heading)}
p{margin:0;color:var(--rv-muted);font-size:var(--rv-fs-2);line-height:var(--rv-lh-body)}
ul,ol{margin:0;padding-inline-start:1.25rem}
li{font-size:var(--rv-fs-2);line-height:var(--rv-lh-body)}
small{font-size:var(--rv-fs-0);line-height:1.5}
figcaption{font-size:var(--rv-fs-1);line-height:1.55;color:var(--rv-muted)}
blockquote{margin:0;font-size:var(--rv-fs-3);line-height:1.65}
code{font-family:var(--rv-font-mono);font-size:var(--rv-fs-1);line-height:1.7}
pre{margin:0;max-width:100%;overflow-x:auto}
th{font-size:var(--rv-fs-0);line-height:1.45}
td{font-size:var(--rv-fs-1);line-height:1.55}
dt{font-size:var(--rv-fs-1);line-height:1.5}
dd{margin:0;font-size:var(--rv-fs-2);line-height:1.6}
label{font-size:var(--rv-fs-1);line-height:1.5}
strong{font-weight:700}
:focus-visible{outline:3px solid color-mix(in srgb,var(--rv-accent) 72%,white);outline-offset:3px}
::selection{background:var(--rv-primary-soft);color:var(--rv-dark)}
.rv-container,.rv-container-narrow,.rv-container-wide{width:calc(100% - var(--rv-gutter)*2);margin-inline:auto}
.rv-container{max-width:var(--rv-container)}
.rv-container-narrow{max-width:var(--rv-container-narrow)}
.rv-container-wide{max-width:var(--rv-container-wide)}
.rv-grid{display:grid;gap:var(--rv-space-3);align-items:start}
.rv-grid>*{min-width:0}
.rv-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rv-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rv-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rv-auto-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.rv-stack{display:grid;gap:var(--rv-space-2)}
.rv-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rv-space-2)}
.rv-mono{font-family:var(--rv-font-mono);font-variant-numeric:tabular-nums}
.rv-center{text-align:center}
.rv-center .rv-actions{justify-content:center}
.rv-muted{color:var(--rv-muted)}
.rv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rv-mt-1{margin-top:var(--rv-space-1)}
.rv-mt-2{margin-top:var(--rv-space-2)}
.rv-mt-3{margin-top:var(--rv-space-3)}
.rv-mt-4{margin-top:var(--rv-space-4)}
.rv-mb-2{margin-bottom:var(--rv-space-2)}
.rv-gap-1{gap:var(--rv-space-1)}
.rv-gap-2{gap:var(--rv-space-2)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s var(--rv-ease),transform .58s var(--rv-ease)}
.reveal-left{opacity:0;transform:translateX(-18px);transition:opacity .58s var(--rv-ease),transform .58s var(--rv-ease)}
.reveal-right{opacity:0;transform:translateX(18px);transition:opacity .58s var(--rv-ease),transform .58s var(--rv-ease)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
@media(max-width:64rem){
  .rv-grid-4,.rv-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
  :root{--rv-space-6:4.5rem;--rv-space-7:5.5rem}
  .rv-grid-2,.rv-grid-3,.rv-grid-4{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right{opacity:1;transform:none}
}
