:root{color-scheme:light;--color-signal-red:#d82c2c;--color-black:#1a1a1a;--color-white:#fff;--color-cool-grey:#a9b2b1;--color-deep-blue:#0033a0;--color-light-grey:#f2f2f2;--color-cool-grey-text:#5e6968;--bg:var(--color-white);--bg-tint:var(--color-light-grey);--fg:var(--color-black);--fg-muted:var(--color-cool-grey-text);--rule:var(--color-cool-grey);--rule-soft:#dfe3e2;--accent:var(--color-deep-blue);--accent-hover:#002a85;--on-accent:var(--color-white);--font-sans:"Helvetica Neue", Helvetica, Arial, "Noto Sans KR", "Noto Sans JP", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-hero:clamp(2.5rem, 5vw, 4rem);--text-h1:2.25rem;--text-h2:1.5rem;--text-body:1rem;--text-lede:1.125rem;--text-small:.875rem;--text-label:.875rem;--leading-tight:1.05;--leading-heading:1.2;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--tracking-label:.04em;--measure:72ch;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-sm:1.25rem;--space-md:2.5rem;--space-lg:5rem;--space-section:clamp(4rem, 8vw, 8rem);--container-max:1280px;--container-pad:1.5rem;--grid-cols:12;--grid-gap:1.5rem;--radius-sm:.25rem;--radius-md:.5rem;--shadow-card:0 2px 12px #0000000f;--shadow-max:0 2px 8px #00000014;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.2s;--duration-base:.3s;--duration-entry:.42s;--stagger:80ms;--entry-offset:16px;--z-base:0;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:500}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-padding-top:5.5rem}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-feature-settings:"kern";text-rendering:optimizelegibility;overflow-wrap:break-word;flex-direction:column;margin:0;display:flex}main{flex:1}:lang(ko){word-break:keep-all}:lang(ja){line-break:strict}:lang(ja) :is(h1,h2,h3){word-break:auto-phrase}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:.18em;transition:color var(--duration-fast) var(--ease-out);text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}small{font-size:var(--text-small)}.skip{top:0;left:var(--container-pad);z-index:var(--z-toast);padding:var(--space-1) .75rem;background:var(--fg);color:var(--bg);border-radius:var(--radius-sm);position:absolute;transform:translateY(-120%)}.skip:focus{transform:translateY(var(--space-1));color:var(--bg)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}.grid{column-gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.grid{grid-template-columns:repeat(var(--grid-cols), minmax(0, 1fr))}}.t-hero{font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.t-h1{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-tight)}.t-h2{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:-.01em}.t-label{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label)}.lede{font-size:var(--text-lede);color:var(--fg-muted)}.muted{color:var(--fg-muted)}.more{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);justify-self:start}.site-header{z-index:var(--z-sticky);background:var(--bg);border-bottom:1px solid var(--rule-soft);position:sticky;top:0}.site-header .grid{row-gap:var(--space-1);padding-block:var(--space-2);align-items:center}.brand{font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);justify-self:start;font-size:1.125rem;text-decoration:none}.brand:hover{color:var(--fg)}.site-nav ul,.lang ul{column-gap:var(--space-3);row-gap:var(--space-1);flex-wrap:wrap;display:flex}.site-nav a{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);border-bottom:2px solid #0000;padding-block:.25rem;text-decoration:none;display:inline-block}.site-nav a[aria-current=page]{border-bottom-color:var(--accent)}.lang ul{column-gap:var(--space-2)}.lang a{font-size:var(--text-small);color:var(--fg-muted);text-decoration:none}.lang a:hover{color:var(--accent)}.lang a[aria-current=true]{color:var(--fg);font-weight:var(--weight-medium)}@media (width>=768px){.site-header .grid{min-height:4.5rem;padding-block:0}.brand{grid-column:1/span 3}.site-nav{grid-column:4/span 6}.lang{grid-column:10/span 3}.lang ul{justify-content:flex-end}}.hero{padding-block:var(--space-lg) var(--space-md)}.hero .grid{row-gap:var(--space-md);align-items:end}.hero__aside{padding-top:var(--space-2);border-top:2px solid var(--accent);color:var(--fg-muted)}@media (width>=768px){.hero{padding-block:var(--space-section) var(--space-lg)}.hero__title{grid-column:1/span 7}.hero__aside{grid-column:8/span 5}}@media (width>=1024px){.hero__title{grid-column:1/span 8}.hero__aside{grid-column:9/span 4}}.page-title{padding-block:var(--space-lg) var(--space-md)}.page-title .grid{row-gap:var(--space-2)}.page-title__meta{color:var(--fg-muted)}@media (width>=768px){.page-title{padding-block:var(--space-section) var(--space-lg)}.page-title h1{grid-column:1/span 9}.page-title .lede,.page-title__meta,.page-title .more{grid-column:1/span 7}}.section{padding-block:var(--space-lg);border-top:1px solid var(--rule-soft)}.section__intro{gap:var(--space-2);margin-bottom:var(--space-md);display:grid}.row{row-gap:var(--space-3)}.row__body{gap:var(--space-2);max-width:var(--measure);display:grid}@media (width>=768px){.section__intro>*{max-width:48rem}.row__head{grid-column:1/span 4}.row__body{grid-column:5/span 8}}@media (width>=1024px){.row__body{grid-column:5/span 7}}.sub{gap:var(--space-1);padding-top:var(--space-2);border-top:2px solid var(--fg);display:grid}.sub+.sub{margin-top:var(--space-1)}.sub h3{font-size:var(--text-body);font-weight:var(--weight-bold);line-height:var(--leading-heading)}.mailto{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:-.01em;overflow-wrap:anywhere;justify-self:start}.tiles{row-gap:var(--grid-gap)}.tile{align-content:start;gap:var(--space-2);padding:var(--space-sm);background:var(--bg-tint);border-radius:var(--radius-md);display:grid}.tile__head,.tile__body{align-content:start;gap:var(--space-2);display:grid}.tile__name{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:-.01em}.tile__name a{text-decoration:none}.tile__stats{font-family:var(--font-mono);font-size:var(--text-small);color:var(--fg-muted)}.tile__verified{color:var(--fg-muted)}.tile__link{padding-top:var(--space-1);font-weight:var(--weight-medium);margin-top:auto}.tile__link a{color:var(--accent)}.tile__link a:hover{color:var(--accent-hover)}.tiles+.more{margin-top:var(--space-md)}@media (width>=768px){.tile{padding:var(--space-md)}.tiles>.tile:nth-child(odd){grid-column:1/span 7}.tiles>.tile:nth-child(2n){grid-column:8/span 5}.tiles>.tile:nth-child(odd):last-child{grid-column:1/-1}.tiles--full>.tile:nth-child(n){column-gap:var(--grid-gap);grid-column:1/-1;grid-template-columns:5fr 7fr}}.list{gap:var(--space-2);display:grid}.list li{padding-top:var(--space-2);border-top:1px solid var(--rule-soft);gap:.25rem;display:grid}.list li:first-child{border-top:0;padding-top:0}.site-footer{border-top:1px solid var(--rule);padding-block:var(--space-md) var(--space-lg);font-size:var(--text-small);color:var(--fg-muted)}.site-footer .grid{row-gap:var(--space-2)}.site-footer a{color:var(--fg)}.site-footer a:hover{color:var(--accent)}.site-footer__brand{gap:.25rem;display:grid}@media (width>=768px){.site-footer__brand{grid-column:1/span 4}.site-footer__contact{grid-column:5/span 5}.site-footer__links{grid-column:10/span 3;justify-self:end}}@keyframes entry{0%{opacity:0;transform:translateY(var(--entry-offset))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.enter{animation:entry var(--duration-entry) var(--ease-out) both}.enter-1{animation-delay:calc(1 * var(--stagger))}.enter-2{animation-delay:calc(2 * var(--stagger))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}
