:root{--brand-primary: #2337ff;--brand-primary-dark: #000d8a;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--container-narrow: 720px;--container-default: 960px;--container-wide: 1200px;--font-size-base: 1rem;--font-size-sm: .8rem;--font-size-h1: 3.052rem;--font-size-h2: 2.441rem;--font-size-h3: 1.953rem;--font-size-h4: 1.563rem;--font-size-h5: 1.25rem;--font-size-blockquote: 1.333rem;--content-width: 720px;--content-width-wide: 960px;--radius-sm: 2px;--radius-md: 8px}:root,[data-theme=light]{--color-background: 255, 255, 255;--color-surface: 249, 250, 251;--color-text-primary: 34, 41, 57;--color-text-secondary: 96, 115, 159;--color-text-heading: 15, 18, 25;--color-border-light: 229, 233, 240;--color-border-medium: 203, 213, 225;--color-accent: var(--brand-primary);--color-accent-hover: var(--brand-primary-dark);--color-code-bg: 229, 233, 240;--color-code-text: 51, 65, 85;--gradient-background: linear-gradient( rgba(229, 233, 240, .5), rgb(var(--color-background)) );--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 2px 6px rgba(96, 115, 159, .25), 0 8px 24px rgba(96, 115, 159, .33), 0 16px 32px rgba(96, 115, 159, .33);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .1), 0 12px 28px rgba(0, 0, 0, .15)}[data-theme=dark]{--color-background: 15, 18, 25;--color-surface: 26, 32, 44;--color-text-primary: 226, 232, 240;--color-text-secondary: 148, 163, 184;--color-text-heading: 248, 250, 252;--color-border-light: 51, 65, 85;--color-border-medium: 71, 85, 105;--color-accent: #95a9fb;--color-accent-hover: #ffffff;--color-code-bg: 30, 41, 59;--color-code-text: 203, 213, 225;--gradient-background: linear-gradient( rgba(51, 65, 85, .3), rgb(var(--color-background)) );--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .5), 0 16px 32px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .3), 0 12px 28px rgba(0, 0, 0, .4)}:root{--accent: var(--color-accent);--accent-dark: var(--color-accent-hover);--black: var(--color-text-heading);--gray: var(--color-text-secondary);--gray-light: var(--color-border-light);--gray-dark: var(--color-text-primary);--gray-gradient: var(--gradient-background);--box-shadow: var(--shadow-md)}@font-face{font-family:Stack Sans;src:url(/fonts/StackSansText.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Copse;src:url(/fonts/Copse-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}body{font-family:Stack Sans,Atkinson,sans-serif;margin:0;padding:0;text-align:left;background-color:rgb(var(--color-background));background-image:var(--gradient-background);background-repeat:no-repeat;background-size:100% 600px;word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--color-text-primary));font-size:var(--font-size-base);font-weight:100;line-height:1.7;transition:background-color .3s ease,color .3s ease}main{width:54rem;max-width:calc(100% - 2rem);margin:auto;padding:3rem 1rem}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:rgb(var(--color-text-heading));line-height:1.2;font-family:Copse,sans-serif;transition:color .3s ease;margin-bottom:.5em}h1{font-size:3.052rem}h2{font-size:1.8rem}h3{font-size:1.4rem}h4{font-size:1.2rem}strong,b{font-weight:700}a,a:hover{color:var(--accent)}p{margin-bottom:1rem}ul{margin-bottom:2rem}ul>li{margin-bottom:.5rem}.prose p{margin-bottom:1.2rem}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--color-code-bg));color:rgb(var(--color-code-text));border-radius:var(--radius-sm);transition:background-color .3s ease,color .3s ease}pre{padding:1.5rem;border-radius:8px}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.333rem}hr{border:none;border-top:1px solid rgb(var(--color-border-light));transition:border-color .3s ease}@media (max-width: 720px){main{padding:1rem}}code{background:#1c1c1c;border:1px solid #666;color:#fff;display:block;font-size:var(--font-size-sm);margin:1rem;padding:1rem}code h2,code h3,code h4{color:#fff}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .1s ease;cursor:pointer;border:2px solid transparent}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button--primary{background-color:var(--color-accent);color:#fff}.button--primary:hover{background-color:var(--color-accent-hover)}.button--secondary{background-color:transparent;color:rgb(var(--color-text-heading));border-color:rgb(var(--color-border-medium))}.button--secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.link{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-accent);text-decoration:none;font-weight:600;font-size:1.125rem;transition:gap .2s ease}.link--arrow:after{content:"→";transition:transform .2s ease}.link--arrow:hover{gap:var(--space-md)}.link--arrow:hover:after{transform:translate(4px)}.section{padding:var(--space-3xl) 0}.section__header{max-width:720px}.section__header--centered{text-align:center;margin:0 auto}.section__title{font-size:var(--font-size-h2);margin:0 0 var(--space-md) 0}.section__description{font-size:1.1rem;color:rgb(var(--color-text-secondary));line-height:1.4;margin:0}.section__action{text-align:center}.tag{display:inline-block;padding:.25rem .75rem;background-color:rgb(var(--color-surface));color:rgb(var(--color-text-secondary));border-radius:1rem;font-size:.8125rem;font-weight:500}@media (max-width: 720px){.section{padding:var(--space-2xl) 0}.button{width:100%}}.footer{padding:2rem 1rem 6rem;background:linear-gradient(var(--gray-gradient)) no-repeat;color:rgb(var(--gray));font-size:var(--font-size-sm);text-align:center}.footer__social-links{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.footer__social-links a{text-decoration:none;color:rgb(var(--gray))}.footer__social-links a:hover{color:rgb(var(--gray-dark))}.theme-toggle{background:transparent;border:2px solid rgb(var(--color-border-medium));border-radius:8px;padding:.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--color-text-primary));transition:border-color .2s ease,background-color .2s ease,transform .1s ease;width:44px;height:44px;position:relative}.theme-toggle:hover{background-color:rgb(var(--color-surface));border-color:var(--color-accent)}.theme-toggle:focus{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle:active{transform:scale(.95)}.theme-toggle__icon--sun,.theme-toggle__icon--moon{position:absolute;transition:opacity .3s ease,transform .3s ease}:root .theme-toggle__icon--sun,[data-theme=light] .theme-toggle__icon--sun{opacity:0;transform:rotate(180deg)}:root .theme-toggle__icon--moon,[data-theme=light] .theme-toggle__icon--moon{opacity:1;transform:rotate(0)}[data-theme=dark] .theme-toggle__icon--sun{opacity:1;transform:rotate(0)}[data-theme=dark] .theme-toggle__icon--moon{opacity:0;transform:rotate(-180deg)}.header{margin:0;padding:1rem;background:rgb(var(--color-background));box-shadow:0 2px 8px rgba(var(--color-text-heading),5%);transition:background-color .3s ease,box-shadow .3s ease}.header__nav{display:flex;align-items:center;justify-content:space-between}.header__title{margin:0;font-size:1rem}.header__title a,.header__title a.active{text-decoration:none}.header__links{display:flex}.header__nav a{padding:1rem .5rem;color:rgb(var(--color-text-heading));border-bottom:4px solid transparent;text-decoration:none;transition:color .3s ease,border-bottom-color .3s ease}.header__nav a.active{text-decoration:none;border-bottom-color:var(--color-accent)}.header__toggle-wrapper{display:flex;align-items:center}
