@font-face{font-family:intervariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2)format('woff2')}@font-face{font-family:fira code;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/FiraCodeVariable.woff2)format('woff2')}@font-face{font-family:sourceserif4;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/SourceSerif4Variable.woff2)format('woff2')}@font-face{font-family:mplusu;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/MPLUSUVariable.woff2)format('woff2')}@font-face{font-family:notoserifjp;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/NotoSerifJPVariable.woff2)format('woff2')}@font-face{font-family:notosanskr;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/NotoSansKRVariable.woff2)format('woff2')}@font-face{font-family:notoserifkr;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/NotoSerifKRVariable.woff2)format('woff2')}:root{--x-height:.54;--scale:clamp(.25, attr(data-scale type(<number>), 1), 4);--opacity:attr(data-opacity type(<number>), .3);--transition:.25s;--focus-width:1px;font-synthesis:none;font-kerning:normal;font-size:clamp(8px,calc(sqrt(var(--scale)) * 75%),48px);color-scheme:light dark;--font-sans:"InterVariable", "MPLUSU", "NotoSansKR", sans-serif;--font-serif:"SourceSerif4", "InterVariable", "NotoSerifJP", "NotoSerifKR", serif;--font-mono:"Fira Code", monospace;--font-serif-feature:"cpsp" 1, "locl" 0;--font-sans-feature:"cpsp" 1, "ss01" 1, "ss02" 1, "ss03" 1;--font-mono-feature:"cv02" 1, "cv11" 0, "cv14" 1, "cv19" 1, "cv24" 1, "cv25" 1, "cv26" 1, "cv32" 1, "ss01" 0, "ss02" 1, "ss03" 1, "ss05" 1, "ss07" 1, "ss08" 1, "ss09" 1;--text-small:1rem;--text-regular:clamp(1.25rem, 1rem + .5lvw, 1.75rem);--text-medium:clamp(2rem, 1rem + 1.25lvw, 2.5rem);--text-large:clamp(2.33rem, 1rem + 2lvw, 4rem);--text-xlarge:clamp(3rem, 1rem + 3.5lvw, 5rem);--text-width:768px;--content-width:1440px;--page-padding:clamp(.5rem, 4lvw - 1vmin, 10rem);--chroma:.125;--chroma-dark:.1;--lightness:50%;--lightness-secondary:65%;--lightness-dark:75%;--hue-success:135;--hue-error:25;--text-main:light-dark(oklch(16% .030 250), oklch(90% 0 250));--text-secondary:light-dark(oklch(50% .016 250), oklch(70% .01 250));--text-tertiary:light-dark(oklch(70% .008 250), oklch(50% .01 250));--surface-main:light-dark(oklch(98.5% .002 250), oklch(13% .017 250));--surface-secondary:light-dark(oklch(94.5% .004 250), oklch(17.5% .018 250));--surface-tertiary:light-dark(oklch(92% .006 250), oklch(23% .023 250));--text-disabled:light-dark(oklch(85% .006 250), oklch(40% .01 250));--surface-disabled:light-dark(oklch(96% .002 250), oklch(16% .011 250));--border-disabled:light-dark(oklch(87% .006 250), oklch(45% .015 250));--border:oklch(from var(--text-tertiary) l c h / var(--opacity));--success:light-dark(oklch(var(--lightness) var(--chroma)  var(--hue-success)), oklch(var(--lightness-dark) var(--chroma-dark)  var(--hue-success)));--error:light-dark(oklch(var(--lightness) var(--chroma) var(--hue-error)),  oklch(var(--lightness-dark) var(--chroma-dark) var(--hue-error)))}:root,[data-air]{--air:clamp(0, attr(data-air type(<number>), 1), 4);--lh:calc(1.55 + .075 * var(--air));--tracking:calc(.025 * (1.25rem + 1rem * var(--air) - 1em));--weight-regular:calc(420 - 20 * var(--air));--weight-medium:calc(520 - 20 * var(--air));--weight-strong:calc(620 - 20 * var(--air));font-weight:var(--weight-regular);line-height:var(--lh)}:root,[data-hue]{--hue:clamp(0, attr(data-hue type(<number>), 245), 360);--accent:light-dark(oklch(var(--lightness) var(--chroma) var(--hue)), oklch(var(--lightness-dark) var(--chroma-dark) var(--hue)));--highlight:oklch(from var(--accent) var(--lightness-secondary) c calc(h - 25));--active:oklch(from var(--accent) l c calc(h - 200));--hover:light-dark(oklch(from var(--active) var(--lightness-secondary) c h), oklch(from var(--active) var(--lightness) c h));--focus:oklch(from var(--accent) l c calc(h + 200))}*{border:0;margin:0;padding:0;border-radius:0;vertical-align:baseline;letter-spacing:var(--tracking)}sub,sup{vertical-align:revert}*,::before,::after{box-sizing:border-box}:focus-visible{outline:var(--focus-width)solid var(--focus);outline-offset:0}::selection{color:var(--surface-main);background-color:var(--highlight)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--text-tertiary)transparent}}::-webkit-scrollbar{width:1rem;height:1rem}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--text-tertiary);background-clip:padding-box;border:3px solid transparent;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--hover)}::-webkit-scrollbar-button:single-button{--c:var(--text-tertiary);display:block;width:1rem;height:1rem;background-image:conic-gradient(from var(--a) at var(--p),var(--c) 90deg,transparent 0);background-size:100% 100%;background-repeat:no-repeat;background-color:initial}::-webkit-scrollbar-button:single-button:hover{--c:var(--hover)}::-webkit-scrollbar-button:single-button:vertical:decrement{--a:135deg;--p:50% 65%}::-webkit-scrollbar-button:single-button:vertical:increment{--a:-45deg;--p:50% 35%}::-webkit-scrollbar-button:single-button:horizontal:decrement{--a:45deg;--p:65% 50%}::-webkit-scrollbar-button:single-button:horizontal:increment{--a:225deg;--p:35% 50%}html{scrollbar-gutter:stable;overflow-x:clip}rt{font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature);font-size:var(--text-small);color:var(--text-secondary);line-height:0;height:0}s,del,.strike{text-decoration:none;background-image:linear-gradient(var(--highlight),var(--highlight));background-size:100% 2px;background-repeat:no-repeat;background-position:0 calc(50% + 2px)}mark,.highlight{color:unset;background-color:oklch(from var(--highlight) l c h/var(--opacity))}ins,u,.underline{text-decoration:none;box-shadow:inset 0 -.2lh oklch(from var(--highlight) l c h/var(--opacity))}dt{font-weight:var(--weight-medium)}dd{margin-inline-start:2ch;margin-bottom:.35lh}dd:last-child{margin-bottom:0}body{display:flex;min-height:100svh;flex-direction:column;font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature);-webkit-font-smoothing:antialiased;color:var(--text-main);background-color:var(--surface-main)}header{display:flex;margin-top:clamp(.5rem,1svh,2rem)}footer{margin-bottom:clamp(.5rem,1svh,2rem)}header>nav{flex:1;min-width:0}nav>menu,figure>pre,figure:has(>table),blockquote>pre{--fade:min(2ch, var(--page-padding));--mask:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);overflow-x:auto;margin-inline:calc(-1 * var(--fade));scrollbar-width:none;padding-inline:var(--fade);mask-image:var(--mask)}nav>menu{display:flex;gap:clamp(.5rem,1.25ch,1.5rem);margin-bottom:.25rlh;white-space:nowrap}nav>menu>li{margin-bottom:0}main{flex:1;margin-block:clamp(2rem,5svmax,5rem)}main,header,footer,blockquote,.padded{padding-inline:var(--page-padding)}.center-inline{margin-inline:auto}hr,figure:has(>pre),blockquote:has(>pre),.frame,main,header,footer,img,video,.media{width:min(100%,var(--content-width))}blockquote{margin-block:0 1.25lh;margin-inline:0 2ch;font-size:var(--text-regular)}img,video,.media{display:block;max-width:min(100%,var(--content-width));height:auto;width:auto;background-color:var(--surface-secondary)}img+figcaption,video+figcaption,.media+.caption{margin-block:.25lh .65lh}picture{display:contents}.transparent{background-color:initial}p,h1,h2,h3,hr.asterism,textarea,legend,caption,figcaption,blockquote,.caption,.paragraph,.heading-1,.heading-2,.heading-3,.measure{width:min(100%,var(--text-width))}p,.paragraph,h1,h2,h3,.heading-1,.heading-2,.heading-3,blockquote,li,.list-item,caption,figcaption,.caption,dd{hyphens:auto;overflow-wrap:break-word}hr{font-size:var(--text-regular);border-top:1px solid var(--border)}hr.asterism{border-top:none;text-align:center;margin-block:2lh}hr.asterism::before{display:block;white-space:pre;content:attr(data-asterism,"*\A* *");font-size:var(--text-regular);color:var(--border);letter-spacing:.5em;line-height:calc(.85 * var(--lh))}section{margin-bottom:clamp(1rem,3lh,4.5rem)}figure,article,.module{position:relative;margin-bottom:clamp(1rem,1.5lh,2.5rem)}hgroup{display:flex;flex-direction:column;margin-block:1lh .45lh}hgroup :is(h1,h2,h3,.heading-1,.heading-2,.heading-3){margin-block:0}h1,h2,h3,.heading-1,.heading-2,.heading-3{font-weight:var(--weight-regular);line-height:calc(.9 * var(--lh));margin-block:1lh .25lh;translate:-.025em;text-wrap:balance}h1,.heading-1{line-height:calc(.8 * var(--lh));font-size:var(--text-xlarge)}h2,.heading-2{font-size:var(--text-large)}h3,.heading-3{font-size:var(--text-medium)}h1:first-child,h2:first-child,h3:first-child,.heading-1:first-child,.heading-2:first-child,.heading-3:first-child,hgroup:first-child{margin-top:0}legend,p,caption,figcaption,.caption,.paragraph{margin-bottom:.45lh}p,caption,figcaption,.caption,.paragraph{min-height:1lh}p,.paragraph{font-size:var(--text-regular);text-wrap:pretty}legend,small,caption,figcaption,.caption{font-size:var(--text-small)}p,.paragraph,.serif{font-family:var(--font-serif);font-feature-settings:var(--font-serif-feature)}.sans{font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature)}var,pre,kbd,samp,code,.mono{font-family:var(--font-mono);font-feature-settings:var(--font-mono-feature)}p,.paragraph,.serif,var,pre,kbd,samp,code,.mono{font-size-adjust:var(--x-height)}:is(p,.paragraph,.serif):not(table *) :is(var,kbd,samp,code,.mono){font-size-adjust:calc(var(--x-height) * 1.025)}.sans,table :is(p,.paragraph){font-size-adjust:none}.full{width:100%}.bleed{width:100lvw;margin-inline:calc(-1 * var(--page-padding))}cite{font-style:normal}b,strong{font-weight:var(--weight-strong)}i,em{font-style:normal;text-emphasis-style:filled dot;text-emphasis-position:over right;text-emphasis-color:var(--text-tertiary)}.accent{color:var(--accent)}.active{color:var(--active)}.success{color:var(--success)}.error{color:var(--error)}.secondary{color:var(--text-secondary)}.tertiary{color:var(--text-tertiary)}a,.link{color:inherit;font-size:inherit;text-underline-offset:.25em;text-decoration-thickness:1px;text-decoration-color:var(--border);transition:text-decoration-color var(--transition)}a:hover,.link:hover{transition:0s;text-decoration-color:var(--hover)}a.on-page,.link.on-page{text-decoration-style:dashed}a>.external,.link>.external{display:inline-block;color:var(--border)}a>.external::after,.link>.external::after{margin-inline-start:.1em;content:attr(data-sign,"↗")}a:hover .external,.link:hover .external{transition:0s;color:var(--hover)}ul,ol,menu,.list{list-style:none}li,.list-item{max-width:min(100%,var(--text-width));margin-bottom:.35lh}li p,.eyebrow{margin-bottom:0}ul li:first-child,ol li:first-child,.list li:first-child{margin-top:-.5lh}ol{counter-reset:list}ol li,ol.list .list-item{display:flex;gap:.5ch;align-items:baseline}ol li::before,ol.list .list-item::before{counter-increment:list;content:counter(list)". ";flex-shrink:0}ul li,ul.list .list-item{margin-inline-start:2ch}table{width:fit-content;border-spacing:0;font-size:var(--text-regular)}table :is(p,.paragraph){font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature)}th,td,caption{text-align:start;padding-inline-end:2ch;background-color:var(--surface-main)}th,td{border-bottom:1px solid var(--border)}th{font-weight:var(--weight-medium)}figure:has(>table)>figcaption{position:sticky;inset-inline-start:0}fieldset{min-width:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{appearance:textfield}[type=checkbox],[type=radio]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}button,.button,input:not([type=file]),textarea,[type=file],[type=file]::file-selector-button{font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature);font-size:var(--text-regular)}button,.button,input:not([type=file],[type=checkbox],[type=radio]),[type=file]::file-selector-button{width:fit-content;min-height:32px;line-height:var(--lh);text-align:start}button,.button,[type=file]::file-selector-button{padding-block:0 .25ch;padding-inline:.75ch 1ch;color:var(--surface-main);background-color:var(--text-main);outline:1px solid var(--text-main);border:0;border-radius:0;min-width:32px;max-width:fit-content;transition:color var(--transition),background-color var(--transition),outline-color var(--transition)}:is(button,.button){&.secondary { color: var(--text-main); background-color: inherit; outline-color: var(--text-secondary); } &.tertiary { color: var(--active); background-color: transparent; outline: none; padding: 0; min-width: unset; min-height: unset; font-weight: var(--weight-medium); } &:focus-visible { outline: var(--focus-width) solid var(--focus); } &.accent:not(:disabled, :focus-visible), :where(form.accent) > &:not(:disabled, :focus-visible) { color: var(--surface-main); background-color: var(--accent); outline-color: var(--accent); } &.secondary.accent:not(:disabled, :focus-visible) { color: var(--accent); background-color: inherit; } &.tertiary.accent:not(:disabled) { color: var(--accent); background-color: transparent; } &:hover:not(:disabled, :focus-visible) { background-color: var(--hover); outline: 1px solid var(--hover); transition: 0s; } &.secondary:hover:not(:disabled, :focus-visible) { background-color: inherit; } &.tertiary:hover:not(:disabled, :focus-visible) { color: var(--hover); background-color: transparent; outline: none; } &:disabled { color: var(--text-disabled); background-color: var(--surface-disabled); outline-color: var(--border-disabled); cursor: not-allowed; } &.tertiary:disabled { background-color: transparent; }}[type=file]:enabled::file-selector-button:hover:not(:focus-visible){background-color:var(--hover);outline:1px solid var(--hover);transition:0s}[type=file].accent:enabled::file-selector-button:not(:focus-visible){color:var(--surface-main);background-color:var(--accent);outline-color:var(--accent)}form.accent:has(>button) input:not([type=file]):enabled:not(:focus-visible){outline-color:var(--accent)}::placeholder{color:var(--text-secondary);font-family:var(--font-sans);font-feature-settings:var(--font-sans-feature)}textarea,input:not([type=file]){display:block;outline:none;border-bottom:1px solid var(--text-main);background-color:inherit;color:inherit}textarea:focus-visible,input:not([type=file]):focus-visible{outline:var(--focus-width)solid var(--focus);outline-offset:1px}input:not([type=file]){padding-inline-end:.85ch}textarea{resize:none;overflow-y:auto;scrollbar-width:none;word-break:break-word;line-height:var(--lh);min-height:calc(5 * 1lh - .25lh);height:fit-content;background-image:repeating-linear-gradient(transparent,transparent calc(1lh - 1px),var(--border) calc(1lh - 1px),var(--border) 1lh);background-attachment:local;background-color:inherit;background-position:0 -.25lh;background-repeat:repeat-y}[type=file]:disabled::file-selector-button,input:disabled,textarea:disabled,[inert]{color:var(--text-disabled);background-color:var(--surface-disabled);outline-color:var(--border-disabled);cursor:not-allowed}textarea:enabled:hover:not(:focus-visible),input:not([type=file]):enabled:hover:not(:focus-visible){border-color:var(--hover)}label{font-size:var(--text-regular)}label:has(>[type=checkbox],>[type=radio]){display:flex;gap:.5ch;cursor:pointer;align-items:baseline;&::before { flex-shrink:0; } &:has(> [type="checkbox"])::before { content:'□'; } &:has(> [type="checkbox"]:checked)::before { content:'■'; } &:has(> [type="radio"])::before { content:'○'; } &:has(> [type="radio"]:checked)::before { content:'●'; } &:has(> input:enabled):hover::before { color:var(--hover); } &:has(> input:focus-visible) { outline:var(--focus-width) solid var(--focus); outline-offset:1px; } &.accent { color:var(--accent); } &:has(> input:disabled) { color:var(--text-disabled); cursor:not-allowed; }}form:has(>button){display:flex;align-items:flex-end;& input:not([type="file"]) { width: 100%; border: none; outline: 1px solid var(--text-main); padding-inline: .75ch 1ch; padding-bottom: .25ch; } & input:not([type="file"]):enabled:not(:focus-visible):hover, &:has(> button:enabled:hover) input:not([type="file"]):enabled:not(:focus-visible) { outline-color: var(--hover); }}form:has(input:not([type=file]):enabled:hover)>button:enabled:not(:focus-visible){background-color:var(--hover);outline:1px solid var(--hover);transition:0s}.grid{--grid-scale:1;--cols-gap:calc(var(--air) * clamp(0, attr(data-cols-gap type(<number>), 1), 4) * 1rlh);--rows-gap:calc(var(--air) * clamp(0, attr(data-rows-gap type(<number>), 1), 4) * 1rlh);--cols:max(1, round(attr(data-cols type(<number>), 16) / (var(--scale) * var(--grid-scale)), 1));display:grid;align-content:start;gap:var(--rows-gap)var(--cols-gap);grid-template-columns:repeat(var(--cols),minmax(0,1fr));@media(max-width:768px){--grid-scale: 2;}@media(max-width:512px){--grid-scale: 4;}}.flex{--cols-gap:calc(var(--air) * clamp(0, attr(data-cols-gap type(<number>), 1), 4) * 1rlh);--rows-gap:calc(var(--air) * clamp(0, attr(data-rows-gap type(<number>), 1), 4) * 1rlh);display:flex;align-content:start;gap:var(--rows-gap)var(--cols-gap);align-items:baseline}.flex>*{width:fit-content}.wrap{flex-flow:wrap}.overlay{grid-template:none/minmax(0,1fr)}.overlay>*{grid-area:1/1}.span{grid-column:auto/span max(1,min(attr(data-span type(<number>),1),var(--cols)))}.container{container-type:inline-size;.grid { --grid-scale: 1; @container (max-width: 768px) { --grid-scale: 2; } @container (max-width: 512px) { --grid-scale: 4; } }}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media print{:root{color-scheme:light;--page-padding:.25in}nav,form,button,.button,textarea,input{display:none}figure:has(>table),figure>pre,blockquote>pre{mask-image:none;overflow:visible}}@media(prefers-contrast:more){:root{--text-tertiary:light-dark(oklch(55% .008 250), oklch(67% .010 250));--border:var(--text-tertiary);--surface-secondary:light-dark(oklch(97% .003 250), oklch(15.5% .018 250));--surface-tertiary:light-dark(oklch(95.5% .004 250), oklch(18% .020 250))}}