@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0udrnr4-18tjo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.1br53b7gww62p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.3bgaltqld2gq2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.0mlt1uo-cplt-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.22m3f6pvfu2zf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.35qbt1_6db49h.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fcf129058e6e31f2-s.p.11ye8_54polii.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7b74840ea7c05e95-s.1e28-l79jjv5u.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/3eca85881bcfa204-s.p.1uu2pxtyb_ixz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_408de26a-module__7VGkIG__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_408de26a-module__7VGkIG__variable{--font-be-vietnam-pro:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--ink:#16202b;--muted:#5b6878;--line:#d9e0e8;--bg:#fff;--surface:#eef2f6;--brand:#1b3a5c;--brand-soft:#e3ecf5;--mark:#ffd23f;--mark-ink:#16202b;--ok:#1f7a4d;--radius-lg:14px;--radius-sm:6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8edf3;--muted:#9aa7b6;--line:#2c3a4a;--bg:#0f1822;--surface:#172331;--brand:#8db6e0;--brand-soft:#1d3047;--mark:#f2c230;--mark-ink:#16202b;--ok:#5bc08d}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-be-vietnam-pro), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;margin:0;font-size:16px;line-height:1.6}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--mark);outline-offset:2px;border-radius:4px}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}img{max-width:100%}mark{background:var(--mark);color:var(--mark-ink);border-radius:2px;padding:0 1px}header.site{border-bottom:1px solid var(--line);background:var(--bg);z-index:5;position:sticky;top:0}header.site .wrap{align-items:center;gap:12px;height:56px;display:flex}.logo{color:var(--ink);white-space:nowrap;font-size:18px;font-weight:800}.logo b{background:var(--mark);color:var(--mark-ink);border-radius:4px;margin-right:4px;padding:0 6px;font-style:normal;display:inline-block}.navlinks{gap:18px;margin-left:auto;font-size:15px;display:none}.navlinks a{color:var(--ink)}@media (min-width:760px){.navlinks{display:flex}}h1,h2,h3.center{text-align:center}h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(26px,5.5vw,44px);font-weight:800;line-height:1.15}h2{margin:0 0 20px;font-size:clamp(20px,3.4vw,26px);font-weight:800;line-height:1.25}.lede{text-align:center;color:var(--muted);max-width:60ch;margin:0 auto}.hero{padding:40px 0 28px}.searchbox{max-width:680px;margin:24px auto 0;position:relative}.searchbox input{width:100%;font:inherit;border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--bg);color:var(--ink);padding:16px 18px;font-size:18px}.searchbox input:focus{box-shadow:0 0 0 4px var(--mark);outline:none}.results{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);z-index:4;width:100%;max-height:340px;margin:8px 0 0;padding:0;list-style:none;position:absolute;overflow:auto}.results li a,.results li>span{color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 16px;display:flex}.results li:last-child a{border-bottom:0}.results li a:hover{background:var(--surface);text-decoration:none}.results .cat{color:var(--muted);white-space:nowrap;font-size:13px}.results .empty{color:var(--muted);padding:12px 16px}.results .soon{color:var(--muted);font-size:13px}.quick{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.quick a{background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:14px}.chips{scrollbar-width:thin;gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.chips a{border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;flex:none;padding:6px 12px;font-size:14px}.chips a:hover{border-color:var(--brand);text-decoration:none}section.block{border-top:1px solid var(--line);padding:32px 0}.popular{grid-template-columns:1fr;gap:0;max-width:900px;margin:0 auto;display:grid}@media (min-width:760px){.popular{grid-template-columns:1fr 1fr;column-gap:32px}}.popular a,.popular .row{border-bottom:1px solid var(--line);color:var(--ink);grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:12px 4px;display:grid}.popular a:hover{background:var(--surface);text-decoration:none}.popular .n{color:var(--brand);text-align:center;font-size:20px;font-weight:800}.popular .t{font-weight:600}.popular .d{color:var(--muted);font-size:13px;font-weight:400;display:block}.badge{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.badge.new{background:var(--mark);color:var(--mark-ink)}.badge.muted{background:var(--surface);color:var(--muted)}.dir{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.dir .group{flex:0 0 100%;min-width:0}@media (min-width:640px){.dir .group{flex-basis:calc(50% - 8px)}}@media (min-width:980px){.dir .group{flex-basis:calc(33.3333% - 10.6667px)}}.dir .group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);flex-direction:column;padding:18px 16px 14px;display:flex}.dir .group:hover{border-color:var(--ink)}.dir .ic{background:var(--surface);border-radius:12px;place-items:center;width:44px;height:44px;margin:0 auto 8px;font-size:22px;display:grid}.dir .group:hover .ic{background:var(--mark)}.dir h3{text-align:center;margin:0;font-size:17px;font-weight:800}.dir .count{text-align:center;color:var(--muted);margin:2px 0 12px;font-size:13px}.dir ul{flex-wrap:wrap;flex:1;place-content:flex-start center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dir li a,.dir li span{background:var(--surface);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:14px;display:block}.dir li span.soon{color:var(--muted)}.dir li a:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}.dir .foot{border-top:1px solid var(--line);justify-content:flex-end;margin-top:14px;padding-top:10px;display:flex}.dir .more{font-size:14px;font-weight:600}@media (max-width:639px){.dir li:nth-child(n+4){display:none}.dir .group{padding:14px 12px 10px}.dir .ic{width:36px;height:36px;font-size:18px}}.sister{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:760px){.sister{grid-template-columns:repeat(3,1fr)}}.sister a{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:16px;display:block}.sister a:hover{border-color:var(--brand);text-decoration:none}.sister strong{display:block}.sister span{color:var(--muted);font-size:14px}footer.site{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:24px 0 40px;font-size:14px}footer.site nav{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:8px;display:flex}.crumbs{color:var(--muted);padding:14px 0 0;font-size:14px}.crumbs a{color:var(--muted)}.toolhead{padding:16px 0 8px}.meta{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.tool{border:2px solid var(--ink);border-radius:var(--radius-lg);max-width:900px;margin:16px auto 0;padding:16px}.panes{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:760px){.panes{grid-template-columns:1fr 1fr}}.pane label{justify-content:space-between;margin-bottom:6px;font-size:15px;font-weight:600;display:flex}.pane label small{color:var(--muted);font-weight:400}textarea{width:100%;min-height:220px;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);resize:vertical;padding:12px;font-size:15px}textarea[readonly]{background:var(--surface)}.opts{flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;font-size:15px;display:flex}.opts label{cursor:pointer;align-items:center;gap:6px;display:flex}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;padding:10px 18px;font-weight:600}.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.status{color:var(--ok);text-align:right;min-height:1.6em;margin-top:8px;font-size:14px}.privacy{color:var(--muted);text-align:center;margin-top:12px;font-size:13px}.twocol{grid-template-columns:minmax(0,1fr);gap:32px;padding:32px 0;display:grid}@media (min-width:980px){.twocol{grid-template-columns:minmax(0,1fr) 300px}}.twocol>*{min-width:0}article.guide{overflow-wrap:anywhere;max-width:70ch}article.guide h2{margin-top:28px}article.guide ol{padding-left:20px}.example{background:var(--surface);border-radius:var(--radius-sm);padding:12px;overflow-x:auto}.example table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}.example th,.example td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}details{border-bottom:1px solid var(--line);padding:10px 0}summary{cursor:pointer;font-weight:600}aside h2{font-size:18px}aside ul{margin:0;padding:0;list-style:none}aside li a{border-bottom:1px solid var(--line);color:var(--ink);padding:8px 0;display:block}aside li .related-soon{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.cross{border-left:4px solid var(--mark);background:var(--surface);margin-top:24px;padding:16px}.cross p{color:var(--muted);margin:4px 0 0;font-size:14px}.tool-list{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tool-list li a,.tool-list li span{background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:14px;display:block}.tool-list li span.soon{color:var(--muted)}.tool-list li a:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}.tool-subgroup{margin-top:28px}.tool-subgroup:first-child{margin-top:0}.subgroup-title{text-align:center;color:var(--muted);margin:0 0 12px;font-size:16px}.imgtool-drop{border:2px dashed var(--line);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--surface);padding:28px 16px}.imgtool-drop.dragging{border-color:var(--brand);background:var(--brand-soft)}.imgtool-drop-title{margin:0 0 10px;font-weight:600}.imgtool-drop-hint{color:var(--muted);margin:10px 0 0;font-size:13px}.imgtool-rejects{color:#b3261e;margin:10px 0 0;font-size:13px}.imgtool-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.imgtool-row{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:12px;min-width:0;padding:8px;display:flex}.imgtool-thumb{object-fit:cover;background:var(--surface);border-radius:6px;flex:none;width:56px;height:56px}.imgtool-row-info{flex:auto;min-width:0}.imgtool-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.imgtool-row-meta{color:var(--muted);font-size:13px}.imgtool-saved{color:var(--ok);font-weight:600}.imgtool-row-status{color:var(--muted);font-size:12px}.imgtool-row-status.error{color:#b3261e}.imgtool-row-actions{flex:none;gap:6px;display:flex}.imgtool-remove{padding:10px 12px}.imgtool-settings{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:14px 0 0;font-size:15px;display:flex}.imgtool-settings label{align-items:center;gap:6px;display:flex}.imgtool-note{color:var(--muted);margin-top:8px;font-size:13px}.imgtool-presets{gap:8px;display:flex}.btn.preset{padding:6px 12px;font-size:13px;font-weight:500}.btn.preset.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}@media (max-width:400px){.imgtool-row{flex-wrap:wrap}.imgtool-row-actions{flex-basis:100%;justify-content:flex-end}}.imgtool-compare{margin-top:16px}.imgtool-compare-frame{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;max-height:420px;position:relative;overflow:hidden}.imgtool-compare-frame img{object-fit:contain;width:100%;height:auto;max-height:420px;display:block}.imgtool-compare-after{position:absolute;inset:0}.imgtool-compare-line{background:var(--mark);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.imgtool-compare-range{width:100%;margin-top:8px}.cropframe{touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:16px auto 0;position:relative}.cropframe img{max-width:100%;height:auto;display:block}.cropbox{border:2px solid var(--mark);cursor:move;background:#ffd23f26;position:absolute}.crophandle{background:var(--mark);border:2px solid var(--ink);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.crophandle-nw{cursor:nwse-resize;top:0;left:0}.crophandle-ne{cursor:nesw-resize;top:0;left:100%}.crophandle-sw{cursor:nesw-resize;top:100%;left:0}.crophandle-se{cursor:nwse-resize;top:100%;left:100%}.field{margin-bottom:14px}.field label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}.field input[type=text],.field input[type=password],.field input[type=number],.field input[type=date],.field select{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);padding:10px 12px;font-size:15px}.field-error{color:#b3261e;margin-top:4px;font-size:13px}.field-hint{color:var(--muted);margin-top:4px;font-size:13px}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row>.field{flex:200px}.radio-row{gap:16px;margin-bottom:14px;font-size:15px;display:flex}.radio-row label{cursor:pointer;align-items:center;gap:6px;display:flex}.bank-select{margin-bottom:14px;position:relative}.bank-select label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}.bank-select input{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);padding:10px 12px;font-size:15px}.bank-select-results{z-index:6;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);max-height:280px;margin:4px 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.bank-select-results li button{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.bank-select-results li button:hover{background:var(--surface)}.bank-select-results li button span{color:var(--muted);font-size:13px}.bank-select-empty{color:var(--muted);padding:10px 12px;font-size:14px}.qr-preview{text-align:center;margin:20px 0}.qr-canvas{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;max-width:100%}.qr-preview-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.qr-warning{border-left:4px solid var(--mark);background:var(--surface);border-radius:var(--radius-sm);margin:16px 0;padding:12px 14px;font-size:14px}.vietqr-card{border:2px solid var(--ink);border-radius:var(--radius-lg);text-align:center;max-width:360px;margin:20px auto 0;padding:20px}.vietqr-card h3{margin:0 0 4px;font-size:18px}.vietqr-card .acct{letter-spacing:.04em;margin:8px 0 4px;font-size:20px;font-weight:800}.vietqr-card .holder{color:var(--muted);margin:0 0 8px}.vietqr-card .amount{color:var(--ok);margin-top:8px;font-size:18px;font-weight:700}.wifi-card{border:2px solid var(--ink);border-radius:var(--radius-lg);text-align:center;max-width:320px;margin:20px auto 0;padding:20px}.wifi-card h3{margin:0 0 12px}.wifi-card .ssid{margin-bottom:6px;font-size:18px;font-weight:800}.wifi-card .pass{color:var(--muted);font-size:15px}.color-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.color-row label{align-items:center;gap:6px;font-size:14px;display:flex}.color-row input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:36px;height:36px;padding:0}.qr-decode-drop{border:2px dashed var(--line);border-radius:var(--radius-lg);text-align:center;background:var(--surface);padding:24px 16px}.qr-decode-result{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:16px;padding:14px}.qr-decode-result dt{color:var(--muted);margin-top:10px;font-size:13px;font-weight:600}.qr-decode-result dd{word-break:break-word;margin:2px 0 0}.qr-decode-result dl{margin:0}@media print{header.site,footer.site,.crumbs,.toolhead,.twocol,.qr-preview,.vietqr-form,.wifi-form,.actions,.status,.privacy,.qr-warning{display:none!important}}.pdf-file-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.pdf-file-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);align-items:flex-start;gap:10px;padding:10px;display:flex}.pdf-drag-handle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:grab;touch-action:none;flex:none;padding:6px 8px;font-size:16px}.pdf-file-info{flex:auto;min-width:0}.pdf-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.pdf-range-input{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);margin-top:6px;padding:6px 10px;font-size:14px}.pdf-file-actions{flex:none;gap:4px;display:flex}@media (max-width:480px){.pdf-file-row{flex-wrap:wrap}.pdf-file-actions{flex-basis:100%;justify-content:flex-end;margin-top:6px}}.pdf-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:16px 0;display:grid}.pdf-thumb{border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg);text-align:center;padding:6px;position:relative}.pdf-thumb.selected{border-color:var(--brand);background:var(--brand-soft)}.pdf-thumb canvas,.pdf-thumb img{background:var(--surface);width:100%;height:auto;min-height:120px;display:block}.pdf-thumb .pdf-thumb-label{color:var(--muted);margin-top:4px;font-size:12px}.pdf-thumb input[type=checkbox]{position:absolute;top:6px;left:6px}.pdf-mode-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.pdf-mode-tabs button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.notfound{padding:60px 0}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.contact-email-skeleton{vertical-align:middle;border-radius:var(--radius-sm);background:var(--line);opacity:.4;width:220px;height:40px;display:inline-block}
