:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f2;--surface:#fff;--sidebar:#ecece7;--sunken:#efeeea;--hover:#e2e2dc;--line:#deddd6;--line-strong:#86857d;--ink:#1a1d1c;--ink-muted:#595d5a;--accent:#0a7560;--accent-hover:#075c4b;--on-accent:#fff;--accent-soft:#d8ede6;--accent-ink:#064a3d;--mark:#fbe38a;--danger:#b3261e;--danger-soft:#fbe4e1;--warning:#855400;--success:var(--accent);--scrim:#0a0c0b70;--focus:var(--accent);--image-line:#fff;--image-line-shadow:#0000008c;--shadow-drawer:0 0 0 1px #deddd6, 0 0 32px #0a0c0b2e;--shadow-popover:0 8px 24px #0a0c0b1f;--shadow-card-hover:0 2px 8px #0a0c0b14}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111312;--surface:#191c1b;--sidebar:#151817;--sunken:#0d0f0e;--hover:#232826;--line:#2a2f2d;--line-strong:#6a716d;--ink:#eceeed;--ink-muted:#a4aba7;--accent:#3fcfa9;--accent-hover:#72dfc1;--on-accent:#062019;--accent-soft:#12362d;--accent-ink:#94ecd3;--mark:#5b4a10;--danger:#ff9c8f;--danger-soft:#3a1512;--warning:#f2c35b;--success:var(--accent);--scrim:#0009;--focus:var(--accent-hover);--image-line:#fff;--image-line-shadow:#0000008c;--shadow-drawer:0 0 0 1px #2a2f2d, 0 0 32px #0000008c;--shadow-popover:0 8px 24px #00000080;--shadow-card-hover:0 2px 8px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111312;--surface:#191c1b;--sidebar:#151817;--sunken:#0d0f0e;--hover:#232826;--line:#2a2f2d;--line-strong:#6a716d;--ink:#eceeed;--ink-muted:#a4aba7;--accent:#3fcfa9;--accent-hover:#72dfc1;--on-accent:#062019;--accent-soft:#12362d;--accent-ink:#94ecd3;--mark:#5b4a10;--danger:#ff9c8f;--danger-soft:#3a1512;--warning:#f2c35b;--success:var(--accent);--scrim:#0009;--focus:var(--accent-hover);--image-line:#fff;--image-line-shadow:#0000008c;--shadow-drawer:0 0 0 1px #2a2f2d, 0 0 32px #0000008c;--shadow-popover:0 8px 24px #00000080;--shadow-card-hover:0 2px 8px #0006}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:999px;--sidebar-width:272px;--drawer-width:304px;--topbar-height:56px;--nav-row-height:36px;--content-max:960px;--breakpoint-mobile:768px;--z-topbar:20;--z-scrim:30;--z-drawer:40;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans-ko:"IBM Plex Sans", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR", sans-serif;--font-sans-ja:"IBM Plex Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", sans-serif;--font-sans-zh-hans:"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", sans-serif;--font-sans-zh-hant:"IBM Plex Sans", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", sans-serif;--font-sans-ar:"IBM Plex Sans Arabic", "IBM Plex Sans", "Geeza Pro", Tahoma, sans-serif;--font-sans-hi:"IBM Plex Sans", "IBM Plex Sans Devanagari", "Kohinoor Devanagari", Nirmala UI, sans-serif;--font-sans-th:"IBM Plex Sans", "IBM Plex Sans Thai", Thonburi, "Leelawadee UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}
.ts-root,.ts-root *{box-sizing:border-box}.ts-root{font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased;--ts-lh-caption:16px;--ts-lh-small:20px;--ts-lh-ui:20px;--ts-lh-body:24px;--ts-lh-title:36px;--ts-track-title:-.01em}[data-script=ko]{--font-sans:var(--font-sans-ko)}[data-script=ja]{--font-sans:var(--font-sans-ja)}[data-script=zh-hans]{--font-sans:var(--font-sans-zh-hans)}[data-script=zh-hant]{--font-sans:var(--font-sans-zh-hant)}[data-script=ar]{--font-sans:var(--font-sans-ar)}[data-script=hi]{--font-sans:var(--font-sans-hi)}[data-script=th]{--font-sans:var(--font-sans-th)}[data-script=ko] .ts-root,.ts-root[data-script=ko],[data-script=ja] .ts-root,.ts-root[data-script=ja],[data-script^=zh] .ts-root,.ts-root[data-script^=zh]{--ts-lh-body:26px;--ts-track-title:0}.ts-root[data-script=ko],[data-script=ko] .ts-root{word-break:keep-all;overflow-wrap:anywhere}.ts-root[data-script=ja],.ts-root[data-script^=zh],[data-script=ja] .ts-root,[data-script^=zh] .ts-root{line-break:strict}.ts-root[data-script=th],.ts-root[data-script=hi],.ts-root[data-script=ar],[data-script=th] .ts-root,[data-script=hi] .ts-root,[data-script=ar] .ts-root{--ts-lh-caption:18px;--ts-lh-small:22px;--ts-lh-ui:22px;--ts-lh-body:28px;--ts-lh-title:42px;--ts-track-title:0}.ts-root[data-script]:not([data-script=latn]) .ts-group-label{text-transform:none;letter-spacing:0;font-size:12px}[dir=rtl] .ts-flip{transform:scaleX(-1)}.ts-root :focus{outline:none}.ts-root :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ts-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ts-icon{flex:none;display:block}.ts-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--bg);height:100%;min-height:100%;display:grid}.ts-shell-side{background:var(--sidebar);border-inline-end:1px solid var(--line);height:100%;min-height:0;overflow:hidden}.ts-shell-main{scrollbar-gutter:stable;min-width:0;position:relative;overflow:auto}.ts-shell-content{max-width:var(--content-max);padding:var(--space-4) var(--space-6) var(--space-7)}.ts-topbar{display:none}.ts-topbar-end{align-items:center;gap:var(--space-1);margin-inline-start:auto;display:flex}.ts-header{z-index:var(--z-topbar);align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-6);background:var(--bg);display:flex;position:sticky;top:0}.ts-header-end{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:flex}.ts-drawer,.ts-scrim{display:none}@media (max-width:767px){.ts-shell:not(.is-desktop){grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr)}.ts-shell:not(.is-desktop) .ts-shell-side,.ts-shell:not(.is-desktop) .ts-header{display:none}.ts-shell:not(.is-desktop) .ts-topbar{align-items:center;gap:var(--space-2);height:var(--topbar-height);padding:0 var(--space-2);background:var(--surface);border-bottom:1px solid var(--line);z-index:var(--z-topbar);display:flex;position:sticky;top:0}.ts-shell:not(.is-desktop) .ts-shell-content{padding:var(--space-5) var(--space-4) var(--space-7)}.ts-shell:not(.is-desktop) .ts-scrim{background:var(--scrim);z-index:var(--z-scrim);opacity:0;pointer-events:none;transition:opacity .2s;display:block;position:fixed;inset:0}.ts-shell:not(.is-desktop) .ts-scrim.is-open{opacity:1;pointer-events:auto}.ts-shell:not(.is-desktop) .ts-drawer{top:0;bottom:0;width:min(var(--drawer-width), 88%);background:var(--surface);box-shadow:var(--shadow-drawer);z-index:var(--z-drawer);visibility:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:block;position:fixed;inset-inline-start:0;transform:translate(-104%)}.ts-shell:not(.is-desktop)[dir=rtl] .ts-drawer:not(.is-open){transform:translate(104%)}.ts-shell:not(.is-desktop) .ts-drawer.is-open{visibility:visible;transform:none}.ts-shell:not(.is-desktop) .ts-drawer .ts-sidebar{background:var(--surface)}}.ts-shell.is-mobile{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr)}.ts-shell.is-mobile .ts-shell-side,.ts-shell.is-mobile .ts-header{display:none}.ts-shell.is-mobile .ts-topbar{align-items:center;gap:var(--space-2);height:var(--topbar-height);padding:0 var(--space-2);background:var(--surface);border-bottom:1px solid var(--line);z-index:var(--z-topbar);display:flex;position:sticky;top:0}.ts-shell.is-mobile .ts-shell-content{padding:var(--space-5) var(--space-4) var(--space-7)}.ts-shell.is-mobile .ts-scrim{background:var(--scrim);z-index:var(--z-scrim);opacity:0;pointer-events:none;transition:opacity .2s;display:block;position:fixed;inset:0}.ts-shell.is-mobile .ts-scrim.is-open{opacity:1;pointer-events:auto}.ts-shell.is-mobile .ts-drawer{top:0;bottom:0;width:min(var(--drawer-width), 88%);background:var(--surface);box-shadow:var(--shadow-drawer);z-index:var(--z-drawer);visibility:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:block;position:fixed;inset-inline-start:0;transform:translate(-104%)}.ts-shell.is-mobile[dir=rtl] .ts-drawer:not(.is-open){transform:translate(104%)}.ts-shell.is-mobile .ts-drawer.is-open{visibility:visible;transform:none}.ts-shell.is-mobile .ts-drawer .ts-sidebar{background:var(--surface)}.ts-shell.is-mobile{position:relative;overflow:hidden}.ts-shell.is-mobile .ts-drawer,.ts-shell.is-mobile .ts-scrim{position:absolute}.ts-brand{align-items:center;gap:var(--space-2);letter-spacing:-.01em;color:var(--ink);font-size:16px;font-weight:700;line-height:24px;text-decoration:none;display:flex}.ts-brand-on{color:var(--accent)}.ts-brand-mark{border-radius:var(--radius-md);background:var(--accent);width:24px;height:24px;color:var(--on-accent);place-items:center;display:grid}.ts-sidebar{background:var(--sidebar);flex-direction:column;height:100%;min-height:0;display:flex}.ts-sidebar-head{padding:var(--space-4) var(--space-4) var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.ts-sidebar-headrow{justify-content:space-between;align-items:center;min-height:32px;display:flex}.ts-sidebar-body{scrollbar-gutter:stable;min-height:0;padding:0 var(--space-2) var(--space-4);flex:1;overflow:hidden auto}.ts-level{animation-duration:.18s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}.ts-level.is-forward{animation-name:ts-in-forward}.ts-level.is-back{animation-name:ts-in-back}@keyframes ts-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes ts-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ts-level{animation:none}.ts-drawer,.ts-scrim{transition:none}}.ts-sidebar-foot{gap:0 var(--space-3);padding:var(--space-1) calc(var(--space-2) + var(--space-3)) var(--space-2);border-block-start:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.ts-sidebar-footlink{min-height:32px;font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted);align-items:center;text-decoration:none;display:inline-flex}.ts-sidebar-footlink:hover{color:var(--accent);text-decoration:underline}.ts-sidebar-footlink[aria-current=page]{color:var(--ink)}@media (pointer:coarse){.ts-sidebar-footlink{min-height:44px}}.ts-group-label{font-size:11px;line-height:var(--ts-lh-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:var(--space-3) var(--space-3) var(--space-1);font-weight:600}.ts-navlist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ts-search{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);height:36px;color:var(--ink-muted);padding-inline:var(--space-3) var(--space-2);align-items:center;gap:var(--space-2);display:flex;position:relative}.ts-search:focus-within{outline:2px solid var(--focus);outline-offset:1px}.ts-search input{min-width:0;color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans);background:0 0;border:0;outline:none;flex:1;padding:0}.ts-search input::placeholder{color:var(--ink-muted);opacity:1}.ts-kbd{font:500 11px/16px var(--font-mono);color:var(--ink-muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-1);background:var(--sunken)}.ts-search-clear{color:var(--ink-muted);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;display:grid}.ts-search-clear:hover{background:var(--hover);color:var(--ink)}.ts-nav{align-items:center;gap:var(--space-3);min-height:calc(var(--nav-row-height) + 2px);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans);cursor:pointer;border:0;text-align:start;background:padding-box padding-box;border-block:1px solid #0000;width:100%;text-decoration:none;display:flex;position:relative}.ts-nav:hover{background:var(--hover)}.ts-nav .ts-nav-icon{color:var(--ink-muted)}.ts-nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ts-nav-chev{color:var(--ink-muted)}.ts-nav.is-active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.ts-nav.is-active .ts-nav-icon,.ts-nav.is-active .ts-nav-chev{color:var(--accent-ink)}.ts-nav.is-current:before{content:"";inset-inline-start:0;border-radius:var(--radius-sm);background:var(--accent);width:3px;position:absolute;top:8px;bottom:8px}.ts-nav.is-sub{padding-inline-start:var(--space-3)}.ts-nav-group .ts-nav-chev{transition:transform .15s}.ts-nav-group:not(.is-open) .ts-nav-chev{transform:rotate(-90deg)}[dir=rtl] .ts-nav-group:not(.is-open) .ts-nav-chev{transform:rotate(90deg)}.ts-nav-group.holds-current{color:var(--accent-ink);font-weight:600}.ts-nav-group.holds-current .ts-nav-icon,.ts-nav-group.holds-current .ts-nav-chev{color:var(--accent-ink)}.ts-navsub{border-inline-start:1px solid var(--line);margin-inline-start:20px;padding-inline-start:var(--space-1)}.ts-navsub[hidden]{display:none}.ts-nav.is-nested{padding-inline-start:var(--space-3);font-weight:400}.ts-nav.is-nested.is-active{font-weight:600}@media (prefers-reduced-motion:reduce){.ts-nav-group .ts-nav-chev{transition:none}}.ts-nav-count{font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted)}@media (pointer:coarse){.ts-nav{min-height:46px}}.ts-back{align-items:center;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2);display:flex}.ts-back-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.ts-back-btn:hover{background:var(--hover)}.ts-back-title{align-items:center;gap:var(--space-2);font:600 16px/24px var(--font-sans);color:var(--ink);min-width:0;display:flex}.ts-back-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ts-back-title .ts-icon{color:var(--accent)}.ts-results{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ts-result{align-items:center;gap:var(--space-3);padding:6px var(--space-3);min-height:calc(var(--nav-row-height) + 2px);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;background-clip:padding-box;border-block:1px solid #0000;text-decoration:none;display:flex}.ts-result:hover{background:var(--hover)}.ts-result.is-hl{background:var(--accent-soft);color:var(--accent-ink)}.ts-result.is-hl .ts-result-path,.ts-result.is-hl .ts-icon{color:var(--accent-ink)}.ts-result .ts-icon{color:var(--ink-muted)}.ts-result-text{flex-direction:column;min-width:0;display:flex}.ts-result-label{font:500 14px/var(--ts-lh-ui) var(--font-sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ts-result-path{font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ts-result mark{background:var(--mark);color:var(--ink);border-radius:2px;padding:0 1px}.ts-empty{padding:var(--space-5) var(--space-3);font:400 14px/var(--ts-lh-ui) var(--font-sans);color:var(--ink-muted)}.ts-empty strong{color:var(--ink);font-weight:600}.ts-crumbs{align-items:center;gap:var(--space-1);font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted);margin:0 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ts-crumbs a{color:var(--ink-muted);text-decoration:none}.ts-crumbs a:hover{color:var(--accent);text-decoration:underline}.ts-crumbs li[aria-current]{color:var(--ink)}.ts-toolhead{margin-bottom:var(--space-5)}.ts-toolhead-title{align-items:center;gap:var(--space-3);display:flex}.ts-toolhead h1{font:600 28px/var(--ts-lh-title) var(--font-sans);letter-spacing:var(--ts-track-title);color:var(--ink);margin:0}.ts-toolhead p{margin:var(--space-2) 0 0;font:400 15px/var(--ts-lh-body) var(--font-sans);color:var(--ink-muted);max-width:640px}.ts-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(208px,1fr));margin:0;padding:0;list-style:none;display:grid}.ts-card{align-items:flex-start;gap:var(--space-3);height:100%;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.ts-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card-hover)}.ts-card-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ts-card-title{font:600 16px/24px var(--font-sans)}.ts-card:hover .ts-tile{background:var(--accent);color:var(--on-accent)}.ts-tile{border-radius:var(--radius-md);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);flex:none;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.ts-tile-lg{width:36px;height:36px}.ts-card-desc{font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted)}.ts-btn{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font:500 14px/var(--ts-lh-ui) var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.ts-btn-sm{height:30px;padding:0 var(--space-3);font-size:13px}.ts-btn-primary{background:var(--accent);color:var(--on-accent)}.ts-btn-primary:hover{background:var(--accent-hover)}.ts-btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.ts-btn-secondary:hover{background:var(--hover)}.ts-btn-ghost{color:var(--ink);background:0 0}.ts-btn-ghost:hover{background:var(--hover)}.ts-btn-icon{border-radius:var(--radius-full);width:40px;height:40px;padding:0}.ts-btn[disabled]{opacity:.45;cursor:not-allowed}.ts-btn.is-done{color:var(--success)}.ts-btn-primary.is-done{color:var(--on-accent)}.ts-field{gap:var(--space-2);flex-direction:column;display:flex}.ts-field-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:30px;display:flex}.ts-field-label{font:600 14px/var(--ts-lh-ui) var(--font-sans);color:var(--ink)}.ts-field-tools{align-items:center;gap:var(--space-2);display:flex}.ts-field-meta{font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted)}.ts-textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--sunken);width:100%;min-height:120px;color:var(--ink);padding:var(--space-3);font:400 14px/var(--ts-lh-body) var(--font-sans)}.ts-textarea.is-mono{font:400 13px/20px var(--font-mono);text-align:left}.ts-textarea::placeholder{color:var(--ink-muted);opacity:1}.ts-textarea[readonly]{background:var(--surface)}.ts-textarea.is-error{border-color:var(--danger)}.ts-field-error{align-items:center;gap:var(--space-1);font:500 13px/var(--ts-lh-small) var(--font-sans);color:var(--danger);display:flex}.ts-drop{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:176px;padding:var(--space-5);border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink-muted);cursor:pointer;font:400 14px/var(--ts-lh-ui) var(--font-sans);flex-direction:column;display:flex}.ts-drop:hover{background:var(--hover)}.ts-drop.is-over{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.ts-drop strong{color:var(--ink);font-weight:600}.ts-drop.is-over strong{color:var(--accent-ink)}.ts-drop .ts-icon{color:var(--accent)}.ts-drop.is-over .ts-icon{color:var(--accent-ink)}.ts-drop-hint{font:400 12px/var(--ts-lh-caption) var(--font-sans)}.ts-lang{position:relative}.ts-flag{object-fit:cover;width:20px;height:15px;box-shadow:0 0 0 1px var(--line);border-radius:2px;flex:none;display:block}.ts-lang-btn{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans);cursor:pointer;white-space:nowrap;display:inline-flex}.ts-lang-btn:hover{background:var(--hover)}.ts-lang-btn .ts-icon{color:var(--ink-muted)}.ts-lang-btn[aria-expanded=true]{background:var(--hover)}.ts-lang.is-compact .ts-lang-btn{height:40px;padding:0 var(--space-2);gap:var(--space-1);background:0 0;border-color:#0000}.ts-lang.is-compact .ts-lang-btn:hover,.ts-lang.is-compact .ts-lang-btn[aria-expanded=true]{background:var(--hover)}.ts-lang-code{font:600 13px/16px var(--font-mono);letter-spacing:.02em}.ts-lang-pop{top:calc(100% + var(--space-1));z-index:var(--z-drawer);width:min(336px, calc(100vw - 2 * var(--space-4)));max-height:min(420px,70vh);padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:0;list-style:none;position:absolute;inset-inline-end:0;overflow-y:auto}.ts-lang-pop:focus{outline:none}.ts-lang-opt{align-items:center;gap:var(--space-3);min-height:var(--nav-row-height);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--ink);grid-template-columns:20px minmax(0,1fr) auto 16px;text-decoration:none;display:grid}.ts-root .ts-lang-opt:focus-visible{outline-offset:-2px}.ts-lang-opt.is-hl{background:var(--hover)}.ts-lang-opt.is-selected{background:var(--accent-soft);color:var(--accent-ink)}.ts-lang-opt.is-selected .ts-lang-en{color:var(--accent-ink)}.ts-lang-native{text-overflow:ellipsis;white-space:nowrap;font:500 14px/22px system-ui,-apple-system,Segoe UI,Noto Sans,sans-serif;overflow:hidden}.ts-lang-en{font:400 12px/16px var(--font-sans);color:var(--ink-muted);white-space:nowrap}.ts-lang-check{width:16px;height:16px;color:var(--accent-ink)}@media (pointer:coarse){.ts-lang-opt{min-height:44px}}.ts-theme{position:relative}.ts-theme-btn{align-items:center;gap:var(--space-1);height:36px;padding:0 var(--space-2) 0 var(--space-3);padding-inline:var(--space-3) var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex}.ts-theme-btn:hover,.ts-theme-btn[aria-expanded=true]{background:var(--hover)}.ts-theme-btn .ts-theme-chev{color:var(--ink-muted)}.ts-theme.is-compact .ts-theme-btn{border-radius:var(--radius-full);background:0 0;border-color:#0000;justify-content:center;width:40px;height:40px;padding:0}.ts-theme.is-compact .ts-theme-btn:hover,.ts-theme.is-compact .ts-theme-btn[aria-expanded=true]{background:var(--hover)}.ts-theme-pop{top:calc(100% + var(--space-1));z-index:var(--z-drawer);min-width:176px;padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);margin:0;list-style:none;position:absolute;inset-inline-end:0}.ts-theme-pop:focus{outline:none}.ts-theme-opt{align-items:center;gap:var(--space-3);min-height:var(--nav-row-height);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans);white-space:nowrap;grid-template-columns:16px minmax(0,1fr) 16px;display:grid}.ts-theme-opt .ts-icon{color:var(--ink-muted)}.ts-theme-opt.is-hl{background:var(--hover)}.ts-theme-opt.is-selected{background:var(--accent-soft);color:var(--accent-ink)}.ts-theme-opt.is-selected .ts-icon{color:var(--accent-ink)}.ts-theme-check{width:16px;height:16px}@media (pointer:coarse){.ts-theme-opt{min-height:44px}}
html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans)}.site-suggest{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);font-family:var(--font-sans);flex-wrap:wrap;margin-block-end:var(--space-5);display:flex}.site-suggest p{align-items:center;gap:var(--space-2);font:500 14px/var(--ts-lh-ui) var(--font-sans);margin:0;display:flex}.site-suggest-actions{gap:var(--space-2);display:flex}.site-notice{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);align-items:flex-start;display:flex}.site-notice>.ts-icon{color:var(--ink-muted);margin-block-start:2px}.site-notice h2{font:600 16px/24px var(--font-sans);margin:0}.site-notice p{margin:var(--space-1) 0 0;font:400 15px/var(--ts-lh-body) var(--font-sans);color:var(--ink-muted)}.site-section{margin-block-start:var(--space-6)}.site-section-title{margin:0 0 var(--space-3);font:600 20px/28px var(--font-sans)}.site-tool{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.site-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.site-status{align-items:center;gap:var(--space-1);font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted);margin:0;display:flex}.site-status.is-error{color:var(--danger);font-weight:500}.site-tool>.site-status.is-pending{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;inline-size:max-content;max-inline-size:100%;margin-block-start:calc(-1 * var(--ts-lh-small) - 2px);position:absolute;overflow:hidden}.site-tool-failed{justify-items:start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);display:grid}.site-options{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.site-control{gap:var(--space-1);font:600 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink);display:grid}.site-control input[type=number],.site-control select{min-width:112px;height:36px;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans)}.site-control input[type=range]{accent-color:var(--accent);min-width:160px}.site-check{align-items:center;gap:var(--space-2);height:36px;font:500 14px/var(--ts-lh-ui) var(--font-sans);color:var(--ink);display:inline-flex}.site-check input{accent-color:var(--accent);width:16px;height:16px}.site-meta{font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted)}.site-guide{border-block-start:1px solid var(--line);color:var(--ink);margin-block-start:var(--space-7);padding-block-start:var(--space-5)}.site-guide>:not(.site-ad){max-width:720px}.site-guide-intro{font:400 15px/var(--ts-lh-body) var(--font-sans);margin:0}.site-guide h2{margin:var(--space-5) 0 var(--space-2);font:600 20px/28px var(--font-sans)}.site-guide ol{font:400 15px/var(--ts-lh-body) var(--font-sans);margin:0;padding-inline-start:var(--space-5)}.site-guide li+li{margin-block-start:var(--space-1)}.site-faq{gap:var(--space-4);display:grid}.site-faq h3{font:600 16px/24px var(--font-sans);margin:0}.site-faq p{margin:var(--space-1) 0 0;font:400 15px/var(--ts-lh-body) var(--font-sans);color:var(--ink-muted)}.site-guide-p{font:400 15px/var(--ts-lh-body) var(--font-sans);margin:0}.site-features{font:400 15px/var(--ts-lh-body) var(--font-sans);margin:0;padding-inline-start:var(--space-5)}.site-related{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-related li+li{margin-block-start:0}.site-related a{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:500 14px/var(--ts-lh-ui) var(--font-sans);text-decoration:none;display:inline-flex}.site-related a .ts-icon{color:var(--ink-muted)}.site-related a:hover{border-color:var(--line-strong);background:var(--hover)}@media (pointer:coarse){.site-related a{min-height:44px}}.site-compare-scroll{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow-x:auto}.site-compare table{border-collapse:collapse;width:100%;min-width:480px;font:400 14px/var(--ts-lh-ui) var(--font-sans)}.site-compare th,.site-compare td{padding:var(--space-2) var(--space-3);text-align:start;vertical-align:top;border-block-end:1px solid var(--line)}.site-compare tbody tr:last-child>*{border-block-end:0}.site-compare thead th{font-weight:600}.site-compare thead a{color:var(--accent);text-decoration:none}.site-compare thead a:hover{text-decoration:underline}.site-compare tbody th{color:var(--ink-muted);width:28%;font-weight:500}.site-compare .is-current{background:var(--accent-soft)}.site-compare-here{font:500 12px/var(--ts-lh-caption) var(--font-sans);color:var(--accent-ink);display:block}.site-compare-note{margin:var(--space-2) 0 0;font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted)}.site-trust{max-width:720px;color:var(--ink)}.site-trust-note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted)}.site-trust section+section{margin-block-start:var(--space-5)}.site-trust h2{margin:0 0 var(--space-2);font:600 20px/28px var(--font-sans)}.site-trust p,.site-trust ul{font:400 15px/var(--ts-lh-body) var(--font-sans);margin:0}.site-trust p+p,.site-trust p+ul,.site-trust ul+p{margin-block-start:var(--space-2)}.site-trust ul{padding-inline-start:var(--space-5)}.site-trust li+li{margin-block-start:var(--space-1)}.site-trust a{color:var(--accent);text-decoration:none}.site-trust a:hover{text-decoration:underline}.site-footer{border-block-start:1px solid var(--line);margin-block-start:var(--space-7);padding-block-start:var(--space-5)}.site-footer-nav{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.site-footer-title{margin:0 0 var(--space-2);font:600 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink)}.site-footer ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.site-footer li a{min-height:24px;font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted);align-items:center;text-decoration:none;display:inline-flex}.site-footer li a:hover{color:var(--accent);text-decoration:underline}.site-footer li a[aria-current=page]{color:var(--ink)}.site-footer-note{margin:var(--space-5) 0 0;font:400 12px/var(--ts-lh-caption) var(--font-sans);color:var(--ink-muted)}@media (pointer:coarse){.site-footer ul{gap:0}.site-footer li a{min-height:44px}}.site-licenses{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid;container-type:inline-size}.site-licenses-full{align-items:center;gap:var(--space-1) var(--space-2);font:500 15px/var(--ts-lh-body) var(--font-sans);flex-wrap:wrap;margin:0;display:flex}.site-licenses-full>.ts-icon{color:var(--ink-muted)}.site-licenses-full a{color:var(--accent);text-decoration:none}.site-licenses-full a:hover{text-decoration:underline}.site-licenses-note{font:400 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink-muted);max-inline-size:640px;margin:0}.site-attrib{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.site-attrib h2{margin:0 0 var(--space-3);font:600 16px/24px var(--font-sans)}.site-attrib ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.site-attrib h3{font:600 13px/var(--ts-lh-small) var(--font-sans);color:var(--ink);margin:0}.site-attrib p{margin:var(--space-1) 0 0;font:400 14px/var(--ts-lh-ui) var(--font-sans);color:var(--ink-muted);white-space:pre-line;overflow-wrap:anywhere}.site-attrib a{color:var(--accent);text-decoration:none}.site-attrib a:hover{text-decoration:underline}.site-nowrap{white-space:nowrap}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}#ts-side .ts-sidebar-head{view-transition-name:ts-side-head}#ts-side .ts-sidebar-body{view-transition-name:ts-side-body}.ts-header{view-transition-name:ts-header}.ts-topbar{view-transition-name:ts-topbar}.ts-shell-content{view-transition-name:ts-content}::view-transition{pointer-events:none}::view-transition-group(*){animation-duration:.18s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-group(ts-content){animation:none}::view-transition-group(ts-side-body){animation:none}::view-transition-old(ts-content){animation:80ms ease-out both ts-vt-out}::view-transition-new(ts-content){animation:.16s ease-out both ts-vt-in}::view-transition-old(ts-side-body){display:none}::view-transition-new(ts-side-body){animation:none}:root:active-view-transition-type(ts-forward)::view-transition-new(ts-side-body){animation:.18s cubic-bezier(.2,.8,.2,1) both ts-in-forward}:root:active-view-transition-type(ts-back)::view-transition-new(ts-side-body){animation:.18s cubic-bezier(.2,.8,.2,1) both ts-in-back}:root:active-view-transition-type(ts-cross)::view-transition-new(ts-side-body){animation:.16s ease-out both ts-vt-in}@keyframes ts-vt-out{to{opacity:0}}@keyframes ts-vt-in{0%{opacity:0}}.site-ad{box-sizing:border-box;width:100%;margin-block:var(--space-3);border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--sunken);color:var(--ink-muted);place-items:center;display:grid;position:relative}.site-ad-label:before{font:500 11px/1 var(--font-mono);letter-spacing:.04em}.site-ad-results,.site-ad-related,.site-ad-output,.site-ad-files,.site-ad-hash,.site-ad-result{height:90px}:is(.site-ad-results,.site-ad-related,.site-ad-output,.site-ad-files,.site-ad-hash,.site-ad-result) .site-ad-label:before{content:"AD · 728×90"}@media (max-width:640px){.site-ad-results,.site-ad-related,.site-ad-output,.site-ad-files,.site-ad-hash,.site-ad-result{height:250px}:is(.site-ad-results,.site-ad-related,.site-ad-output,.site-ad-files,.site-ad-hash,.site-ad-result) .site-ad-label:before{content:"AD · 300×250"}}.site-ad-output{margin-block-start:var(--space-6)}.site-ad-queue,.site-ad-category,.site-ad-top{height:90px}:is(.site-ad-queue,.site-ad-category,.site-ad-top) .site-ad-label:before{content:"AD · 728×90"}@media (max-width:640px){.site-ad-queue,.site-ad-category,.site-ad-top{height:100px}:is(.site-ad-queue,.site-ad-category,.site-ad-top) .site-ad-label:before{content:"AD · 320×100"}}.site-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.site-rail{display:none}.site-ad-rail{top:calc(var(--topbar-height) + var(--space-4));height:600px;margin:0;position:sticky}@media (min-width:1360px){.ts-shell-content:has(.site-rail){max-width:calc(var(--content-max) + 160px + var(--space-6))}.site-layout:has(>.site-rail){grid-template-columns:minmax(0,1fr) 160px}.site-rail{display:block}.site-ad-rail .site-ad-label:before{content:"AD · 160×600"}}@media (min-width:1680px){.ts-shell-content:has(.site-rail){max-width:calc(var(--content-max) + 300px + var(--space-6))}.site-layout:has(>.site-rail){grid-template-columns:minmax(0,1fr) 300px}.site-ad-rail .site-ad-label:before{content:"AD · 300×600"}}
