@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--paper:#edf4ff;--surface:#fff;--ink:#172c50;--muted:#536783;--line:#cfddf0;--accent:#245bcb;--serif:"Manrope", "DM Sans", Arial, sans-serif;--sans:"DM Sans", Arial, sans-serif;--mono:"DM Mono", Consolas, monospace;--shadow:0 14px 40px #254e9210;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;font-size:16px;line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-height,100px) + 1rem)}body{background:radial-gradient(ellipse at 90% 4%, #dceaff 0, transparent 42%), var(--paper);margin:0}a{color:inherit}button{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:700}img{max-width:100%;display:block}::selection{color:#142e55;background:#c0d7ff}.container{width:min(1160px,100% - 5rem);margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:1rem;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:70;background:0 0;padding:1.25rem 1.5rem 0;position:sticky;top:0}.nav-wrap{background:var(--surface);width:min(1320px,100%);min-height:78px;box-shadow:var(--shadow);border:1px solid #fff;border-radius:26px;justify-content:space-between;align-items:center;gap:1.5rem;margin:auto;padding:1rem 1.5rem;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.1em;color:#173e7b;font-size:2rem;font-weight:800;line-height:1;text-decoration:none}.wordmark span{color:var(--accent)}nav{align-items:center;gap:.4rem;display:flex}nav a{font-size:1rem;font-weight:500;text-decoration:none}.nav-wrap nav{flex-wrap:wrap;justify-content:flex-end}.nav-wrap nav a{border-radius:999px;padding:.55rem .8rem;transition:background .18s}.nav-wrap nav a:hover{background:#edf4ff}.nav-wrap nav a[aria-current=page]{color:#174ca9;background:#dbe9ff}.nav-wrap nav .nav-resume{background:var(--brand);color:var(--on-brand);border:1px solid #0000}.nav-wrap nav .nav-resume:hover,.nav-wrap nav .nav-resume[aria-current=page]{background:var(--brand-hover);color:var(--on-brand)}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:4rem;padding:5.5rem 0 4rem;display:grid}.eyebrow,.small-label{letter-spacing:.09em;text-transform:uppercase;color:var(--accent);font-size:1rem;font-weight:650}.eyebrow{margin-bottom:1.1rem}.hero .eyebrow{color:#234e93;letter-spacing:.06em;background:#dceaff;border:1px solid #c8dcff;border-radius:999px;padding:.5rem .9rem;font-size:1rem;display:inline-block}.hero h1{letter-spacing:-.065em;margin-bottom:1.5rem;font-size:clamp(3.4rem,6.6vw,6.1rem);font-weight:750;line-height:1.08}.hero h1 span{color:var(--hero-dot)}.hero-bio{max-width:540px;color:var(--muted);font-size:1.05rem;line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.button{border:1px solid var(--line);min-height:46px;color:var(--ink);cursor:pointer;background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.4rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#e0ecff;transform:translateY(-2px)}.button.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px #245bcb20}.button.primary:hover{background:var(--brand-hover)}.text-link{text-underline-offset:5px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:1rem;text-decoration:underline}.location{color:var(--muted);align-items:center;gap:.5rem;margin-top:1.8rem;font-size:1rem;display:flex}.location-mark{font-size:1.3rem;line-height:1}.portrait{padding:1rem;position:relative}.portrait:before{content:"";background:var(--bubble-fill);z-index:0;border-radius:50%;width:76px;height:76px;position:absolute;top:-9px;right:-5px}.portrait:after{content:"";border:8px solid var(--bubble-ring);border-radius:50%;width:34px;height:34px;position:absolute;bottom:12%;left:-12px}.portrait-frame{background:#ffffffbc;border:1px solid #fff;border-radius:46% 46% 35% 35%;padding:.65rem;position:relative;transform:rotate(2deg);box-shadow:0 24px 65px #245bcb21}.portrait-frame>img{aspect-ratio:.98;object-fit:cover;border-radius:45% 45% 34% 34%;width:100%;height:auto}.portrait figcaption{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin:1.5rem auto 0;font-size:1rem;display:flex;position:relative}.portrait figcaption span:first-child{color:var(--accent);font-weight:650}.intro-note{background:#ffffffa6;border:1px solid #fff;border-radius:26px;grid-template-columns:150px 1fr auto;align-items:start;gap:2rem;padding:1.75rem 2rem;display:grid}.intro-note p{max-width:680px;color:var(--muted);font-size:1rem}.social-links{gap:1rem;font-size:1rem;display:flex}.social-links a{text-underline-offset:4px}.social-links .linkedin-button{gap:.7rem;min-height:56px;padding:.85rem 1.6rem;font-size:1rem;font-weight:700}.topic-page{padding-bottom:5rem}.section{padding-top:4rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.8rem;display:flex}.section-heading .eyebrow{margin-bottom:.8rem}.section-heading h1,.section-heading h2{letter-spacing:-.05em;font-size:clamp(2.4rem,4.2vw,3.5rem);line-height:1.15}.section-heading>p{color:var(--muted);max-width:320px;font-size:1rem}.experience-list{gap:1.25rem;display:grid}.experience-item{box-shadow:var(--shadow);background:#ffffffb8;border:1px solid #fff;border-radius:26px;grid-template-columns:240px 1fr;gap:2rem;padding:2rem;display:grid}.job-meta{color:var(--muted);flex-direction:column;gap:.5rem;padding-top:.35rem;font-size:1rem;display:flex}.job-meta span:first-child{color:var(--accent);font-weight:600}.job-content h3{letter-spacing:-.02em;font-size:1.2rem}.job-role{color:var(--accent);margin:.15rem 0 .8rem;font-size:1rem}.job-content>p:not(.job-role){color:var(--muted);font-size:1rem}.job-details{margin-top:1rem;font-size:1rem}.job-details summary,.project-detail summary{cursor:pointer;color:var(--accent);width:fit-content}.job-details ul{color:var(--muted);margin-bottom:0;padding-left:1.15rem}.job-details li+li{margin-top:.6rem}.project-filters{flex-wrap:wrap;gap:.65rem;display:flex}.project-filters button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffffa8;border-radius:999px;padding:.65rem 1.1rem;font-size:1rem}.project-filters button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.project-count{color:var(--muted);margin:1rem .2rem;font-size:1rem}.project-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.project-card{box-shadow:var(--shadow);background:#ffffffce;border:1px solid #fff;border-radius:28px;padding:2rem}.project-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.project-status{color:#365780;background:#e7f0ff;border-radius:999px;padding:.3rem .65rem;font-size:1rem}.project-card h2{letter-spacing:-.035em;margin-bottom:.8rem;font-size:1.55rem;line-height:1.3}.project-card p{color:var(--muted);font-size:1rem;line-height:1.8}.technology-list{flex-wrap:wrap;gap:.45rem;margin:1.3rem 0;padding:0;list-style:none;display:flex}.technology-list li{color:#3b5f91;border:1px solid #d9e5f7;border-radius:.6rem;padding:.2rem .5rem;font-size:1rem}.project-detail{border-top:1px solid var(--line);padding-top:1rem;font-size:1rem}.project-detail p{margin-top:.8rem;font-size:1rem}.lab-section{background:#dfecff;border:1px solid #cbdffb;border-radius:28px;margin-top:2.5rem;overflow:hidden}.homelab{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:2rem;padding:2rem;display:grid}.homelab .eyebrow{margin-bottom:.4rem}.homelab h3{letter-spacing:-.03em;font-size:1.5rem;line-height:1.3}.homelab>p{color:var(--muted);font-size:1rem}.lab-specs{border-top:1px solid #bfd3ef;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin:0 2rem;padding:1.5rem 0;display:grid}.lab-specs dt{color:var(--muted);margin-bottom:.5rem;font-size:1rem}.lab-specs dd{margin:0;font-size:1rem}.education-feature{background:#ffffffb8;border:1px solid #fff;border-radius:28px;grid-template-columns:1.05fr 1fr;align-items:center;gap:3rem;padding:2rem;display:grid}.education-feature :is(h2,h3){letter-spacing:-.04em;margin:1rem 0;font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.25}.education-date{color:var(--accent);margin-bottom:1.5rem;font-size:1rem}.education-feature p:not(.education-date):not(.small-label){color:var(--muted);font-size:1rem}.education-note{border-left:3px solid #9bbef8;margin-top:1.5rem;padding-left:1rem;font-size:1rem!important}.degree-row{background:#ffffff8c;border-radius:24px;justify-content:space-between;align-items:center;gap:2rem;margin-top:1.5rem;padding:1.7rem 2rem;display:flex}.degree-row :is(h2,h3){letter-spacing:-.03em;margin-top:.3rem;font-size:1.35rem}.degree-row p,.degree-row>span{color:var(--muted);font-size:1rem}.coursework{padding-top:2.5rem}.coursework>:is(h2,h3){margin-bottom:1.3rem;font-size:1.3rem}.course-group{border:1px solid var(--line);background:#ffffff75;border-radius:20px;margin-top:.75rem;padding:0 1.5rem}.course-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:1rem;list-style:none;display:flex}.course-group summary::-webkit-details-marker{display:none}.expand-mark{color:var(--accent);font-size:1.4rem;font-weight:400;line-height:1}.course-group[open]>summary>.expand-mark,.course-detail[open]>summary>.expand-mark{transform:rotate(45deg)}.course-list{grid-template-columns:1fr 1fr;gap:0 2.5rem;margin:.25rem 0 1.5rem;padding:0;list-style:none;display:grid}.course-list li{border-top:1px solid var(--line);min-width:0;font-size:1rem}.course-detail>summary{cursor:pointer;grid-template-columns:100px minmax(0,1fr) 1rem;align-items:start;gap:.75rem;padding:1rem 0;font-size:1rem;list-style:none;display:grid}.course-detail>summary:hover,.course-detail[open]>summary{color:var(--accent)}.course-group summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.course-detail .expand-mark{text-align:center;margin-top:.2rem}.course-description{padding:0 0 1.25rem}.course-description p{margin:0 0 .75rem;line-height:1.65}.course-description a{color:var(--accent);text-underline-offset:.2em;font-size:1rem}.course-code{color:var(--accent);font-family:var(--mono);padding-top:.15rem;font-size:1rem}.pc-panel{border-top:1px solid var(--line);grid-template-columns:.8fr 1.6fr;gap:3rem;padding:2rem 0;display:grid}.pc-intro h3{letter-spacing:-.05em;margin:1rem 0;font-size:2.5rem}.pc-intro p{color:var(--muted);font-size:1rem}.hardware-note{color:var(--muted);margin-top:2rem;font-size:1rem;display:block}.specs{box-shadow:var(--shadow);background:#ffffffa6;border:1px solid #fff;border-radius:26px;margin:0;padding:.5rem 1.75rem}.specs>div{border-bottom:1px solid var(--line);grid-template-columns:115px 1fr;gap:1rem;padding:1.2rem 0;display:grid}.specs>div:last-child{border-bottom:0}.specs dt{color:var(--accent);padding-top:.15rem;font-size:1rem;font-weight:600}.specs dd{margin:0;font-size:1rem}.specs small{color:var(--muted);margin-top:.2rem;font-size:1rem;display:block}.site-directory{padding-top:4rem}.site-directory h2{letter-spacing:-.04em;margin-bottom:1.5rem;font-size:2.3rem}.dango-title{align-items:center;gap:clamp(.5rem,1.5vw,1.25rem);display:flex}.dango-title>h1,.dango-title>h2{min-width:0}.directory-heading{margin-bottom:1.5rem}.directory-heading h2{margin-bottom:0}.dango-rest{justify-content:flex-end;align-items:flex-end;gap:.35rem;margin-top:1.5rem;display:flex}@media print{.dango-rest{display:none}}.contact-section>.eyebrow,.contact-section>h2{max-width:calc(100% - 100px)}.directory-links{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.directory-links>a{background:#ffffffa6;border:1px solid #fff;border-radius:24px;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.directory-links>a:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.directory-links h3{justify-content:space-between;gap:1rem;font-size:1.05rem;display:flex}.directory-links h3 span{width:1.6rem;height:1.6rem;color:var(--accent);background:#e1edff;border-radius:50%;place-items:center;display:grid}.directory-links p{color:var(--muted);margin-top:.6rem;font-size:1rem}.contact-section{background:var(--contact-surface);color:var(--contact-ink);border-radius:32px;margin-block:4rem;padding:2.75rem 3rem;position:relative;overflow:hidden}.contact-section .eyebrow{color:var(--contact-label)}.contact-section h2{letter-spacing:-.045em;margin-bottom:1.4rem;font-size:3.2rem;line-height:1.1}.contact-email{text-underline-offset:7px;overflow-wrap:anywhere;font-size:clamp(1rem,2.5vw,1.65rem);text-decoration-thickness:1px}.contact-bottom{justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;display:flex}.contact-bottom p{color:var(--contact-muted);font-size:1rem}.contact-section .button{color:#173f86;background:#fff}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;padding-block:2rem;display:flex}.footer-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;text-decoration:none}.site-footer p{color:var(--muted);margin-top:.3rem;font-size:1rem}.footer-links{gap:1.5rem;font-size:1rem;display:flex}.footer-links a{text-underline-offset:4px}.copyright{color:var(--muted);font-size:1rem}.lab-page .lab-introduction h2{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:750;line-height:1.12}.lab-page .chapter-heading h3{font-size:2.1rem}.lab-page .lab-jump-links{background:#ffffffa6;border:0;border-radius:22px;padding:1rem}.lab-page .lab-jump-links a{padding:.35rem .6rem}.lab-page .rack-specs{background:#ffffffa6;border-radius:26px;padding:.5rem 1.5rem}.lab-page .rack-specs>div:first-child{border-top:0}.lab-page .vm-entry{border:1px solid var(--line);background:#ffffff80;border-radius:20px;margin-bottom:.65rem;padding-inline:1.2rem}.lab-page .architecture-notes>div,.lab-page .architecture-notes>article{background:#ffffff80;border:1px solid #fff;border-radius:24px;padding:1.5rem}.credentials-page .credentials-heading h1{letter-spacing:-.05em;font-size:clamp(2.4rem,5vw,4rem);line-height:1.15}.credentials-page .credential{background:#ffffffa6;border:1px solid #fff;border-radius:24px;margin-bottom:1rem;padding:2rem}.credentials-page .credential h2{font-weight:650}@media (width<=1050px){.container{width:calc(100% - 3rem)}.hero{gap:2rem}.hero h1{font-size:clamp(3.2rem,6.4vw,5rem)}.nav-wrap{gap:1rem}.nav-wrap nav a{padding:.4rem .6rem;font-size:1rem}.intro-note{grid-template-columns:130px 1fr;gap:1rem}.social-links{grid-column:2}.experience-item{grid-template-columns:185px 1fr}.homelab{grid-template-columns:1fr 1.3fr}.homelab .button{width:fit-content}.pc-panel{grid-template-columns:.65fr 1.5fr;gap:2rem}.specs>div{grid-template-columns:85px 1fr}.education-feature{gap:2rem}.directory-links{grid-template-columns:1fr 1fr}}@media (width<=760px){.container{width:calc(100% - 2.5rem)}.site-header{padding:.8rem .8rem 0}.nav-wrap{border-radius:22px;flex-wrap:wrap;padding:1rem}.nav-wrap nav{justify-content:flex-start;gap:.25rem;width:100%}.nav-wrap nav a{padding:.4rem .65rem}.hero{grid-template-columns:1.3fr 1fr;gap:1.5rem;padding:3rem 0}.hero h1{font-size:clamp(2.6rem,6.4vw,3.5rem)}.hero .eyebrow,.hero-bio{font-size:1rem}.portrait{padding:.4rem}.portrait:before{width:45px;height:45px;right:0}.portrait:after{border-width:5px;width:22px;height:22px;left:-4px}.portrait figcaption{font-size:1rem}.intro-note{grid-template-columns:1fr;padding:1.5rem}.social-links{grid-column:auto}.section{padding-top:3rem}.section-heading{margin-bottom:2rem;display:block}.section-heading>p{max-width:100%;margin-top:1rem}.section-heading>p br{display:none}.experience-item{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.job-meta{flex-flow:wrap;justify-content:space-between}.project-grid{grid-template-columns:1fr}.project-card{padding:1.5rem}.homelab,.education-feature,.pc-panel{grid-template-columns:1fr}.homelab{gap:1rem;padding:1.5rem}.lab-specs{grid-template-columns:1fr;gap:1rem;margin-inline:1.5rem}.education-feature{padding:1.5rem}.degree-row{flex-direction:column;align-items:start;gap:1rem;padding:1.5rem}.course-list{grid-template-columns:1fr}.course-group{padding-inline:1rem}.contact-section{border-radius:26px;margin-block:3rem;padding:2rem}.contact-section h2{font-size:2.6rem}.contact-bottom{flex-direction:column;align-items:start;gap:1.5rem}.site-footer{flex-wrap:wrap;gap:1.5rem}.copyright{margin-left:auto}.credentials-page .credential{padding:1.5rem}}@media (width<=520px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(2.8rem,11vw,4rem)}.hero .eyebrow{font-size:1rem}.portrait{justify-self:center;width:78%;max-width:320px;margin-top:1rem}.directory-links{grid-template-columns:1fr}.project-top{align-items:start;gap:.5rem}.project-status{font-size:1rem}.specs{padding-inline:1.25rem}.specs>div{grid-template-columns:1fr;gap:.3rem}.course-detail>summary{grid-template-columns:80px minmax(0,1fr) 1rem;gap:.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.public-details-note{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:20px;margin:0 0 2rem;padding:1.25rem 1.5rem;font-size:1rem;line-height:1.65}.public-details-note a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline}.icon{vertical-align:middle;flex:none}.icon-link,.social-links a,.footer-links a,.nav-wrap nav a{align-items:center;gap:.5rem;display:inline-flex}.button{gap:.5rem}.directory-icon{color:#245bcb;background:#dceaff;border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:1.25rem;display:grid}.contact-email .icon{width:1.15em;height:1.15em}@media (width<=1050px){.nav-wrap nav a{gap:.35rem;padding-inline:.5rem}}@media (width<=760px){.nav-wrap nav .icon{width:14px;height:14px}}:root{--brand:#245bcb;--brand-hover:#174ca9;--on-brand:#fff;--hero-dot:#3e7cec;--bubble-fill:#bad4ff;--bubble-ring:#a7c8f7;--contact-surface:#173f86;--contact-ink:#fff;--contact-muted:#d3e3fc;--contact-label:#bdd7ff}:root[data-palette=sky-78aaff]{--brand:#78aaff;--brand-hover:#91baff;--on-brand:#10213b;--hero-dot:#78aaff;--bubble-fill:#78aaff;--bubble-ring:#78aaff;--contact-surface:#78aaff;--contact-ink:#10213b;--contact-muted:#243e69;--contact-label:#243e69}.site-header .wordmark{flex:none;align-items:center;gap:.55rem;display:inline-flex}.site-header .wordmark-text{color:inherit}.site-header .wordmark .dango{width:44px;height:44px;transform:rotate(-9deg)}.dango[data-dango=lemon]{align-self:flex-start;width:68px;transform:rotate(12deg)}#projects .lab-section{position:relative;overflow:visible}.contact-section{overflow:visible}#projects [data-dango=honey]{width:76px;position:absolute;bottom:-3.75rem;right:10%;transform:rotate(-8deg)}#experience .experience-list{gap:2.75rem;padding-top:1.25rem}#experience .experience-item{position:relative}#experience .dango{position:absolute}#experience [data-dango=ice]{width:132px;top:-4.25rem;right:8%;transform:rotate(-13deg)}#experience .experience-item:first-child{padding-top:4rem}#experience [data-dango=rose]{width:98px;bottom:-2.75rem;right:18%;transform:rotate(7deg)}#experience .experience-item:last-child{margin-bottom:1.5rem}#education .coursework{margin-top:1rem;position:relative}#education [data-dango=mint]{width:84px;position:absolute;top:-.8rem;right:13%;transform:rotate(17deg)}#education [data-dango=peach]{align-self:flex-end;width:64px;transform:rotate(-14deg)}#maintenance{padding-bottom:3.5rem;position:relative}#maintenance [data-dango=pistachio]{width:78px;position:absolute;bottom:-1rem;left:16%;transform:rotate(12deg)}#equipment .dango-title{justify-content:space-between}#equipment [data-dango=sora]{width:104px;margin-right:5%;transform:translateY(-12px)rotate(-19deg)}#my-pc,#my-pc .pc-panel{position:relative}#my-pc .pc-intro{padding-bottom:7rem;position:relative}#my-pc [data-dango=tangerine]{width:118px;margin:1.5rem 0 0 14%;transform:rotate(-9deg)}#my-pc [data-dango=matchaRound]{width:82px;position:absolute;bottom:-2rem;right:.75rem;transform:rotate(15deg)}.credential-datacore [data-dango=butter]{width:62px;transform:rotate(-18deg)}.credentials-page .credential:last-child{margin-top:.75rem;position:relative}.credentials-page [data-dango=ruby]{width:76px;position:absolute;top:-3.25rem;left:52%;transform:rotate(9deg)}.resume-wrap [data-dango=mocha]{width:72px;transform:rotate(14deg)}.resume-tail{max-width:918px;height:0;margin:auto;position:relative}.resume-wrap [data-dango=periwinkle]{width:84px;position:absolute;top:0;right:8%;transform:rotate(-7deg)}@media (width<=760px){#experience [data-dango=ice]{width:108px;top:-3rem;right:5%}#experience .experience-item:first-child{padding-top:4.5rem}#experience [data-dango=rose]{width:86px;right:8%}#equipment [data-dango=sora]{width:76px;margin-right:0}#my-pc .pc-intro{padding-bottom:1rem}#my-pc [data-dango=tangerine]{width:98px;margin-left:5%}#my-pc [data-dango=matchaRound]{width:72px}.credentials-page [data-dango=ruby]{width:64px;top:-3.4rem;left:36%}}@media (width>=1200px){.resume-wrap{position:relative}.resume-wrap [data-dango=mocha]{position:absolute;top:20rem;left:0}.resume-wrap [data-dango=periwinkle]{top:-320px;right:-108px}}@media (width>=1440px){main{--dango-gutter:104px}.contact-section .dango--contact{left:calc(-1 * var(--dango-gutter));width:104px;top:4rem;right:auto;transform:rotate(18deg)}#experience [data-dango=ice]{right:calc(-1 * var(--dango-gutter));width:100px;top:1.25rem;transform:rotate(-24deg)}#experience .experience-item:first-child{padding-top:2rem}#experience [data-dango=rose]{left:calc(-1 * var(--dango-gutter));width:92px;bottom:-.5rem;right:auto;transform:rotate(17deg)}#projects [data-dango=lemon]{left:calc(-1 * var(--dango-gutter));width:82px;position:absolute;top:18%;transform:rotate(21deg)}#education [data-dango=mint]{left:calc(-1 * var(--dango-gutter));top:6rem;right:auto;transform:rotate(23deg)}#education .degree-row:last-child{position:relative}#education [data-dango=peach]{right:calc(-1 * var(--dango-gutter));width:80px;position:absolute;bottom:1rem;transform:rotate(-16deg)}#maintenance [data-dango=pistachio]{left:calc(-1 * var(--dango-gutter));width:88px;bottom:6rem}#equipment{position:relative}#equipment [data-dango=sora]{right:calc(-1 * var(--dango-gutter));width:98px;margin:0;position:absolute;top:10rem;transform:rotate(-23deg)}#my-pc [data-dango=tangerine]{left:calc(-1 * var(--dango-gutter));width:96px;margin:0;position:absolute;top:9rem;transform:rotate(19deg)}.credential-datacore{position:relative}.credential-datacore [data-dango=butter]{left:calc(-1 * var(--dango-gutter));width:80px;position:absolute;top:2.5rem;transform:rotate(19deg)}}.mobile-menu[data-astro-cid-xlat7obg]{display:none}.menu-toggle[data-astro-cid-xlat7obg]{z-index:62;border:1px solid var(--line);width:46px;height:46px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.menu-line[data-astro-cid-xlat7obg]{background:currentColor;border-radius:2px;width:21px;height:2px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute}.menu-line[data-astro-cid-xlat7obg]:first-child{transform:translateY(-4px)}.menu-line[data-astro-cid-xlat7obg]:last-child{transform:translateY(4px)}.is-open[data-astro-cid-xlat7obg] .menu-line[data-astro-cid-xlat7obg]:first-child{transform:translateY(0)rotate(45deg)}.is-open[data-astro-cid-xlat7obg] .menu-line[data-astro-cid-xlat7obg]:last-child{transform:translateY(0)rotate(-45deg)}.menu-toggle[data-astro-cid-xlat7obg]:hover,.is-open[data-astro-cid-xlat7obg] .menu-toggle[data-astro-cid-xlat7obg]{background:var(--brand);color:var(--on-brand);border-color:#0000}.menu-surface[data-astro-cid-xlat7obg]{inset:var(--menu-top,100px) 0 0;z-index:60;visibility:hidden;pointer-events:none;transition:visibility 0s .34s;position:fixed;overflow:hidden}.is-open[data-astro-cid-xlat7obg] .menu-surface[data-astro-cid-xlat7obg]{visibility:visible;pointer-events:auto;transition-delay:0s}.menu-backdrop[data-astro-cid-xlat7obg]{backdrop-filter:blur(5px);opacity:0;touch-action:none;background:#132c5666;transition:opacity .3s;position:absolute;inset:0}.is-open[data-astro-cid-xlat7obg] .menu-backdrop[data-astro-cid-xlat7obg]{opacity:1}.menu-panel[data-astro-cid-xlat7obg]{width:min(390px,100% - 1.25rem);height:100%;padding:1.6rem 1.5rem max(1.5rem, env(safe-area-inset-bottom));background:var(--paper);overscroll-behavior:contain;border-left:1px solid #fff;border-radius:30px 0 0 30px;transition:transform .34s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%);box-shadow:-16px 0 60px #172c5020}.is-open[data-astro-cid-xlat7obg] .menu-panel[data-astro-cid-xlat7obg]{transform:translate(0)}.menu-heading[data-astro-cid-xlat7obg]{padding:.2rem .7rem 1.5rem}.menu-heading[data-astro-cid-xlat7obg] .small-label[data-astro-cid-xlat7obg]{letter-spacing:.08em;font-size:1rem}.menu-heading[data-astro-cid-xlat7obg] h2[data-astro-cid-xlat7obg]{letter-spacing:-.04em;margin-top:.35rem;font-size:1.6rem}.menu-panel[data-astro-cid-xlat7obg] nav[data-astro-cid-xlat7obg]{justify-content:stretch;gap:.3rem;width:100%;display:grid}.menu-panel[data-astro-cid-xlat7obg] nav[data-astro-cid-xlat7obg] a[data-astro-cid-xlat7obg]{border-radius:16px;align-items:center;gap:.85rem;min-height:48px;padding:.8rem 1rem;font-size:1rem;display:flex}.menu-panel[data-astro-cid-xlat7obg] nav[data-astro-cid-xlat7obg] a[data-astro-cid-xlat7obg]:hover{background:#ffffffb3}.menu-panel[data-astro-cid-xlat7obg] nav[data-astro-cid-xlat7obg] a[data-astro-cid-xlat7obg][aria-current=page]{background:var(--brand);color:var(--on-brand)}.menu-panel[data-astro-cid-xlat7obg] nav[data-astro-cid-xlat7obg] a[data-astro-cid-xlat7obg]>.icon:last-child{margin-left:auto}.menu-contact[data-astro-cid-xlat7obg]{border-top:1px solid var(--line);flex-wrap:wrap;gap:1rem 1.5rem;margin:1.5rem .5rem 0;padding-top:1.25rem;display:flex}.menu-contact[data-astro-cid-xlat7obg] p[data-astro-cid-xlat7obg]{color:var(--muted);flex-basis:100%;font-size:1rem}.menu-contact[data-astro-cid-xlat7obg] a[data-astro-cid-xlat7obg]{text-underline-offset:4px;align-items:center;gap:.5rem;font-size:1rem;display:inline-flex}@media (width<=1200px){.mobile-menu[data-astro-cid-xlat7obg][data-ready=true]{display:block}.mobile-menu-ready .nav-wrap>.desktop-navigation{display:none}.mobile-menu-ready .nav-wrap{flex-wrap:nowrap}}@media (width<=760px){.menu-panel[data-astro-cid-xlat7obg]{padding-top:1.6rem}.mobile-menu-ready .nav-wrap{min-height:68px;padding-block:.65rem}}@media (prefers-reduced-motion:reduce){.menu-line[data-astro-cid-xlat7obg],.menu-surface[data-astro-cid-xlat7obg],.menu-backdrop[data-astro-cid-xlat7obg],.menu-panel[data-astro-cid-xlat7obg]{transition:none}}@media print{.mobile-menu[data-astro-cid-xlat7obg]{display:none!important}}[data-astro-cid-4igoca2y]:where(.dango){pointer-events:none;user-select:none;flex:none;width:clamp(74px,8vw,108px);display:block}.dango[data-astro-cid-4igoca2y] img[data-astro-cid-4igoca2y]{aspect-ratio:1;object-fit:contain;width:100%;height:auto;display:block}[data-astro-cid-4igoca2y]:where(.dango--portrait){width:clamp(100px,11vw,150px);position:absolute;bottom:-.5rem;right:-.5rem;transform:rotate(9deg)}[data-astro-cid-4igoca2y]:where(.dango--contact){width:130px;position:absolute;top:1.5rem;right:2.5rem;transform:rotate(-8deg)}@media (width<=760px){[data-astro-cid-4igoca2y]:where(.dango--portrait){width:104px;bottom:-.5rem;right:-.5rem}[data-astro-cid-4igoca2y]:where(.dango--contact){width:84px;top:1.25rem;right:1.25rem}}@media print{.dango[data-astro-cid-4igoca2y]{display:none}}
