:root{--font-sans:"IBM Plex Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace,"Noto Sans KR","Noto Sans JP","Noto Sans Thai","Noto Sans SC","Noto Sans TC","Noto Sans Arabic","Noto Sans Devanagari",monospace;--font-display:var(--font-sans);--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--fs-hero:3rem;--lh-hero:1.1667;--fw-hero:700;--ls-hero:0em;--fs-display:2.25rem;--lh-display:1.2222;--fw-display:700;--ls-display:0em;--fs-h1:1.75rem;--lh-h1:1.2857;--fw-h1:700;--ls-h1:0em;--fs-h2:1.375rem;--lh-h2:1.2727;--fw-h2:700;--ls-h2:0em;--fs-h3:1.0625rem;--lh-h3:1.4118;--fw-h3:700;--ls-h3:0em;--fs-bodyLg:1.0625rem;--lh-bodyLg:1.5294;--fw-bodyLg:400;--ls-bodyLg:0em;--fs-body:0.9375rem;--lh-body:1.6;--fw-body:400;--ls-body:0em;--fs-small:0.8125rem;--lh-small:1.5385;--fw-small:400;--ls-small:0em;--fs-caption:0.75rem;--lh-caption:1.5;--fw-caption:400;--ls-caption:0em;--fs-label:0.75rem;--lh-label:1.3333;--fw-label:600;--ls-label:0em;--s-0:0rem;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-8:2rem;--s-10:2.5rem;--s-14:3.5rem;--s-18:4.5rem;--r-sm:0px;--r-md:0px;--r-lg:0px;--r-xl:0px;--r-pill:0px;--touch:48px;--touch-lg:56px;--sev-0:#fff;--sev-0-on:#000;--sev-1:#fff;--sev-1-on:#000;--sev-2:#fff;--sev-2-on:#000;--sev-3:#fff;--sev-3-on:#000;--sev-4:#000;--sev-4-on:#fff;--sev-5:#000;--sev-5-on:#fff;--c-bg:#fff;--c-surface:#fff;--c-surface-raised:#fff;--c-surface-sunken:#fff;--c-border:#000;--c-border-strong:#000;--c-text:#000;--c-text-muted:#000;--c-text-faint:#000;--c-placeholder:#595959;--c-primary:#000;--c-primary-hover:#000;--c-primary-soft:#fff;--c-on-primary:#fff;--c-accent:#000;--c-accent-fill:#000;--c-on-accent:#fff;--c-accent-soft:#fff;--c-focus:#000;--c-danger:#000;--c-danger-soft:#fff;--c-warning:#000;--c-warning-soft:#fff;--c-success:#000;--c-success-soft:#fff;--c-info:#000;--c-info-soft:#fff;--c-invert:#000;--c-on-invert:#fff;--c-sev-edge:#000;--c-nav:#fff;--c-overlay:rgba(0,0,0,.4);--c-shadow:none;color-scheme:light}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400Regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500Medium.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-600SemiBold.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexMono-700Bold.woff2) format("woff2")}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{text-size-adjust:100%}body,html{background:var(--c-bg)}body{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}body,button,html,input,select,textarea{font-family:var(--font-sans)}a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.site-header a,a.btn,a.plain,nav a.plain{text-decoration:none}img,svg{display:inline-block;vertical-align:middle}::selection{background:#000;color:#fff}:focus-visible{outline:2px solid #000;outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1,h2,h3,h4{margin:0;color:var(--c-text);font-family:var(--font-display)}p{margin:0}.t-hero{font-size:clamp(2rem,6vw,var(--fs-hero));line-height:1.15;font-weight:700}.t-display{font-size:clamp(1.625rem,4.4vw,var(--fs-display));line-height:1.2;font-weight:700}.t-h1{font-size:clamp(1.375rem,3vw,var(--fs-h1));line-height:var(--lh-h1)}.t-h1,.t-h2{font-weight:700}.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}.t-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:700}.t-body-lg{font-size:var(--fs-bodyLg);line-height:var(--lh-bodyLg)}.t-small{font-size:var(--fs-small);line-height:var(--lh-small)}.t-caption{font-size:var(--fs-caption);line-height:var(--lh-caption)}.t-label{line-height:var(--lh-label)}.t-eyebrow,.t-label{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text)}.t-eyebrow{line-height:1.2}.t-accent,.t-faint,.t-muted{color:var(--c-text)}.t-mono{font-family:var(--font-mono)}.t-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-gradient{color:var(--c-text)}.sec-head{max-width:820px;display:flex;flex-direction:column;gap:var(--s-3)}.sec-head,.sec-head.left{text-align:left;margin:0;align-items:flex-start}.sec-num{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text)}.sec-title{font-size:clamp(1.5rem,3.6vw,var(--fs-display));line-height:1.2;font-weight:700}.sec-kicker{font-size:var(--fs-bodyLg);line-height:var(--lh-bodyLg);color:var(--c-text);max-width:680px}.reveal,.reveal.in{opacity:1;transform:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-6);border-radius:0;border:1px solid #000;font-size:var(--fs-body);font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none;text-align:center;background:#fff;color:#000}.btn:active,.btn:hover{background:#000;color:#fff}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:#fff;color:#000}.btn-accent,.btn-primary{border-width:2px}.btn-danger,.btn-invert{border-width:2px;background:#000;color:#fff}.btn-danger:hover,.btn-invert:hover{background:#fff;color:#000}.btn-ghost{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:3px;font-weight:600;padding:0 var(--s-2)}.btn-ghost:hover{background:transparent;color:#000;text-decoration-thickness:2px}.btn-link{border:0;padding:0;min-height:0;font-weight:600;text-decoration:underline;text-underline-offset:3px}.btn-link,.btn-link:hover{background:none;color:#000}.btn-link:hover{text-decoration-thickness:2px}.btn-sm{min-height:40px;padding:0 var(--s-4);font-size:var(--fs-small)}.btn-lg{min-height:52px;padding:0 var(--s-6);font-size:var(--fs-body)}.btn-block{width:100%}.icon-btn{min-width:44px;padding:0}.btn-ghost.icon-btn{border:1px solid #000}.btn-ghost.icon-btn:hover{background:#000;color:#fff}.card{border:1px solid #000}.card,.card-flat{background:#fff;border-radius:0}.card-flat{border-top:1px solid #000}.card-pad{padding:var(--s-6)}.divider{height:1px;background:#000;border:0;margin:var(--s-6) 0}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field-label,.field>label{font-size:var(--fs-small);font-weight:600;color:#000}.field-hint{font-size:var(--fs-caption);color:#000}.field-error{font-size:var(--fs-small);color:#000;font-weight:700;display:flex;align-items:center;gap:var(--s-1)}.input,.select,.textarea{width:100%;min-height:48px;padding:0 var(--s-4);border-radius:0;border:1px solid #000;background:#fff;color:#000;font-size:var(--fs-body);line-height:1.4}.textarea{padding:var(--s-3) var(--s-4);min-height:96px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--c-placeholder)}.input:focus,.select:focus,.textarea:focus{outline:none;border-width:2px;padding-left:calc(var(--s-4) - 1px)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--s-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.chip,.select option{background:#fff;color:#000}.chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px;border-radius:0;font-size:var(--fs-caption);font-weight:600;border:1px solid #000;white-space:nowrap}.chip-danger,.chip-invert{background:#000;color:#fff}.chip-warning{border-width:2px}.sev{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:0;font-weight:500;font-size:13px;text-transform:uppercase;white-space:nowrap;color:#000;background:#fff;border:1px solid #000}.sev-lg{min-height:36px;font-size:16px}.sev-4,.sev-5{background:#000;color:#fff;font-weight:700}.sev-3{border-width:2px}.sev-0{border-style:dashed}.sev-esi{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alert{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-4);border-radius:0;background:#fff;color:#000;border:1px solid #000;font-size:var(--fs-small)}.alert-danger,.alert-warning{border-width:2px}.alert-critical{background:#000;color:#fff;border:2px solid #000}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #000}.container{max-width:1080px}.container,.container-narrow{width:100%;margin:0 auto;padding:0 var(--s-6)}.container-narrow{max-width:760px}@media (max-width:640px){.container,.container-narrow{padding:0 var(--s-4)}}.stack-2>*+*{margin-top:var(--s-2)}.stack-3>*+*{margin-top:var(--s-3)}.stack-4>*+*{margin-top:var(--s-4)}.stack-6>*+*{margin-top:var(--s-6)}.row{display:flex;align-items:center;gap:var(--s-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.prose{font-size:var(--fs-body);line-height:1.7;color:#000;overflow-wrap:anywhere}.prose h1{font-size:var(--fs-h1);line-height:var(--lh-h1);margin:0 0 var(--s-2)}.prose h2{font-size:var(--fs-h2);margin:var(--s-10) 0 var(--s-3)}.prose h3{font-size:var(--fs-h3);margin:var(--s-6) 0 var(--s-2)}.prose ol,.prose p,.prose ul{margin:0 0 var(--s-4);color:#000}.prose li{margin-bottom:var(--s-2)}.prose a{text-decoration:underline;text-underline-offset:3px}.prose a,.prose strong{color:#000}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid #000;padding:6px 8px;text-align:left;vertical-align:top}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#000;border:3px solid #fff}.modal-backdrop{position:fixed;inset:0;background:var(--c-overlay);display:flex;align-items:center;justify-content:center;padding:var(--s-4);z-index:100}.modal{background:#fff;border:2px solid #000;border-radius:0;width:100%;max-width:640px;max-height:calc(100vh - 32px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-6);border-bottom:1px solid #000;position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:1}.modal-body{padding:var(--s-6)}.modal-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--s-3);padding:var(--s-4) var(--s-6);border-top:1px solid #000;position:-webkit-sticky;position:sticky;bottom:0;background:#fff}@media (max-width:640px){.modal-body{padding:var(--s-4)}.modal-foot,.modal-head{padding-left:var(--s-4);padding-right:var(--s-4)}}html.is-desktop .app-topbar,html.is-desktop .site-header{padding-left:84px;-webkit-app-region:drag}html.is-desktop .app-topbar a,html.is-desktop .app-topbar button,html.is-desktop .app-topbar select,html.is-desktop .site-header a,html.is-desktop .site-header button,html.is-desktop .site-header select{-webkit-app-region:no-drag}@keyframes emergy-spin{to{transform:rotate(1turn)}}.spin{animation:emergy-spin 1s linear infinite}.btn svg{flex-shrink:0}.emap{position:relative;width:100%;background:#fff;border:1px solid #000;overflow:hidden}.emap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.prose ul,ul.dash{list-style:none;padding-left:0}.prose ul>li,ul.dash>li{padding-left:1.1em;text-indent:-1.1em}.prose ul>li:before,ul.dash>li:before{content:"– ";color:#000}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}