@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_8524af2f-module__VEC2Nq__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_8524af2f-module__VEC2Nq__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.3tc7otjauzr1s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.16ho2af8siaoz.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.18qy1692brv69.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.19qxib7n2l0kn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.15241mr5-1s6i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.2adce56gso3ku.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_d295bf70-module__3u7R_a__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_d295bf70-module__3u7R_a__variable{--font-source-sans:"Source Sans 3", "Source Sans 3 Fallback"}
@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.w-8{width:calc(var(--spacing) * 8)}.shrink{flex-shrink:1}.resize{resize:both}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--color-bg:#111;--color-bg-elevated:#1b1b1b;--color-ink:#f0ede6;--color-ink-soft:#a3a3a3;--color-muted:#a3a3a3;--color-line:#303030;--color-accent:#c5f567;--color-danger:#e7a196;--color-success:#d7c7a3;--shadow-soft:0 10px 28px #00000059;--radius-sm:.25rem;--radius-md:.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--content-width:68rem;--header-height:4.25rem;--font-display:var(--font-newsreader), "Iowan Old Style", "Palatino Linotype", Palatino, serif;--font-body:var(--font-source-sans), "Source Sans 3", "Segoe UI", sans-serif;--motif:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M0 60h120M60 0v120' stroke='%23303030' stroke-width='1' fill='none'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--color-bg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100%;color:var(--color-ink);background-color:var(--color-bg);background-image:var(--motif);font-family:var(--font-body);text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:1.05rem;line-height:1.65}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}::selection{background:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-4);z-index:50;background:var(--color-accent);color:var(--color-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);position:absolute;top:-3rem}.skip-link:focus{top:var(--space-3)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{width:min(100% - 2rem, var(--content-width));padding:var(--space-6) 0 var(--space-8);flex:1;margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--color-bg) 88%, transparent)}}.site-header{border-bottom:1px solid var(--color-line)}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--color-line) 70%, transparent)}}.site-header__inner{width:min(100% - 2rem, var(--content-width));min-height:var(--header-height);justify-content:center;align-items:center;gap:var(--space-4);margin:0 auto;display:flex;position:relative}.site-nav{position:static}.site-header__inner .nav-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%)}.brand-lockup{align-items:center;gap:.7rem;min-width:0;text-decoration:none;display:inline-flex}.brand-lockup:hover{color:var(--color-ink)}.brand-lockup__mark{width:2.15rem;height:2.15rem;color:var(--color-ink);flex-shrink:0;transition:transform .18s}.brand-lockup:hover .brand-lockup__mark,.brand-lockup:focus-visible .brand-lockup__mark{transform:translateY(-1px)}.brand-lockup__name{font-family:var(--font-display);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.15rem,2.4vw,1.45rem);line-height:1.1;overflow:hidden}.site-nav ul{gap:1.15rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{z-index:0;letter-spacing:.02em;color:var(--color-ink-soft);border-bottom:1px solid #0000;padding:.15rem .2rem .2rem;font-size:.95rem;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block;position:relative}.site-nav a:before{content:"";z-index:-1;background:var(--color-bg-elevated);transform-origin:0;border-radius:.3rem;transition:transform .28s;position:absolute;inset:-.15rem -.4rem;transform:scaleX(0)}.site-nav a:hover,.site-nav a.is-active{color:var(--color-accent);border-color:var(--color-accent)}.site-nav a:hover:before,.site-nav a.is-active:before{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.site-nav a:before{opacity:0;transition:opacity .16s;transform:none}.site-nav a:hover:before,.site-nav a.is-active:before{opacity:1}}.nav-toggle{border:1px solid var(--color-line);background:var(--color-bg-elevated);color:var(--color-ink);border-radius:var(--radius-sm);font:inherit;cursor:pointer;padding:.4rem .7rem;display:none}.site-footer{border-top:1px solid var(--color-line);margin-top:auto}.site-footer__inner{width:min(100% - 2rem, var(--content-width));padding:var(--space-6) 0;gap:var(--space-3);margin:0 auto;display:grid}.site-footer__brand{font-family:var(--font-display);margin:0;font-size:1.15rem}.site-footer__note,.site-footer__links{color:var(--color-muted);margin:0;font-size:.95rem}.site-footer__links{flex-wrap:wrap;gap:.9rem;padding:0;list-style:none;display:flex}.site-footer__links a{border-bottom:1px solid #0000;text-decoration:none}.site-footer__links a:hover{border-color:var(--color-accent)}.page{gap:var(--space-7);display:grid}.hero{gap:var(--space-4);max-width:42rem;padding-top:var(--space-4);animation:.52s both rise;display:grid}.page--home .hero,.page--home .section{text-align:center;width:min(100%,42rem);margin-inline:auto}.page--home .lede,.page--home .section-intro{margin-inline:auto}.page--home .inline-actions,.page--home .chip-list{justify-content:center}.site-footer--home .site-footer__inner{grid-template-columns:minmax(13.75rem,1fr) minmax(0,26.25rem) minmax(13.75rem,1fr);align-items:end;column-gap:.8rem}.site-footer--home .site-footer__meta{gap:var(--space-3);text-align:left;justify-items:start;display:grid}.site-footer--home .footer-motion{display:contents}.site-footer--home .footer-motion__canvas{grid-column:2;justify-self:center;width:100%;height:auto}.site-footer--home .footer-motion__controls{grid-column:3;justify-self:end;padding:0}@media (max-width:760px){.site-footer--home .site-footer__inner{row-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto}.site-footer--home .footer-motion__canvas{grid-area:1/1/auto/-1}.site-footer--home .site-footer__meta{grid-area:2/1}.site-footer--home .footer-motion__controls{grid-area:2/2}}.hero h1,.section-heading,.project-explorer__panel h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.15}.hero h1{font-size:clamp(2.4rem,6vw,3.6rem)}.eyebrow{text-transform:lowercase;letter-spacing:.08em;color:var(--color-muted);margin:0;font-size:.8rem}.lede{color:var(--color-ink-soft);max-width:38rem;margin:0;font-size:1.15rem}.motif{width:7rem;color:var(--color-line);opacity:.75}.inline-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{border-radius:var(--radius-sm);min-height:2.75rem;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.98rem;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled,.button:disabled:hover{cursor:not-allowed;opacity:.5;transform:none}.button--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.button--primary:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.button--primary:hover{background:color-mix(in srgb, var(--color-accent) 88%, var(--color-bg))}}.button--primary:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.button--primary:hover{border-color:color-mix(in srgb, var(--color-accent) 88%, var(--color-bg))}}.button--primary:hover{color:var(--color-bg)}.button--ghost{border-color:var(--color-line);color:var(--color-ink);background:0 0}.button--ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}.section{gap:var(--space-4);animation:.64s both rise;display:grid}.section-heading{font-size:clamp(1.6rem,3vw,2.1rem)}.section-intro{color:var(--color-ink-soft);max-width:40rem;margin:0}.inline-quiet-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-line);-webkit-text-decoration-color:var(--color-line);-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.inline-quiet-link{-webkit-text-decoration-color:color-mix(in srgb, var(--color-line) 85%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-line) 85%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-line) 85%, transparent);text-decoration-color:color-mix(in srgb, var(--color-line) 85%, transparent)}}.inline-quiet-link{text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.inline-quiet-link:hover,.inline-quiet-link:focus-visible{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.about-aside{color:#848484;max-width:36rem;margin:0 auto;font-size:.82rem;line-height:1.45}.home-projects{gap:1rem;display:grid}.home-project{border-top:1px solid var(--color-line);gap:.35rem;padding:1rem 0;text-decoration:none;transition:padding-left .18s;display:grid}.home-project:last-child{border-bottom:1px solid var(--color-line)}.home-project:hover,.home-project:focus-visible{padding-left:.35rem}.home-project:hover strong,.home-project:focus-visible strong{color:var(--color-accent)}.home-project strong{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.home-project span{color:var(--color-ink-soft)}.summary-grid{gap:1.25rem;display:grid}@media (min-width:720px){.summary-grid{grid-template-columns:1.2fr 1fr}}.summary-block{gap:.75rem;padding:1.25rem 0;display:grid}.summary-block h3{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:500}.summary-block p,.summary-block ul{color:var(--color-ink-soft);margin:0}.summary-block ul{padding-left:1.1rem}.project-explorer{gap:1.5rem;display:grid}@media (min-width:900px){.project-explorer{grid-template-columns:minmax(14rem,18rem) 1fr;align-items:start;gap:2rem}}.project-mini-menu{border-left:1px solid var(--color-accent);gap:.45rem;margin-left:1.25rem;padding:.4rem 0 .4rem 1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.project-mini-menu{border-left:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-line))}}.project-mini-menu__item{text-align:left;color:inherit;border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;gap:.25rem;padding:.75rem .8rem;transition:background-color .16s,border-color .16s,color .16s;display:grid}.project-mini-menu__item:hover,.project-mini-menu__item:focus-visible{background:var(--color-bg-elevated)}@supports (color:color-mix(in lab, red, red)){.project-mini-menu__item:hover,.project-mini-menu__item:focus-visible{background:color-mix(in srgb, var(--color-bg-elevated) 80%, transparent)}}.project-mini-menu__item:hover,.project-mini-menu__item:focus-visible{border-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.project-mini-menu__item:hover,.project-mini-menu__item:focus-visible{border-color:color-mix(in srgb, var(--color-line) 70%, transparent)}}.project-mini-menu__item.is-active{background:var(--color-bg-elevated);border-color:var(--color-accent);box-shadow:var(--shadow-soft)}.project-mini-menu__item.is-active .project-mini-menu__title{color:var(--color-accent)}.project-mini-menu__title{font-family:var(--font-display);font-size:1.1rem}.project-mini-menu__summary{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.project-explorer__panel{gap:1rem;padding:.25rem 0;display:grid}.detail-list{gap:1rem;margin:0;display:grid}.detail-list>div{gap:.25rem;display:grid}.detail-list dt{letter-spacing:.06em;text-transform:lowercase;color:var(--color-muted);font-size:.8rem}.detail-list dd{color:var(--color-ink-soft);margin:0}.chip-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.chip-list li{border:1px solid var(--color-line);color:var(--color-ink);border-radius:999px;padding:.2rem .55rem;font-size:.88rem}.project-notes{gap:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-line);display:grid}.project-notes__block{gap:.75rem;display:grid}.project-notes h2{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:500}.project-notes p,.project-notes li{color:var(--color-ink-soft);margin:0}.project-notes ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.project-notes li strong{color:var(--color-ink);font-weight:600}.project-notes code{color:var(--color-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.store-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;max-width:100%;overflow-x:auto}.store-table{border-collapse:collapse;width:100%}.store-table th,.store-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-line);color:var(--color-ink-soft);padding:.7rem 1rem .7rem 0;font-weight:400}.store-table thead th{letter-spacing:.06em;text-transform:lowercase;color:var(--color-muted);font-size:.8rem}.store-table tbody th{color:var(--color-ink);width:34%}.store-table--compare td{font-variant-numeric:tabular-nums;white-space:nowrap}.store-table--compare tbody th{width:38%}.store-table--compare thead th:not(:first-child),.store-table--compare td{width:31%}@media (max-width:640px){.store-table--compare{table-layout:fixed;font-size:.78rem}.store-table--compare th,.store-table--compare td{padding:.55rem .45rem .55rem 0}.store-table--compare thead th{letter-spacing:.03em;white-space:normal;color:var(--color-ink-soft);font-size:.72rem;line-height:1.25}.store-table--compare tbody th{white-space:normal;width:36%;padding-right:.55rem;line-height:1.3}.store-table--compare thead th:not(:first-child),.store-table--compare td{white-space:normal;overflow-wrap:anywhere;width:32%}.store-table:not(.store-table--compare),.store-table:not(.store-table--compare) thead,.store-table:not(.store-table--compare) tbody,.store-table:not(.store-table--compare) tr,.store-table:not(.store-table--compare) th,.store-table:not(.store-table--compare) td{width:auto;display:block}.store-table:not(.store-table--compare) thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.store-table:not(.store-table--compare) tr{border-bottom:1px solid var(--color-line);padding:.75rem 0}.store-table:not(.store-table--compare) tbody th,.store-table:not(.store-table--compare) td{border-bottom:0;padding:0}.store-table:not(.store-table--compare) td{margin-top:.2rem}}.about-stack{gap:var(--space-6);display:grid}.timeline{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-bottom:1px solid var(--color-line);gap:.35rem;padding-bottom:1.25rem;display:grid}.timeline__head{align-items:center;gap:.85rem;display:flex}.timeline__logo{object-fit:contain;flex-shrink:0;width:3.25rem;height:3.25rem}.timeline h3{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:500}.timeline .meta{color:var(--color-muted);font-size:.95rem}.skill-groups{gap:1rem;display:grid}@media (min-width:720px){.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-groups h3{font-family:var(--font-display);margin:0 0 .45rem;font-size:1.15rem;font-weight:500}.guestbook-board{gap:var(--space-5);width:min(100%,46rem);display:grid}.guestbook-sign{margin-top:var(--space-2)}.sign-in-card{background:var(--color-bg-elevated);border:1px solid var(--color-line);border-radius:.9rem;gap:1rem;width:min(100%,40rem);padding:1.35rem 1.4rem 1.15rem;display:grid}.sign-in-card__lead{color:var(--color-ink);margin:0}.sign-in-card__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sign-in-card__actions .button--primary{min-width:12.5rem}.panel{background:var(--color-bg-elevated);border:1px solid var(--color-line);border-radius:var(--radius-md);gap:1rem;padding:1.25rem;display:grid}.field{gap:.35rem;display:grid}.field label{font-size:.95rem}.field__hint{color:var(--color-muted);margin:0;font-size:.85rem}.field input,.field textarea{border:1px solid var(--color-line);background:var(--color-bg);width:100%;color:var(--color-ink);caret-color:var(--color-accent);border-radius:var(--radius-sm);font:inherit;padding:.7rem .8rem}.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);opacity:1}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--color-accent)}:is(.field input:autofill,.field textarea:autofill){-webkit-text-fill-color:var(--color-ink);caret-color:var(--color-accent);box-shadow:0 0 0 1000px var(--color-bg) inset}.field textarea{resize:vertical;min-height:8rem}.form-status__success{color:var(--color-success);margin:0}.form-status__error{color:var(--color-danger);margin:0}.guestbook-list{gap:1.35rem;margin:0;padding:0;list-style:none;display:grid}.guestbook-entry{grid-template-columns:7.25rem minmax(0,1fr);align-items:start;column-gap:1.75rem;display:grid}.guestbook-entry time{color:var(--color-muted);padding-top:.12rem;font-size:.95rem}.guestbook-entry p{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.guestbook-entry__name{color:var(--color-accent);font-weight:600}@media (max-width:640px){.guestbook-entry{grid-template-columns:1fr;row-gap:.15rem}}.empty-state,.callout{border:1px dashed var(--color-line);border-radius:var(--radius-md);color:var(--color-ink-soft);background:var(--color-bg-elevated);padding:1rem 1.15rem}.callout strong{color:var(--color-ink)}.privacy-note{color:var(--color-muted);margin:0;font-size:.92rem}@keyframes rise{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.horse-art{gap:var(--space-3);margin-top:var(--space-4);justify-items:start;width:min(100%,36rem);display:grid}.horse-art__stage{width:100%;line-height:0}.horse-art__canvas{width:100%;max-width:36rem;height:auto;display:block}.motion-control{appearance:none;font:inherit;color:var(--color-muted);cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:.95rem;text-decoration:none}.motion-control:hover{color:var(--color-accent);text-underline-offset:.18em;text-decoration:underline}.footer-motion{background:0 0;justify-items:center;width:min(100%,26.25rem);display:grid}.footer-motion__canvas{width:100%;height:auto;display:block}.footer-motion__controls{padding:0 0 1rem}.footer-motion__toggle{appearance:none;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:.55rem .75rem;font:.75rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.footer-motion__toggle:hover:not(:disabled){opacity:1;color:var(--color-accent)}.footer-motion__toggle:disabled{cursor:default;opacity:.55}.footer-motion__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-main:focus{outline:none}.site-main:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}html[data-intro=pending],html[data-intro=active]{overflow:hidden}html[data-intro=pending] body:before,html[data-intro=active] body:before{content:"";z-index:90;background:var(--color-bg);pointer-events:none;position:fixed;inset:0}.terminal-intro{z-index:100;background:var(--color-bg);color:var(--color-ink);opacity:1;place-items:center;padding:1.25rem;transition:opacity .28s;display:grid;position:fixed;inset:0}.terminal-intro--leaving{opacity:0;pointer-events:none}.terminal-intro__window{background:var(--color-bg-elevated);border:1px solid var(--color-line);border-radius:.85rem;width:min(100%,40rem);max-width:100%;overflow:hidden;box-shadow:0 24px 60px #00000073}.terminal-intro__titlebar{background:var(--color-bg);border-bottom:1px solid var(--color-line);align-items:center;min-height:2.15rem;padding:0 .85rem;display:flex;position:relative}.terminal-intro__traffic{z-index:1;flex-shrink:0;gap:.4rem;display:flex}.terminal-intro__dot{border-radius:999px;width:.7rem;height:.7rem;display:block}.terminal-intro__dot--red{background:var(--color-line)}.terminal-intro__dot--yellow{background:var(--color-muted)}.terminal-intro__dot--green{background:var(--color-ink)}.terminal-intro__title{text-align:center;letter-spacing:.01em;color:var(--color-muted);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0 3.5rem;font-size:.78rem;position:absolute;left:0;right:0;overflow:hidden}.terminal-intro__body{overflow-wrap:anywhere;word-break:break-word;gap:.85rem;padding:1.35rem 1.25rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(.95rem,2.6vw,1.05rem);line-height:1.55;display:grid}.terminal-intro__line{min-height:1.55em;margin:0}.terminal-intro__enter{appearance:none;min-width:1ch;min-height:1.55em;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.25rem;justify-self:start;align-items:center;max-width:100%;margin:0;padding:.15rem .2rem;display:inline-flex}.terminal-intro__enter:hover{color:var(--color-accent)}.terminal-intro__enter:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.terminal-intro__arrow{color:var(--color-accent)}.terminal-intro__cursor{vertical-align:text-bottom;background:var(--color-accent);width:.55ch;height:1.05em;margin-left:.08em;animation:1s step-end infinite terminal-blink;display:inline-block}@keyframes terminal-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width:520px){.terminal-intro{align-items:stretch;padding:.75rem}.terminal-intro__window{border-radius:.7rem;align-self:center;width:100%}.terminal-intro__body{padding:1.15rem 1rem 1.3rem}}@media (prefers-reduced-motion:reduce){.terminal-intro{transition:none}.terminal-intro__cursor{opacity:1;animation:none}}@media (max-width:760px){.nav-toggle{display:inline-flex}.site-header__inner{justify-content:flex-end}.site-nav{left:0;right:0;top:var(--header-height);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-line);padding:1rem 1rem 1.25rem;display:none;position:absolute;transform:none}.site-nav--open{display:block}.site-nav ul{flex-direction:column;gap:.85rem}.brand-lockup__name{font-size:1.05rem}}.inspect-joke{z-index:200;background:var(--color-bg);text-align:center;align-content:center;justify-items:center;gap:1.25rem;padding:1.5rem;display:grid;position:fixed;inset:0}.inspect-joke img{border-radius:1.25rem;width:min(100%,22rem);height:auto}.inspect-joke p{max-width:18rem;font-family:var(--font-display);color:var(--color-ink);margin:0;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:500;line-height:1.15}
