body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);color:var(--color-heading);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin-bottom:1.25rem}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:focus,a:hover{color:var(--color-link-hover)}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}form{margin:var(--spacing-md) 0}.entry-content ol,.entry-content ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.entry-content ul{list-style-type:disc}.entry-content ol{list-style-type:decimal}.entry-content li{margin-bottom:var(--spacing-sm)}.entry-content li:last-child{margin-bottom:0}blockquote{margin:var(--spacing-xl) 0;padding:var(--spacing-lg) var(--spacing-xl);border-left:4px solid var(--color-primary);background-color:var(--color-background-alt);font-style:italic}blockquote p:last-child{margin-bottom:0}blockquote cite{display:block;margin-top:var(--spacing-md);font-size:var(--font-size-sm);font-style:normal;color:var(--color-text-muted)}code,kbd,pre,samp{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}code{padding:.125em .25em;background-color:var(--color-background-alt);border-radius:var(--border-radius-sm)}pre{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background-color:var(--color-gray-900);color:var(--color-gray-100);border-radius:var(--border-radius);overflow-x:auto}pre code{padding:0;background-color:transparent;border-radius:0}hr{margin:var(--spacing-2xl) 0;border:none;border-top:1px solid var(--color-border)}img{border-radius:var(--border-radius)}figure{margin:var(--spacing-xl) 0}figcaption{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}table{width:100%;margin:var(--spacing-xl) 0;border:1px solid var(--color-border)}td,th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:var(--font-weight-semibold);background-color:var(--color-background-alt)}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:var(--z-tooltip);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--color-white);border-radius:var(--border-radius)}.skip-link:focus{top:var(--spacing-sm)}.btn,button,input[type=button],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-text);background-color:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:hover,button:hover,input[type=button]:hover,input[type=submit]:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.btn:focus-visible,button:focus-visible,input[type=button]:focus-visible,input[type=submit]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,button:disabled,input[type=button]:disabled,input[type=submit]:disabled{opacity:.5;cursor:not-allowed}.btn-primary,button[type=submit],input[type=submit]{color:var(--color-white);background-color:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover,button[type=submit]:hover,input[type=submit]:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}