:root{--bg:#f0ede6;--surface:rgba(255,255,255,0.96);--surface-soft:#f7f4ee;--text:#161616;--text-soft:#666055;--line:#1d1b18;--line-soft:rgba(29,27,24,0.2);--focus:#875b16;--shadow:0 24px 70px rgba(22,22,22,0.08);--font-body:"S-Core Dream","Apple SD Gothic Neo","Noto Sans KR",sans-serif;--font-heading:"S-Core Dream","Apple SD Gothic Neo","Noto Sans KR",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(rgba(29,27,24,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(29,27,24,.04) 1px,transparent 1px),var(--bg);background-size:28px 28px,28px 28px,auto;color:var(--text);font-family:var(--font-body)}@font-face{font-family:S-Core Dream;src:url(/fonts/SCDream4.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:S-Core Dream;src:url(/fonts/SCDream7.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}body{min-height:100vh;line-height:1.75;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%}::selection{background:rgba(135,91,22,.18)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.page-canvas{width:min(100%,1180px);margin:0 auto;padding:34px 20px 60px}.resume-sheet{overflow:hidden;background:linear-gradient(180deg,#ffffff 0,var(--surface) 100%);border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.resume-topbar{display:flex;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid var(--line);color:var(--text-soft);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.detail-hero,.resume-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:28px;gap:28px;padding:34px 30px;border-bottom:1px solid var(--line-soft)}.detail-heading,.detail-meta-card,.hero-identity,.hero-summary-card{min-width:0}.hero-identity{display:grid;align-content:start;grid-gap:18px;gap:18px}.document-kicker{margin:0 0 14px;color:var(--text-soft);font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.resume-hero h1{font-size:clamp(3.2rem,6vw,5.4rem);line-height:.94}.detail-hero h1,.resume-hero h1{margin:0;font-family:var(--font-heading);font-weight:700;letter-spacing:-.05em}.detail-hero h1{font-size:clamp(2.6rem,4.8vw,4.3rem);line-height:1.1}.detail-summary,.hero-role-line{margin:0;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.55;color:var(--text)}.detail-meta-card,.hero-summary-card{display:grid;grid-gap:14px;gap:14px;padding:0;border:0;background:transparent;align-content:start}.hero-short-intro{margin:0;max-width:32ch;font-size:1rem;line-height:1.8;color:#27231d}.hero-meta-grid{margin:0;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.hero-meta-grid>div,.meta-card{min-width:0;display:grid;grid-gap:6px;gap:6px;padding:16px 18px 14px;border:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.72)}.hero-meta-grid dt{margin:0;color:var(--text-soft);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-meta-grid dd{margin:0;font-size:.95rem;overflow-wrap:anywhere}.inline-link{font-weight:700}.inline-link:hover{color:var(--focus)}.detail-sections{padding:28px 30px 34px;display:grid;grid-gap:18px;gap:18px}.resume-section-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.resume-section-column{min-width:0}.resume-section-column+.resume-section-column{border-left:1px solid var(--line)}.resume-section-block,.resume-section-card{width:100%;padding:24px 24px 26px;border-top:1px solid var(--line);background:transparent}.resume-section-card{border-top:1px solid var(--line)}.section-heading-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:16px}.section-index{margin:0 0 4px;color:var(--text-soft);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-heading-row h2{margin:0;font-family:var(--font-heading);font-weight:700;font-size:2rem;line-height:1;letter-spacing:-.04em}.resume-rich-text{font-size:.98rem}.resume-rich-text-wide{max-width:74ch}.resume-rich-text>:first-child{margin-top:0}.resume-rich-text>:last-child{margin-bottom:0}.resume-rich-text h3{margin:22px 0 8px;font-size:1.08rem;line-height:1.35}.resume-rich-text li,.resume-rich-text p{margin-top:0;color:#26211b}.resume-rich-text del,.resume-rich-text em,.resume-rich-text strong{color:#1a140f}.resume-rich-text del{text-decoration-thickness:1.5px;-webkit-text-decoration-color:rgba(107,58,40,.68);text-decoration-color:rgba(107,58,40,.68)}.resume-rich-text ol,.resume-rich-text ul{margin:0;padding-left:1.2rem}.resume-rich-text .checklist{padding-left:0;list-style:none;display:grid;grid-gap:.72rem;gap:.72rem}.resume-rich-text .checklist-item{display:grid;grid-template-columns:1.1rem 1fr;grid-gap:.72rem;gap:.72rem;align-items:start}.resume-rich-text .checklist-box{width:1.1rem;height:1.1rem;margin-top:.15rem;border:1.5px solid var(--line);border-radius:.24rem;background:rgba(255,255,255,.7);position:relative}.resume-rich-text .checklist-item.is-checked .checklist-box{background:#26211b;border-color:#26211b}.resume-rich-text .checklist-item.is-checked .checklist-box:after{content:"";position:absolute;inset:.12rem .28rem .28rem .22rem;border-right:2px solid #f8f3ea;border-bottom:2px solid #f8f3ea;transform:rotate(38deg)}.resume-rich-text table{width:100%;margin:18px 0;border-collapse:collapse;border:1px solid var(--line);font-size:.95rem}.resume-rich-text td,.resume-rich-text th{padding:.72rem .85rem;border:1px solid var(--line-soft);text-align:left;vertical-align:top}.resume-rich-text th{background:rgba(241,236,225,.8);font-weight:700}.resume-rich-text img{display:block;max-width:min(100%,42rem);height:auto;margin:18px 0;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.7)}.resume-rich-text hr{margin:24px 0;border:0;border-top:1px solid var(--line)}.resume-rich-text code{padding:.12rem .34rem;background:var(--surface-soft);font-size:.92em}.resume-rich-text pre{overflow-x:auto;margin:18px 0;padding:18px 20px;border:1px solid rgba(68,57,47,.24);border-left:4px solid #4a3e32;border-radius:22px;background:linear-gradient(180deg,#241d17,#15110d);color:#f8f3ea;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.resume-rich-text pre code{padding:0;background:transparent;color:inherit;display:block;font-size:.92rem;line-height:1.65}.resume-rich-text .token.comment{color:#8f8a82}.resume-rich-text .token.keyword{color:#f2c14e}.resume-rich-text .token.string{color:#b5e48c}.resume-rich-text .token.number{color:#ffb4a2}.resume-rich-text .token.literal{color:#9bf6ff}.resume-rich-text .token.function{color:#ffd6a5}.resume-rich-text .token.annotation{color:#cdb4db}.resume-rich-text .token.variable{color:#a0c4ff}.resume-rich-text .token.property{color:#bee1e6}.resume-rich-text .token.type{color:#f8edeb}.resume-rich-text .mermaid{overflow-x:auto;margin:18px 0;padding:18px 20px;border-left:2px solid var(--line);background:linear-gradient(180deg,#fbfaf7,#f1ece1)}.resume-rich-text .mermaid svg{display:block;max-width:100%;height:auto}.section-content-card{padding:18px 20px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.76)}.portfolio-directory{margin:0;padding:0;list-style:none;display:grid;grid-gap:14px;gap:14px}.portfolio-directory-item{padding:16px 16px 14px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.76)}.portfolio-directory-head{display:grid;grid-gap:6px;gap:6px}.portfolio-link{font-family:var(--font-heading);font-size:1.3rem;line-height:1.15;letter-spacing:-.03em;font-weight:700}.portfolio-link:hover{color:var(--focus)}.portfolio-period{margin:0;color:var(--text-soft);font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.portfolio-summary{margin:10px 0 0}.portfolio-tag-list{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.portfolio-tag-list li{padding:6px 10px;border:1px solid var(--line-soft);border-radius:999px;font-size:.78rem;line-height:1.2}.detail-action-row{display:flex;flex-wrap:wrap;gap:14px}@media (max-width:980px){.page-canvas{padding:20px 14px 42px}.resume-sheet{border-radius:24px}.detail-hero,.resume-hero,.resume-section-board{grid-template-columns:1fr}.resume-section-column+.resume-section-column{border-left:0}.detail-sections{padding:22px 18px 24px}}@media (max-width:640px){.page-canvas{padding:12px 10px 24px}.portfolio-directory-head,.resume-topbar{flex-direction:column;align-items:flex-start}.detail-hero,.resume-hero{gap:18px;padding:24px 18px}.detail-hero h1,.resume-hero h1{font-size:clamp(2rem,11.2vw,2.9rem)}.detail-summary,.hero-role-line{font-size:1rem}.detail-meta-card,.hero-summary-card,.resume-section-block,.resume-section-card{padding:18px 16px}.hero-meta-grid{grid-template-columns:1fr}.section-heading-row h2{font-size:1.6rem}}