:root{--bl-font-display: "Camera Plain Variable", "Space Grotesk", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--bl-font-body: "Camera Plain Variable", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--bl-font-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--bl-font-size-xs: .75rem;--bl-font-size-sm: .8125rem;--bl-font-size-base: .875rem;--bl-font-size-md: 1rem;--bl-font-size-lg: 1.125rem;--bl-font-size-xl: 1.25rem;--bl-font-size-2xl: 1.5rem;--bl-font-size-3xl: 1.875rem;--bl-font-size-4xl: 2.25rem;--bl-font-size-5xl: 3rem;--bl-font-size-6xl: 3.75rem;--bl-font-weight-regular: 400;--bl-font-weight-semibold: 600;--bl-line-height-display: 1.05;--bl-line-height-tight: 1.1;--bl-line-height-snug: 1.25;--bl-line-height-normal: 1.5;--bl-letter-display: -1.5px;--bl-letter-heading: -1.2px;--bl-letter-subheading: -.9px;--bl-letter-normal: 0;--bl-radius-xs: 4px;--bl-radius-sm: 6px;--bl-radius-md: 8px;--bl-radius-lg: 12px;--bl-radius-xl: 16px;--bl-radius-full: 9999px;--bl-shadow-inset-dark: rgba(255, 255, 255, .18) 0px .5px 0px 0px inset, rgba(0, 0, 0, .25) 0px 0px 0px .5px inset, rgba(0, 0, 0, .08) 0px 1px 2px 0px;--bl-shadow-focus: rgba(0, 38, 26, .12) 0px 4px 12px;--bl-shadow-sm: 0 1px 2px rgba(0, 38, 26, .05);--bl-shadow-md: 0 4px 12px rgba(0, 38, 26, .08);--bl-shadow-lg: 0 12px 32px rgba(0, 38, 26, .12);--bl-shadow-modal: 0 24px 48px rgba(0, 0, 0, .18), 0 12px 24px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);--bl-overlay-scrim: rgba(0, 38, 26, .45);--bl-overlay-blur: 6px;--bl-motion-instant: 80ms;--bl-motion-fast: .15s;--bl-motion-base: .2s;--bl-motion-medium: .3s;--bl-motion-slow: .45s;--bl-ease-standard: cubic-bezier(.2, 0, 0, 1);--bl-ease-out: cubic-bezier(0, 0, .2, 1);--bl-ease-in: cubic-bezier(.4, 0, 1, 1);--bl-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--bl-bp-sm: 375px;--bl-bp-md: 768px;--bl-bp-lg: 1024px;--bl-bp-xl: 1440px;--bl-space-1: 4px;--bl-space-2: 8px;--bl-space-3: 12px;--bl-space-4: 16px;--bl-space-5: 24px;--bl-space-6: 32px;--bl-space-7: 40px;--bl-space-8: 56px;--bl-space-9: 80px;--bl-space-10: 96px;--bl-space-11: 128px;--bl-space-12: 176px}[data-theme=dark]{--bl-shadow-focus: rgba(232, 235, 233, .14) 0px 4px 12px;--bl-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--bl-shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--bl-shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--bl-shadow-modal: 0 24px 48px rgba(0, 0, 0, .55), 0 12px 24px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .06);--bl-overlay-scrim: rgba(0, 0, 0, .65);--bl-overlay-blur: 6px}@keyframes bl-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bl-fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes bl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bl-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes bl-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes bl-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bl-spin{to{transform:rotate(360deg)}}.bl-spin{animation:bl-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.bl-spin,[data-bl-spin]{animation-duration:.75s!important;animation-iteration-count:infinite!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--bl-font-body);font-size:var(--bl-font-size-base);font-weight:var(--bl-font-weight-regular);line-height:var(--bl-line-height-normal);color:var(--bl-text-primary);background:var(--bl-bg-app);transition:background .2s,color .2s;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--bl-font-display);font-weight:var(--bl-font-weight-semibold);color:var(--bl-text-primary);line-height:var(--bl-line-height-tight);letter-spacing:-.2px}h1{font-size:var(--bl-font-size-2xl);letter-spacing:-.4px}h2{font-size:var(--bl-font-size-xl);letter-spacing:-.3px}h3{font-size:var(--bl-font-size-lg);letter-spacing:-.2px}h4{font-size:var(--bl-font-size-md);letter-spacing:var(--bl-letter-normal)}h5{font-size:var(--bl-font-size-base);letter-spacing:var(--bl-letter-normal)}h6{font-size:var(--bl-font-size-sm);letter-spacing:var(--bl-letter-normal)}p{line-height:var(--bl-line-height-normal)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--bl-shadow-focus)}::selection{background:var(--bl-accent-primary);color:var(--bl-text-inverse)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bl-border-default);border-radius:var(--bl-radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--bl-border-strong)}input,textarea,select{font-family:inherit;font-weight:var(--bl-font-weight-regular);font-size:var(--bl-font-size-base);color:var(--bl-text-primary);background:var(--bl-bg-input);border:1px solid var(--bl-border-default);border-radius:var(--bl-radius-sm);padding:6px 12px;min-height:36px;outline:none;transition:border-color .15s,box-shadow .15s;color-scheme:light dark}textarea{min-height:80px;padding:8px 12px}input:focus,textarea:focus,select:focus{border-color:var(--bl-border-focus);box-shadow:var(--bl-shadow-focus)}input::placeholder,textarea::placeholder{color:var(--bl-text-muted)}input[type=date],input[type=time],input[type=datetime-local],input[type=week],input[type=month]{color-scheme:dark}[data-theme=light] input[type=date],[data-theme=light] input[type=time],[data-theme=light] input[type=datetime-local],[data-theme=light] input[type=week],[data-theme=light] input[type=month]{color-scheme:light}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='none' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5L6 8l3.5-3.5'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2rem;cursor:pointer}select option{background:var(--bl-bg-surface-raised);color:var(--bl-text-primary)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;min-height:0;padding:0;margin:0;border:none;background:transparent;accent-color:var(--bl-accent-primary);cursor:pointer}a{color:var(--bl-text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .15s}a:hover{color:var(--bl-text-link-hover)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.75rem .875rem;border-bottom:1px solid var(--bl-border-subtle);font-size:var(--bl-font-size-sm)}th{font-weight:var(--bl-font-weight-semibold);color:var(--bl-text-secondary);font-size:var(--bl-font-size-xs);text-transform:uppercase;letter-spacing:.04em}button{font-family:inherit;font-weight:var(--bl-font-weight-regular);cursor:pointer}*,*:before,*:after{transition-property:background-color,border-color;transition-duration:.15s;transition-timing-function:ease}@keyframes bl-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes bl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.article-body{color:var(--bl-text-primary);font-size:var(--bl-font-size-md, 1rem);line-height:1.75}.article-body>*:first-child{margin-top:0}.article-body>*:last-child{margin-bottom:0}.article-body p{margin:0 0 1.1rem}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{font-family:var(--bl-font-display, "Space Grotesk", Inter, sans-serif);font-weight:600;color:var(--bl-text-primary);line-height:1.2;letter-spacing:-.01em;margin:2.25rem 0 .85rem}.article-body h1{font-size:clamp(1.75rem,3vw,2.25rem)}.article-body h2{font-size:clamp(1.375rem,2.4vw,1.75rem)}.article-body h3{font-size:var(--bl-font-size-lg, 1.125rem)}.article-body h4{font-size:var(--bl-font-size-md, 1rem)}.article-body ul,.article-body ol{margin:1rem 0 1.25rem;padding-left:1.5rem}.article-body li{margin-bottom:.4rem}.article-body li::marker{color:var(--bl-text-muted)}.article-body a{color:var(--bl-accent-primary);text-decoration:underline;text-underline-offset:2px}.article-body a:hover{color:var(--bl-accent-primary-hover, var(--bl-accent-primary))}.article-body strong{font-weight:600}.article-body em{font-style:italic}.article-body blockquote{margin:1.5rem 0;padding:.5rem 1.25rem;border-left:3px solid var(--bl-accent-primary);background:var(--bl-bg-surface);border-radius:0 var(--bl-radius-md) var(--bl-radius-md) 0;color:var(--bl-text-secondary);font-style:italic}.article-body code{font-family:var(--bl-font-mono, ui-monospace, monospace);font-size:.92em;padding:.12em .36em;background:var(--bl-bg-surface);border:1px solid var(--bl-border-subtle);border-radius:var(--bl-radius-sm);color:var(--bl-text-primary)}.article-body pre{margin:1.25rem 0;padding:1rem;background:var(--bl-bg-surface);border:1px solid var(--bl-border-subtle);border-radius:var(--bl-radius-md);overflow:auto;font-size:var(--bl-font-size-sm)}.article-body pre code{padding:0;background:transparent;border:0;font-size:inherit}.article-body hr{margin:2rem 0;border:0;border-top:1px solid var(--bl-border-subtle)}.article-body img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:var(--bl-radius-md);border:1px solid var(--bl-border-subtle);cursor:zoom-in;transition:filter var(--bl-motion-base, .16s) var(--bl-ease-standard, ease),transform var(--bl-motion-base, .16s) var(--bl-ease-standard, ease)}.article-body img:hover{filter:brightness(1.03)}.article-body img:focus-visible{outline:2px solid var(--bl-border-focus, var(--bl-accent-primary));outline-offset:3px}.article-body a img{cursor:pointer}@keyframes bl-lightbox-fade{0%{opacity:0}to{opacity:1}}.article-body figure{margin:1.5rem 0}.article-body figure img{margin:0 auto .5rem}.article-body figcaption{text-align:center;font-size:var(--bl-font-size-sm);color:var(--bl-text-muted)}.article-body table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:var(--bl-font-size-sm)}.article-body th,.article-body td{padding:.6rem .75rem;border:1px solid var(--bl-border-subtle);text-align:left}.article-body th{background:var(--bl-bg-surface);font-weight:600}
