

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/jetbrains-mono-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/jetbrains-mono-medium.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/jetbrains-mono-bold.woff2') format('woff2');
}



:root {
  
  --surface: #0A0B0B;
  --surface-container-lowest: #050606;
  --surface-container-low: #101211;
  --surface-container: #151716;
  --surface-container-high: #1D1F1E;
  --surface-container-highest: #262827;
  --on-surface: #EDEDEB;
  --on-surface-variant: #B3B7B4;
  --primary: #7FCFE6;
  --on-primary: #002F3C;
  --primary-container: #1B4C5B;
  --on-primary-container: #B6E7F5;
  --secondary: #9FB4C4;
  --outline: #7C817E;
  --outline-variant: #3D3A39;

  
  --error: #FFB4AB;
  --on-error: #690005;

  
  --tertiary-reserved: #B7B9E8;
  --tertiary-container-reserved: #4A4C7A;
}


@media (prefers-color-scheme: light) {
  :root {
    --surface: #FBFAF8;
    --surface-container-lowest: #FFFFFF;
    --surface-container-low: #F5F3F0;
    --surface-container: #F0EEEA;
    --surface-container-high: #EAE8E3;
    --surface-container-highest: #EAE8E3;
    --on-surface: #17191A;
    --on-surface-variant: #4A4D4B;
    --primary: #00596B;
    --on-primary: #FFFFFF;
    --primary-container: #B4E9F8;
    --on-primary-container: #001F27;
    --secondary: #3E5766;
    --outline: #797C79;
    --outline-variant: #CBC9C4;
    --error: #BA1A1A;
    --on-error: #FFFFFF;
    --tertiary-reserved: #4A4C7A;
    --tertiary-container-reserved: #B7B9E8;
  }
}


[data-theme="light"] {
  --surface: #FBFAF8;
  --surface-container-lowest: #FFFFFF;
  --surface-container-low: #F5F3F0;
  --surface-container: #F0EEEA;
  --surface-container-high: #EAE8E3;
  --surface-container-highest: #EAE8E3;
  --on-surface: #17191A;
  --on-surface-variant: #4A4D4B;
  --primary: #00596B;
  --on-primary: #FFFFFF;
  --primary-container: #B4E9F8;
  --on-primary-container: #001F27;
  --secondary: #3E5766;
  --outline: #797C79;
  --outline-variant: #CBC9C4;
  --error: #BA1A1A;
  --on-error: #FFFFFF;
  --tertiary-reserved: #4A4C7A;
  --tertiary-container-reserved: #B7B9E8;
}

[data-theme="dark"] {
  --surface: #0A0B0B;
  --surface-container-lowest: #050606;
  --surface-container-low: #101211;
  --surface-container: #151716;
  --surface-container-high: #1D1F1E;
  --surface-container-highest: #262827;
  --on-surface: #EDEDEB;
  --on-surface-variant: #B3B7B4;
  --primary: #7FCFE6;
  --on-primary: #002F3C;
  --primary-container: #1B4C5B;
  --on-primary-container: #B6E7F5;
  --secondary: #9FB4C4;
  --outline: #7C817E;
  --outline-variant: #3D3A39;
  --error: #FFB4AB;
  --on-error: #690005;
}



:root {
  
  --band-1-low: #6BA9C7;
  --band-2-optimal: #5FA777;
  --band-3-normal: #8FB35E;
  --band-4-elevated: #D6B24E;
  --band-5-high: #D98A4E;
  --band-6-very-high: #C85A4E;
  --band-7-crisis: #A23B3B;

  
  --band-1-pitch: 9px;
  --band-2-pitch: 8.2px;
  --band-3-pitch: 7.3px;
  --band-4-pitch: 6.5px;
  --band-5-pitch: 5.7px;
  --band-6-pitch: 4.8px;
  --band-7-pitch: 4px;
}



:root {
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', 'Menlo', monospace;

  
  --inter-features: "ss03", "calt", "rlig"; 

  
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-mono-bold: 700;

  
  
  --type-hero-size: 3.5rem;      --type-hero-line: 1.05;  --type-hero-track: -0.03em;
  --type-section-size: 2rem;     --type-section-line: 1.16; --type-section-track: -0.025em;
  --type-subhead-size: 1.375rem; --type-subhead-line: 1.27; --type-subhead-track: -0.01em;
  --type-cardtitle-size: 1rem;   --type-cardtitle-line: 1.375; --type-cardtitle-track: 0.006em;
  --type-bodylg-size: 1.125rem;  --type-bodylg-line: 1.6;  --type-bodylg-track: 0.01em;
  --type-body-size: 1rem;        --type-body-line: 1.5;    --type-body-track: 0.01em;
  --type-label-size: 0.75rem;    --type-label-line: 1.33;  --type-label-track: 0.033em;

  
  --type-reading-size: 3.375rem; --type-reading-line: 0.85; --type-reading-track: -0.028em;
  --type-figlg-size: 2.25rem;    --type-figlg-line: 1.11;  --type-figlg-track: -0.022em;
  --type-figrow-size: 1.25rem;   --type-figrow-line: 1.1;  --type-figrow-track: 0;
  --type-figsm-size: 0.8125rem;  --type-figsm-line: 1.3;   --type-figsm-track: 0;

  
  --type-overline-size: 0.6875rem; --type-overline-line: 1.0; --type-overline-track: 0.127em;
}


:root {
  font-family: var(--font-sans);
  font-feature-settings: var(--inter-features);
}



:root {
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;

  
  --space-section: 112px;   
  --space-card-pad: 16px;   
  --space-card-gap: 24px;

  
  --target-min: 44px;

  
  --measure: 68ch;

  
  --content-max: 1120px;
}



:root {
  --radius-chip: 4px;      
  --radius-tag: 8px;       
  --radius-card: 12px;     
  --radius-card-lg: 16px;  
  --radius-pill: 28px;     
  --radius-plot: 0px;      
}



:root {
  --shadow-1: none;
  --shadow-3: none;
  --hairline: 1px solid var(--outline-variant);
}

@media (prefers-color-scheme: light) {
  :root {
    --shadow-1: 0 1px 2px rgba(23, 25, 26, .06);
    --shadow-3: 0 4px 12px rgba(23, 25, 26, .10);
  }
}

[data-theme="light"] {
  --shadow-1: 0 1px 2px rgba(23, 25, 26, .06);
  --shadow-3: 0 4px 12px rgba(23, 25, 26, .10);
}

[data-theme="dark"] {
  --shadow-1: none;
  --shadow-3: none;
}



:root {
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);   
  --ease-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1); 
  --ease-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15); 

  --dur-hover: 150ms;         
  --dur-in: 300ms;            
  --dur-out: 250ms;           
  --dur-reveal: 500ms;        
  --stagger-item: 12ms;       
  --dur-theme: 0ms;           

  --focus-ring: 2px solid var(--primary);
  --focus-offset: 2px;
}


@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-hover: 100ms;         
    --dur-in: 100ms;            
    --dur-out: 100ms;           
    --dur-reveal: 100ms;        
    --stagger-item: 0ms;        
    --ease-standard: linear;    
    --ease-decelerate: linear;  
    --ease-accelerate: linear;  
  }
}



*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--surface);
  color: var(--on-surface);
  font-family: var(--font-sans);
  font-feature-settings: var(--inter-features);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line);
  letter-spacing: var(--type-body-track);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


body, .up-surface { transition: none; }


p { text-wrap: pretty; max-width: var(--measure); }


a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; transition: opacity var(--dur-hover) var(--ease-standard); }
a:hover { opacity: 0.82; }


:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }


.up-figure { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }


.up-overline {
  font-family: var(--font-mono);
  font-weight: var(--weight-medium);
  font-size: var(--type-overline-size);
  line-height: var(--type-overline-line);
  letter-spacing: var(--type-overline-track);
  text-transform: uppercase;
  color: var(--on-surface-variant);
}



html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { overflow-wrap: anywhere; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, p { margin: 0; }
button { font: inherit; color: inherit; }


.up-container { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--space-24); }
.up-narrow { max-width: 720px; }
.up-section { margin-top: var(--space-section); animation: up-reveal .55s var(--ease-decelerate) both; }
.up-section-first { margin-top: 0; padding-top: 72px; }
.up-section:nth-of-type(2) { animation-delay: calc(1 * var(--stagger-item)); }
.up-section:nth-of-type(3) { animation-delay: calc(2 * var(--stagger-item)); }
.up-section:nth-of-type(4) { animation-delay: calc(3 * var(--stagger-item)); }
.up-section:nth-of-type(5) { animation-delay: calc(4 * var(--stagger-item)); }
.up-section:nth-of-type(6) { animation-delay: calc(5 * var(--stagger-item)); }
@keyframes up-reveal {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  @keyframes up-reveal { from { opacity: 0; } to { opacity: 1; } }
  .up-section { animation-duration: 100ms; animation-timing-function: linear; }
}
.up-stack > * + * { margin-top: var(--space-16); }
.up-stack-lg > * + * { margin-top: var(--space-24); }
.up-mt-16 { margin-top: var(--space-16); }
.up-mt-24 { margin-top: var(--space-24); }
.up-mt-32 { margin-top: var(--space-32); }
.up-mt-48 { margin-top: var(--space-48); }
.up-max-measure { max-width: var(--measure); }
.up-split { display: flex; flex-wrap: wrap; gap: var(--space-48); align-items: flex-start; }
.up-split > * { flex: 1 1 min(360px, 100%); min-width: 0; }
.up-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }


.up-skip { position: absolute; left: var(--space-16); top: -100px; z-index: 30; padding: var(--space-8) var(--space-12); background: var(--surface-container-high); color: var(--on-surface); border-radius: var(--radius-tag); }
.up-skip:focus { top: var(--space-16); }


.up-header { border-bottom: var(--hairline); background: var(--surface); }
@media (min-width: 640px) { .up-header { position: sticky; top: 0; z-index: 20; } }
.up-header-inner { max-width: var(--content-max); margin: 0 auto; padding: var(--space-12) var(--space-24); min-height: 64px; display: flex; align-items: center; gap: var(--space-24); flex-wrap: wrap; }
.up-wordmark { display: flex; flex-direction: column; gap: 2px; text-decoration: none; color: var(--on-surface); }
.up-wordmark-over { font-family: var(--font-mono); font-size: var(--type-overline-size); letter-spacing: var(--type-overline-track); text-transform: uppercase; color: var(--on-surface-variant); }
.up-wordmark-name { font-weight: var(--weight-semibold); font-size: 1.125rem; letter-spacing: -.02em; line-height: 1; }
.up-nav { margin-left: auto; display: flex; gap: 22px; flex-wrap: wrap; }
.up-nav-link { font-size: .9375rem; padding: 6px 0; min-height: var(--target-min); display: inline-flex; align-items: center; text-decoration: none; color: var(--on-surface-variant); font-weight: var(--weight-medium); border-bottom: 2px solid transparent; }
.up-nav-link:hover { opacity: 1; color: var(--on-surface); }
.up-nav-active { color: var(--on-surface); font-weight: var(--weight-semibold); border-bottom-color: var(--primary); }

.up-btn.up-theme-toggle { padding: 0; width: var(--target-min); }
html:not(.js) .up-theme-toggle { display: none; }
.up-icon { display: inline-flex; width: 20px; height: 20px; }
.up-icon svg { width: 100%; height: 100%; }
.up-icon-sun { display: none; }
[data-theme="dark"] .up-icon-sun { display: inline-flex; }
[data-theme="dark"] .up-icon-moon { display: none; }


.up-h1 { font-weight: var(--weight-semibold); font-size: min(var(--type-hero-size), 15.6vw); line-height: var(--type-hero-line); letter-spacing: var(--type-hero-track); max-width: 14ch; }
.up-h1-sub { font-size: min(3rem, 13.4vw); line-height: 1.08; max-width: 16ch; }
.up-h2 { font-weight: var(--weight-semibold); font-size: min(var(--type-section-size), 8.9vw); line-height: var(--type-section-line); letter-spacing: var(--type-section-track); max-width: 22ch; }
.up-h2-sm { font-size: min(1.75rem, 7.8vw); line-height: 1.2; }
.up-h3 { font-weight: var(--weight-semibold); font-size: var(--type-cardtitle-size); line-height: var(--type-cardtitle-line); letter-spacing: var(--type-cardtitle-track); }
.up-lead { font-size: var(--type-bodylg-size); line-height: var(--type-bodylg-line); letter-spacing: var(--type-bodylg-track); color: var(--on-surface-variant); max-width: 46ch; }
.up-eyebrow { display: inline-flex; align-items: center; gap: var(--space-8); }
.up-tick { display: inline-block; width: 8px; height: 8px; background: var(--primary); flex: none; }


.up-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-8); border-radius: var(--radius-pill); border: 1px solid transparent; font-weight: var(--weight-medium); text-decoration: none; cursor: pointer; background: none; transition: filter var(--dur-hover) var(--ease-standard), background-color var(--dur-hover) var(--ease-standard); }
.up-btn:hover { opacity: 1; }
.up-btn-sm { min-height: 36px; padding: 0 var(--space-16); font-size: .9375rem; }
.up-btn-md { min-height: var(--target-min); padding: 0 var(--space-20); font-size: 1rem; }
.up-btn-lg { min-height: 52px; padding: 0 var(--space-24); font-size: 1.0625rem; }
.up-btn-primary { background: var(--primary); color: var(--on-primary); }
.up-btn-primary:hover { filter: brightness(1.06); }
.up-btn-secondary { border-color: var(--outline); color: var(--on-surface); }
.up-btn-secondary:hover { background: var(--surface-container-high); }
.up-btn-ghost { color: var(--on-surface); }
.up-btn-ghost:hover { background: var(--surface-container-high); }
.up-actions { display: flex; flex-wrap: wrap; gap: var(--space-12); align-items: center; }
.up-play { display: inline-flex; }
.up-play-img { height: 56px; width: auto; }


.up-disclaimer { color: var(--on-surface); }
.up-disclaimer-hero { display: flex; gap: var(--space-12); align-items: flex-start; padding: var(--space-16); border: var(--hairline); border-radius: var(--radius-card); background: var(--surface-container-low); max-width: 52ch; }
.up-note { flex: none; font-family: var(--font-mono); font-size: var(--type-overline-size); letter-spacing: var(--type-overline-track); text-transform: uppercase; line-height: 1.2; padding: 3px 6px; border-radius: var(--radius-chip); background: var(--primary-container); color: var(--on-primary-container); }
.up-disclaimer-text { font-size: .9375rem; line-height: 1.5; }
.up-disclaimer-inline { font-size: .875rem; line-height: 1.5; color: var(--on-surface-variant); max-width: 60ch; }


.up-hero { display: flex; gap: var(--space-48); flex-wrap: wrap; align-items: flex-start; }
.up-hero-copy { flex: 1 1 min(440px, 100%); min-width: 0; }
.up-hero-copy > * + * { margin-top: var(--space-24); }
.up-phone { width: min(288px, 100%); aspect-ratio: 1 / 2; border-radius: var(--radius-card-lg); border: var(--hairline); background: var(--surface-container-low); overflow: hidden; flex: none; }
.up-phone img { width: 100%; height: 100%; object-fit: cover; }


.up-card { border: var(--hairline); box-shadow: var(--shadow-1); }
.up-card-md { border-radius: var(--radius-card); padding: var(--space-16); }
.up-card-lg { border-radius: var(--radius-card-lg); padding: var(--space-24); }
@media (min-width: 900px) { .up-card-md { padding: var(--space-24); } }
.up-card-lowest { background: var(--surface-container-lowest); }
.up-card-low { background: var(--surface-container-low); }
.up-card-base { background: var(--surface-container); }
.up-card-high { background: var(--surface-container-high); }
.up-card-highest { background: var(--surface-container-highest); }
.up-card > * + * { margin-top: var(--space-12); }
.up-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--space-card-gap); }
.up-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: var(--space-20); }
.up-step-num { font-family: var(--font-mono); font-weight: var(--weight-medium); font-size: var(--type-figrow-size); color: var(--primary); }
.up-banner { border: var(--hairline); border-radius: var(--radius-card-lg); padding: var(--space-32) var(--space-24); background: var(--surface-container-low); display: flex; flex-wrap: wrap; gap: var(--space-24); align-items: center; justify-content: space-between; }
.up-banner-copy > * + * { margin-top: var(--space-8); }


.up-reading { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-8) var(--space-12); }
.up-reading-pair { font-weight: var(--weight-medium); color: var(--on-surface); }
.up-reading-sm .up-reading-pair { font-size: var(--type-figrow-size); line-height: var(--type-figrow-line); }
.up-reading-md .up-reading-pair { font-size: min(var(--type-figlg-size), 10vw); line-height: var(--type-figlg-line); letter-spacing: var(--type-figlg-track); }
.up-reading-lg .up-reading-pair { font-size: min(var(--type-reading-size), 15vw); line-height: var(--type-reading-line); letter-spacing: var(--type-reading-track); }
.up-reading-pulse, .up-reading-time { font-size: var(--type-figsm-size); line-height: var(--type-figsm-line); color: var(--on-surface-variant); }

.up-table-wrap { overflow-x: auto; }
.up-table { width: 100%; min-width: max-content; border-collapse: collapse; font-size: min(var(--type-figrow-size), 7.8vw); line-height: var(--type-figrow-line); }
.up-table-caption { caption-side: top; text-align: left; padding-bottom: var(--space-12); }
.up-table-caption-row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-8); font-size: var(--type-figsm-size); color: var(--on-surface-variant); }
.up-table th, .up-table td { text-align: left; padding: var(--space-8) 0; border-top: var(--hairline); font-weight: var(--weight-regular); overflow-wrap: normal; }
.up-table td { text-align: right; padding-left: var(--space-16); }
.up-table td:last-child { color: var(--on-surface-variant); }
.up-table-mean th, .up-table-mean td { font-weight: var(--weight-mono-bold); }


.up-bands { margin: 0; }
.up-bands-strip { display: grid; grid-template-columns: repeat(7, 1fr); height: 56px; border: var(--hairline); border-radius: var(--radius-plot); overflow: hidden; }
.up-band, .up-band-swatch { background-color: color-mix(in oklab, var(--band-hue) 38%, var(--surface)); background-image: repeating-linear-gradient(45deg, var(--band-hue) 0 1.5px, transparent 1.5px var(--band-pitch)); }
.up-band-1 { --band-hue: var(--band-1-low); --band-pitch: var(--band-1-pitch); }
.up-band-2 { --band-hue: var(--band-2-optimal); --band-pitch: var(--band-2-pitch); }
.up-band-3 { --band-hue: var(--band-3-normal); --band-pitch: var(--band-3-pitch); }
.up-band-4 { --band-hue: var(--band-4-elevated); --band-pitch: var(--band-4-pitch); }
.up-band-5 { --band-hue: var(--band-5-high); --band-pitch: var(--band-5-pitch); }
.up-band-6 { --band-hue: var(--band-6-very-high); --band-pitch: var(--band-6-pitch); }
.up-band-7 { --band-hue: var(--band-7-crisis); --band-pitch: var(--band-7-pitch); }
.up-bands-caption { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-16); margin-top: var(--space-16); }
.up-bands-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-16); }
.up-bands-item { display: inline-flex; align-items: center; gap: var(--space-8); font-size: .875rem; }
.up-band-swatch { width: 18px; height: 18px; border: var(--hairline); flex: none; }


.up-list { list-style: none; margin: 0; padding: 0; }
.up-list li { display: flex; gap: var(--space-12); align-items: flex-start; padding: var(--space-8) 0; }
.up-list .up-tick { margin-top: .55em; }
.up-chips { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.up-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 2px var(--space-8); border-radius: var(--radius-tag); font-size: .8125rem; line-height: 1.3; }
.up-chip-outline { border: 1px solid var(--outline); color: var(--on-surface-variant); }
.up-chip-solid { background: var(--surface-container-high); color: var(--on-surface); }
.up-chip-primary { background: var(--primary-container); color: var(--on-primary-container); }
.up-chip-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }


.up-faq-item { border-bottom: var(--hairline); }
.up-faq-q { margin: 0; font-size: 1.0625rem; font-weight: var(--weight-semibold); }
.up-faq-btn { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: var(--space-16); padding: var(--space-20) 0; background: none; border: 0; text-align: left; cursor: pointer; font-weight: inherit; font-size: inherit; line-height: 1.4; }
.up-faq-chevron { flex: none; transition: transform 200ms var(--ease-standard); }
.up-faq-open .up-faq-chevron { transform: rotate(180deg); }
.up-faq-a-inner { min-height: 0; overflow: hidden; }
.up-faq-a-inner > * + * { margin-top: var(--space-12); }
.up-faq-a-inner p { padding-bottom: var(--space-20); color: var(--on-surface-variant); }
html.js .up-faq-a { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows var(--dur-out) var(--ease-accelerate), opacity var(--dur-out) var(--ease-accelerate), visibility 0s linear var(--dur-out); }
html.js .up-faq-open .up-faq-a { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition: grid-template-rows var(--dur-in) var(--ease-decelerate), opacity var(--dur-out) var(--ease-decelerate), visibility 0s; }


.up-release { border-top: var(--hairline); padding: var(--space-24) 0; }
.up-release:first-of-type { border-top: 0; padding-top: 0; }
.up-release-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-12); }
.up-release-version { font-weight: var(--weight-mono-bold); font-size: var(--type-figrow-size); }
.up-release-date { color: var(--on-surface-variant); font-size: var(--type-figsm-size); }
.up-release p { margin-top: var(--space-12); }


.up-effective { font-family: var(--font-mono); font-size: var(--type-figsm-size); color: var(--on-surface-variant); }
.up-effective code { font-family: inherit; }
.up-policy { display: flex; flex-direction: column; gap: var(--space-24); }
.up-policy h2 { font-weight: var(--weight-semibold); font-size: var(--type-subhead-size); line-height: var(--type-subhead-line); letter-spacing: var(--type-subhead-track); margin-top: var(--space-12); }
.up-policy p, .up-policy li { font-size: 1.0625rem; line-height: 1.65; }
.up-policy ul, .up-policy ol { padding-left: 1.25em; margin: 0; max-width: var(--measure); }
.up-policy li + li { margin-top: var(--space-8); }
.up-policy code { font-family: var(--font-mono); font-size: .9em; }


.up-footer { border-top: var(--hairline); background: var(--surface-container-lowest); margin-top: 128px; }
.up-footer-inner { max-width: var(--content-max); margin: 0 auto; padding: var(--space-48) var(--space-24) 44px; display: flex; flex-wrap: wrap; gap: var(--space-48); }
.up-footer-brand { flex: 1 1 min(320px, 100%); min-width: 0; }
.up-footer-brand > * + * { margin-top: var(--space-12); }
.up-footer-name { font-weight: var(--weight-semibold); font-size: 1.0625rem; letter-spacing: -.02em; }
.up-footer-host { font-family: var(--font-mono); font-size: .8125rem; color: var(--on-surface-variant); }
.up-footer-trademark { font-size: .75rem; color: var(--on-surface-variant); }
.up-footer-col { display: flex; flex-direction: column; min-width: 140px; }
.up-footer-col .up-overline { margin-bottom: var(--space-8); }
.up-footer-col a { font-size: .9375rem; color: var(--on-surface-variant); text-decoration: none; padding: 5px 0; min-height: 32px; display: inline-flex; align-items: center; }
.up-footer-col a:hover { color: var(--on-surface); text-decoration: underline; opacity: 1; }

