:root{color-scheme:dark;--paper: #0a192f;--paper-raised: #112240;--paper-muted: #112240;--ink: #ccd6f6;--ink-soft: #a8b2d1;--ink-faint: #67779e;--accent: #e6b450;--accent-soft: rgba(230, 180, 80, .12);--line: #233554;--line-strong: #3a4a6b;--shadow-paper: 0 1.25rem 2.5rem rgb(2 12 27 / .5);--page-width: 66rem;--resume-measure: 68ch;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: .35rem;--radius-md: .75rem;--measure: 72ch;--font-serif: "Inter", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif;--font-sans: "Inter", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Menlo", "Consolas", "Pretendard", monospace}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:87.5%;line-height:1.6;text-rendering:optimizeLegibility;scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:var(--paper)}body:before{content:none}a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--ink)}p,ul,ol,dl,blockquote{margin-block:0 var(--space-4)}h1,h2,h3,h4{margin-block:0 var(--space-4);color:var(--ink);font-weight:700;line-height:1.1;letter-spacing:-.02em}h1{max-width:18ch;font-size:clamp(1.55rem,3.2vw,2.1rem);letter-spacing:-.03em}h2{font-size:clamp(1.25rem,2.4vw,1.6rem)}h3{font-size:clamp(1.02rem,1.5vw,1.2rem)}code{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);padding:0 var(--space-1);font-family:Menlo,Consolas,monospace;font-size:.92em}.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);z-index:10;transform:translateY(-150%);border:1px solid var(--ink);background:var(--paper-raised);padding:var(--space-2) var(--space-3)}.skip-link:focus{transform:translateY(0)}.site-shell{position:relative;width:min(100% - var(--space-6),72rem);margin-inline:auto;padding-block:var(--space-5) var(--space-8)}.site-header,.site-footer,.section-rule,.archive-item,.note-box,.writing-body{border-top:1px solid var(--line)}.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding-top:var(--space-4);font-family:var(--font-sans)}.site-mark{color:var(--ink);font-weight:700;text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2) var(--space-4);font-size:.9rem}.site-actions{display:grid;gap:var(--space-2);justify-items:end}.language-switch{display:inline-flex;gap:var(--space-1);border:1px solid var(--line);border-radius:999px;padding:var(--space-1);font-family:var(--font-sans);font-size:.78rem}.language-switch a{border-radius:999px;padding:0 var(--space-2);color:var(--ink-soft);text-decoration:none}.language-switch a[aria-current=page]{background:var(--accent);color:var(--paper-raised)}.site-nav a{color:var(--ink-soft);text-decoration:none}.site-nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-decoration-thickness:.12em}.site-main{padding-block:var(--space-5) var(--space-7)}.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding-top:var(--space-4);color:var(--ink-faint);font-family:var(--font-sans);font-size:.88rem}.site-footer p{margin:0}.kicker,.meta,.field-label,.entry-period,.tag-list,.project-status{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em}.field-label,.entry-period{color:var(--accent);font-weight:500}.kicker{color:var(--accent);font-weight:500;font-size:.8rem;letter-spacing:.06em}.project-status{color:var(--accent);font-weight:500}.meta{font-family:var(--font-sans);color:var(--ink-faint)}.tag-list{color:var(--ink-faint)}.page-intro{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}.page-intro.compact{margin-bottom:0}.app-main:has(.page-intro.compact){gap:var(--space-5)}.page-intro h1{max-width:none;font-size:clamp(1.45rem,2.6vw,1.85rem)}.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.44fr);gap:var(--space-7);align-items:start;margin-bottom:var(--space-7)}.lead-copy{max-width:var(--resume-measure);color:var(--ink-soft);font-size:clamp(.95rem,1.6vw,1.05rem)}.quick-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;list-style:none;font-family:var(--font-sans)}.quick-links a{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;padding:var(--space-2) var(--space-3);color:var(--ink);text-decoration:none}.profile-card{padding:0}.profile-card dl,.profile-card dd{margin:0}.profile-card div{border-top:1px solid var(--line);padding-block:var(--space-3)}.profile-card dt{color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.profile-card dd{color:var(--ink-soft)}.page-intro p{max-width:var(--measure);color:var(--ink-soft);font-size:clamp(.95rem,1.6vw,1.05rem)}.intro-note{max-width:var(--measure);color:var(--ink-soft)}.section-rule{padding-top:var(--space-5);margin-top:var(--space-6)}.index-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:var(--space-6)}.summary-grid,.proof-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding:0;list-style:none}.summary-grid li,.proof-cards li{border-top:1px solid var(--line);padding-top:var(--space-4)}.summary-grid strong,.summary-grid span{display:block}.summary-grid span,.proof-cards p{color:var(--ink-soft)}.section-link{margin-top:var(--space-4);font-family:var(--font-sans)}.link-list,.plain-list{list-style:none;padding:0}.link-list li,.plain-list li{border-top:1px solid var(--line);padding-block:var(--space-3)}.link-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);color:var(--ink);text-decoration:none}.link-list span,.plain-list span{color:var(--ink-faint);font-family:var(--font-sans);font-size:.86rem}.archive-list{display:grid;gap:var(--space-5)}.archive-item{display:grid;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:var(--space-5);padding-top:var(--space-5)}.archive-item h2,.archive-item h3{margin-bottom:var(--space-2)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.field-card{border-left:1px solid var(--line);padding-left:var(--space-3)}.field-card p{color:var(--ink-soft)}.project-list{display:grid;gap:var(--space-5)}.project-card{border-top:1px solid var(--line);padding-top:var(--space-5)}.project-card h2{margin-bottom:var(--space-2)}.project-card p{max-width:var(--measure);color:var(--ink-soft)}.proof-list{margin:var(--space-4) 0 0;padding-left:var(--space-5);color:var(--ink-soft)}.writing-list{display:grid;gap:var(--space-4)}.writing-card{border-top:1px solid var(--line);padding-top:var(--space-4)}.writing-card a{color:var(--ink);text-decoration-color:var(--accent-soft)}.writing-body{max-width:var(--measure);padding-top:var(--space-5)}.writing-body h2,.writing-body h3{margin-top:var(--space-6)}.note-box{max-width:var(--measure);padding-top:var(--space-4)}.resume-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);gap:var(--space-7);align-items:start;padding-bottom:var(--space-7)}.resume-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);gap:var(--space-6);align-items:start;padding-bottom:var(--space-5)}.role-line{color:var(--ink);font-family:var(--font-sans);font-size:clamp(1rem,1.6vw,1.2rem);font-weight:600}.resume-contact{padding:0}.resume-contact dl,.resume-contact dd{margin:0}.resume-contact div{border-top:1px solid var(--line);padding-block:var(--space-3)}.resume-contact div:first-child{border-top:0;padding-top:0}.resume-contact dt,.work-detail dt{color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.resume-contact dd,.work-detail dd{color:var(--ink-soft)}.resume-section{display:grid;gap:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-5);margin-top:var(--space-5)}.resume-section-head{align-self:start}.resume-body{max-width:var(--resume-measure);color:var(--ink-soft)}.skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);padding:0;list-style:none}.skill-list li{border-top:1px solid var(--line);padding-top:var(--space-4)}.skill-list strong,.skill-list span{display:block}.skill-list span{color:var(--ink-soft)}.company-list{display:grid;gap:var(--space-7)}.company-block{display:grid;gap:var(--space-5)}.company-block header{max-width:78ch}.work-list{display:grid;gap:var(--space-4)}.work-item{border-top:1px solid var(--line);padding-top:var(--space-4)}.work-detail{display:grid;gap:var(--space-3);margin:0}.work-detail div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-3)}.work-detail dd{margin:0}.compact-list{padding-left:var(--space-5);color:var(--ink-soft)}.section-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);border-block:1px solid var(--line);padding-block:var(--space-3);font-family:var(--font-sans);font-size:.88rem}.section-nav a{border:1px solid var(--line);border-radius:999px;padding:var(--space-1) var(--space-3);color:var(--ink);text-decoration:none}.timeline-list,.statement-list{display:grid;gap:var(--space-4)}.timeline-item,.statement-card{border-top:1px solid var(--line);padding-top:var(--space-4)}.timeline-item h3,.statement-card h2{margin-bottom:var(--space-2)}.timeline-item p,.statement-card dd{max-width:var(--resume-measure)}.statement-card{display:grid;gap:var(--space-4)}.statement-detail{gap:var(--space-4)}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none;font-family:var(--font-sans);font-size:.88rem}.tag-cloud li{border:1px solid var(--line);border-radius:999px;padding:var(--space-1) var(--space-3);color:var(--ink-soft)}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-8);align-items:start}.profile-sidebar{position:sticky;top:0;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);min-height:100vh;padding-block:var(--space-7)}.avatar-mark{display:grid;width:3.5rem;height:3.5rem;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);font-family:var(--font-sans);font-weight:700;letter-spacing:.04em}.profile-sidebar h1{margin-bottom:var(--space-2);font-size:clamp(1.85rem,4vw,2.4rem)}.sidebar-copy{max-width:32ch;color:var(--ink-soft);font-size:.98rem}.sidebar-list{margin-top:var(--space-5)}.sidebar-list,.sidebar-list dd{margin-left:0}.sidebar-list div{border-top:1px solid var(--line);padding-block:var(--space-3)}.sidebar-list dt{color:var(--accent);font-family:var(--font-mono);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sidebar-list dd{color:var(--ink-soft)}.section-nav.vertical{display:grid;gap:var(--space-1);border-block:0;padding-block:var(--space-6) 0}.section-nav.vertical a{display:inline-flex;align-items:center;gap:var(--space-3);border:0;border-radius:0;padding:var(--space-2) 0;color:var(--ink-faint);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.section-nav.vertical a:before{content:"";width:2rem;height:1px;background:var(--ink-faint);transition:width .2s ease,background-color .2s ease}.section-nav.vertical a:hover,.section-nav.vertical a:focus-visible{color:var(--ink)}.section-nav.vertical a:hover:before,.section-nav.vertical a:focus-visible:before{width:3.5rem;background:var(--ink)}.section-nav.vertical a[aria-current=true],.section-nav.vertical a[aria-current=page]{color:var(--ink)}.resume-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding:var(--space-2) 0;color:var(--ink-faint);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s ease}.resume-link:hover,.resume-link:focus-visible{color:var(--accent)}.resume-link svg{flex:none}.section-nav.vertical a[aria-current=true]:before,.section-nav.vertical a[aria-current=page]:before{width:3.5rem;background:var(--ink)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.profile-main{display:grid;gap:var(--space-8);padding-block:var(--space-7)}.profile-section{scroll-margin-top:var(--space-5)}.profile-intro h2{max-width:32ch;font-size:clamp(1.5rem,3vw,2.1rem)}.profile-intro p,.profile-section p{max-width:var(--resume-measure);font-size:1rem;line-height:1.7}.section-heading{display:grid;grid-template-columns:minmax(8rem,.24fr) minmax(0,1fr);gap:var(--space-4);align-items:baseline;margin-bottom:var(--space-4)}.proof-strip{display:grid;gap:0;padding:0;list-style:none}.proof-strip li{display:grid;grid-template-columns:clamp(7rem,34%,11rem) minmax(0,1fr);gap:var(--space-4);align-items:baseline;border-top:1px solid var(--line);padding-block:var(--space-3)}.proof-strip strong{color:var(--accent);font-family:var(--font-mono);font-weight:600;font-size:clamp(.95rem,1.6vw,1.15rem);white-space:nowrap}.proof-strip span{color:var(--ink-soft);font-size:.95rem}.selected-work-list{display:grid;gap:var(--space-4)}.ext-link{color:inherit;text-decoration:none;transition:color .2s ease}.ext-link:hover,.ext-link:focus-visible{color:var(--accent)}.ext-link span{font-size:.78em;color:var(--accent);vertical-align:.05em}.selected-work-card{border-top:1px solid var(--line);padding-top:var(--space-5)}.selected-work-card h3{margin-bottom:var(--space-3)}.selected-work-card p:not(.project-status){color:var(--ink-soft)}.timeline-list.compact{gap:var(--space-3)}.site-shell{z-index:1}.spotlight{display:block;position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),rgba(230,180,80,.05),transparent 45%);transition:background .15s ease;transform:translateZ(0);will-change:transform}@media(hover:none){.spotlight{display:none}}@media(prefers-reduced-motion:reduce){.spotlight{display:none}}.selected-work-card,.statement-card,.project-card,.timeline-item{padding:var(--space-5);margin-inline:calc(var(--space-5) * -1);transition:background-color .2s ease,box-shadow .2s ease}.selected-work-card.is-link,.statement-card.is-link{position:relative;display:block;color:inherit;text-decoration:none;cursor:pointer}.card-go{position:absolute;top:var(--space-5);right:var(--space-5);color:var(--ink-faint);transition:color .2s ease,transform .2s ease}@media(hover:hover){.selected-work-card.is-link:hover,.statement-card.is-link:hover,.project-card:hover,.timeline-item:hover{background:var(--paper-raised);box-shadow:var(--shadow-paper);border-radius:var(--radius-md)}.selected-work-card.is-link:hover h3,.project-card:hover h2,.statement-card.is-link:hover h2,.timeline-item:hover h3{color:var(--accent)}.selected-work-card.is-link:hover .card-go,.statement-card.is-link:hover .card-go{color:var(--accent);transform:translate(2px,-2px)}}.sidebar-top{display:grid}.socials{display:flex;align-items:center;gap:var(--space-4);margin:0;padding:0;list-style:none}.socials a{display:inline-flex;align-items:center;color:var(--ink-faint)}.socials a svg{display:block}.socials a:hover,.socials a:focus-visible{color:var(--accent)}.section-tag{display:block;margin-bottom:var(--space-4);color:var(--accent);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.exp-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.exp-item{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-4);padding:var(--space-4);margin-inline:calc(var(--space-4) * -1);border-radius:var(--radius-md);transition:background-color .2s ease,box-shadow .2s ease}.exp-date{margin:0;padding-top:.2rem;color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:0;white-space:nowrap;text-transform:uppercase}.exp-body h3{margin-bottom:var(--space-2);font-size:1rem}.exp-body p{margin:0;max-width:var(--resume-measure);color:var(--ink-soft)}@media(hover:hover){.exp-item:hover{background:var(--paper-raised);box-shadow:var(--shadow-paper),inset 0 0 0 1px var(--line)}.exp-item:hover h3{color:var(--accent)}}.section-more{margin-top:var(--space-4);font-family:var(--font-mono);font-size:.85rem}.exp-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.exp-tags li{border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:.7rem;line-height:1.5;padding:.2rem .65rem}.app-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--space-8);align-items:start}.app-sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:var(--space-6);padding-block:var(--space-7)}.app-sidebar-top{display:grid;justify-items:start;gap:var(--space-3)}.app-sidebar-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.app-name{color:var(--ink);font-family:var(--font-sans);font-size:clamp(1.85rem,4vw,2.4rem);font-weight:700;letter-spacing:-.02em;text-decoration:none}.app-name:hover{color:var(--ink)}.app-main-wrap{display:grid;gap:var(--space-7);padding-block:var(--space-7);min-width:0}.app-main{display:grid;gap:var(--space-8);min-width:0}.home-intro h1{max-width:26ch}.home-links{margin:var(--space-5) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2);font-family:var(--font-mono);font-size:.9rem}@media(max-width:780px){.app-layout{grid-template-columns:1fr;gap:var(--space-5)}.app-sidebar{position:static;min-height:0;padding-block:var(--space-5) 0}.app-main-wrap{padding-block:0 var(--space-6)}.exp-item{grid-template-columns:1fr;gap:var(--space-1)}}@media(max-width:780px){.site-shell{width:min(100% - var(--space-5),var(--page-width));padding-block:var(--space-4) var(--space-7)}.site-header,.site-footer,.profile-layout,.section-heading,.page-intro,.profile-hero,.resume-hero,.resume-profile,.resume-section,.index-grid,.archive-item,.field-grid,.summary-grid,.proof-cards,.skill-list,.work-detail div{grid-template-columns:1fr}.profile-sidebar,.resume-section-head{position:static}.site-nav{justify-content:flex-start}.site-actions{justify-items:start}.site-main{padding-block:var(--space-6)}.page-intro{gap:var(--space-4)}.link-list a{grid-template-columns:1fr;gap:var(--space-1)}}.print-only{display:none}@media print{:root{--paper: #ffffff;--ink: #111111;--ink-soft: #333333;--ink-faint: #555555;--line: #cccccc;--accent: #8a5a00;--accent-soft: rgba(138, 90, 0, .1)}@page{size:A4;margin:16mm}html,body{background:#fff!important;color:#111!important}.spotlight,.skip-link,.site-footer,.section-nav,.language-switch,.socials,.resume-link,.section-more{display:none!important}.print-only{display:block!important}.print-contact{margin-top:var(--space-3);font-family:var(--font-mono);font-size:9pt;color:var(--ink-soft)}.site-shell{padding:0!important;max-width:none!important}.app-layout{display:block!important;gap:0!important}.app-sidebar{position:static!important;width:auto!important;height:auto!important;min-height:0!important;padding:0 0 6mm!important;margin:0 0 6mm!important;border:0!important;border-bottom:1px solid var(--line)!important}.app-sidebar-top{display:block!important}.app-name{font-size:20pt!important;color:#111!important}.role-line{font-size:11pt!important}.app-main-wrap,.app-main{display:block!important;padding:0!important;max-width:none!important}.profile-section{margin-bottom:8mm;break-inside:avoid}.exp-item,.selected-work-card{break-inside:avoid}a{color:inherit!important;text-decoration:none!important}}
