:root{color-scheme:light dark;--color-bg: light-dark(#fbf8f3, #14131c);--color-surface: light-dark(#f1ece2, #1f1d2b);--color-text: light-dark(#1b1a23, #f1eee6);--color-muted: light-dark(#5a5766, #a8a4b5);--color-accent: light-dark(#5b3fd1, #a99bff);--color-on-accent: light-dark(#ffffff, #14131c);--color-highlight: light-dark(#b93a00, #5eead4);--color-scrim: light-dark(rgba(27, 26, 35, .5), rgba(0, 0, 0, .6));--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-sm: 1rem;--text-base: 1.125rem;--text-lg: 1.4rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 4px;--measure: 68ch;--column: 46rem;--control-height: 3rem;--control-height-small: 2.75rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6}h1,h2,h3,h4{font-family:var(--font-pixel);font-weight:400;line-height:1.25;text-wrap:balance}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p,li{max-width:var(--measure)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}code{background:var(--color-surface);border-radius:var(--radius);padding:.1em .3em}img,svg{display:block;max-width:100%}button{font:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.label,.button,.chip{font-family:var(--font-pixel);font-size:var(--text-sm);letter-spacing:.02em}.muted{color:var(--color-muted)}.wrap{width:100%;max-width:calc(var(--column) + 2 * var(--space-4));margin-inline:auto;padding-inline:var(--space-4)}.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius);transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border:2px solid var(--color-text);border-radius:var(--radius);line-height:1.2;text-align:center;text-decoration:none}.button-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover{text-decoration:underline}.button-secondary{background:var(--color-surface);color:var(--color-text)}.button-secondary:hover{border-color:var(--color-accent)}.button-small{min-height:var(--control-height-small);padding:0 var(--space-4)}.button svg{width:1em;height:1em;flex:none}.chip{display:inline-block;padding:0 var(--space-2);border:1px solid var(--color-muted);border-radius:var(--radius);color:var(--color-text)}.card{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius)}.title-long{font-family:var(--font-body);font-weight:700}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{border-bottom:2px solid var(--color-surface)}.header-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding-block:var(--space-4)}.wordmark{font-family:var(--font-pixel);font-size:var(--text-lg);line-height:1.2;color:var(--color-text);text-decoration:none}.site-nav ul{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);padding:0;list-style:none}.site-nav a{display:inline-block;padding-block:var(--space-2);color:var(--color-text);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:.35em}.header-toggle{margin-left:auto}html:not(.js) .header-toggle{display:none}.theme-toggle,.icon-button{min-height:var(--control-height-small);background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-text);border-radius:var(--radius);cursor:pointer}.theme-toggle:hover,.icon-button:hover{border-color:var(--color-accent)}.theme-toggle{min-width:11ch;padding:var(--space-2) var(--space-3)}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--control-height-small);padding:0}.icon-button svg{width:var(--space-5);height:var(--space-5)}.menu-button{display:none}@media(width<48em){.site-nav{order:1;flex-basis:100%}.js .site-nav{display:none}.js .menu-button{display:inline-flex}}.drawer{position:fixed;inset:0 auto 0 0;width:min(20rem,85vw);max-width:none;height:100%;max-height:none;margin:0;padding:0;border:none;border-right:2px solid var(--color-text);background:var(--color-bg);color:var(--color-text)}.drawer::backdrop{background:var(--color-scrim)}html:has(.drawer[open]){overflow:hidden}.drawer-inner{min-height:100%}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:2px solid var(--color-surface)}.drawer-nav ul{padding:var(--space-2) 0;list-style:none}.drawer-nav li{max-width:none}.drawer-nav a{display:flex;align-items:center;min-height:var(--control-height);padding-inline:var(--space-5);border-left:var(--space-1) solid transparent;color:var(--color-text);font-family:var(--font-pixel);font-size:var(--text-lg);text-decoration:none}.drawer-nav a:hover{background:var(--color-surface)}.drawer-nav a[aria-current=page]{background:var(--color-surface);border-left-color:var(--color-accent)}.drawer-nav a:focus-visible{outline-offset:calc(-1 * var(--space-1))}@media(prefers-reduced-motion:no-preference){.drawer[open]{animation:drawer-in .2s ease-out}.drawer[open]::backdrop{animation:scrim-in .2s ease-out}}@keyframes drawer-in{0%{transform:translate(-100%)}}@keyframes scrim-in{0%{opacity:0}}main{flex:1;padding-block:var(--space-7)}main:focus{outline:none}.site-footer{border-top:2px solid var(--color-surface);padding-block:var(--space-5)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-bottom:var(--space-3);padding:0;list-style:none}.footer-links a{display:inline-block;padding-block:var(--space-1)}.intro[data-astro-cid-j7pv25f6]{margin-bottom:var(--space-7)}.lead[data-astro-cid-j7pv25f6]{margin-top:var(--space-3);font-family:var(--font-pixel);font-size:var(--text-lg);color:var(--color-muted)}.cursor[data-astro-cid-j7pv25f6]{color:var(--color-highlight)}.specimen[data-astro-cid-j7pv25f6]{display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius)}.specimen[data-astro-cid-j7pv25f6] code[data-astro-cid-j7pv25f6]{background:var(--color-bg)}.ui[data-astro-cid-j7pv25f6]{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.row[data-astro-cid-j7pv25f6],.chips[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.chips[data-astro-cid-j7pv25f6]{gap:var(--space-2);padding:0;list-style:none}.swatches[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--space-3);padding:0;list-style:none}.swatch[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:var(--space-2)}.swatch-colour[data-astro-cid-j7pv25f6]{flex:none;width:1.5rem;height:1.5rem;border:2px solid var(--color-text);border-radius:var(--radius)}
