:root{color-scheme:light;--bg: #F7F8FB;--surface: #FFFFFF;--surface-2: #F9FAFB;--surface-3: #F2F4F7;--text: #101828;--text-2: #344054;--muted: #475467;--subtle: #5F6B7C;--border: #E3E8EF;--border-2: #D9E0EA;--field-border: #8A94A6;--hover: #EEF2F7;--brand-mark: #1F2937;--primary: #2563EB;--primary-hover: #1D4ED8;--primary-ink: #1D4ED8;--primary-soft: #EFF6FF;--primary-soft-2: #EAF1FF;--success: #0F7B55;--success-soft: #E7F7EF;--warning: #B25E09;--warning-ink: #8A4A06;--warning-soft: #FFF4E5;--error: #B42318;--error-ink: #912018;--error-soft: #FDECEA;--info-ink: #1D3F99;--info-soft: #EFF4FF;--pdf: #D94D4D;--pdf-bg: #FFF1F1;--pdf-ink: #B3302F;--video: #4F6DF5;--video-bg: #EFF3FF;--video-ink: #3650D1;--audio: #159B72;--audio-bg: #ECFBF5;--audio-ink: #0B7456;--image: #C47A12;--image-bg: #FFF7E8;--image-ink: #8F5708;--convert: #0E7490;--convert-bg: #E6F6FA;--convert-ink: #0B5F76;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .06);--shadow-pop: 0 12px 32px rgba(16, 24, 40, .16);--font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--maxw: 1220px;--gutter: 16px;--header-h: 60px}@media (min-width: 780px){:root{--gutter: 20px;--header-h: 64px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto}img,svg,video,canvas{display:block;max-width:100%}svg.icon{flex:none;display:inline-block;vertical-align:middle}h1,h2,h3,h4{margin:0;line-height:1.25;color:var(--text);text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0}a{color:var(--primary-ink);text-underline-offset:3px}a:hover{color:var(--primary-hover)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}code,kbd{font-family:var(--mono);font-size:.88em}code{background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:0 .3em;overflow-wrap:anywhere}[hidden]{display:none!important}::selection{background:#cfe0ff}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:10px;z-index:100;background:var(--surface);color:var(--primary-ink);padding:8px 14px;border-radius:var(--radius);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none;box-shadow:var(--shadow-pop)}main:focus{outline:none}.container{width:min(100% - 2 * var(--gutter),var(--maxw));margin-inline:auto}.container-narrow{width:min(100% - 2 * var(--gutter),860px);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:7px;border:1px solid var(--border-2);background:var(--surface);color:#263142;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}.btn:hover{background:var(--hover);color:var(--text);border-color:#c9d2df}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;box-shadow:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px #2563eb33}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-primary:disabled:hover{background:var(--primary);border-color:var(--primary)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-lg{min-height:46px;padding:0 20px;font-size:16px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}.btn-lg.btn-icon{width:46px}.link-btn{background:none;border:0;padding:0;color:var(--primary-ink);font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.link-btn:hover{text-decoration-color:currentColor}@media (max-width: 779px){.btn{min-height:44px}.btn-icon{width:44px}}.cat-tile{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:10px}.cat-tile.sm{width:28px;height:28px;border-radius:7px}.cat-tile.xs{width:24px;height:24px;border-radius:6px}.cat-pdf{--cat: var(--pdf);--cat-bg: var(--pdf-bg);--cat-ink: var(--pdf-ink)}.cat-video{--cat: var(--video);--cat-bg: var(--video-bg);--cat-ink: var(--video-ink)}.cat-audio{--cat: var(--audio);--cat-bg: var(--audio-bg);--cat-ink: var(--audio-ink)}.cat-image{--cat: var(--image);--cat-bg: var(--image-bg);--cat-ink: var(--image-ink)}.cat-convert{--cat: var(--convert);--cat-bg: var(--convert-bg);--cat-ink: var(--convert-ink)}.cat-tile{background:var(--cat-bg);color:var(--cat)}.site-header{position:sticky;top:0;z-index:40;background:#fffffff7;border-bottom:1px solid var(--border)}@supports (backdrop-filter: blur(8px)){.site-header{background:#ffffffe6;backdrop-filter:saturate(1.4) blur(8px)}}.header-inner{display:flex;align-items:center;gap:20px;min-height:var(--header-h);position:relative}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.01em;white-space:nowrap}.brand:hover{color:var(--text)}.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--brand-mark);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;letter-spacing:.02em}.main-nav{display:none}.main-nav>ul{list-style:none;display:flex;align-items:center;gap:2px}.nav-trigger{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 10px;background:none;border:0;border-radius:7px;color:var(--muted);font-weight:500;font-size:15px;white-space:nowrap}.nav-trigger:hover,.nav-trigger[aria-expanded=true]{background:var(--hover);color:var(--text)}.nav-trigger[aria-current=true]{color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--cat, var(--primary));border-radius:7px 7px 0 0}.nav-trigger .icon{transition:transform .15s;color:var(--subtle)}.nav-trigger[aria-expanded=true] .icon{transform:rotate(180deg)}.nav-panel{position:absolute;top:calc(100% - 4px);left:0;z-index:50;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:16px;min-width:280px;max-width:min(980px,calc(100vw - 40px))}.nav-panel-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:20px}.nav-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle);font-weight:600;margin:0 0 6px 8px}.nav-group ul{list-style:none;display:grid;gap:1px}.nav-link{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:6px;color:var(--text-2);text-decoration:none;font-size:14.5px;line-height:1.35}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link .icon{color:var(--cat)}.nav-panel-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.nav-all{font-weight:600;font-size:14.5px;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.lang-switch{display:none;align-items:center;border:1px solid var(--border-2);border-radius:7px;overflow:hidden}.lang-switch a,.lang-switch span{display:inline-grid;place-items:center;min-width:38px;min-height:36px;padding:0 8px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}.lang-switch a:hover{background:var(--hover);color:var(--text)}.lang-switch [aria-current=page]{background:var(--primary-soft);color:var(--primary-ink)}.menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:none;border-radius:8px;color:var(--text-2)}.menu-btn:hover{background:var(--hover)}@media (min-width: 1024px){.main-nav{display:block}.lang-switch{display:inline-flex}.menu-btn{display:none}}.drawer{position:fixed;inset:var(--header-h) 0 0 0;z-index:45;background:var(--surface);overflow-y:auto;overscroll-behavior:contain;padding:12px var(--gutter) 32px;border-top:1px solid var(--border)}.drawer details{border-bottom:1px solid var(--border)}.drawer summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:52px;cursor:pointer;font-weight:600;font-size:16px;color:var(--text)}.drawer summary::-webkit-details-marker{display:none}.drawer summary .chev{margin-left:auto;color:var(--subtle);transition:transform .15s}.drawer details[open] summary .chev{transform:rotate(180deg)}.drawer .drawer-group{padding:0 0 12px 38px}.drawer .drawer-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle);margin:8px 0 2px}.drawer .drawer-group ul{list-style:none}.drawer .drawer-group a{display:flex;align-items:center;min-height:44px;color:var(--text-2);text-decoration:none}.drawer .drawer-all{font-weight:600;color:var(--primary-ink)!important}.drawer-links{list-style:none;display:grid;gap:0;margin-top:12px}.drawer-links a{display:flex;align-items:center;min-height:44px;color:var(--text-2);text-decoration:none}.drawer-lang{margin-top:16px;display:flex;gap:8px}.drawer-lang a,.drawer-lang span{flex:1;display:grid;place-items:center;min-height:44px;border:1px solid var(--border-2);border-radius:8px;text-decoration:none;color:var(--muted);font-weight:600}.drawer-lang [aria-current=page]{background:var(--primary-soft);color:var(--primary-ink);border-color:#bfd3fb}html.drawer-open{overflow:hidden}.breadcrumb{font-size:14px;color:var(--subtle)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.breadcrumb li{display:inline-flex;align-items:center;gap:6px}.breadcrumb li+li:before{content:"/";color:#98a2b3}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--primary-ink);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--text-2);font-weight:600}.page-head{display:flex;gap:14px;align-items:center}.page-head h1{font-size:clamp(26px,3.2vw,34px);font-weight:700;letter-spacing:-.015em}.page-head .lede{color:var(--muted);font-size:16px;margin-top:4px}@media (max-width: 519px){.page-head{align-items:flex-start}.page-head .cat-tile{margin-top:2px}}.section{margin-top:56px}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px}.section h2,.section-title{font-size:22px;font-weight:700;letter-spacing:-.01em}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:step}.steps li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:grid;gap:6px;align-content:start}.steps .step-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary-ink);font-weight:700;font-size:14px}.steps h3{font-size:16.5px;font-weight:650}.steps p{color:var(--muted);font-size:15px}@media (max-width: 859px){.steps{grid-template-columns:minmax(0,1fr)}}.feature-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:start}.feature-layout .intro{color:var(--text-2);font-size:16.5px}.feature-list{list-style:none;display:grid;gap:10px}.feature-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;color:var(--text-2)}.feature-list li .icon{color:var(--success);margin-top:3px}@media (max-width: 859px){.feature-layout{grid-template-columns:minmax(0,1fr)}}.faq{display:grid;gap:10px}.faq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;font-weight:600;font-size:16px;min-height:52px}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--subtle);transition:transform .15s}.faq details[open] summary .icon{transform:rotate(180deg)}.faq details>div{padding:0 18px 16px;color:var(--text-2)}.faq summary:focus-visible{outline-offset:-2px;border-radius:var(--radius)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tool-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s;min-height:84px}.tool-card:hover{border-color:#c4cedc;box-shadow:var(--shadow);color:var(--text)}.tool-card .cat-tile{grid-row:span 2;width:38px;height:38px;border-radius:9px}.tool-card strong{font-size:15.5px;font-weight:650;line-height:1.35}.tool-card span.desc{color:var(--muted);font-size:14px;line-height:1.45}.tool-card span.meta{grid-column:2;color:var(--subtle);font-size:12.5px}.prose{color:var(--text-2);font-size:16.5px;line-height:1.7}.prose>*+*{margin-top:14px}.prose h2{font-size:22px;margin-top:36px;color:var(--text);scroll-margin-top:calc(var(--header-h) + 16px)}.prose h3{font-size:18px;margin-top:26px;color:var(--text)}.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:6px}.prose .lead{font-size:18px;color:var(--text)}.prose .note{background:var(--info-soft);color:var(--info-ink);border-radius:var(--radius);padding:12px 16px}.prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.prose strong{color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:#263142;font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap}.chip:hover{border-color:#afc4e8;background:var(--primary-soft);color:var(--primary-ink)}@media (max-width: 779px){.chip{min-height:44px}}.site-footer{margin-top:72px;background:var(--surface);border-top:1px solid var(--border);font-size:14.5px}.footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:32px;padding-block:40px 28px}.footer-brand p{color:var(--muted);margin-top:12px;max-width:36ch}.footer-brand a.mail{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--text-2);text-decoration:none}.footer-brand a.mail:hover{color:var(--primary-ink);text-decoration:underline}.site-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle);font-weight:600;margin-bottom:10px}.site-footer ul{list-style:none;display:grid;gap:2px}.site-footer li a{color:var(--text-2);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.site-footer li a:hover{color:var(--primary-ink);text-decoration:underline}.footer-bottom{border-top:1px solid var(--border);padding-block:16px 24px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;color:var(--subtle);font-size:13.5px}@media (max-width: 979px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1 / -1}}@media (max-width: 779px){.site-footer li a{min-height:44px}.footer-grid{gap:20px 16px}}.gdrive{width:18px;height:16px;flex:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.ts-trigger{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 12px;border:1px solid var(--border-2);border-radius:8px;background:var(--surface);color:var(--subtle);font-size:14.5px;width:230px}.ts-trigger:hover{border-color:#b9c4d4;color:var(--text-2)}.ts-trigger-label{flex:1;text-align:left}.ts-kbd{font-size:11px;border:1px solid var(--border-2);border-radius:4px;padding:1px 5px;color:var(--subtle);background:var(--surface-2)}@media (max-width: 1023px){.ts-trigger{width:44px;height:44px;padding:0;justify-content:center;border-color:transparent;color:var(--text-2)}.ts-trigger-label,.ts-kbd{display:none}}.ts-field{position:relative;display:flex;align-items:center}.ts-search-icon{position:absolute;left:14px;color:var(--subtle);pointer-events:none}.ts-input{width:100%;min-height:52px;padding:0 48px 0 46px;border-radius:12px;border:1.5px solid var(--field-border);background:var(--surface);color:var(--text);font-size:16px;outline:none;-webkit-appearance:none;appearance:none}.ts-input::-webkit-search-cancel-button{display:none}.ts-input::placeholder{color:var(--subtle)}.ts-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2563eb29}.ts-clear{position:absolute;right:6px;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;border-radius:8px;color:var(--subtle)}.ts-clear:hover{background:var(--hover);color:var(--text)}.ts-hero{position:relative;width:min(100%,640px);margin-inline:auto;text-align:left}.ts-hero .ts-input{border-color:var(--primary);box-shadow:0 8px 20px #2563eb1f;min-height:56px;font-size:16.5px}.ts-hero .ts-input:focus{box-shadow:0 0 0 4px #2563eb29,0 8px 20px #2563eb1f}.ts-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow-pop);padding:6px;max-height:min(420px,60vh);overflow-y:auto}.ts-list{list-style:none;display:grid;gap:2px}.ts-option{border-radius:8px}.ts-option,.ts-option-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 10px;cursor:pointer;color:var(--text);text-decoration:none;min-height:48px}.ts-option:has(.ts-option-link){padding:0;display:block}.ts-option.is-active,.ts-option:hover{background:var(--hover)}.ts-option-link:hover{color:var(--text)}.ts-dot{width:10px;height:10px;border-radius:3px;background:var(--cat)}.ts-text{display:grid;min-width:0}.ts-name{font-weight:600;font-size:15px}.ts-short{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-cat{color:var(--cat-ink);font-size:12.5px;font-weight:600;background:var(--cat-bg);border-radius:999px;padding:2px 8px}.ts-chev{color:var(--subtle)}.ts-empty{padding:14px 12px;color:var(--text-2)}.ts-empty-hint{color:var(--muted);font-size:14px;margin-top:2px}.ts-dialog{width:min(640px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 48px));margin:8vh auto auto;padding:0;border:1px solid var(--border-2);border-radius:14px;box-shadow:var(--shadow-pop);background:var(--surface);color:var(--text)}.ts-dialog::backdrop{background:#1018286b}.ts-dialog-inner{display:flex;flex-direction:column;max-height:inherit}.ts-dialog .ts-field{padding:10px;border-bottom:1px solid var(--border)}.ts-dialog .ts-search-icon{left:24px}.ts-dialog .ts-clear{right:16px}.ts-dialog .ts-input{border-color:transparent;box-shadow:none}.ts-dialog .ts-input:focus{border-color:transparent;box-shadow:none}.ts-dialog-body{overflow-y:auto;padding:6px}.ts-suggest-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--subtle);font-weight:600;padding:8px 10px 4px}@media (max-width: 599px){.ts-dialog{margin-top:12px}.ts-short,.ts-cat{display:none}.ts-option,.ts-option-link{grid-template-columns:auto minmax(0,1fr) auto}}
