/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@font-face{font-family:Federo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/federo-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/notosans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/notosans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}:root{--green-100:#a4dd97;--green-300:#469d33;--green-500:#2c7d40;--green-700:#016632;--green-900:#004d2e;--forest-ink:#0e5c2f;--leaf-spark:#9acd32;--bark-600:#8b4513;--bark-100:linen;--neutral-0:#fff;--neutral-25:#f7f9f7;--neutral-50:#f0f2f0;--neutral-100:#e3e8e4;--neutral-200:#cdd5ce;--neutral-300:#aab4ab;--neutral-400:#7e8a80;--neutral-600:#515b53;--neutral-800:#2a312b;--neutral-900:#1a1f1b;--navy-900:#001529;--navy-700:#102a43;--amber-500:#c77d11;--amber-100:#fbeccb;--red-500:#c0392b;--red-100:#f7dcd8;--info-500:#1f6feb;--info-100:#d8e6fd;--brand:var(--green-500);--brand-hover:var(--green-700);--brand-active:var(--green-900);--brand-subtle:#e7f3e4;--on-brand:#fff;--surface-app:var(--neutral-25);--surface-card:var(--neutral-0);--surface-sunken:var(--neutral-50);--surface-root:var(--bark-100);--surface-inverse:var(--navy-900);--text-strong:var(--neutral-900);--text-body:var(--neutral-800);--text-muted:var(--neutral-600);--text-faint:var(--neutral-400);--text-on-inverse:#fff;--text-on-inverse-muted:#ffffffb8;--text-link:var(--info-500);--border:var(--neutral-200);--border-strong:var(--neutral-300);--border-card:#e8ece9;--ground-line:var(--bark-600);--branch:var(--green-500);--branch-faded:#bcd9b3;--level-1-beginner:var(--green-100);--level-2-confident:var(--green-300);--level-3-expert:var(--green-700);--level-binary:var(--neutral-300);--level-unheld:var(--neutral-200);--on-level-light:var(--green-900);--on-level-dark:#fff;--font-display:"Federo", "Optima", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-sans:"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.08em;--display-font:var(--font-display);--display-weight:var(--weight-regular);--display-leading:var(--leading-tight);--heading-font:var(--font-sans);--heading-weight:var(--weight-bold);--body-font:var(--font-sans);--body-weight:var(--weight-regular);--body-leading:var(--leading-normal);--label-weight:var(--weight-bold);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--radius-circle:50%;--shadow-xs:0 1px 2px #1a1f1b0f;--shadow-sm:0 1px 3px #1a1f1b1a, 0 1px 2px #1a1f1b0f;--shadow-md:0 4px 12px #1a1f1b1a;--shadow-lg:0 12px 32px #1a1f1b24;--shadow-card:0 1px 2px #1a1f1b14, 0 0 0 1px var(--border-card);--shadow-focus:0 0 0 3px #2c7d4047;--node-width:120px;--node-height:80px;--header-height:64px;--content-max:1200px;--panel-width:320px;--ease-standard:cubic-bezier(.2, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--dim-opacity:.4}.sf-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);display:inline-flex;transform:scale(1)}.sf-btn:active{transform:scale(.97)}.sf-btn--block{width:100%;display:flex}.sf-btn--small{height:28px;font-size:var(--text-sm);padding:0 12px}.sf-btn--middle{height:36px;font-size:var(--text-sm);padding:0 16px}.sf-btn--large{height:44px;font-size:var(--text-base);padding:0 22px}.sf-btn--primary{background:var(--brand);color:var(--on-brand);border:1px solid var(--brand)}.sf-btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.sf-btn--secondary{background:var(--surface-card);color:var(--text-body);border:1px solid var(--border-strong)}.sf-btn--secondary:hover{border-color:var(--brand);color:var(--brand)}.sf-btn--ghost{color:var(--brand);background:0 0;border:1px solid #0000}.sf-btn--ghost:hover{background:var(--brand-subtle)}.sf-btn--danger{background:var(--red-500);color:#fff;border:1px solid var(--red-500)}.sf-btn--danger:hover{background:#a93226;border-color:#a93226}.sf-btn--link{color:var(--text-link);background:0 0;border:1px solid #0000;height:auto;padding:0}.sf-btn--link:hover{color:var(--brand-hover);text-decoration:underline}.sf-card{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard);overflow:hidden}.sf-card--interactive{cursor:pointer}.sf-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.sf-card__head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-card);display:flex}.sf-card__title{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-strong)}.sf-input{align-items:center;gap:var(--space-2);background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);display:flex}.sf-input--middle{height:36px;padding-inline:11px}.sf-input--large{height:44px;padding-inline:14px}.sf-input:focus-within{border-color:var(--brand);box-shadow:var(--shadow-focus)}.sf-input--invalid,.sf-input--invalid:focus-within{border-color:var(--red-500);box-shadow:none}.sf-input__field{min-width:0;font-family:var(--font-sans);color:var(--text-body);background:0 0;border:none;outline:none;flex:1;height:100%}.sf-input--middle .sf-input__field{font-size:var(--text-sm)}.sf-input--large .sf-input__field{font-size:var(--text-base)}.sf-input__field::placeholder{color:var(--text-faint)}@layer theme{:root,:host{--font-sans:"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Federo", "Optima", "Avenir Next", "Segoe UI", system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.overline{text-decoration-line:overline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-weight:var(--body-weight);line-height:var(--body-leading);color:var(--text-body);background:var(--surface-app);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%}.nav-link{transition:color var(--duration-fast) var(--ease-standard)}.nav-link:hover{color:#fff}.prose{max-width:68ch;color:var(--text-body);font-size:var(--text-md);line-height:var(--leading-relaxed);margin:0 auto}.prose>*+*{margin-top:var(--space-5)}.prose h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--text-strong);margin:0 0 var(--space-4)}.prose h2{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-strong);line-height:var(--leading-tight);margin:var(--space-12) 0 0}.prose h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong);margin:var(--space-8) 0 0}.prose p,.prose ul,.prose ol{color:var(--text-muted)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose a{color:var(--text-link);text-underline-offset:2px;text-decoration:underline}.prose strong{color:var(--text-strong);font-weight:var(--weight-semibold)}.prose blockquote{border-left:3px solid var(--brand);padding-left:var(--space-5);color:var(--text-muted);font-family:var(--font-display);font-size:var(--text-lg)}.prose code{font-family:var(--font-mono);background:var(--surface-sunken);border-radius:var(--radius-sm);padding:2px 6px;font-size:.9em}.prose hr{border:none;border-top:1px solid var(--border-card);margin:var(--space-12) 0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
