:root{--fs-xs:clamp(.875rem,.84rem + .12vw,1rem);--fs-sm:clamp(.9375rem,.9rem + .15vw,1.125rem);--fs-ui:clamp(1rem,.95rem + .2vw,1.25rem);--fs-body:clamp(1.0625rem,1rem + .25vw,1.375rem);--fs-h1:clamp(1.75rem,1.45rem + 1.2vw,2.6rem);--fs-h2:clamp(1.375rem,1.2rem + .7vw,1.9rem);--fs-h3:clamp(1.1875rem,1.1rem + .4vw,1.5rem);--c-bg:#f3f6fa;--c-fg:#1c2733;--c-mute:#566577;--c-line:#dbe2ea;--c-card:#ffffff;--c-accent:#2c5fb8;--c-accent-2:#234c94;--c-accent-bg:#e9f0fb;--c-soft:#f6f8fb;--c-warn-bg:#fff6dd;--c-warn-line:#d9a400;--c-priv-bg:#fdecec;--c-priv-line:#c62828;--c-ok:#1f7a4d;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.06);--wrap:48rem;}@media (prefers-color-scheme:dark){:root{--c-bg:#0f1621;--c-fg:#e6ebf2;--c-mute:#9eabbb;--c-line:#273345;--c-card:#162030;--c-accent:#82acff;--c-accent-2:#a9c6ff;--c-accent-bg:#1b2a44;--c-soft:#111a27;--c-warn-bg:#3a3014;--c-warn-line:#c99a12;--c-priv-bg:#3b1d1d;--c-priv-line:#ef5350;--c-ok:#6fcf97;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);}}*,*::before,*::after{box-sizing:border-box;}html{-webkit-text-size-adjust:100%;}body{margin:0;background:var(--c-bg);color:var(--c-fg);font:var(--fs-body)/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;overflow-wrap:break-word;}a{color:var(--c-accent);text-underline-offset:.18em;text-decoration-thickness:1px;}a:hover{color:var(--c-accent-2);text-decoration-thickness:2px;}img{max-width:100%;height:auto;}h1,h2,h3,h4{line-height:1.25;margin:1.6em 0 .5em;letter-spacing:-.01em;}h1{font-size:var(--fs-h1);margin-top:.4em;}h2{font-size:var(--fs-h2);}h3{font-size:var(--fs-h3);}h4{font-size:var(--fs-body);}code,pre{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:.9em;}code{background:var(--c-soft);border:1px solid var(--c-line);padding:.02em .32em;border-radius:5px;overflow-wrap:anywhere;}pre{background:var(--c-soft);border:1px solid var(--c-line);border-radius:var(--radius);padding:.9em 1.1em;overflow-x:auto;}pre code{background:none;border:0;padding:0;overflow-wrap:normal;}:root{--hl-com:#6e7781;--hl-kw:#cf222e;--hl-type:#953800;--hl-str:#0a3069;--hl-num:#0550ae;--hl-fn:#8250df;--hl-var:#953800;}@media (prefers-color-scheme:dark){:root{--hl-com:#8b949e;--hl-kw:#ff7b72;--hl-type:#ffa657;--hl-str:#a5d6ff;--hl-num:#79c0ff;--hl-fn:#d2a8ff;--hl-var:#ffa657;}}pre.bp-code{line-height:1.5;tab-size:4;}pre.bp-code[data-lang]::before{content:attr(data-lang);display:block;margin:-.2em 0 .4em;text-align:right;font:var(--fs-xs) system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--c-mute);}.hl-com{color:var(--hl-com);font-style:italic;}.hl-kw,.hl-pre{color:var(--hl-kw);}.hl-type{color:var(--hl-type);}.hl-str{color:var(--hl-str);}.hl-num,.hl-lit,.hl-opt{color:var(--hl-num);}.hl-fn,.hl-cmd{color:var(--hl-fn);}.hl-cmd{font-weight:600;}.hl-var{color:var(--hl-var);}blockquote{margin:1em 0;padding:.3em 1.1em;border-left:4px solid var(--c-line);color:var(--c-mute);}.bp-wrap{max-width:var(--wrap);margin:0 auto;padding:0 1rem;}.bp-head{border-bottom:1px solid var(--c-line);background:var(--c-card);box-shadow:0 1px 6px rgba(16,24,40,.04);}.bp-head-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-top:.8rem;padding-bottom:.8rem;}.bp-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:var(--fs-ui);color:var(--c-fg);text-decoration:none;}.bp-brand::before{content:"";width:.9em;height:.9em;border-radius:4px;background:linear-gradient(135deg,var(--c-accent),#5b8be0);flex:none;}.bp-brand:hover{color:var(--c-fg);}.bp-langs{display:flex;flex-wrap:wrap;gap:.4rem;}.bp-lang{font-size:var(--fs-sm);padding:.15em .65em;border:1px solid var(--c-line);border-radius:999px;text-decoration:none;color:var(--c-fg);background:var(--c-card);}.bp-lang:hover{border-color:var(--c-accent);color:var(--c-accent);}.bp-lang.is-on{background:var(--c-accent);border-color:var(--c-accent);color:#fff;}.bp-menu{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;padding-bottom:.7rem;font-size:var(--fs-ui);}.bp-menu a{text-decoration:none;color:var(--c-mute);}.bp-menu a:hover{color:var(--c-accent);}.bp-admbar{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:.35rem 1rem;background:#1c2733;color:#fff;font-size:var(--fs-xs);}.bp-admbar a{color:#a9c6ff;}.bp-main{padding-top:1.2rem;padding-bottom:3rem;}.bp-foot{border-top:1px solid var(--c-line);background:var(--c-card);color:var(--c-mute);font-size:var(--fs-sm);padding:1.2rem 0 2rem;}.bp-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);padding:.5rem 1.25rem 1rem;margin:1rem 0;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s;}.bp-card:hover{border-color:#bccbe0;box-shadow:0 2px 4px rgba(16,24,40,.06),0 10px 24px rgba(16,24,40,.08);}.bp-card h2{font-size:var(--fs-h3);margin:.6em 0 .2em;}.bp-card h2 a{color:var(--c-fg);text-decoration:none;}.bp-card h2 a:hover{color:var(--c-accent);}.bp-card p{margin:.4em 0;font-size:var(--fs-sm);color:var(--c-mute);}.bp-meta{color:var(--c-mute);font-size:var(--fs-sm);}.bp-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0;}.bp-tag{font-size:var(--fs-xs);padding:.12em .7em;border-radius:999px;background:var(--c-accent-bg);color:var(--c-accent);text-decoration:none;}.bp-badge{font-size:var(--fs-xs);margin-left:.5em;padding:.05em .5em;border-radius:4px;background:var(--c-warn-bg);border:1px solid var(--c-warn-line);vertical-align:middle;font-weight:400;}.bp-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;font-size:var(--fs-ui);}.bp-note{color:var(--c-mute);font-size:var(--fs-sm);}.bp-draft,.bp-flash,.bp-warn{border:1px solid var(--c-warn-line);background:var(--c-warn-bg);border-radius:var(--radius);padding:.6rem 1rem;margin:1rem 0;font-size:var(--fs-sm);}.bp-body>:first-child{margin-top:.8em;}.bp-body li{margin:.25em 0;}.bp-private{border:2px dashed var(--c-priv-line);background:var(--c-priv-bg);border-radius:var(--radius);padding:.2rem 1rem .6rem;margin:1rem 0;}.bp-private-tag{font-size:var(--fs-xs);color:var(--c-priv-line);font-weight:700;margin-top:.4rem;}.bp-private-i{background:var(--c-priv-bg);outline:1px dashed var(--c-priv-line);border-radius:3px;padding:0 .2em;}.bp-private-mask{color:var(--c-mute);font-size:var(--fs-sm);font-style:italic;margin:.6em 0;}.bp-private-mask-i{color:var(--c-mute);font-style:italic;white-space:normal;}.bp-callout{border:1px solid #cddcf3;border-left:4px solid var(--c-accent);background:var(--c-accent-bg);padding:.7rem 1.1rem;border-radius:var(--radius);margin:1.2rem 0;}.bp-callout>:first-child{margin-top:.2em;}.bp-callout>:last-child{margin-bottom:.2em;}.bp-status{display:inline-block;font-size:var(--fs-xs);font-weight:700;padding:.1em .6em;border-radius:4px;}.bp-status-ok{background:#e3f3e4;color:#1b5e20;}.bp-status-fail{background:#fde4e4;color:#b71c1c;}.bp-status-wait{background:var(--c-warn-bg);color:#6d5200;}.bp-table{margin:1rem 0;}.bp-table table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm);background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}.bp-table th,.bp-table td{border:0;border-bottom:1px solid var(--c-line);padding:.5em .75em;text-align:left;vertical-align:top;overflow-wrap:break-word;}.bp-table tbody tr:last-child td{border-bottom:0;}.bp-table tbody tr:nth-child(even) td{background:var(--c-soft);}.bp-table th{background:var(--c-accent-bg);font-weight:600;color:var(--c-fg);}.bp-table th.num,.bp-table td.num{text-align:right;font-variant-numeric:tabular-nums;}@media (max-width:760px){.bp-table table,.bp-table thead,.bp-table tbody,.bp-table tr,.bp-table th,.bp-table td{display:block;}}.bp-table.is-stacked table,.bp-table.is-stacked thead,.bp-table.is-stacked tbody,.bp-table.is-stacked tr,.bp-table.is-stacked th,.bp-table.is-stacked td{display:block;}@media (max-width:760px){.bp-table thead{position:absolute;left:-9999px;}.bp-table tr{border:1px solid var(--c-line);border-radius:8px;margin:.6rem 0;padding:.3rem .2rem;background:var(--c-card);}.bp-table td{border:0;padding:.2em .6em;text-align:left;}.bp-table td.num{text-align:left;}.bp-table td[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-xs);color:var(--c-mute);}}.bp-table.is-stacked thead{position:absolute;left:-9999px;}.bp-table.is-stacked tr{border:1px solid var(--c-line);border-radius:8px;margin:.6rem 0;padding:.3rem .2rem;background:var(--c-card);}.bp-table.is-stacked td{border:0;padding:.2em .6em;text-align:left;}.bp-table.is-stacked td[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-xs);color:var(--c-mute);}.bp-btn{display:inline-block;font:inherit;font-size:var(--fs-ui);line-height:1.3;padding:.45em 1.05em;border-radius:10px;border:1px solid var(--c-accent);background:var(--c-accent);color:#fff;cursor:pointer;text-decoration:none;margin:.2rem 0;}.bp-btn:hover{background:var(--c-accent-2);border-color:var(--c-accent-2);color:#fff;}.bp-btn-2{background:var(--c-card);color:var(--c-accent);}.bp-btn-2:hover{background:var(--c-accent-bg);color:var(--c-accent);}.bp-btn-sm{font-size:var(--fs-sm);padding:.25em .75em;}.bp-btn-pub{background:var(--c-ok);border-color:var(--c-ok);}.bp-btn-del{background:transparent;color:var(--c-priv-line);border-color:var(--c-priv-line);}.bp-btn-del:hover{background:var(--c-priv-bg);color:var(--c-priv-line);border-color:var(--c-priv-line);}.bp-btn:disabled{opacity:.5;cursor:default;}.bp-inline-form{display:inline;}.bp-form{display:grid;gap:.8rem;margin:1rem 0;}.bp-form label{display:grid;gap:.25rem;font-size:var(--fs-sm);}.bp-form input:not([type=checkbox]),.bp-form textarea,.bp-form select,.bp-tool select,.bp-tool input:not([type=checkbox]):not([type=file]){font:inherit;font-size:var(--fs-ui);padding:.4em .55em;border:1px solid var(--c-line);border-radius:6px;background:var(--c-card);color:var(--c-fg);width:100%;min-width:0;}.bp-form textarea{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-sm);line-height:1.5;}.bp-check{display:inline-flex !important;align-items:center;gap:.4rem;margin-right:1rem;font-size:var(--fs-sm);}.bp-actions{display:flex;flex-wrap:wrap;gap:.6rem;}.bp-tabs{margin:.5rem 0 1rem;}.bp-tagform{border:1px solid var(--c-line);border-radius:var(--radius);padding:.8rem 1rem;background:var(--c-card);}fieldset{border:1px solid var(--c-line);border-radius:var(--radius);padding:.5rem 1rem;}legend{font-size:var(--fs-sm);padding:0 .3rem;}.bp-tool{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);padding:.8rem 1rem 1rem;margin:1.5rem 0;}.bp-tool h3{margin-top:.3em;}.bp-tool-row{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:end;margin:.6rem 0;}.bp-tool-row>label{display:grid;gap:.2rem;font-size:var(--fs-sm);flex:1 1 12rem;}.bp-tool-warn{border:1px solid var(--c-warn-line);background:var(--c-warn-bg);border-radius:8px;padding:.5rem .8rem;font-size:var(--fs-sm);}.bp-tool-admin{border:2px dashed var(--c-priv-line);background:var(--c-priv-bg);border-radius:8px;padding:.5rem .8rem;margin:.6rem 0;font-size:var(--fs-sm);}.gf-grp{margin:1rem 0 .3rem;font-size:var(--fs-ui);}.gf-in{max-width:7.5rem;}.gf-st{font-size:var(--fs-xs);font-weight:700;white-space:normal;}.gf-st-ok{color:var(--c-ok);}.gf-st-bad{color:var(--c-priv-line);}.gf-sum li{margin:.2em 0;}.gf-cov{font-size:var(--fs-sm);color:var(--c-mute);}.gf-hidden{display:none;}.bp-editor{margin:.3rem 0;}.bp-ed-btn{height:32px;width:auto !important;padding:0 .5rem;margin:0 2px;border:1px solid var(--c-priv-line);border-radius:4px;background:var(--c-priv-bg);font:600 .9375rem/30px system-ui,sans-serif !important;cursor:pointer;color:var(--c-priv-line);white-space:nowrap;}.bp-ed-btn:hover{border-color:var(--c-line);background:var(--c-priv-bg);}.gf-sig{max-width:11rem;}.bp-form>*,.bp-form label,.bp-editor,.bp-editor .toastui-editor-defaultUI{min-width:0;max-width:100%;}.bp-editor .toastui-editor-toolbar{flex-wrap:wrap;}body.bp-adm .bp-wrap{max-width:72rem;}.bp-editor .toastui-editor-contents,.bp-editor .toastui-editor-md-container .ProseMirror{font-size:var(--fs-sm);}.bp-figure{margin:1.5rem 0;}.bp-figure-svg{display:block;width:100%;height:auto;border:1px solid var(--c-line);border-radius:var(--radius);background:#fff;}.bp-figure figcaption{font-size:var(--fs-sm);color:var(--c-mute);margin-top:.4rem;}pre code{white-space:pre-wrap;overflow-wrap:anywhere;}.bp-slot{margin:1rem 0;}.bp-slot-empty{margin:.6rem 0;padding:.2rem .6rem;border:1px dashed var(--c-line);border-radius:6px;font-size:var(--fs-xs);color:var(--c-mute);}.bp-body img{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:10px;}.bp-figure img{margin:0 auto;border:1px solid var(--c-line);box-shadow:var(--shadow);max-height:70vh;width:auto;}.bp-body details{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card);padding:.5rem 1rem;margin:1rem 0;}.bp-body details>summary{cursor:pointer;color:var(--c-accent);font-weight:600;}.bp-body details[open]>summary{margin-bottom:.6rem;}.bp-file{font-weight:600;}.bp-file-size{color:var(--c-mute);font-size:var(--fs-sm);}.gf-note{max-width:100%;}.gf-wiz{border:2px solid var(--c-accent);border-radius:var(--radius);padding:.6rem .9rem .9rem;margin:1rem 0;background:var(--c-card);}.gf-step{margin:.6rem 0;}.gf-step-h{font-size:var(--fs-h3);font-weight:700;}.gf-step-side,.gf-step-mode{font-size:var(--fs-sm);color:var(--c-mute);}.gf-probe{font-size:var(--fs-ui);font-weight:700;margin-top:.2rem;}.gf-probe-red{color:#d32f2f;}.gf-zoom,.gf-map{display:block;width:100%;height:auto;margin:.5rem 0;border:1px solid var(--c-line);border-radius:6px;}.gf-wiz-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:.6rem 0;}.gf-wiz-in{font:inherit;font-size:var(--fs-h3);width:9rem;max-width:100%;padding:.35em .5em;border:2px solid var(--c-accent);border-radius:8px;background:var(--c-card);color:var(--c-fg);}.gf-wiz-res{font-size:var(--fs-ui);font-weight:700;}.gf-secsel{min-width:0;}.gf-ov{margin:1rem 0;}.gf-ov-scroll{overflow-x:auto;border:1px solid var(--c-line);border-radius:6px;}.gf-ovsvg{display:block;width:1850px;max-width:none;height:auto;}.gf-legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:var(--fs-sm);margin:.4rem 0;}.gf-legi{display:inline-flex;align-items:center;gap:.35rem;}.gf-sw{display:inline-block;width:1.1em;height:1.1em;border:1px solid #888;border-radius:3px;}.gf-all{margin:1rem 0;}.gf-all>summary{cursor:pointer;font-size:var(--fs-ui);font-weight:600;}.bp-tool .gf-wiz-in{width:10rem !important;max-width:100%;}.bp-adzone{min-height:280px;margin:1.5rem 0;}.bp-adph{display:grid;gap:.2rem;min-height:110px;align-content:center;margin:1.5rem 0;padding:.6rem 1rem;border:2px dashed var(--c-line);border-radius:var(--radius);background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(0,0,0,.03) 10px 20px);color:var(--c-mute);font-size:var(--fs-sm);}.bp-sw-row{display:flex;flex-wrap:wrap;gap:.35rem;}.bp-sw{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:var(--fs-sm);line-height:1.3;padding:.25em .75em .25em .35em;border-radius:999px;border:1px solid var(--c-line);background:var(--c-card);color:var(--c-fg);cursor:pointer;text-decoration:none;white-space:normal;}.bp-sw-knob{position:relative;width:2.1em;height:1.2em;border-radius:999px;background:#c3ccd8;flex:none;transition:background .15s;}.bp-sw-knob::after{content:"";position:absolute;top:.15em;left:.15em;width:.9em;height:.9em;border-radius:50%;background:#fff;transition:left .15s;}.bp-sw.is-pub{border-color:#9fd3b6;background:#eaf7f0;color:#14532d;}.bp-sw.is-pub .bp-sw-knob{background:var(--c-ok);}.bp-sw.is-pub .bp-sw-knob::after{left:1.05em;}.bp-sw.is-draft{color:var(--c-mute);}.bp-sw:hover{border-color:var(--c-accent);}.bp-sw-none{border-style:dashed;color:var(--c-mute);padding-left:.75em;}.bp-adm-title{font-weight:600;color:var(--c-fg);text-decoration:none;}.bp-adm-title:hover{color:var(--c-accent);}.bp-badge-work{background:var(--c-soft);border-color:var(--c-line);color:var(--c-mute);}.bp-badge-empty{background:var(--c-priv-bg);border-color:var(--c-priv-line);color:var(--c-priv-line);}.bp-danger{margin-top:2.5rem;padding-top:1rem;border-top:1px dashed var(--c-line);display:flex;flex-wrap:wrap;gap:.6rem;}@media (prefers-color-scheme:dark){.bp-sw.is-pub{border-color:#2f6b4b;background:#12301f;color:#b9f0cf;}.bp-sw-knob{background:#3a475a;}.bp-callout{border-color:#2a3f63;}.bp-card:hover{border-color:#3a4d6b;}}