@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-DHm7mdGe.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:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-DrCvqoFD.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:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2) format("woff2"),url(/assets/outfit-latin-ext-600-normal-CWJcPgd7.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:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2) format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.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:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.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:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-italic-BpitL8Uu.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-italic-2EvOpbQN.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:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-italic-DRLHr0TN.woff2) format("woff2"),url(/assets/dm-sans-latin-400-italic-i6QPgQBE.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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{--green-50: #f0f6f2;--green-100: #dbebe1;--green-200: #b6d6c4;--green-300: #86b89e;--green-400: #4f9673;--green-500: #2a7854;--green-600: #0f5132;--green-700: #0c4229;--green-800: #093320;--green-900: #062217;--white: #ffffff;--neutral-25: #fafbfa;--neutral-50: #f5f7f5;--neutral-100: #ecefec;--neutral-200: #dfe3e0;--neutral-300: #c6ccc8;--neutral-400: #9aa39d;--neutral-500: #6f7973;--neutral-600: #4e5852;--neutral-700: #363e39;--neutral-800: #222824;--neutral-900: #141814;--amber-100: #f8efd9;--amber-600: #a97514;--red-100: #f9e4e2;--red-600: #b3261e;--blue-100: #e2eef4;--blue-600: #1f5f7f;--brand: var(--green-600);--brand-hover: var(--green-700);--brand-active: var(--green-800);--brand-subtle: var(--green-50);--brand-subtle-2: var(--green-100);--brand-border: var(--green-200);--brand-on: var(--white);--text-strong: var(--neutral-900);--text-body: var(--neutral-700);--text-muted: var(--neutral-500);--text-faint: var(--neutral-400);--text-on-brand: var(--white);--text-brand: var(--green-600);--text-link: var(--green-600);--text-link-hover: var(--green-800);--surface-page: var(--white);--surface-sunken: var(--neutral-50);--surface-card: var(--white);--surface-inverse: var(--green-900);--surface-brand: var(--green-600);--surface-hover: var(--neutral-50);--border-subtle: var(--neutral-200);--border-default: var(--neutral-300);--border-strong: var(--neutral-400);--border-focus: var(--green-600);--success-fg: var(--green-600);--success-bg: var(--green-50);--warning-fg: var(--amber-600);--warning-bg: var(--amber-100);--danger-fg: var(--red-600);--danger-bg: var(--red-100);--info-fg: var(--blue-600);--info-bg: var(--blue-100);--focus-ring: 0 0 0 3px rgba(15, 81, 50, .2)}:root{--font-display: "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-display-1: clamp(2.5rem, 1.6rem + 3.6vw, 4.25rem);--text-display-2: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);--text-h1: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem);--text-h2: clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-h3: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-h4: 1.125rem;--text-body-lg: 1.1875rem;--text-body: 1.0625rem;--text-body-sm: .9375rem;--text-caption: .8125rem;--text-overline: .75rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.08;--leading-snug: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-display: -.025em;--tracking-heading: -.015em;--tracking-body: .005em;--tracking-overline: .11em;--measure-prose: 66ch;--measure-narrow: 46ch}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 5rem;--space-11: 6rem;--space-12: 8rem;--section-y: clamp(3.5rem, 2rem + 7vw, 7rem);--section-y-tight: clamp(2.5rem, 1.5rem + 4vw, 4rem);--container-max: 1200px;--container-narrow: 780px;--gutter: clamp(1.25rem, .75rem + 2vw, 2.5rem);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--control-h-sm: 34px;--control-h-md: 42px;--control-h-lg: 50px;--tap-min: 44px}:root{--shadow-xs: 0 1px 2px rgba(12, 44, 29, .05);--shadow-sm: 0 1px 3px rgba(12, 44, 29, .06), 0 1px 2px rgba(12, 44, 29, .04);--shadow-md: 0 4px 12px rgba(12, 44, 29, .07), 0 1px 3px rgba(12, 44, 29, .05);--shadow-lg: 0 12px 32px rgba(12, 44, 29, .1), 0 2px 8px rgba(12, 44, 29, .05);--shadow-xl: 0 24px 60px rgba(12, 44, 29, .14);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .6);--border-hairline: 1px solid var(--border-subtle);--wash-brand: radial-gradient(120% 90% at 12% 0%, var(--green-50) 0%, rgba(255,255,255,0) 62%);--wash-sunken: linear-gradient(180deg, var(--neutral-50) 0%, var(--white) 100%);--grid-lines: linear-gradient(var(--neutral-100) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--neutral-100) 1px, transparent 1px) 0 0 / 32px 100%}:root{--dur-instant: 90ms;--dur-fast: .15s;--dur-base: .24s;--dur-slow: .4s;--dur-enter: .52s;--dur-loop-short: 2.4s;--dur-loop: 4.8s;--dur-loop-long: 8s;--ease-standard: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-linear: linear;--hover-lift: translateY(-2px);--press-scale: scale(.985)}@media(prefers-reduced-motion:reduce){:root{--dur-instant: 1ms;--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms;--dur-enter: 1ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-normal);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--leading-snug);margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-xs)}img,svg{display:block;max-width:100%}button{font-family:inherit}.ju-overline{font-family:var(--font-mono);font-size:var(--text-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-brand)}body{background:var(--surface-sunken);color:var(--text-body)}.app{min-height:100vh;display:flex;flex-direction:column}.app-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);background:var(--white);border-bottom:var(--border-hairline)}.app-bar nav{display:flex;gap:var(--space-1);margin-left:var(--space-4)}.app-bar nav a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--text-muted);text-decoration:none}.app-bar nav a:hover{background:var(--surface-hover);color:var(--text-strong);text-decoration:none}.app-bar nav a[aria-current=page]{background:var(--brand-subtle);color:var(--text-brand)}.app-bar .spacer{margin-left:auto}.app-main{flex:1;padding:var(--space-6) var(--space-5) var(--space-10)}.app-main--wide{max-width:none}.page-head{display:flex;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5);max-width:var(--container-max);margin-inline:auto}.page-head h1{font-size:var(--text-h2)}.page-head p{color:var(--text-muted);font-size:var(--text-body-sm);margin-top:var(--space-1)}.page-head .spacer{margin-left:auto}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.row--wrap{flex-wrap:wrap}.muted{color:var(--text-muted);font-size:var(--text-body-sm)}.mono{font-family:var(--font-mono)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.container{max-width:var(--container-max);margin-inline:auto}.container--narrow{max-width:var(--container-narrow);margin-inline:auto}.doc-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:var(--border-hairline)}.doc-table th{text-align:left;font-family:var(--font-mono);font-size:var(--text-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-regular);padding:var(--space-3) var(--space-4);border-bottom:var(--border-hairline);background:var(--surface-sunken)}.doc-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neutral-100);font-size:var(--text-body-sm);vertical-align:middle}.doc-table tr:last-child td{border-bottom:none}.doc-table tbody tr:hover{background:var(--surface-hover)}.doc-table td.right,.doc-table th.right{text-align:right}.doc-table a{font-weight:var(--weight-medium)}.doc-table .num{white-space:nowrap}.empty{background:var(--white);border:1px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-9) var(--space-5);text-align:center;color:var(--text-muted)}.builder{display:grid;grid-template-columns:240px minmax(0,1fr) 420px;gap:var(--space-4);align-items:start;max-width:1600px;margin-inline:auto}@media(max-width:1400px){.builder{grid-template-columns:220px minmax(0,1fr)}.builder .pane--preview{grid-column:1 / -1}}@media(max-width:900px){.builder{grid-template-columns:minmax(0,1fr)}.builder .pane--preview{grid-column:auto}}.pane{background:var(--white);border:var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-4)}.pane--sunken{background:var(--surface-sunken)}.pane--sticky{position:sticky;top:72px}.pane h2,.pane h3{font-family:var(--font-mono);font-size:var(--text-overline);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-muted);font-weight:var(--weight-medium);margin-bottom:var(--space-3)}.tpl{width:100%;text-align:left;border:1px solid var(--border-subtle);background:var(--white);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);cursor:pointer;font-family:inherit;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.tpl:hover{border-color:var(--brand-border);background:var(--brand-subtle)}.tpl[aria-pressed=true]{border-color:var(--brand);background:var(--brand-subtle);box-shadow:inset 0 0 0 1px var(--brand)}.tpl b{display:block;font-size:var(--text-body-sm);color:var(--text-strong);font-weight:var(--weight-semibold);margin-bottom:2px}.tpl span{display:block;font-size:var(--text-caption);color:var(--text-muted);line-height:var(--leading-normal)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.section-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-3);overflow:hidden;background:var(--white)}.section-card[data-dragging=true]{opacity:.5}.section-card[data-drop=true]{box-shadow:0 -2px 0 var(--brand)}.section-card__head{display:flex;align-items:center;gap:var(--space-2);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.section-card__head .grip{cursor:grab;color:var(--text-faint);display:inline-flex;padding:4px}.section-card__head .grip:active{cursor:grabbing}.section-card__head input{flex:1 1 auto;min-width:0}.section-card__total{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--text-muted);white-space:nowrap}.item-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 110px 110px 34px;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--neutral-100);align-items:start}.item-row:last-of-type{border-bottom:none}.item-row__amount{font-family:var(--font-mono);font-size:var(--text-body-sm);text-align:right;padding-top:11px;color:var(--text-body);white-space:nowrap}.item-row__note{grid-column:1 / -1}@media(max-width:700px){.item-row{grid-template-columns:minmax(0,1fr) 34px}.item-row__amount{text-align:left;padding-top:0}}.add-row{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--text-brand);cursor:pointer;min-height:var(--tap-min)}.add-row:hover{text-decoration:underline;text-underline-offset:3px}.add-section{width:100%;border:1px dashed var(--border-default);border-radius:var(--radius-md);background:none;color:var(--text-brand);font-family:inherit;font-size:var(--text-body-sm);font-weight:var(--weight-medium);min-height:var(--tap-min);cursor:pointer}.add-section:hover{border-color:var(--brand-border);background:var(--brand-subtle)}.builder input[readonly],.builder textarea[readonly],.builder select:disabled{background:var(--surface-sunken);color:var(--text-body);border-color:var(--border-subtle);cursor:default;opacity:1}.builder .section-card__head input[readonly]{background:transparent;border-color:transparent;font-weight:var(--weight-medium)}.preview-frame{background:var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-3);overflow:hidden}.preview-scale{transform-origin:top left;will-change:transform}.preview-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption);color:var(--text-muted);margin-bottom:var(--space-2)}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand);display:inline-block;flex:0 0 auto}.dot--draft{background:var(--neutral-400)}.dot--void{background:var(--danger-fg)}.dot--warn{background:var(--warning-fg)}.actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.print-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--white);border-bottom:var(--border-hairline)}.print-sheet{padding:var(--space-6) 0;background:var(--neutral-200)}@media print{.app-bar,.print-bar,.no-print{display:none!important}body{background:var(--white)}.print-sheet{padding:0;background:var(--white)}.app-main{padding:0}}.definition-list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-5);font-size:var(--text-body-sm)}.definition-list dt{color:var(--text-muted)}.definition-list dd{margin:0;font-family:var(--font-mono);color:var(--text-strong)}.problem-list{margin:0;padding-left:var(--space-5);font-size:var(--text-body-sm);line-height:var(--leading-relaxed)}.toast-host{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:60;display:flex;flex-direction:column;gap:var(--space-2)}.signin{min-height:100vh;display:grid;place-items:center;padding:var(--space-5);background:var(--wash-brand),var(--surface-sunken)}.signin__card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-4);background:var(--surface-card);border:var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-6);box-shadow:var(--shadow-md)}.signin__intro h1{font-size:var(--text-h3)}.signin__intro p{margin-top:var(--space-1)}.ju-doc{--page-w: 210mm;--page-h: 297mm;--page-pad-top: 13mm;--page-pad-x: 16mm;--page-pad-bottom: 9mm;--topbar-h: 4mm;--flow-gap: 5mm;--doc-body: 12.5px;--doc-item: 12px;--doc-small: 11.5px;--doc-note: 10.5px;--doc-num: 11.5px;--doc-eyebrow: 8.5px;--doc-th: 8px;--doc-footer: 10px;--doc-title: 27px;--doc-figure: 26px;font-family:var(--font-body);color:var(--neutral-700);font-size:var(--doc-body);line-height:1.5;letter-spacing:.005em;font-variant-numeric:tabular-nums;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ju-doc *,.ju-doc *:before,.ju-doc *:after{box-sizing:border-box}.ju-doc h1,.ju-doc h2,.ju-doc h3,.ju-doc h4,.ju-doc p,.ju-doc dl,.ju-doc dd,.ju-doc dt,.ju-doc table{margin:0;padding:0}.ju-page{width:var(--page-w);height:var(--page-h);background:var(--white);position:relative;display:flex;flex-direction:column;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom);overflow:hidden;break-after:page;page-break-after:always}.ju-page:last-child{break-after:auto;page-break-after:auto}.ju-doc--screen .ju-page{margin:0 auto 8mm;box-shadow:var(--shadow-lg);border-radius:2px}.ju-topbar{position:absolute;top:0;left:0;right:0;height:var(--topbar-h);background:var(--green-600)}.ju-topbar i{position:absolute;top:0;right:0;height:var(--topbar-h);width:26mm;background:var(--green-900);display:block}.ju-page-body{display:flex;flex-direction:column;gap:var(--flow-gap);flex:0 0 auto;min-height:0}.ju-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14mm;padding-top:3mm}.ju-head-right{text-align:right}.ju-doc-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--doc-title);letter-spacing:-.02em;color:var(--neutral-900);line-height:1}.ju-doc-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--neutral-500);margin-top:2.2mm}.ju-meta{margin-top:3mm;display:grid;grid-template-columns:auto auto;gap:1.1mm 6mm;justify-content:end}.ju-meta dt{font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:.09em;text-transform:uppercase;color:var(--neutral-500);white-space:nowrap}.ju-meta dd{font-family:var(--font-mono);font-size:11px;color:var(--neutral-900);font-weight:var(--weight-medium);white-space:nowrap}.ju-meta dd.is-key{color:var(--green-600)}.ju-parties{display:grid;grid-template-columns:1fr 1fr;gap:10mm;padding-top:4mm;border-top:1px solid var(--neutral-200)}.ju-eyebrow{font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--neutral-500);margin-bottom:2.5mm}.ju-party strong{display:block;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:14px;color:var(--neutral-900);letter-spacing:-.01em;margin-bottom:1mm}.ju-party p{font-size:var(--doc-small);color:var(--neutral-600);line-height:1.55}.ju-tbc{color:var(--neutral-400)}.ju-strip{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:4mm 5mm;display:flex;justify-content:space-between;align-items:center;gap:8mm}.ju-strip .ju-strip-label{font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--green-600)}.ju-strip .ju-strip-figure{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--doc-figure);letter-spacing:-.02em;color:var(--green-900);line-height:1.1;margin-top:1.5mm}.ju-strip .ju-strip-right{text-align:right;font-size:var(--doc-small);color:var(--neutral-600)}.ju-strip .ju-strip-right b{display:block;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:13.5px;color:var(--neutral-900);margin-top:2mm}.ju-strip--paid{border-color:var(--green-200)}.ju-pill{display:inline-flex;align-items:center;gap:1.5mm;font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;background:var(--green-600);color:var(--white);border-radius:var(--radius-full);padding:1.4mm 3mm;font-weight:var(--weight-medium)}.ju-pill--quiet{background:var(--white);color:var(--green-600);border:1px solid var(--green-200)}.ju-section{display:flow-root}.ju-section-head{display:flex;align-items:baseline;gap:3mm;border-bottom:1.5px solid var(--green-600);padding-bottom:1.8mm}.ju-section-head h3{font-family:var(--font-mono);font-size:9.5px;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--green-600);font-weight:var(--weight-medium)}.ju-section-head span{font-size:11px;color:var(--neutral-500);margin-left:auto;text-align:right}.ju-doc table{width:100%;border-collapse:collapse}.ju-doc thead th{font-family:var(--font-mono);font-size:var(--doc-th);letter-spacing:.09em;text-transform:uppercase;color:var(--neutral-500);font-weight:var(--weight-regular);text-align:right;padding:1.8mm 0 1.3mm;border-bottom:1px solid var(--neutral-100)}.ju-doc thead th:first-child{text-align:left}.ju-doc tbody td{padding:1.9mm 0;border-bottom:1px solid var(--neutral-100);vertical-align:top;text-align:right;font-size:var(--doc-item);color:var(--neutral-800)}.ju-doc tbody td:first-child{text-align:left;padding-right:6mm}.ju-doc tbody td .ju-item-note{display:block;font-size:var(--doc-note);color:var(--neutral-500);margin-top:.8mm;line-height:1.45}.ju-doc td.ju-num{font-family:var(--font-mono);font-size:var(--doc-num);white-space:nowrap}.ju-doc col.ju-c-qty{width:14mm}.ju-doc col.ju-c-unit{width:26mm}.ju-doc col.ju-c-amt{width:28mm}.ju-doc col.ju-c-date{width:30mm}.ju-doc col.ju-c-ref{width:32mm}.ju-doc tr.ju-subtotal td{border-bottom:none;padding-top:1.9mm;font-size:11px;color:var(--neutral-500)}.ju-doc tr.ju-subtotal td.ju-num{color:var(--neutral-700);font-weight:var(--weight-medium)}.ju-totals{display:flex;justify-content:flex-end}.ju-totals table{width:82mm}.ju-totals td{padding:1.5mm 0;font-size:var(--doc-item);border:none;text-align:right;color:var(--neutral-600)}.ju-totals td:first-child{text-align:left;padding-right:0}.ju-totals tr.ju-rule td{border-top:1px solid var(--neutral-300);padding-top:2.2mm}.ju-totals tr.ju-grand td{border-top:2px solid var(--green-600);padding-top:2.4mm;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:15px;color:var(--green-900)}.ju-totals td.ju-num{font-family:var(--font-mono);font-size:var(--doc-item);color:var(--neutral-800)}.ju-totals tr.ju-grand td.ju-num{font-family:var(--font-display);font-size:16px;color:var(--green-900)}.ju-gst-off{color:var(--neutral-400);font-size:var(--doc-note)}.ju-panel{border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:4mm 5mm}.ju-panel--tint{background:var(--green-50);border-color:var(--green-100)}.ju-panel--warm{background:var(--neutral-25)}.ju-panel h4{font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--neutral-500);font-weight:var(--weight-medium);margin-bottom:2.4mm}.ju-panel--tint h4{color:var(--green-600)}.ju-panel p{font-size:var(--doc-small);color:var(--neutral-700);line-height:1.6;max-width:150mm}.ju-panel p+p{margin-top:2mm}.ju-panel p b{font-weight:var(--weight-bold);color:var(--neutral-900)}.ju-paygrid{display:grid;grid-template-columns:1fr 1fr;gap:8mm}.ju-paygrid dl{display:grid;grid-template-columns:auto 1fr;gap:1.4mm 4mm;font-size:var(--doc-small)}.ju-paygrid dt{color:var(--neutral-500)}.ju-paygrid dd{color:var(--neutral-800);font-family:var(--font-mono);font-size:11px}.ju-panel .ju-stamp{font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--neutral-500);margin-top:3.5mm;display:block}.ju-panel .ju-ref{margin-top:3.5mm;font-size:var(--doc-small);color:var(--neutral-700);border-top:1px solid var(--neutral-200);padding-top:3mm}.ju-panel .ju-ref b{font-family:var(--font-mono);font-size:var(--doc-small);color:var(--green-600)}.ju-sign{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin-top:3.5mm}.ju-sign div{border-top:1px solid var(--neutral-400);padding-top:2mm;font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:.09em;text-transform:uppercase;color:var(--neutral-500)}.ju-sign .ju-sign-line{height:11mm;border:none;padding:0}.ju-cont{display:flex;justify-content:space-between;align-items:center;gap:8mm;padding-top:3mm;padding-bottom:4mm;border-bottom:1px solid var(--neutral-200)}.ju-cont .ju-cont-who{display:flex;align-items:center;gap:3mm}.ju-cont .ju-cont-who b{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:13px;color:var(--neutral-900)}.ju-cont .ju-cont-right{font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--neutral-500);text-align:right}.ju-cont .ju-cont-right em{display:block;font-style:normal;font-size:11px;color:var(--green-600);font-weight:var(--weight-medium);margin-top:1mm;letter-spacing:0}.ju-foot{margin-top:auto;padding-top:4mm;border-top:1px solid var(--neutral-200);display:flex;justify-content:space-between;align-items:flex-end;gap:8mm;font-size:var(--doc-footer);color:var(--neutral-500);line-height:1.5}.ju-foot .ju-legal{max-width:120mm}.ju-foot .ju-page-no{font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.ju-specimen{font-family:var(--font-mono);font-size:var(--doc-eyebrow);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--amber-600);background:var(--amber-100);border-radius:var(--radius-full);padding:1mm 2.5mm;display:inline-block;margin-bottom:2mm}.ju-measure{position:absolute;top:0;left:-20000px;width:calc(var(--page-w) - (2 * var(--page-pad-x)));display:flex;flex-direction:column;gap:var(--flow-gap);pointer-events:none;z-index:-1}@page{size:A4 portrait;margin:0}@media print{.ju-doc--screen .ju-page{margin:0;box-shadow:none;border-radius:0}.ju-measure{display:none!important}}.ju-measure>*{flex:0 0 auto}.ju-measure-page .ju-page-body{flex:1 1 auto}.ju-measure-page .ju-foot{margin-top:0}.ju-gap-probe{height:var(--flow-gap)}
