@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-cyrillic-400-normal.CjW2EstV.woff2) format("woff2"),url(/_astro/playfair-display-cyrillic-400-normal.ZiRag6zj.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-vietnamese-400-normal.BV2APVTb.woff2) format("woff2"),url(/_astro/playfair-display-vietnamese-400-normal.BbvUAu4N.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-latin-ext-400-normal.BxlSGspa.woff2) format("woff2"),url(/_astro/playfair-display-latin-ext-400-normal.qdZwdvNS.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-latin-400-normal.CFtfchNt.woff2) format("woff2"),url(/_astro/playfair-display-latin-400-normal.DHYHbkg3.woff) format("woff");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:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-cyrillic-700-normal.Dw3uKy19.woff2) format("woff2"),url(/_astro/playfair-display-cyrillic-700-normal.Dk1mTcxf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-vietnamese-700-normal.CaKJSIny.woff2) format("woff2"),url(/_astro/playfair-display-vietnamese-700-normal.Cr1rw0mr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-latin-ext-700-normal.C58ejOkc.woff2) format("woff2"),url(/_astro/playfair-display-latin-ext-700-normal.D5HUU8GT.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-latin-700-normal.CuDiGg7c.woff2) format("woff2"),url(/_astro/playfair-display-latin-700-normal.Bc_1Q1cG.woff) format("woff");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}:root{--font-display: "Playfair Display", Georgia, serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--zone-1: #3dd6c8;--zone-2: #34d399;--zone-3: #fbbf24;--zone-4: #f97316;--zone-5: #ef4444;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem}:root{--paper: #f7f2e8;--paper-raised: #fffdf7;--paper-sunken: #efe7d7;--paper-ink: #1d1812;--ink: #221d15;--ink-soft: #4b4234;--ink-mute: #807460;--ink-faint: #a89b84;--hairline: #e4dac6;--hairline-strong: #d3c6ac;--zone-spectrum: linear-gradient( 90deg, var(--zone-1) 0%, var(--zone-2) 26%, var(--zone-3) 52%, var(--zone-4) 76%, var(--zone-5) 100% );--heat-wash: radial-gradient( 120% 90% at 88% -10%, rgba(249, 115, 22, .14), transparent 60% ), radial-gradient(90% 80% at -5% 10%, rgba(61, 214, 200, .12), transparent 55%);--action: #211b12;--action-ink: #fbf6ec;--action-hover: #38301f;--focus: #f97316;--text-xs: .78rem;--text-sm: .875rem;--text-base: 1.0625rem;--text-lg: clamp(1.15rem, .9rem + .9vw, 1.35rem);--text-xl: clamp(1.4rem, 1rem + 1.5vw, 1.85rem);--text-2xl: clamp(1.9rem, 1.3rem + 2.6vw, 2.85rem);--text-3xl: clamp(2.6rem, 1.6rem + 4.4vw, 4.6rem);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--radius-pill: 999px;--content-max: 78rem;--prose-max: 44rem;--shadow-sm: 0 1px 2px rgba(54, 41, 18, .06);--shadow: 0 4px 18px -8px rgba(54, 41, 18, .22);--shadow-lg: 0 24px 60px -28px rgba(54, 41, 18, .38);--nav-h: 4.5rem;color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--ink);background-color:var(--paper);background-image:var(--heat-wash),repeating-linear-gradient(0deg,rgba(120,96,50,.018) 0 1px,transparent 1px 28px);background-attachment:fixed,scroll;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv01";min-height:100vh;overflow-x:clip}img,svg,picture{display:block;max-width:100%}a{color:inherit;text-decoration-color:var(--hairline-strong);text-underline-offset:.18em}a:hover{text-decoration-color:var(--zone-4)}:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:3px}::selection{background:#f9731638}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:0;color:var(--ink);text-wrap:balance}p{text-wrap:pretty}.shell{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,3rem)}.section{padding-block:clamp(3.5rem,8vw,7rem)}.eyebrow{font-size:var(--text-sm);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);display:inline-flex;align-items:center;gap:.6em}.eyebrow:before{content:"";width:1.6rem;height:2px;background:var(--zone-spectrum);border-radius:2px}.spectrum-rule{height:4px;border:0;border-radius:4px;background:var(--zone-spectrum);opacity:.9}.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}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--action);color:var(--action-ink);padding:.6rem 1rem;border-radius:var(--radius-sm);transition:top .2s ease}.skip-link:focus{top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--font-body);font-weight:600;font-size:var(--text-base);line-height:1;padding:.9em 1.4em;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,border-color .18s ease}.btn-primary{background:var(--action);color:var(--action-ink);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--action-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.btn-ghost:hover{background:var(--paper-raised);border-color:var(--ink-soft);transform:translateY(-2px)}.prose{max-width:var(--prose-max);font-size:var(--text-lg);line-height:1.72;color:var(--ink-soft)}.prose>*+*{margin-top:1.15em}.prose h2{font-size:var(--text-xl);margin-top:2.4em;color:var(--ink)}.prose h2:after{content:"";display:block;width:2.4rem;height:3px;margin-top:.6rem;border-radius:3px;background:var(--zone-spectrum);opacity:.85}.prose h3{font-size:var(--text-lg);margin-top:1.8em;color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--zone-4)}.prose blockquote{margin-inline:0;padding:.4em 0 .4em 1.2em;border-left:3px solid var(--zone-4);font-family:var(--font-display);font-style:italic;font-size:1.18em;color:var(--ink)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--zone-4)}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em;background:var(--paper-sunken);padding:.15em .4em;border-radius:6px}.prose pre{background:var(--paper-ink);color:#f3ecdd;padding:1.1em 1.3em;border-radius:var(--radius);overflow-x:auto;font-size:.92rem;line-height:1.6;border:1px solid rgba(255,255,255,.06)}.prose pre code{background:none;padding:0;color:inherit;font-size:.92em}.prose table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.95rem;margin-block:.5em}.prose thead th{text-align:left;font-weight:600;color:var(--ink);font-size:var(--text-sm);letter-spacing:.02em;padding:.6em .9em;border-bottom:2px solid var(--hairline-strong)}.prose tbody td{padding:.6em .9em;border-bottom:1px solid var(--hairline);color:var(--ink-soft)}.prose tbody tr:hover{background:var(--paper-raised)}.calc{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow);position:relative;overflow:hidden}.calc:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--zone-spectrum)}.calc__title{font-size:var(--text-xl);margin:.6rem 0 .4rem}.calc__sub{color:var(--ink-mute);font-size:.96rem;max-width:36rem}.calc__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.2rem,4vw,2.4rem);margin-top:1.8rem;align-items:start}.calc__form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:var(--text-sm);font-weight:600;color:var(--ink-soft)}.field__opt{font-weight:400;color:var(--ink-faint);text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.field__val{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.field input[type=number],.field input[type=text]{font-family:var(--font-body);font-size:1.05rem;padding:.7em .9em;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease}.field input:focus{outline:none;border-color:var(--zone-4);box-shadow:0 0 0 3px #f973162e}.field input[type=range]{width:100%;accent-color:var(--zone-4);cursor:pointer}.calc__method{font-size:var(--text-sm);color:var(--ink-mute);line-height:1.5}.calc__result{background:var(--paper-sunken);border-radius:var(--radius);padding:1.2rem 1.3rem 1.4rem}.calc__disclaimer{margin-top:1.6rem;font-size:var(--text-sm);color:var(--ink-mute);max-width:42rem}.calc__maxrow{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.9rem;margin-bottom:.6rem;border-bottom:1px solid var(--hairline-strong)}.calc__maxlabel{font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.calc__maxval{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--ink)}.calc__maxval small{font-family:var(--font-body);font-size:.7rem;font-weight:400;color:var(--ink-mute);letter-spacing:.01em}.calc__zones{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.zrow{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.7rem;padding:.6rem .2rem;border-bottom:1px solid var(--hairline)}.zrow:last-child{border-bottom:none}.zrow__swatch{width:.85rem;height:.85rem;border-radius:4px;background:var(--z)}.zrow__num{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}.zrow__name{font-weight:600;color:var(--ink)}.zrow__bpm{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.calc__readout{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.3rem;padding:.6rem 0 1.1rem}.calc__bignum{font-family:var(--font-display);font-weight:700;font-size:clamp(3.4rem,2rem + 7vw,5rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.calc__bigunit{font-size:var(--text-sm);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.calc__work{margin-top:.4rem;padding-top:.9rem;border-top:1px solid var(--hairline-strong);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem;color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums}@media(max-width:640px){.calc__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);animation:reveal-up .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--reveal-delay, 0ms)}}@keyframes reveal-up{to{opacity:1;transform:none}}.appstore[data-astro-cid-pfs5tged]{display:inline-flex;align-items:center;gap:.6em;background:var(--action);color:var(--action-ink);border-radius:var(--radius-pill);text-decoration:none;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;box-shadow:var(--shadow);white-space:nowrap}.appstore[data-astro-cid-pfs5tged]:hover{background:var(--action-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.appstore__logo[data-astro-cid-pfs5tged]{width:1.35em;height:1.35em;flex:none}.appstore__text[data-astro-cid-pfs5tged]{display:flex;flex-direction:column;gap:.1em}.appstore__text[data-astro-cid-pfs5tged] small[data-astro-cid-pfs5tged]{font-size:.62em;letter-spacing:.04em;opacity:.8;text-transform:uppercase}.appstore__text[data-astro-cid-pfs5tged] strong[data-astro-cid-pfs5tged]{font-size:1.02em;font-weight:600;letter-spacing:-.01em}.appstore--full[data-astro-cid-pfs5tged]{padding:.7em 1.25em;font-size:1.05rem}.appstore--compact[data-astro-cid-pfs5tged]{padding:.55em .95em;font-size:.82rem}.navwrap[data-astro-cid-4lunwx2e]{position:fixed;inset:0 0 auto;z-index:100;padding:.9rem clamp(.8rem,4vw,1.5rem) 0;pointer-events:none}.nav[data-astro-cid-4lunwx2e]{pointer-events:auto;display:flex;align-items:center;gap:1rem;padding:.55rem .7rem .55rem 1.2rem;background:color-mix(in srgb,var(--paper-raised) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border:1px solid var(--hairline);border-radius:var(--radius-pill);box-shadow:var(--shadow);max-width:64rem}.nav__brand[data-astro-cid-4lunwx2e]{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:700;font-size:1.32rem;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}.nav__mark[data-astro-cid-4lunwx2e]{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--zone-spectrum);box-shadow:0 0 0 3px color-mix(in srgb,var(--zone-4) 22%,transparent)}.nav__links[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:.2rem;list-style:none;padding:0;margin-inline:auto}.nav__link[data-astro-cid-4lunwx2e]{display:inline-flex;padding:.5em .9em;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color .16s ease,background-color .16s ease}.nav__link[data-astro-cid-4lunwx2e]:hover,.nav__link[data-astro-cid-4lunwx2e].is-active{color:var(--ink);background:var(--paper-sunken)}.nav__cta[data-astro-cid-4lunwx2e]{display:flex}.nav__menu[data-astro-cid-4lunwx2e]{display:none}.nav__menu[data-astro-cid-4lunwx2e] summary[data-astro-cid-4lunwx2e]{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:var(--radius-pill);border:1px solid var(--hairline-strong);color:var(--ink);cursor:pointer;background:var(--paper-raised)}.nav__menu[data-astro-cid-4lunwx2e] summary[data-astro-cid-4lunwx2e]::-webkit-details-marker{display:none}.nav__drawer[data-astro-cid-4lunwx2e]{position:absolute;right:clamp(1.1rem,4vw,3rem);margin-top:.6rem;list-style:none;padding:.6rem;display:flex;flex-direction:column;gap:.15rem;min-width:12rem;background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.nav__drawer[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]{display:block;padding:.65em .8em;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink-soft);font-weight:500}.nav__drawer[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:hover,.nav__drawer[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e][aria-current=page]{background:var(--paper-sunken);color:var(--ink)}.nav__drawer-cta[data-astro-cid-4lunwx2e]{margin-top:.4rem;padding-top:.5rem;border-top:1px solid var(--hairline);display:flex;justify-content:center}@media(max-width:860px){.nav__links[data-astro-cid-4lunwx2e],.nav__cta[data-astro-cid-4lunwx2e]{display:none}.nav__menu[data-astro-cid-4lunwx2e]{display:block;margin-left:auto}}.footer[data-astro-cid-gcn2mc3v]{margin-top:clamp(3rem,8vw,6rem);background:var(--paper-sunken);padding-block:clamp(2.5rem,6vw,4rem) 2rem}.footer__rule[data-astro-cid-gcn2mc3v]{max-width:var(--content-max);margin:0 auto clamp(2.5rem,6vw,4rem);margin-inline:auto;width:calc(100% - (2*clamp(1.1rem,4vw,3rem)))}.footer__inner[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:1.2fr 2fr;gap:clamp(2rem,6vw,5rem)}.footer__brand[data-astro-cid-gcn2mc3v]{font-family:var(--font-display);font-weight:700;font-size:1.8rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.footer__tagline[data-astro-cid-gcn2mc3v]{margin:.7rem 0 1.4rem;color:var(--ink-mute);font-size:.95rem;max-width:24rem}.footer__cols[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.footer__heading[data-astro-cid-gcn2mc3v]{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.9rem}.footer__col[data-astro-cid-gcn2mc3v] ul[data-astro-cid-gcn2mc3v]{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem}.footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--ink-soft);text-decoration:none;font-size:.95rem;transition:color .16s ease}.footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--zone-4)}.footer__base[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:clamp(2rem,5vw,3rem);padding-top:1.4rem;border-top:1px solid var(--hairline-strong);font-size:var(--text-sm);color:var(--ink-mute)}.footer__note[data-astro-cid-gcn2mc3v]{letter-spacing:.02em}.footer__note[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:inherit;text-decoration-color:var(--zone-1);text-underline-offset:.18em}@media(max-width:760px){.footer__inner[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr}.footer__cols[data-astro-cid-gcn2mc3v]{grid-template-columns:repeat(2,1fr);gap:1.8rem 1rem}}
