:root{--font-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;--font-mono:"JetBrains Mono","D2Coding","SF Mono",Menlo,Consolas,monospace;--ide-actbar-w:48px;--ide-side-w:260px;--ide-tab-h:35px;--ide-status-h:24px;--ide-panel-h:160px;--ide-ui-size:13px;--ide-ui-lh:20px;--ide-code-size:14px;--ide-code-lh:22px;--ide-radius:4px;--read-col-max:760px;--read-col-pad-l:72px;--read-col-pad-r:32px;--read-num-w:32px;--read-size:16px;--read-lh:1.75;--read-gap:14px;--read-h1:28px/1.35;--read-h2:19px/1.5;--read-h3:17px/1.5;--read-meta:13px;--m-tab-h:44px;--m-bnav-h:56px;--m-status-h:22px;--m-pad:16px;--m-read-pad-l:40px;--ease:cubic-bezier(.2,0,0,1);--dur:.16s}:root,[data-theme=dark]{color-scheme:dark;--ide-bg:#1e1e1e;--ide-side:#252526;--ide-act:#333333;--ide-tab:#2d2d2d;--ide-tab-on:#1e1e1e;--ide-panel:#181818;--ide-input:#3c3c3c;--ide-border:#2b2b2b;--ide-line:#3c3c3c;--ide-hover:#2a2d2e;--ide-sel:#37373d;--ide-focus:#007fd4;--ide-ink:#cccccc;--ide-ink-hi:#ffffff;--ide-ink-lo:#9d9d9d;--ide-ink-tab:#969696;--ide-gutter:#8b8b8b;--ide-icon:#c5c5c5;--ide-icon-lo:#8b8b8b;--ide-status:#005fb8;--ide-on-status:#ffffff;--ide-accent:#3794ff;--ide-btn:#0e639c;--ide-on-btn:#ffffff;--ide-btn2:#3a3d41;--ide-badge:#005fb8;--read-bg:#1e1e1e;--read-ink:#d4d4d4;--read-ink-hi:#ffffff;--read-ink-lo:#9d9d9d;--read-num:#6e7681;--read-link:#4daafc;--read-rule:#3c3c3c;--read-code-bg:#151515;--read-code-border:#2e2e2e;--read-inline-bg:#2d2d2d;--read-quote:#5a5a5a;--st-open:#75beff;--st-open-bg:#132a3d;--st-open-bd:#2b5f8a;--st-ok:#89d185;--st-ok-bg:#18261a;--st-ok-bd:#2f5d36;--st-closed:#9d9d9d;--st-closed-bd:#4a4a4a;--st-star:#ffd75e;--st-star-bd:#806a00;--st-err:#f48771;--st-warn:#cca700;--tag:#4ec9b0;--tag-bg:#1d3330;--syn-k:#569cd6;--syn-ctl:#c586c0;--syn-s:#ce9178;--syn-f:#dcdcaa;--syn-t:#4ec9b0;--syn-v:#9cdcfe;--syn-n:#b5cea8;--syn-c:#6a9955;--syn-md:#8b8b8b;--syn-err:#f48771}[data-theme=light]{color-scheme:light;--ide-bg:#ffffff;--ide-side:#f3f3f3;--ide-act:#2c2c2c;--ide-tab:#ececec;--ide-tab-on:#ffffff;--ide-panel:#f8f8f8;--ide-input:#ffffff;--ide-border:#e5e5e5;--ide-line:#d4d4d4;--ide-hover:#e8e8e8;--ide-sel:#e4e6f1;--ide-focus:#005fb8;--ide-ink:#3b3b3b;--ide-ink-hi:#1f1f1f;--ide-ink-lo:#616161;--ide-ink-tab:#616161;--ide-gutter:#237893;--ide-icon:#424242;--ide-icon-lo:#616161;--ide-status:#005fb8;--ide-on-status:#ffffff;--ide-accent:#005fb8;--ide-btn:#005fb8;--ide-on-btn:#ffffff;--ide-btn2:#e5e5e5;--ide-badge:#005fb8;--read-bg:#ffffff;--read-ink:#24292f;--read-ink-hi:#1f1f1f;--read-ink-lo:#616161;--read-num:#8c959f;--read-link:#005fb8;--read-rule:#e5e5e5;--read-code-bg:#f6f8fa;--read-code-border:#e1e4e8;--read-inline-bg:#eff1f3;--read-quote:#d0d7de;--st-open:#005fb8;--st-open-bg:#e6f0fa;--st-open-bd:#9ec5ee;--st-ok:#0f7b0f;--st-ok-bg:#e8f5e9;--st-ok-bd:#a6d4a8;--st-closed:#616161;--st-closed-bd:#c8c8c8;--st-star:#8a6100;--st-star-bd:#e2c46a;--st-err:#b5200d;--st-warn:#8a6100;--tag:#0f6e64;--tag-bg:#e3f2ef;--syn-k:#0000ff;--syn-ctl:#af00db;--syn-s:#a31515;--syn-f:#795e26;--syn-t:#1e6f86;--syn-v:#001080;--syn-n:#08734c;--syn-c:#0b7a3e;--syn-md:#237893;--syn-err:#b5200d}[data-theme=hc]{color-scheme:dark;--ide-bg:#000000;--ide-side:#000000;--ide-act:#000000;--ide-tab:#000000;--ide-tab-on:#000000;--ide-panel:#000000;--ide-input:#000000;--ide-border:#6fc3df;--ide-line:#6fc3df;--ide-hover:#000000;--ide-sel:#000000;--ide-focus:#f38518;--ide-ink:#ffffff;--ide-ink-hi:#ffffff;--ide-ink-lo:#ffffff;--ide-ink-tab:#ffffff;--ide-gutter:#ffffff;--ide-icon:#ffffff;--ide-icon-lo:#ffffff;--ide-status:#000000;--ide-on-status:#ffffff;--ide-accent:#f38518;--ide-btn:#000000;--ide-on-btn:#ffffff;--ide-btn2:#000000;--ide-badge:#000000;--read-bg:#000000;--read-ink:#ffffff;--read-ink-hi:#ffffff;--read-ink-lo:#ffffff;--read-num:#ffffff;--read-link:#3794ff;--read-rule:#6fc3df;--read-code-bg:#000000;--read-code-border:#6fc3df;--read-inline-bg:#000000;--read-quote:#6fc3df;--st-open:#ffffff;--st-open-bg:#000;--st-open-bd:#6fc3df;--st-ok:#89d185;--st-ok-bg:#000;--st-ok-bd:#89d185;--st-closed:#ffffff;--st-closed-bd:#ffffff;--st-star:#ffd75e;--st-star-bd:#ffd75e;--st-err:#f48771;--st-warn:#ffd75e;--tag:#ffffff;--tag-bg:#000;--syn-k:#569cd6;--syn-ctl:#c586c0;--syn-s:#ce9178;--syn-f:#dcdcaa;--syn-t:#4ec9b0;--syn-v:#9cdcfe;--syn-n:#b5cea8;--syn-c:#7ca668;--syn-md:#ffffff;--syn-err:#f48771}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ide-bg);color:var(--ide-ink);font:var(--ide-ui-size)/var(--ide-ui-lh) var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:1px solid var(--ide-focus);outline-offset:-1px}.ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic.l{width:24px;height:24px;stroke-width:1.5}.mono{font-family:var(--font-mono)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{display:grid;grid-template-columns:var(--ide-actbar-w) var(--ide-side-w) 1fr;grid-template-rows:1fr var(--ide-status-h);height:100vh}.app.noside{grid-template-columns:var(--ide-actbar-w) 1fr}.act{background:var(--ide-act);display:flex;flex-direction:column;align-items:center;padding-top:4px}.act .logo{width:32px;height:32px;margin:6px 0 10px;border-radius:7px;background:var(--ide-btn);color:var(--ide-on-btn);display:grid;place-items:center;font:700 13px/1 var(--font-mono);letter-spacing:-.04em}.act a{width:48px;height:48px;display:grid;place-items:center;color:#8b8b8b;position:relative}[data-theme=light] .act a{color:#9d9d9d}.act a.on{color:#fff}.act a.on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#fff}.act .bot{margin-top:auto}.badge{position:absolute;right:7px;bottom:7px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--ide-badge);color:#fff;font:600 10px/16px var(--font-sans);text-align:center}.side{background:var(--ide-side);border-right:1px solid var(--ide-border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.side .hd{height:35px;display:flex;align-items:center;padding:0 12px 0 20px;font-size:11px;letter-spacing:.06em;color:var(--ide-ink-lo)}.side .hd .r{margin-left:auto;display:flex;gap:2px}.side .hd .r a{width:24px;height:24px;display:grid;place-items:center;border-radius:4px;color:var(--ide-icon)}.tree .row{height:24px;display:flex;align-items:center;gap:6px;padding:0 12px 0 calc(8px + var(--d,0) * 16px);white-space:nowrap;color:var(--ide-ink)}.tree .row .nm{overflow:hidden;text-overflow:ellipsis}.tree .row .ic{color:var(--ide-icon-lo)}.tree .row .ic.fold{color:var(--syn-f)}.tree .row em{margin-left:auto;font:11px var(--font-mono);color:var(--ide-ink-lo);font-style:normal}.tree .row.on{background:var(--ide-sel);color:var(--ide-ink-hi)}.tree .row.on.focus{outline:1px solid var(--ide-focus);outline-offset:-1px}.tree .row.dim{color:var(--ide-ink-lo)}.join{margin:auto 12px 12px;padding:14px;border:1px solid var(--ide-line);border-radius:6px;font-size:12.5px;line-height:1.55;color:var(--ide-ink-lo)}.join b{display:block;color:var(--ide-ink-hi);font-size:13px;margin-bottom:4px}.sso{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;border-radius:6px;font:600 13px/1 var(--font-sans);margin-top:8px;width:100%}.sso.kakao{background:#fee500;color:#191919}.sso.naver{background:#03c75a;color:#fff}.sso.big{height:48px;font-size:15px;border-radius:8px}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ide-bg);position:relative}.tabs{display:flex;background:var(--ide-tab);height:var(--ide-tab-h);flex:none;overflow:hidden}.tab{display:flex;align-items:center;gap:6px;padding:0 10px 0 12px;border-right:1px solid var(--ide-border);color:var(--ide-ink-tab);white-space:nowrap}.tab .x{width:20px;height:20px;display:grid;place-items:center;border-radius:4px;opacity:0}.tab.on{background:var(--ide-tab-on);color:var(--ide-ink-hi);box-shadow:inset 0 1px 0 var(--ide-accent)}.tab.on .x{opacity:1}.tab .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.tab .ic{color:var(--syn-k)}.crumbs{height:22px;display:flex;align-items:center;gap:4px;padding:0 16px;font-size:12px;color:var(--ide-ink-lo);flex:none}.body{flex:1;min-height:0;overflow:hidden;position:relative}.status{grid-column:1/-1;background:var(--ide-status);color:var(--ide-on-status);display:flex;align-items:center;gap:2px;padding:0 6px;font-size:12px;white-space:nowrap;overflow:hidden}.status span{display:flex;align-items:center;gap:4px;padding:0 6px;height:var(--ide-status-h)}.status .r{margin-left:auto;display:flex}.status .ic{width:14px;height:14px}.bnav,.mtop,.mfoot{display:none}.panel{flex:none;height:var(--ide-panel-h);background:var(--ide-panel);border-top:1px solid var(--ide-line);display:flex;flex-direction:column}.panel .ph{display:flex;gap:20px;padding:0 16px;height:35px;align-items:center;font-size:11px;letter-spacing:.06em;color:var(--ide-ink-lo)}.panel .ph b{color:var(--ide-ink-hi);font-weight:400;box-shadow:inset 0 -1px 0 var(--ide-ink-hi);height:35px;display:flex;align-items:center}.panel pre{margin:0;padding:4px 16px 12px;font:13px/1.65 var(--font-mono);color:var(--ide-ink);white-space:pre-wrap}.t-ok{color:var(--st-ok)}.t-err{color:var(--st-err)}.t-lo{color:var(--ide-ink-lo)}.reader{height:100%;overflow:hidden;background:var(--read-bg);padding-top:32px}.col{max-width:var(--read-col-max);margin:0 auto;padding:0 var(--read-col-pad-r) 48px var(--read-col-pad-l);position:relative;color:var(--read-ink)}.meta-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font:12px var(--font-mono);color:var(--read-ink-lo)}.col h1{font:700 var(--read-h1) var(--font-sans);color:var(--read-ink-hi);margin:0 0 14px;letter-spacing:-.015em;word-break:keep-all}.by{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;color:var(--read-ink-lo);font-size:var(--read-meta);margin-bottom:28px}.av{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 11px/1 var(--font-sans);color:#fff}.by b{color:var(--read-ink);font-weight:600}.by .cm{font-family:var(--font-mono);font-size:12px;color:var(--read-link);display:inline-flex;gap:4px;align-items:center}.p{position:relative;margin:0 0 var(--read-gap);font-size:var(--read-size);line-height:var(--read-lh);word-break:keep-all;overflow-wrap:anywhere}.p:before{content:attr(data-n);position:absolute;left:calc(-1 * var(--read-col-pad-l) + 16px);width:var(--read-num-w);text-align:right;font:12px/28px var(--font-mono);color:var(--read-num);user-select:none}h2.p{font:700 var(--read-h2) var(--font-sans);color:var(--read-ink-hi);margin-top:30px;letter-spacing:-.01em}h2.p:before{line-height:28px}.p code,.cmt code{font:.88em var(--font-mono);background:var(--read-inline-bg);padding:2px 5px;border-radius:3px}.code{position:relative;margin:0 0 18px;background:var(--read-code-bg);border:1px solid var(--read-code-border);border-radius:6px;overflow:hidden}.code .ch{display:flex;align-items:center;height:30px;padding:0 6px 0 12px;font:11.5px var(--font-mono);color:var(--read-ink-lo);border-bottom:1px solid var(--read-code-border)}.code .ch button{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:11.5px;height:24px;padding:0 8px;border-radius:4px}.code pre{margin:0;padding:12px 14px;font:13.5px/1.7 var(--font-mono);color:var(--read-ink);white-space:pre-wrap;overflow-wrap:anywhere}.k{color:var(--syn-k)}.ctl{color:var(--syn-ctl)}.s{color:var(--syn-s)}.f{color:var(--syn-f)}.t{color:var(--syn-t)}.v{color:var(--syn-v)}.n{color:var(--syn-n)}.c{color:var(--syn-c)}.md{color:var(--syn-md)}.mh{color:var(--syn-k);font-weight:700}.e{color:var(--syn-err)}.lbl{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:10px;font:600 11px/1 var(--font-mono);border:1px solid}.lbl.open{color:var(--st-open);background:var(--st-open-bg);border-color:var(--st-open-bd)}.lbl.ok{color:var(--st-ok);background:var(--st-ok-bg);border-color:var(--st-ok-bd)}.lbl.closed{color:var(--st-closed);border-color:var(--st-closed-bd)}.lbl.gig{color:var(--syn-ctl);border-color:currentColor}.tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:3px;font:12px/1 var(--font-mono);color:var(--tag);background:var(--tag-bg)}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:14px;border:1px solid var(--ide-line);font-size:12.5px;color:var(--ide-ink);white-space:nowrap}.chip.on{background:var(--ide-btn);border-color:var(--ide-btn);color:var(--ide-on-btn)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--ide-radius);font-size:13px;white-space:nowrap}.btn.pri{background:var(--ide-btn);color:var(--ide-on-btn)}.btn.sec{background:var(--ide-btn2);color:var(--ide-ink-hi)}.btn.ghost{border:1px solid var(--ide-line);color:var(--ide-ink)}.btn.danger{background:var(--st-err);color:#fff}[data-theme=dark] .btn.danger,[data-theme=hc] .btn.danger{color:#1e1e1e}.acts{display:flex;gap:8px;margin:28px 0;flex-wrap:wrap}.acts .btn{height:32px;border:1px solid var(--ide-line);color:var(--read-ink)}.acts .star{color:var(--st-star);border-color:var(--st-star-bd)}.acts .star.on{background:var(--st-star-bd);color:#1e1e1e}.merged{border:1px solid var(--st-ok-bd);background:var(--st-ok-bg);border-radius:8px;padding:16px 18px;margin-bottom:28px}.merged .hd{display:flex;align-items:center;gap:6px;font:600 12px var(--font-mono);color:var(--st-ok);margin-bottom:8px}.merged .p{margin-bottom:10px;font-size:15.5px}.merged .p:before{display:none}.merged .code{margin:0}.cmts h3{display:flex;align-items:center;gap:8px;font:600 13px var(--font-sans);color:var(--read-ink-hi);border-top:1px solid var(--read-rule);padding-top:20px;margin:0 0 6px}.cmt{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--read-rule);font-size:15px;line-height:1.7}.cmt.re{margin-left:38px}.cmt .who{font-size:13px;color:var(--read-ink-lo);display:flex;gap:8px;align-items:center;margin-bottom:2px}.cmt .who b{color:var(--read-ink);font-weight:600}.cmt .ops{display:flex;gap:14px;font-size:12.5px;color:var(--read-ink-lo);margin-top:4px}.cmt .ops .mg{color:var(--st-ok)}.ask{margin-top:16px;border:1px dashed var(--ide-line);border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:12px;color:var(--read-ink-lo);font-size:14px}.ask .btn{margin-left:auto}.box{border:1px solid var(--read-rule);border-radius:8px;padding:4px 16px;margin:0 0 22px}.kv{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:10px 0;border-top:1px solid var(--read-rule);font-size:14.5px}.kv:first-child{border-top:0}.kv dt{color:var(--read-ink-lo)}.kv dd{margin:0;color:var(--read-ink)}.lock{display:inline-flex;gap:6px;align-items:center;color:var(--read-ink-lo)}.lock a{color:var(--read-link)}.notice{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-left:3px solid var(--st-warn);background:var(--ide-hover);font-size:13.5px;line-height:1.6;color:var(--read-ink);margin:0 0 22px;border-radius:0 6px 6px 0}.head{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--ide-border);flex:none;flex-wrap:wrap;align-items:center}.fld{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;background:var(--ide-input);border:1px solid var(--ide-line);border-radius:2px;color:var(--ide-ink-hi);font-size:13px;white-space:nowrap}.fld.t{flex:1;min-width:200px;font-weight:600;font-size:14px}.fld.ph{color:var(--ide-ink-lo);font-weight:400}.fld .k2{color:var(--ide-ink-lo);font-size:11px;margin-right:2px}.split{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}.src{font:var(--ide-code-size)/var(--ide-code-lh) var(--font-mono);padding-top:8px;border-right:1px solid var(--ide-border);overflow:hidden;color:var(--ide-ink)}.ln{display:grid;grid-template-columns:52px 1fr}.ln b{font-weight:400;color:var(--ide-gutter);text-align:right;padding-right:18px;user-select:none}.ln p{margin:0;white-space:pre-wrap;padding-right:14px}.ln.cur{background:color-mix(in srgb,var(--ide-ink) 6%,transparent)}.ln.cur b{color:var(--ide-ink-hi)}.caret{display:inline-block;width:2px;height:17px;background:var(--ide-ink-hi);vertical-align:-3px}.pv{overflow:hidden;background:var(--read-bg);padding:14px 28px}.pv .pvh{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;color:var(--ide-ink-lo);margin-bottom:16px}.pv .p:before{display:none}.cp{position:absolute;right:24px;display:flex;gap:8px;z-index:3}.cp button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;height:48px;padding:0 14px;border-radius:6px;font:600 13.5px/1 var(--font-mono);border:1px solid var(--ide-line);background:var(--ide-btn2);color:var(--ide-ink-hi)}.cp button small{font:400 11px/1 var(--font-sans);margin-top:5px;opacity:.85}.cp .push{background:var(--ide-btn);border-color:var(--ide-btn);color:var(--ide-on-btn)}.drafts{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--st-open-bg);border-bottom:1px solid var(--st-open-bd);color:var(--ide-ink-hi);font-size:13px;flex:none}.drafts .btn{height:24px;font-size:12px}.lhd{display:flex;align-items:center;gap:8px;padding:16px 24px 12px;flex-wrap:wrap}.lhd h2{margin:0 8px 0 0;font:600 18px/1 var(--font-sans);color:var(--ide-ink-hi);display:flex;gap:8px;align-items:center}.lhd .sp{margin-left:auto;display:flex;gap:4px}.seg2{display:flex;border:1px solid var(--ide-line);border-radius:4px;overflow:hidden}.seg2 b{font-weight:400;padding:0 10px;height:26px;display:flex;align-items:center;font-size:12.5px;color:var(--ide-ink-lo)}.seg2 b.on{background:var(--ide-sel);color:var(--ide-ink-hi)}.colh{display:grid;grid-template-columns:28px 1fr 80px 60px 60px 120px 80px;gap:8px;padding:0 24px;height:28px;align-items:center;font-size:11px;letter-spacing:.04em;color:var(--ide-ink-lo);border-bottom:1px solid var(--ide-border)}.fr{display:grid;grid-template-columns:28px 1fr 80px 60px 60px 120px 80px;gap:8px;padding:0 24px;min-height:40px;align-items:center;border-bottom:1px solid var(--ide-border);font-size:13.5px}.fr .ti{display:flex;align-items:center;gap:8px;min-width:0}.fr .ti span.nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ide-ink-hi)}.fr .pf{color:var(--ide-ink-lo);font-size:12.5px;flex:none}.fr .num{font:12px var(--font-mono);color:var(--ide-ink-lo);display:flex;gap:4px;align-items:center}.fr .au{color:var(--ide-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr .tm{font:12px var(--font-mono);color:var(--ide-ink-lo);text-align:right}.fr.pin{background:color-mix(in srgb,var(--st-warn) 7%,transparent)}.fr.hover{background:var(--ide-hover)}.fr.closed .nm{color:var(--ide-ink-lo)!important}.fr .ic.file{color:var(--syn-k)}.thumb{width:40px;height:28px;border-radius:3px;flex:none;background:linear-gradient(135deg,#3a6ea5,#6a4c93)}.more{padding:14px 24px;color:var(--ide-ink-lo);font:12px var(--font-mono)}.readme{max-width:960px;margin:0 auto;padding:36px 40px}.readme h1{font:700 26px/1.35 var(--font-sans);color:var(--ide-ink-hi);margin:0 0 6px;letter-spacing:-.015em}.readme .lead{font-size:15px;color:var(--ide-ink-lo);margin:0 0 20px}.readme .lead code{font:13px var(--font-mono);color:var(--syn-s)}.welcome{display:flex;gap:10px;align-items:center;padding:14px 16px;border:1px solid var(--ide-line);border-radius:8px;margin-bottom:28px;font-size:14px;color:var(--ide-ink)}.welcome .sso{width:auto;padding:0 14px;margin:0}.grid3{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}.blk h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:600 14px/1 var(--font-mono);color:var(--ide-ink-hi);height:28px;border-bottom:1px solid var(--ide-border)}.blk h3 .c{font-weight:400}.blk h3 a{margin-left:auto;font:12px var(--font-sans);color:var(--ide-accent)}.li{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;min-height:32px;font-size:13.5px}.li .n{font:12px var(--font-mono);color:var(--ide-gutter);text-align:right}.li .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ide-ink-hi)}.li .x2{font:12px var(--font-mono);color:var(--ide-ink-lo);display:flex;gap:8px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-column:1/-1}.card{border:1px solid var(--ide-line);border-radius:8px;overflow:hidden;background:var(--ide-side)}.card .im{height:88px}.card .cb{padding:10px 12px}.card b{display:block;color:var(--ide-ink-hi);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card small{display:flex;gap:6px;margin-top:6px;color:var(--ide-ink-lo);font-size:12px}.sbox{margin:0 12px 6px;display:flex;align-items:center;height:28px;background:var(--ide-input);border:1px solid var(--ide-focus);border-radius:2px;padding:0 6px;gap:6px;color:var(--ide-ink-hi);font-size:13px}.sbox .ops{margin-left:auto;display:flex;gap:2px;color:var(--ide-ink-lo);font:11px var(--font-mono)}.sbox .ops i{font-style:normal;width:20px;height:20px;display:grid;place-items:center;border-radius:3px}.sfil{margin:0 12px 10px;display:flex;align-items:center;height:26px;background:var(--ide-input);border:1px solid var(--ide-line);border-radius:2px;padding:0 6px;font-size:12px;color:var(--ide-ink)}.scount{padding:0 20px 6px;font-size:12px;color:var(--ide-ink-lo)}.sg .row{height:22px;display:flex;align-items:center;gap:6px;padding:0 12px 0 10px;white-space:nowrap;font-size:13px}.sg .row em{margin-left:auto;font-style:normal;min-width:18px;height:16px;padding:0 5px;border-radius:8px;background:var(--ide-btn2);font-size:11px;line-height:16px;text-align:center;color:var(--ide-ink)}.sg .hit{height:22px;display:flex;align-items:center;padding:0 12px 0 38px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ide-ink)}.sg .hit.on{background:var(--ide-sel)}mark{background:color-mix(in srgb,#ea5c00 35%,transparent);color:inherit;border-radius:2px;outline:1px solid color-mix(in srgb,#ea5c00 60%,transparent)}[data-theme=light] mark{background:#ffd8a8;outline-color:#f0a050}.prob .grp{height:26px;display:flex;align-items:center;gap:6px;padding:0 16px;font-size:13px;color:var(--ide-ink-hi)}.prob .it{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;min-height:32px;padding:4px 16px 4px 36px;font-size:13.5px;border-bottom:1px solid transparent}.prob .it.new .tx{font-weight:600;color:var(--ide-ink-hi)}.prob .it .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prob .it .tx small{font-weight:400;color:var(--ide-ink-lo);margin-left:6px}.prob .it .tm{font:12px var(--font-mono);color:var(--ide-ink-lo)}.prob .it.sel{background:var(--ide-sel)}.i-info{color:var(--st-open)}.i-ok{color:var(--st-ok)}.i-warn{color:var(--st-warn)}.i-err{color:var(--st-err)}.i-star{color:var(--st-star)}.setw{display:grid;grid-template-columns:180px 1fr;height:100%}.toc{padding:16px 0;border-right:1px solid var(--ide-border)}.toc a{display:block;padding:4px 20px;font-size:13px;color:var(--ide-ink-lo)}.toc a.on{color:var(--ide-ink-hi);box-shadow:inset 2px 0 0 var(--ide-accent)}.sets{padding:16px 32px;overflow:hidden}.sets h2{font:600 22px/1.3 var(--font-sans);color:var(--ide-ink-hi);margin:8px 0 18px}.sets h3{font:600 15px/1 var(--font-sans);color:var(--ide-ink-hi);margin:24px 0 4px}.si{padding:12px 14px;margin:0 -14px;border-radius:4px;max-width:720px}.si.focus{background:var(--ide-hover)}.si .t2{font-size:13px;color:var(--ide-ink-hi)}.si .t2 b{font-weight:600}.si .d2{font-size:13px;color:var(--ide-ink-lo);margin:2px 0 8px;line-height:1.55}.sel{display:inline-flex;align-items:center;gap:20px;height:26px;padding:0 6px 0 8px;background:var(--ide-input);border:1px solid var(--ide-line);border-radius:2px;font-size:13px;color:var(--ide-ink-hi)}.cbx{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ide-ink)}.cbx i{width:18px;height:18px;border-radius:3px;border:1px solid var(--ide-line);background:var(--ide-input);display:grid;place-items:center;flex:none}.cbx i.on{background:var(--ide-btn);border-color:var(--ide-btn);color:#fff}.linkrow{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ide-ink);margin-top:6px}.linkrow .ok2{color:var(--st-ok);font-size:12px}.dlgbg{position:absolute;inset:0;background:#00000073;display:grid;place-items:center;z-index:20}.dlg{width:440px;max-width:calc(100% - 32px);background:var(--ide-side);color:var(--ide-ink);border:1px solid var(--ide-line);border-radius:8px;box-shadow:0 12px 40px #0006;padding:20px 22px}.dlg h4{margin:0 0 8px;font:700 16px/1.4 var(--font-sans);color:var(--ide-ink-hi)}.dlg p{margin:0 0 14px;font-size:14px;line-height:1.65}.dlg .in{height:34px;border:1px solid var(--ide-focus);background:var(--ide-input);border-radius:4px;display:flex;align-items:center;padding:0 10px;font-size:14px;color:var(--ide-ink-hi);margin-bottom:16px}.dlg .bt{display:flex;justify-content:flex-end;gap:8px}.dlg .bt .btn{height:34px;padding:0 16px;font-size:14px}.center{height:100%;display:grid;place-items:center;padding:24px}.auth{width:400px;max-width:100%}.auth .lg{width:48px;height:48px;border-radius:12px;background:var(--ide-btn);color:#fff;display:grid;place-items:center;font:700 18px/1 var(--font-mono);margin-bottom:20px}.auth h1{font:700 24px/1.35 var(--font-sans);color:var(--ide-ink-hi);margin:0 0 6px;letter-spacing:-.015em}.auth .lead{font-size:14px;color:var(--ide-ink-lo);margin:0 0 24px;line-height:1.6}.auth .back{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--ide-ink-lo);margin-top:20px;padding:10px 12px;border:1px solid var(--ide-line);border-radius:6px}.auth .back b{color:var(--ide-ink-hi);font-weight:600}.fl{margin-bottom:16px}.fl label{display:block;font-size:13px;font-weight:600;color:var(--ide-ink-hi);margin-bottom:6px}.fl .in{height:40px;border:1px solid var(--ide-line);background:var(--ide-input);border-radius:6px;display:flex;align-items:center;padding:0 12px;font-size:15px;color:var(--ide-ink-hi)}.fl .in.okb{border-color:var(--st-ok)}.fl .hint{font-size:12.5px;margin-top:6px;color:var(--ide-ink-lo);display:flex;gap:6px;align-items:center}.fl .hint.okh{color:var(--st-ok)}.agree{border:1px solid var(--ide-line);border-radius:6px;padding:4px 12px;margin-bottom:18px}.agree .cbx{min-height:40px;border-top:1px solid var(--ide-border)}.agree .cbx:first-child{border-top:0;font-weight:600;color:var(--ide-ink-hi)}.agree .cbx a{margin-left:auto;font-size:12px;color:var(--ide-accent)}.wide{width:100%;height:44px;font-size:15px;font-weight:600;border-radius:6px}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-weight:400;font-size:11px;letter-spacing:.04em;color:var(--ide-ink-lo);height:28px;border-bottom:1px solid var(--ide-border);padding:0 10px}.tbl td{height:44px;border-bottom:1px solid var(--ide-border);padding:0 10px;color:var(--ide-ink)}.tbl td.ti2{color:var(--ide-ink-hi);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl .acts2{display:flex;gap:6px}.tbl .acts2 .btn{height:26px;font-size:12px;padding:0 10px}.errw{height:100%;display:flex;flex-direction:column;justify-content:center;max-width:720px;margin:0 auto;padding:0 32px}.errw pre{font:15px/1.8 var(--font-mono);margin:0 0 24px;color:var(--ide-ink);white-space:pre-wrap}@media (max-width:767px){.app,.app.noside{grid-template-columns:1fr;grid-template-rows:var(--m-tab-h) 1fr var(--m-status-h) var(--m-bnav-h)}.act,.side,.tabs,.crumbs{display:none}.mtop{display:flex;align-items:center;gap:4px;height:var(--m-tab-h);padding:0 4px;background:var(--ide-tab);border-bottom:1px solid var(--ide-border)}.mtop a{width:44px;height:44px;display:grid;place-items:center;color:var(--ide-icon)}.mtop .tt{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ide-ink-hi);white-space:nowrap;overflow:hidden}.mtop .tt span{overflow:hidden;text-overflow:ellipsis}.mtop .tt .ic{color:var(--syn-k)}.main{grid-row:2}.status{grid-row:3;font-size:11.5px}.status .hm{display:none}.bnav{display:flex;grid-row:4;background:var(--ide-act);align-items:stretch}.bnav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:#9d9d9d;position:relative}[data-theme=light] .bnav{background:var(--ide-side);border-top:1px solid var(--ide-border)}[data-theme=light] .bnav a{color:var(--ide-ink-lo)}.bnav a.on{color:#fff}[data-theme=light] .bnav a.on{color:var(--ide-accent)}.bnav a.on:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:currentColor}.bnav .badge{right:calc(50% - 20px);top:6px;bottom:auto}.reader{padding-top:20px}.col{padding:0 var(--m-pad) 40px var(--m-read-pad-l)}.p:before{left:calc(-1 * var(--m-read-pad-l) + 4px);width:24px;font-size:11px}.col h1{font-size:22px;line-height:1.4}.p{font-size:15.5px}h2.p{font-size:17.5px}.code pre{font-size:12.5px}.cmt.re{margin-left:24px}.kv{grid-template-columns:76px 1fr}.split{grid-template-columns:1fr}.pv,.split.pvonly .src{display:none}.split.pvonly .pv{display:block;padding:16px}.head{padding:8px 12px;gap:6px}.fld.t{min-width:0;flex-basis:100%}.ln{grid-template-columns:36px 1fr}.ln b{padding-right:10px}.src{font-size:13.5px}.panel{display:none}.mfoot{display:flex;flex:none;gap:8px;padding:8px 12px;background:var(--ide-side);border-top:1px solid var(--ide-line)}.mfoot button{flex:1;height:48px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:600 13.5px/1 var(--font-mono);border:1px solid var(--ide-line);background:var(--ide-btn2);color:var(--ide-ink-hi)}.mfoot button small{font:400 11px/1 var(--font-sans);margin-top:4px;opacity:.85}.mfoot .push{background:var(--ide-btn);border-color:var(--ide-btn);color:var(--ide-on-btn)}.mfoot .pvb{flex:.8}.cp{display:none}.toast{position:absolute;left:12px;right:12px;bottom:76px;background:var(--ide-side);border:1px solid var(--st-ok-bd);border-radius:8px;padding:10px 12px;display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ide-ink-hi);box-shadow:0 6px 20px #00000059}.body>.notice{margin:12px 16px 0!important}.lhd{padding:14px 16px 10px}.lhd .sp{margin-left:0;width:100%;overflow:hidden}.colh{display:none}.fr{grid-template-columns:1fr auto;grid-template-areas:"ti tm" "mt mt";padding:10px 16px;gap:4px 8px;min-height:0}.fr>.ic{display:none}.fr .ti{grid-area:ti}.fr .tm{grid-area:tm}.fr .mt{grid-area:mt;display:flex;gap:12px;align-items:center;font-size:12px;color:var(--ide-ink-lo)}.fr .num,.fr .au,.fr .lb{display:none}.fr .ti span.nm{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.readme{padding:20px 16px}.readme h1{font-size:21px}.welcome{flex-wrap:wrap}.welcome .sso{flex:1}.grid3{grid-template-columns:1fr;gap:20px}.cards{grid-template-columns:1fr 1fr}.cards .card:nth-child(3){display:none}.setw{grid-template-columns:1fr}.toc{display:none}.sets{padding:12px 16px}.sets h2{font-size:19px}.errw{padding:0 20px}.errw pre{font-size:13px}.tbl thead{display:none}.tbl,.tbl tbody{display:block}.tbl tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"ti ti" "rs ac";gap:6px 8px;padding:12px 0;border-bottom:1px solid var(--ide-border)}.tbl td{height:auto;border:0;padding:0}.tbl td:first-child{display:none}.tbl td.ti2{grid-area:ti;max-width:none;white-space:normal}.tbl td.rs{grid-area:rs;font-size:12px;color:var(--ide-ink-lo);align-self:center}.tbl td.ac{grid-area:ac}.tbl .hm2{display:none}.fr .mt .num2{display:inline-flex;gap:3px;align-items:center}.prob .it{padding-left:16px}}@media (min-width:768px){.monly{display:none!important}}@media (max-width:767px){.ponly{display:none!important}}.body{overflow:auto}.app>*{min-width:0}.act a.logo,[data-theme=light] .act a.logo{width:32px;height:32px;color:var(--ide-on-btn)}.sg .hit .ln2{color:var(--ide-ink);margin-right:6px;font:11px var(--font-mono)}.fld .k2{color:var(--ide-ink)}.reader{height:auto;min-height:100%;overflow:visible}.ssr .reader,.ssr .errw{min-height:100vh}.sidewrap{display:contents}.side .hd .r button{width:24px;height:24px;display:grid;place-items:center;border-radius:4px;color:var(--ide-icon)}.side .tree{overflow:auto;flex:1;min-height:0}.tree .row:hover{background:var(--ide-hover)}.status a{display:flex;align-items:center;gap:4px;color:inherit}.mtop .mbtn{width:44px;height:44px;display:grid;place-items:center;color:var(--ide-icon)}.act .logo{text-decoration:none}ul.p,ol.p{padding-left:1.4em}ul.p li,ol.p li{margin:2px 0}blockquote.p{margin-left:0;padding-left:14px;border-left:3px solid var(--read-quote);color:var(--read-ink-lo)}table.p{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto}table.p th,table.p td{border:1px solid var(--read-rule);padding:6px 10px;text-align:left}.col img{max-width:100%;height:auto;border-radius:6px}.col a{color:var(--read-link);text-decoration:underline;text-underline-offset:2px}.col .meta-top a,.col .by a,.col h1 a{text-decoration:none;color:inherit}.p.pre-wrap{white-space:pre-wrap}.code .ch .copy{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:11.5px;height:24px;padding:0 8px;border-radius:4px;color:var(--read-ink-lo)}.code .ch .copy:hover{background:var(--ide-hover)}.code pre code{font:inherit;background:none;padding:0}.hl-mark{background:color-mix(in srgb,#ea5c00 35%,transparent);border-radius:2px}.fld input,.fld select,.sbox input,.fl .in input,.dlg .in input,.sfil select{flex:1;min-width:0;background:transparent;border:0;outline:0;color:inherit;font:inherit;padding:0}.fld select,.sfil select{appearance:none;cursor:pointer}.fld option,.sfil option{background:var(--ide-side);color:var(--ide-ink)}.fld.err{border-color:var(--st-err)}.fld.t input::placeholder{color:var(--ide-ink-lo);font-weight:400}.fld.extra input{width:110px}.sbox{border-color:var(--ide-line)}.sbox:focus-within{border-color:var(--ide-focus)}.fl .in:focus-within{border-color:var(--ide-focus)}.fl .in.errb{border-color:var(--st-err)}.fl .hint.errh{color:var(--st-err)}.cbx input{position:absolute;opacity:0;width:1px;height:1px}.cbx{position:relative;cursor:pointer}.cbx input:focus-visible+i{outline:1px solid var(--ide-focus);outline-offset:1px}textarea.cform{width:100%;min-height:88px;resize:vertical;background:var(--ide-input);color:var(--read-ink);border:1px solid var(--ide-line);border-radius:6px;padding:10px 12px;font:14px/1.6 var(--font-mono)}textarea.cform:focus{outline:0;border-color:var(--ide-focus)}.cwrite{margin-top:16px;display:grid;grid-template-columns:28px 1fr;gap:10px}.cwrite .row2{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:12.5px;color:var(--read-ink-lo)}.cwrite .row2 .btn{margin-left:auto}.cmt .ops button{color:inherit;font-size:12.5px}.cmt .ops button:hover{color:var(--read-ink-hi)}.cmt .body2 p{margin:0 0 6px}.cmt .body2 .code{margin:6px 0}.cmt .gone{color:var(--read-ink-lo);font-style:italic}.cmt:target{background:color-mix(in srgb,var(--ide-accent) 8%,transparent)}.menuw{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:var(--ide-side);border:1px solid var(--ide-line);border-radius:6px;box-shadow:0 8px 24px #00000059;padding:4px;z-index:10}.menu button{display:flex;width:100%;gap:8px;align-items:center;padding:6px 10px;border-radius:4px;font-size:13px;color:var(--ide-ink);text-align:left}.menu button:hover,.menu button:focus-visible{background:var(--ide-hover)}.menu button.danger{color:var(--st-err)}.dlgbg{position:fixed}.dlg .in{border-color:var(--ide-line)}.dlg .in:focus-within{border-color:var(--ide-focus)}.dlg label.rs{display:flex;gap:8px;align-items:center;font-size:14px;padding:6px 0;cursor:pointer}.palette{width:560px;max-width:calc(100% - 32px);align-self:start;margin-top:12vh;background:var(--ide-side);border:1px solid var(--ide-line);border-radius:8px;box-shadow:0 12px 40px #00000073;overflow:hidden}.dlgbg.pal{place-items:start center}.palette input{width:100%;height:40px;background:var(--ide-input);border:0;border-bottom:1px solid var(--ide-focus);color:var(--ide-ink-hi);padding:0 14px;font:14px var(--font-sans);outline:0}.palette ul{list-style:none;margin:0;padding:4px;max-height:50vh;overflow:auto}.palette li{padding:6px 10px;border-radius:4px;font-size:13px;cursor:pointer}.palette li.on{background:var(--ide-sel);color:var(--ide-ink-hi)}.palette li.none{color:var(--ide-ink-lo);cursor:default}.toast{position:absolute;right:16px;bottom:16px;max-width:420px;background:var(--ide-side);border:1px solid var(--st-ok-bd);border-radius:8px;padding:10px 12px;display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ide-ink-hi);box-shadow:0 6px 20px #00000059;z-index:15}.toast.err{border-color:var(--st-err)}.toast.info{border-color:var(--ide-line)}a.fr{color:inherit}a.fr:hover{background:var(--ide-hover)}.thumb.img,.card .im{background-size:cover;background-position:center}.li:hover .nm,.card:hover b{text-decoration:underline}.loadmore{display:block;width:100%;padding:14px 24px;text-align:left;color:var(--ide-ink-lo);font:12px var(--font-mono)}.empty{padding:32px 24px;color:var(--ide-ink-lo);font:13px var(--font-mono)}.empty .btn{margin-top:12px}.editw{display:flex;flex-direction:column;height:100%;position:relative}.split{min-height:0}.split.nopv{grid-template-columns:1fr}.split.nopv .pv{display:none}.src{overflow:hidden;padding-top:0;display:flex;flex-direction:column}.src .cm-editor{flex:1;min-height:0;height:100%}.pv,.panel pre{overflow:auto}.panel .ph button{margin-left:auto;color:var(--ide-ink-lo)}.tagbox{display:inline-flex;gap:4px;align-items:center}.tagbox .tag button{margin-left:3px;color:inherit;opacity:.7}.extra-row{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 10px;border-bottom:1px solid var(--ide-border);flex:none}@media (max-width:767px){.app,.app.noside{grid-template-columns:minmax(0,1fr)}.sidewrap{display:none}.sidewrap.open{display:block;position:fixed;inset:0;background:#00000073;z-index:30}.sidewrap.open .side{display:flex;width:min(300px,86vw);height:100%}.toast{left:12px;right:12px;bottom:76px;max-width:none}.editw .toast{bottom:80px}.extra-row{padding:0 12px 8px}.fld.extra input{width:90px}.palette{margin-top:8vh}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.fab{position:fixed;right:16px;bottom:calc(var(--m-bnav-h) + var(--m-status-h) + 12px);height:48px;padding:0 18px;border-radius:24px;box-shadow:0 6px 20px #00000059;z-index:5}.sso:disabled{pointer-events:none}button.sso{border:0}.cmt{grid-template-columns:28px minmax(0,1fr)}.cmt>div,.merged{min-width:0}.cmt pre,.merged pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font:13px/1.65 var(--font-mono)}.center{grid-template-columns:minmax(0,1fr)}.center>.auth,.center>form{justify-self:center}
