*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}body{font-family:var(--nw-sans);font-variant-numeric:tabular-nums;margin:0;font-size:17px;line-height:1.55}pre,code,kbd{font-variant-ligatures:none;font-feature-settings:"calt" 0}::selection{background:var(--nw-lavender);color:var(--nw-ink)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:lang(ko){word-break:keep-all;overflow-wrap:anywhere}.wrap{--pad:clamp(20px, 4.5vw, 64px);padding-inline:var(--pad);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.skip{position:absolute;left:-999px}.skip:focus{background:var(--nw-ink);color:var(--nw-white);z-index:1;padding:8px 12px;top:16px;left:16px}.mark{flex:none;width:32px;height:32px;display:inline-block}.mark svg{width:100%;height:100%;display:block}.mark>span{display:contents}.mk-dark,:root[data-theme=dark] .mk-light{display:none!important}:root[data-theme=dark] .mk-dark{display:contents!important}.mark.small{width:20px;height:20px}.top{border-bottom:2px solid var(--rule);align-items:center;padding-block:22px}.brand{grid-column:1/5;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.word{font-family:var(--nw-mono);letter-spacing:-.03em;font-size:22px;font-weight:800}.top nav{flex-wrap:wrap;grid-column:5/13;justify-content:flex-end;align-items:center;gap:8px 28px;font-size:15px;display:flex}.top nav a{text-decoration:none}.top nav a:hover,.top nav a[aria-current=page]{text-decoration:underline 2px}.top .lang{font-family:var(--nw-mono);font-size:14px}.top .icon-link{align-items:center;display:inline-flex}.top .icon-link svg{width:20px;height:20px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.theme{color:var(--fg);align-items:center;gap:6px;display:inline-flex}.theme svg{flex:none;width:16px;height:16px}.theme select{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:14px}.theme select:hover{color:var(--accent)}.theme option{background:var(--bg);color:var(--fg)}.band{border-top:2px solid var(--rule);padding-block:72px 80px}.head{grid-column:1/4}.head h2{letter-spacing:-.02em;align-items:center;gap:12px;margin:0;font-size:26px;font-weight:700;line-height:1.2;display:flex}.viz{grid-column:4/13;min-width:0}.syn,.syn2{--syn-foreground:inherit;--syn-token-parameter:inherit}.syn{--syn-token-keyword:var(--syn-kw);--syn-token-string:var(--syn-str);--syn-token-string-expression:var(--syn-str);--syn-token-function:var(--syn-fn);--syn-token-link:var(--syn-fn);--syn-token-constant:var(--syn-num);--syn-token-comment:var(--syn-cm);--syn-token-punctuation:var(--syn-punc)}.syn2{--syn-token-keyword:var(--syn2-kw);--syn-token-string:var(--syn2-str);--syn-token-string-expression:var(--syn2-str);--syn-token-function:var(--syn2-fn);--syn-token-link:var(--syn2-fn);--syn-token-constant:var(--syn2-num);--syn-token-comment:var(--syn2-cm);--syn-token-punctuation:var(--syn2-punc)}.syn-lit,:is(.syn,.syn2) :is(.ln.lit,.ln[data-key]:focus-visible){--syn-token-keyword:var(--hl-kw);--syn-token-string:var(--hl-fg);--syn-token-string-expression:var(--hl-fg);--syn-token-function:var(--hl-fg);--syn-token-link:var(--hl-fg);--syn-token-constant:var(--hl-fg);--syn-token-comment:var(--hl-kw);--syn-token-punctuation:var(--hl-fg)}.button{background:var(--btn);color:var(--on-btn);padding:15px 22px;font-size:16px;font-weight:500;text-decoration:none;transition:background-color .16s cubic-bezier(.16,1,.3,1);display:inline-block}.button:hover{background:var(--btn-hover);color:var(--on-btn)}.foot{color:var(--muted);row-gap:12px;padding-block:40px 56px;font-size:14px}.foot-brand{color:var(--fg);font-family:var(--nw-mono);grid-column:1/5;align-items:center;gap:10px;display:flex}.foot nav{flex-wrap:wrap;grid-column:5/13;justify-content:flex-end;gap:8px 24px;display:flex}.foot p{grid-column:1/10;max-width:90ch;margin:0}.foot p:first-of-type{margin-top:16px}@media (width<=960px){.brand{grid-column:1/13}.top nav{grid-column:1/13;justify-content:flex-start;gap:6px 20px;margin-top:14px}.head,.viz{grid-column:1/13}.head{margin-bottom:28px}.foot-brand,.foot nav,.foot p{grid-column:1/13;justify-content:flex-start}}@media (width<=560px){.band{padding-block:48px 56px}}
