@charset "UTF-8";html{font-size:16px}body{margin:0;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Libre Franklin;src:url(/assets/LibreFranklin-VariableFont_wght-iKBXGyzT.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-bg: rgb(255, 233, 234);--color-ink: #1a1a1a;--color-ink-soft: #4a4444;--color-line: rgba(26, 26, 26, .2);--color-accent: #be77ca;--color-tag-bg: rgba(26, 26, 26, .06);--color-rule: rgba(26, 26, 26, .28);--font-sans: "Libre Franklin", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", monospace;--text-xs: clamp(.75rem, .72rem + .15vw, .8125rem);--text-sm: clamp(.875rem, .85rem + .12vw, .9375rem);--text-base: clamp(1rem, .97rem + .15vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.05rem + .35vw, 1.375rem);--text-xl: clamp(1.5rem, 1.3rem + 1vw, 2rem);--text-2xl: clamp(1.875rem, 1.5rem + 1.9vw, 2.75rem);--text-hero: clamp(2.5rem, 1.9rem + 3vw, 4.25rem);--space-xs: clamp(.5rem, .45rem + .25vw, .75rem);--space-sm: clamp(.75rem, .65rem + .5vw, 1rem);--space-md: clamp(1.25rem, 1rem + 1vw, 1.75rem);--space-lg: clamp(2rem, 1.5rem + 2vw, 3rem);--space-xl: clamp(3rem, 2.25rem + 3vw, 5rem);--nav-h: 6.5rem;--content-max: 72rem}body{background-color:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans)}.mono-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft)}.tech-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;padding:.25em .7em;border:1px solid var(--color-line);border-radius:2px;background:var(--color-tag-bg);color:var(--color-ink);white-space:nowrap}.nav .navbar{position:fixed;top:-200px;left:0;right:0;width:auto;max-width:calc(var(--content-max) + 2 * var(--space-md));margin:0 auto;box-sizing:border-box;height:var(--nav-h);padding:0 var(--space-md);display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:var(--space-md);background:transparent;z-index:100;transition:top .4s ease,transform .25s ease,opacity .25s ease}.nav .navbar.hidden{transform:translateY(-100%);opacity:0}.nav .navbar.loaded{top:0}.nav .navbar .logo-container{display:flex;align-items:center;min-width:0;flex-shrink:1}.nav .navbar .logo-container .logo{display:block;height:clamp(3.25rem,5vw,4.5rem);width:auto}.nav .navbar ul{display:flex;align-items:center;flex-shrink:0;gap:var(--space-md);list-style-type:none;margin:0;padding:0}.nav .navbar ul li{font-weight:600}.nav .navbar ul li a{position:relative;display:block;padding:.35rem 0;text-decoration:none;color:var(--color-ink);font-size:1.125rem;letter-spacing:.035em;text-transform:uppercase;transition:color .2s ease,opacity .2s ease}.nav .navbar ul li a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.nav .navbar ul:hover li a{opacity:.45}.nav .navbar ul li a:hover,.nav .navbar ul li a:focus-visible{opacity:1;color:var(--color-accent)}.nav .navbar ul li a:hover:after,.nav .navbar ul li a:focus-visible:after{transform:scaleX(1);transform-origin:left}.nav .navbar ul li a.active:after{transform:scaleX(1);background:var(--color-line)}@media only screen and (max-width:600px){.nav .navbar{height:5rem;gap:var(--space-sm)}.nav .navbar .logo-container .logo{height:3.25rem}.nav .navbar ul{gap:.75rem}.nav .navbar ul li a{font-size:.8125rem;letter-spacing:.04em}}@media only screen and (max-width:420px){.nav .navbar{gap:.5rem}.nav .navbar .logo-container .logo{height:2.5rem}.nav .navbar ul{gap:.5rem}.nav .navbar ul li a{font-size:.6875rem;letter-spacing:.02em}}.container .footer{max-width:var(--content-max);margin:0 auto;padding:var(--space-lg) var(--space-md);position:relative}.container .footer:before{content:"";display:block;position:absolute;top:0;left:var(--space-md);right:var(--space-md);height:1px;background-color:var(--color-line)}.container .footer h2{margin:0;line-height:1.15;font-size:var(--text-xl);font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em}.container .footer .footer-content{font-size:var(--text-sm);margin:0;text-align:right}.container .footer .footer-content .footer-icons{list-style:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin:var(--space-sm) 0 0;padding:0}.container .footer .footer-content .footer-icons a{display:block;color:var(--color-ink-soft);transition:color .2s ease}.container .footer .footer-content .footer-icons a:hover{color:var(--color-accent)}.container .footer .footer-content .footer-icons svg{width:20px;height:20px}.home .home-page{max-width:var(--content-max);margin:0 auto;padding:calc(var(--nav-h) + var(--space-lg)) var(--space-md) 0}.home .home-page .hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.home .home-page .hero .text-zone{max-width:38rem}.home .home-page .hero .text-zone .mono-label{margin-bottom:var(--space-sm)}.home .home-page .hero h1{margin:0;font-size:var(--text-hero);font-weight:650;line-height:1;letter-spacing:-.02em}.home .home-page .hero h2{margin:var(--space-sm) 0 0;font-size:var(--text-lg);font-weight:400;letter-spacing:.04em;color:var(--color-ink-soft)}.home .home-page .hero .hero-meta{margin-top:var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-soft)}.home .home-page .hero .hero-certs{display:flex;flex-wrap:wrap;gap:var(--space-xs, .5rem);margin:var(--space-md) 0 0;padding:0;list-style:none}.home .home-page .hero .hero-certs a{display:inline-flex;align-items:center;gap:.4em;padding:.3em .6em;border:1px solid var(--color-rule, currentColor);border-radius:3px;font-family:var(--font-mono);font-size:var(--text-xs, .75rem);letter-spacing:.04em;color:var(--color-ink-soft);text-decoration:none}.home .home-page .hero .hero-certs a:hover,.home .home-page .hero .hero-certs a:focus-visible{color:var(--color-ink);border-color:currentColor}.home .home-page .hero .portrait{position:relative;width:clamp(220px,28vw,400px);height:clamp(220px,28vw,400px);flex-shrink:0}@media only screen and (max-width:700px){.home .home-page .hero{flex-direction:column-reverse;align-items:flex-start;min-height:auto;gap:var(--space-md)}}.skills{margin:var(--space-xl) 0 var(--space-lg)}.skills .skills-index{padding-bottom:var(--space-md);border-bottom:2px solid var(--color-ink)}.skills .skills-index h2{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1}.skills .skills-index .skills-index-note{max-width:34rem;margin:var(--space-sm) 0 0;font-size:var(--text-base);color:var(--color-ink-soft)}.skills .skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));gap:var(--space-xl) var(--space-lg);padding-top:var(--space-lg)}.skills .skill-group{padding-left:var(--space-sm);border-left:2px solid var(--color-ink)}.skills .skill-group .group-label{display:block}.skills .skill-group .group-blurb{margin:var(--space-xs) 0 var(--space-sm);font-size:var(--text-sm);line-height:1.6;color:var(--color-ink-soft)}.skills .skill-group .group-items{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.work{max-width:var(--content-max);margin:0 auto;padding:calc(var(--nav-h) + var(--space-lg)) var(--space-md) var(--space-lg)}.work .work-masthead{padding-bottom:var(--space-md);border-bottom:2px solid var(--color-ink)}.work .work-masthead h1{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1}.work .commit-log{position:relative;margin-top:var(--space-lg);padding-left:var(--space-md);border-left:2px solid var(--color-ink);display:flex;flex-direction:column;gap:var(--space-lg)}.work .commit-entry{position:relative;max-width:44rem}.work .commit-entry .commit-marker{position:absolute;top:.3rem;left:calc(-1 * var(--space-md) - 7px);width:12px;height:12px;border-radius:50%;border:2px solid var(--color-ink);background:var(--color-bg)}.work .commit-entry .commit-line{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 0 var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs)}.work .commit-entry .commit-line .commit-hash{color:var(--color-ink-soft);letter-spacing:.06em}.work .commit-entry .commit-line .commit-branch{color:var(--color-accent);font-weight:600}.work .commit-entry .commit-line .commit-branch:before{content:"(";color:var(--color-ink-soft)}.work .commit-entry .commit-line .commit-branch:after{content:")";color:var(--color-ink-soft)}.work .commit-entry .commit-line .commit-head{padding:.1em .55em;border:1px solid var(--color-ink);border-radius:2px;background:var(--color-ink);color:var(--color-bg);font-weight:600;letter-spacing:.1em}.work .commit-entry .commit-role{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.work .commit-entry .commit-meta{margin:.35rem 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-soft);letter-spacing:.03em}.work .commit-entry .commit-link{color:var(--color-ink);text-decoration:none;border-bottom:1px solid var(--color-ink)}.work .commit-entry .commit-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.work .commit-entry .commit-summary{margin:var(--space-sm) 0;font-size:var(--text-base);line-height:1.65}.work .commit-entry .commit-diff{margin:0 0 var(--space-sm);padding:0;list-style:none}.work .commit-entry .commit-diff li{display:flex;gap:.6rem;padding:.3rem 0;font-size:var(--text-sm);line-height:1.55;color:var(--color-ink-soft)}.work .commit-entry .commit-diff li .diff-plus{font-family:var(--font-mono);font-weight:600;color:var(--color-ink);flex-shrink:0}.work .commit-entry .commit-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.projects-page{max-width:var(--content-max);margin:0 auto;padding:calc(var(--nav-h) + var(--space-lg)) var(--space-md) var(--space-lg)}.projects-page .projects-masthead{padding-bottom:var(--space-md);border-bottom:2px solid var(--color-ink)}.projects-page .projects-masthead h1{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1}.projects-page .projects-masthead .projects-note{max-width:34rem;margin:var(--space-sm) 0 0;font-size:var(--text-base);color:var(--color-ink-soft)}.projects-page .track-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-lg)}.projects-page .track-pill{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;padding:.35em .9em;border:1px solid var(--color-line);border-radius:2px;background:var(--color-tag-bg);color:var(--color-ink-soft);cursor:pointer}.projects-page .track-pill:hover{border-color:var(--color-ink);color:var(--color-ink)}.projects-page .track-pill.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg)}.projects-page .signal-trace{margin-top:var(--space-sm)}.projects-page .track-pill--reset{background:none;border-color:transparent}.projects-page .track-chooser{margin-top:var(--space-lg)}.projects-page .track-chooser .chooser-prompt{color:var(--color-ink-soft)}.projects-page .track-chooser .chooser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-sm);margin-top:var(--space-sm)}.projects-page .track-chooser .chooser-card{display:flex;flex-direction:column;gap:.35rem;text-align:left;padding:var(--space-sm);border:1px solid var(--color-line);background:var(--color-tag-bg);cursor:pointer}.projects-page .track-chooser .chooser-card .chooser-index{color:var(--color-ink-soft)}.projects-page .track-chooser .chooser-card .chooser-label{font-size:var(--text-lg);font-weight:650;letter-spacing:-.01em}.projects-page .track-chooser .chooser-card .chooser-blurb{font-size:var(--text-sm);color:var(--color-ink-soft)}.projects-page .track-chooser .chooser-card .channel-preview{width:100%;height:auto;margin-top:auto;padding-top:var(--space-sm)}.projects-page .track-chooser .chooser-card .channel-preview .channel-line{fill:none;stroke:var(--color-ink-soft);stroke-width:1.5;stroke-linejoin:miter}.projects-page .track-chooser .chooser-card .chooser-count{color:var(--color-ink-soft)}.projects-page .track-chooser .chooser-card:hover,.projects-page .track-chooser .chooser-card:focus-visible{border-color:var(--color-accent)}.projects-page .track-chooser .chooser-card:hover .channel-line,.projects-page .track-chooser .chooser-card:focus-visible .channel-line{stroke:var(--color-accent)}.projects-page .track-chooser .chooser-card:hover .chooser-count,.projects-page .track-chooser .chooser-card:focus-visible .chooser-count{color:var(--color-accent)}.projects-page .track-chooser .chooser-all{margin-top:var(--space-sm);padding:0;border:none;background:none;color:var(--color-ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.projects-page .track-chooser .chooser-all:hover{color:var(--color-accent)}.projects-page .project-category{display:grid;grid-template-columns:minmax(11rem,16rem) 1fr;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-line)}.projects-page .project-category:last-child{border-bottom:none}.projects-page .project-category .category-rail .category-index{display:block;font-size:var(--text-sm)}.projects-page .project-category .category-rail .category-title{margin:var(--space-xs) 0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;line-height:1.1}.projects-page .project-category .category-rail .category-blurb{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--color-ink-soft)}.projects-page .project-category .category-entries{display:flex;flex-direction:column;gap:var(--space-lg)}.projects-page .project-entry{scroll-margin-top:var(--space-xl)}.projects-page .project-entry .entry-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.projects-page .project-entry .entry-title{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.projects-page .project-entry .entry-award{margin:.25rem 0 0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.projects-page .project-entry .entry-context{white-space:nowrap}.projects-page .project-entry .entry-badges{display:flex;flex-wrap:wrap;gap:.4rem;width:100%;margin:.4rem 0 0;padding:0;list-style:none}.projects-page .project-entry .entry-badge{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;padding:.2em .6em;border-radius:2px;white-space:nowrap}.projects-page .project-entry .entry-badge--sprint{border:1px solid var(--color-accent);color:var(--color-accent)}.projects-page .project-entry .entry-badge--track{border:1px dashed var(--color-line);color:var(--color-ink-soft)}.projects-page .project-entry .entry-summary{max-width:40rem;margin:var(--space-sm) 0;font-size:var(--text-base);line-height:1.65}.projects-page .project-entry .entry-pipeline{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin:var(--space-sm) 0;padding:var(--space-sm);border-left:2px solid var(--color-ink);background:var(--color-tag-bg)}.projects-page .project-entry .entry-pipeline .pipeline-stages{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.projects-page .project-entry .entry-pipeline .pipeline-stage{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500}.projects-page .project-entry .entry-pipeline .pipeline-arrow{font-family:var(--font-mono);color:var(--color-ink-soft)}.projects-page .project-entry .entry-shots{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-sm) 0}.projects-page .project-entry .entry-shot{flex:1 1 18rem;min-width:0;max-width:100%;height:auto;border:1px solid var(--color-ink)}.projects-page .project-entry .entry-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-sm)}.projects-page .project-entry .entry-links{display:flex;align-items:center;gap:var(--space-sm)}.projects-page .project-entry .entry-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.projects-page .project-entry .entry-link{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink);text-decoration:none;border-bottom:1px solid var(--color-ink)}.projects-page .project-entry .entry-link:hover{color:var(--color-accent);border-color:var(--color-accent)}@media only screen and (max-width:700px){.projects-page .project-category{grid-template-columns:1fr;gap:var(--space-md)}}.signal-trace{margin:var(--space-md) 0 var(--space-lg);padding:var(--space-sm) var(--space-sm) var(--space-xs);border:1px solid var(--color-line);background:var(--color-tag-bg)}.signal-trace svg{display:block;width:100%;height:auto}.signal-trace .year-tick line{stroke:var(--color-line);stroke-width:1;stroke-dasharray:3 4}.signal-trace .year-tick text{fill:var(--color-ink-soft);font-family:var(--font-mono);font-size:11px;text-anchor:middle;letter-spacing:.1em}.signal-trace .channel .channel-label{fill:var(--color-ink-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}.signal-trace .channel .channel-line{fill:none;stroke:var(--color-ink);stroke-width:1.75;stroke-linejoin:miter}.signal-trace .channel .pulse-label{fill:var(--color-ink);font-family:var(--font-mono);font-size:11.5px;font-weight:600;text-anchor:middle}.signal-trace .channel .pulse-leader{stroke:var(--color-ink-soft);stroke-width:1;stroke-dasharray:2 3}.signal-trace .channel .pulse-hit{fill:transparent}.signal-trace .channel .pulse-link{cursor:pointer}.signal-trace .channel .pulse-link:hover .pulse-label{fill:var(--color-accent)}.signal-trace .channel .pulse-link:hover .pulse-leader{stroke:var(--color-accent);stroke-dasharray:none}.blog-page{max-width:var(--content-max);margin:0 auto;padding:calc(var(--nav-h) + var(--space-lg)) var(--space-md) var(--space-lg)}.blog-page .blog-masthead{padding-bottom:var(--space-md);border-bottom:2px solid var(--color-ink)}.blog-page .blog-masthead h1{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1}.blog-page .blog-masthead .blog-note{max-width:34rem;margin:var(--space-sm) 0 0;font-size:var(--text-base);color:var(--color-ink-soft)}.blog-page .blog-empty{margin:var(--space-lg) 0;color:var(--color-ink-soft)}.blog-page .post-list{display:flex;flex-direction:column}.blog-page .post-preview{border-bottom:1px solid var(--color-line)}.blog-page .post-preview:last-child{border-bottom:none}.blog-page .post-preview .post-preview-link{display:block;padding:var(--space-md) 0;color:inherit;text-decoration:none}.blog-page .post-preview .post-preview-link:hover .post-preview-title{color:var(--color-accent)}.blog-page .post-preview .post-preview-title{margin:var(--space-xs) 0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.blog-page .post-preview .post-preview-summary{max-width:40rem;margin:0 0 var(--space-xs);font-size:var(--text-base);color:var(--color-ink-soft);line-height:1.6}.blog-page .entry-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:var(--space-xs) 0 0;padding:0;list-style:none}.blog-page .blog-back{display:inline-block;margin-top:var(--space-lg);text-decoration:none;color:var(--color-ink-soft)}.blog-page .blog-back:hover{color:var(--color-accent)}.blog-page .post-full{margin-top:var(--space-md)}.blog-page .post-full .post-full-header{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-line)}.blog-page .post-full .post-full-header h1{margin:var(--space-xs) 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1.1}.blog-page .post-full .post-body{max-width:40rem;margin:var(--space-md) 0 var(--space-lg);font-size:var(--text-base);line-height:1.7}.blog-page .post-full .post-body h2{margin:var(--space-md) 0 var(--space-xs);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.blog-page .post-full .post-body p{margin:0 0 var(--space-sm)}.blog-page .post-full .post-body code{font-family:var(--font-mono);font-size:.9em;padding:.1em .4em;border-radius:2px;background:var(--color-tag-bg)}.blog-page .post-full .post-body pre{margin:0 0 var(--space-sm);padding:var(--space-sm);overflow-x:auto;background:var(--color-tag-bg);border-left:2px solid var(--color-ink)}.blog-page .post-full .post-body pre code{padding:0;background:none}.blog-page .post-full .post-body a{color:var(--color-ink)}.blog-page .post-full .post-body a:hover{color:var(--color-accent)}.blog-page .post-full .post-body ul,.blog-page .post-full .post-body ol{margin:0 0 var(--space-sm);padding-left:1.4em}.hobbies{max-width:var(--content-max);margin:0 auto;padding:calc(var(--nav-h) + var(--space-lg)) var(--space-md) var(--space-lg)}.hobbies .hobbies-masthead{padding-bottom:var(--space-md);border-bottom:2px solid var(--color-ink)}.hobbies .hobbies-masthead h1{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;line-height:1}.hobbies .hobby-section{display:grid;grid-template-columns:minmax(11rem,16rem) 1fr;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-line)}.hobbies .hobby-section:last-child{border-bottom:none}.hobbies .hobby-section .hobby-title{margin:var(--space-xs) 0 0;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;line-height:1.1}.hobbies .hobby-section .hobby-summary{max-width:40rem;margin:0 0 var(--space-md);font-size:var(--text-base);font-weight:400;line-height:1.65}.hobbies .hobby-section .hobby-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));margin:0 0 var(--space-md);padding:0;border-top:1px solid var(--color-line);border-left:1px solid var(--color-line)}.hobbies .hobby-section .hobby-stats .stat{padding:var(--space-sm);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.hobbies .hobby-section .hobby-stats .stat dt{margin-bottom:.35rem}.hobbies .hobby-section .hobby-stats .stat dd{margin:0;font-family:var(--font-mono);font-size:var(--text-base);font-weight:600}.hobbies .hobby-section .hobby-detail{max-width:40rem;margin-bottom:var(--space-md)}.hobbies .hobby-section .hobby-detail h3{margin:0 0 var(--space-xs);font-size:var(--text-base);font-weight:600}.hobbies .hobby-section .hobby-detail p{margin:0;font-size:var(--text-base);line-height:1.65;color:var(--color-ink-soft)}.hobbies .hobby-section .hobby-links a{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-ink);text-decoration:none;border-bottom:1px solid var(--color-ink);margin-right:var(--space-sm)}.hobbies .hobby-section .hobby-links a:hover{color:var(--color-accent);border-color:var(--color-accent)}@media only screen and (max-width:700px){.hobbies .hobby-section{grid-template-columns:1fr;gap:var(--space-md)}}
