:root{--bg-dark:#fff2ed;--bg:#fff2ed;--bg-light:hsl(0, 100%, 98%);--bg-underlay:rgba(0, 0, 0, 0.2);--primary:#905a3e;--secondary:#7e4e35;--danger-bg:oklch(0.546 0.194 25.504);--danger-bg-dark:oklch(0.5 0.194 25.504);--success-bg:oklch(0.54 0.103 144.357);--success-bg-dark:oklch(0.5 0.103 144.357);--warn-bg:oklch(0.68 0.161 58.98);--warn-bg-dark:oklch(0.6 0.161 58.98);--info-bg:oklch(0.595 0.079 198.56);--info-bg-dark:oklch(0.53 0.079 198.56);--contrast-bg:hsl(0, 0%, 10%);--contrast-bg-dark:hsl(0, 0%, 0%);--text:hsl(0, 0%, 5%);--text-muted:hsl(0, 0%, 30%);--font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--border-color:hsl(0, 0%, 80%);--border-highlight:hsl(0, 0%, 88%);--border-radius-sm:8px;--border-radius:16px;--card-border:solid 1px hsl(0, 0%, 85%);--shadow-sm:0 1px 1px hsla(0, 0%, 0%, 0.07),0 2px 2px hsla(0, 0%, 0%, 0.07);--shadow:0 2px 2px hsla(0, 0%, 0%, 0.04),0 3px 3px hsla(0, 0%, 0%, 0.04);--shadow-lg:0 3px 3px hsla(0, 0%, 0%, 0.07),0 5px 5px hsla(0, 0%, 0%, 0.07);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--container-padding-x:16px}*{box-sizing:border-box}nav#navbar.wrapper{display:block;width:100%;position:fixed;top:16px}body,html{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--font-family),sans-serif;line-height:1.4;font-size:1.05rem;margin:0;padding:0}body{margin-top:96px}.hx-indicator{display:none}.hide-when-loading,.htmx-request .hx-indicator{display:inline-block}.htmx-request .hide-when-loading{display:none}main{display:block;flex-grow:1;padding:24px 0}footer{font-size:.9rem;margin-top:auto;padding:16px 0;border-top:1px solid var(--border-color);background:var(--bg-dark)}p{margin:var(--spacing-xs) 0}.container{width:100%;max-width:968px;margin:0 auto;padding:0 var(--container-padding-x)}.card{width:100%;box-shadow:var(--shadow);border:var(--card-border);border-top:1px solid var(--border-highlight);background:var(--bg-light);padding:var(--spacing-md);border-radius:var(--border-radius)}.card-hover{transition:transform .15s,box-shadow .15s;cursor:default}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.flex{display:flex;align-items:center;gap:var(--spacing-md)}.flex-wrap{flex-wrap:wrap}.flex-col{display:flex;flex-direction:column;gap:var(--spacing-md)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.feature-icon{width:44px;height:44px;border-radius:var(--border-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:color-mix(in oklch,var(--primary) 12%,transparent);border:1px solid color-mix(in oklch,var(--primary) 22%,transparent)}@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}.gap-sm{gap:var(--spacing-sm)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.space-between{justify-content:space-between}.items-start{align-items:start}.items-stretch{align-items:stretch}.items-center{align-items:center}.justify-center{justify-content:center}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.drawer.underlay{position:fixed;top:0;left:0;background:var(--bg-underlay);height:100%;width:100%;z-index:45}aside.drawer{position:fixed;height:100%;top:0;right:0;width:80%;max-width:312px;overflow-y:auto;z-index:50;transition:.3s;transform:translateX(100%);padding:var(--spacing-md);background:var(--bg-light)}.link,a{cursor:pointer;font-weight:400;text-decoration:underline;color:var(--primary);background:0 0;border:0}.link:active,.link:focus,.link:hover,a:active,a:focus,a:hover{color:var(--secondary)}button{font-size:1.05rem;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:var(--border-radius-sm);transition:.2s;font-weight:900;color:var(--text);background:var(--bg-light)}button:hover{background:var(--bg)}button.primary{color:#fff;background:var(--primary);border:1px solid #ffffff00}button.primary:active,button.primary:focus,button.primary:hover{background:var(--secondary)}button.danger{color:#fff;background:var(--danger-bg);border:1px solid #ffffff00}button.danger:active,button.danger:focus,button.danger:hover{background:var(--danger-bg-dark)}button.success{color:#fff;background:var(--success-bg);border:1px solid #ffffff00}button.success:active,button.success:focus,button.success:hover{background:var(--success-bg-dark)}button.warn{color:#fff;background:var(--warn-bg);border:1px solid #ffffff00}button.warn:active,button.warn:focus,button.warn:hover{background:var(--warn-bg-dark)}button.info{color:#fff;background:var(--info-bg);border:1px solid #ffffff00}button.info:active,button.info:focus,button.info:hover{background:var(--info-bg-dark)}button.contrast{color:#fff;background:var(--contrast-bg);border:1px solid #ffffff00}button.contrast:active,button.contrast:focus,button.contrast:hover{background:var(--contrast-bg-dark)}a.ghost,button.ghost{border:1px solid transparent;box-shadow:none;background:0 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);color:inherit;text-decoration:none}a.ghost:active,a.ghost:focus,a.ghost:hover{background:#00000008;color:inherit}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:.85rem!important}.btn-lg{font-size:1.15rem!important;padding:var(--spacing-sm) var(--spacing-md)!important}button.primary.ghost{color:var(--secondary)}button.primary.ghost:hover{background:color-mix(in oklch,var(--primary) 7%,transparent)}button.danger.ghost{color:var(--danger-bg-dark)}button.danger.ghost:hover{background:color-mix(in oklch,var(--danger-bg) 7%,transparent)}button.success.ghost{color:var(--success-bg-dark)}button.success.ghost:hover{background:color-mix(in oklch,var(--success-bg) 7%,transparent)}button.warn.ghost{color:var(--warn-bg-dark)}button.warn.ghost:hover{background:color-mix(in oklch,var(--warn-bg) 7%,transparent)}button.info.ghost{color:var(--info-bg-dark)}button.info.ghost:hover{background:color-mix(in oklch,var(--info-bg) 7%,transparent)}button.contrast.ghost{color:var(--contrast-bg-dark)}button.contrast.ghost:hover{background:color-mix(in oklch,var(--contrast-bg) 7%,transparent)}button.ghost:active,button.ghost:focus,button.ghost:hover{background:#00000008}.banner{width:100%;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-sm);border:1px dashed var(--border-color)}.banner.contrast{background:color-mix(in oklch,var(--contrast-bg) 10%,transparent);border-color:color-mix(in oklch,var(--contrast-bg) 30%,transparent)}.banner.success{background:color-mix(in oklch,var(--success-bg) 10%,transparent);border-color:color-mix(in oklch,var(--success-bg) 30%,transparent)}.banner.warn{background:color-mix(in oklch,var(--warn-bg) 10%,transparent);border-color:color-mix(in oklch,var(--warn-bg) 30%,transparent)}.banner.info{background:color-mix(in oklch,var(--info-bg) 10%,transparent);border-color:color-mix(in oklch,var(--info-bg) 30%,transparent)}.banner.danger{background:color-mix(in oklch,var(--danger-bg) 10%,transparent);border-color:color-mix(in oklch,var(--danger-bg) 30%,transparent)}.banner.primary{background:color-mix(in oklch,var(--primary) 10%,transparent);border-color:color-mix(in oklch,var(--primary) 30%,transparent)}.badge{padding:4px 8px;border-radius:var(--border-radius-sm);font-weight:600;display:inline-block}.badge.primary{background:var(--primary);color:#fff}.badge.success{background:var(--success-bg);color:#fff}.badge.danger{background:var(--danger-bg);color:#fff}.badge.warn{background:var(--warn-bg);color:#fff}.badge.contrast{background:var(--contrast-bg);color:#fff}.badge.info{background:var(--info-bg);color:#fff}.text-muted{color:var(--text-muted)}.text-3xl,.text-4xl{font-size:2.25rem}.text-2xl{font-size:1.75rem}.text-xl{font-size:1.5rem}.text-lg{font-size:1.25rem}.text-md{font-size:1rem}.text-sm{font-size:.925rem}.text-xs{font-size:.8rem}.text-xxs{font-size:.75rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h1,h2,h3{font-weight:900;margin:0 0 4px;padding:0}ul{list-style-type:none;margin:0;padding:0}img.avatar{border-radius:50%;border:1px solid var(--border-color)}.table-container{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}table thead{border-bottom:2px solid var(--border-color)}table tbody tr{cursor:default;border-bottom:1px solid var(--border-highlight)}table tbody tr td,table thead tr th{padding:var(--spacing-sm)}table tbody tr:hover{background:var(--bg)}table caption{width:100%;caption-side:bottom;padding:var(--spacing-sm);font-size:.85rem;color:var(--text-muted)}code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:color-mix(in oklch,var(--primary) 12%,transparent);color:var(--secondary);border:1px solid color-mix(in oklch,var(--primary) 22%,transparent);padding:1px 6px;border-radius:6px;font-size:.9em;font-weight:600}h1 code,h2 code,h3 code{font-size:.8em;vertical-align:.12em;padding:2px 8px}pre{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:var(--contrast-bg);color:#f8f0e8;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin:0;overflow-x:auto;font-size:.9rem;line-height:1.6;box-shadow:var(--shadow)}pre code{background:0 0;border:none;padding:0;color:inherit;font-size:1em;font-weight:500;border-radius:0}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);background:var(--bg-light);font-size:1rem}.animate-wiggle{animation:.6s ease-in-out .6s forwards wiggle}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes zoomIn{0%{transform:scale(.9)}100%{transform:scale(1)}}@keyframes zoomOut{0%{transform:scale(1)}100%{transform:scale(.9)}}@keyframes wiggle{0%,100%{transform:rotate(0)}15%{transform:rotate(3deg)}30%{transform:rotate(-3deg)}45%{transform:rotate(2deg)}60%{transform:rotate(-2deg)}75%{transform:rotate(1deg)}}.spinner{animation:.75s linear infinite spin;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.pricing-card>button{margin-top:auto}.pricing-card.featured{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklch,var(--primary) 35%,transparent),var(--shadow)}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:0;background:0 0;border-top:none}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-xxs);margin-left:auto}.pagination-btn{display:inline-flex;align-items:center;gap:var(--spacing-xxs)}.pagination-btn:disabled{background:0 0}.pagination-page{color:var(--text-muted);padding:0 var(--spacing-sm);white-space:nowrap}@media (max-width:748px){.pagination{flex-direction:column;align-items:center;justify-content:center}.pagination-controls{margin-left:0}.pagination-page{padding:0 var(--spacing-xs)}.mobile-hidden{display:none}}