:root{--bg:#E8ECF1;--surface:#FFFFFF;--ink:#101828;--ink-2:#2A3445;--muted:#566377;--line:#D3DAE5;--accent:#2740EE;--accent-d:#1B2FC0;--accent-soft:#E6EAFF;--err:#B42318;--err-bg:#FEF3F2;--note:#0A6B4F;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--r:8px;--wrap:1120px}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}img,svg{max-width:100%}a{color:var(--accent-d);text-underline-offset:3px}a:hover{color:var(--ink)}:focus-visible{outline:3px solid #1A73E8;outline-offset:2px;border-radius:3px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:50;border-radius:6px}.skip:focus{left:8px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 18px}h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0 0 .6em;color:var(--ink)}h1{font-size:clamp(1.75rem,6vw,3rem);font-weight:800;letter-spacing:-.03em}h2{font-size:clamp(1.4rem,3.6vw,1.9rem);font-weight:750}h3{font-size:1.1rem;font-weight:700;margin-top:1.4em}p{margin:0 0 1em}code{font-family:var(--mono);font-size:.92em;background:#EDF0F4;padding:1px 5px;border-radius:4px}.lead{font-size:1.02rem;color:var(--ink-2);max-width:42em}@media (min-width:700px){.lead{font-size:1.15rem}}.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.bar{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:12px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.02em;font-size:1.08rem}.logo:hover{color:var(--ink)}.logo svg{width:34px;height:34px;flex:none;display:block}.logo i{font-style:normal;color:var(--accent)}.nav-toggle{display:none;width:46px;height:46px;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r);cursor:pointer;align-items:center;justify-content:center}.nav-toggle svg{width:22px;height:22px}#site-nav ul{list-style:none;margin:0;padding:0}#site-nav>ul{display:flex;align-items:center;gap:6px}#site-nav a,.menu-btn{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--ink);text-decoration:none;font:600 .97rem var(--sans);border-radius:var(--r)}#site-nav a:hover,.menu-btn:hover{background:var(--bg)}#site-nav a[aria-current="page"]{color:var(--accent-d)}.menu-btn{border:0;background:none;cursor:pointer;gap:6px}.menu-btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.has-menu{position:relative}.menu{position:absolute;left:0;top:100%;min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 14px 34px -12px rgba(11,18,32,.28);display:none}.has-menu:hover>.menu,.has-menu:focus-within>.menu,.menu-btn[aria-expanded="true"]+.menu{display:block}.menu a{white-space:nowrap}.menu .menu-sep{height:1px;background:var(--line);margin:4px 6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;font:700 1rem var(--sans);border-radius:var(--r);border:2px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;cursor:pointer}.btn:hover{background:var(--accent-d);border-color:var(--accent-d);color:#fff}.btn-ghost{background:transparent;color:var(--accent-d)}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-d);border-color:var(--accent)}.btn[disabled]{opacity:.45;cursor:not-allowed}#site-nav a.btn{color:#fff;min-height:44px;padding:0 16px;margin-left:6px}#site-nav a.btn:hover{background:var(--accent-d)}@media (max-width:859px){.js .nav-toggle{display:inline-flex}#site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 18px 16px}#site-nav.open{display:block}#site-nav>ul{flex-direction:column;align-items:stretch;gap:2px}.menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 4px 12px;min-width:0}.menu-btn{width:100%;justify-content:space-between}.menu-btn::after{display:none}#site-nav a.btn{margin:8px 0 0;justify-content:center;min-height:48px}}@media (min-width:860px){.nav-toggle{display:none!important}}.hero{padding:22px 0 16px}.hero .lead{margin-bottom:16px}@media (min-width:700px){.hero{padding:34px 0 22px}.hero .lead{margin-bottom:22px}}.cta-row{display:flex;gap:10px;flex-wrap:wrap}@media (max-width:600px){.cta-row .btn{flex:1 1 100%;min-height:46px}}.crumbs{font-size:.9rem;color:var(--muted);margin:0 0 14px}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0}.crumbs li+li::before{content:"/";margin-right:8px;color:#9AA5B6}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}section.block{padding:40px 0;border-top:1px solid var(--line)}section.block.alt{background:var(--surface)}.prose{max-width:46rem}.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1em}.prose li{margin-bottom:.45em}.tool{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -28px rgba(11,18,32,.4);overflow:clip;margin-bottom:8px}.tool-grid{display:grid;grid-template-columns:1fr}.tool-fields{padding:20px 18px 2px}.tool-out{background:#F1F4F8;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 18px 16px}.tool-opts{padding:6px 18px 14px}.tool-opts details.opts{border-top:1px solid var(--line);margin-top:6px;padding-top:4px}.presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 10px}.presets .lbl{font-weight:700;font-size:.95rem;margin-right:4px}.chip{font:600 .92rem var(--sans);min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid #AEB8C7;background:#fff;color:var(--ink);cursor:pointer}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.opt-grid .span2,.opt-grid .check.span2{grid-column:1/-1}input[type=file]{width:100%;font:inherit;padding:10px;border:1.5px dashed #AEB8C7;border-radius:var(--r);background:#fff}.field{margin:0 0 16px}.field>label,.field>.lbl{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px}select,input[type=text],input[type=password],input[type=email],input[type=tel],textarea{width:100%;min-height:50px;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #AEB8C7;border-radius:var(--r);padding:0 14px}input[type=text]{font-family:var(--mono);font-size:1.1rem;letter-spacing:.02em}textarea{min-height:110px;padding:12px 14px;font-family:var(--sans);font-size:1rem;resize:vertical;line-height:1.5}.qr-fields[hidden]{display:none}.qr-fields .field input,.qr-fields .field textarea{font-size:1rem}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.field>label.check{margin:0;font-weight:600}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23101828' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 3px rgba(180,35,24,.12)}.type-static{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg);font-weight:700}.type-static a{font-weight:600;font-size:.9rem}.hint{margin:6px 0 0;font-size:.9rem;color:var(--muted)}.msg-error{margin:8px 0 0;padding:10px 12px;border-radius:var(--r);background:var(--err-bg);border:1.5px solid var(--err);color:#7A1810;font-size:.95rem;line-height:1.45}.msg-error[hidden]{display:none}.msg-error::before{content:"\26A0\FE0E";display:inline-block;margin-right:.45em;font-weight:700}.msg-warn{margin:8px 0 0;padding:10px 12px;border-radius:var(--r);background:#FFF8E6;border:1.5px solid #B7791F;color:#5C3B05;font-size:.95rem;line-height:1.45}.msg-warn[hidden]{display:none}.msg-note{margin:8px 0 0;font-size:.92rem;color:var(--note);min-height:1.4em}details.opts{margin:0}details.opts summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}details.opts summary::-webkit-details-marker{display:none}details.opts summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg);transition:transform .15s}details.opts[open] summary::before{transform:rotate(45deg)}.opt-grid{display:grid;gap:14px;margin-top:6px}.opt-grid label{display:block;font-weight:600;font-size:.92rem}.opt-grid output{font-family:var(--mono);color:var(--muted);font-weight:400}input[type=color]{display:block;width:100%;height:46px;border:1.5px solid #AEB8C7;border-radius:var(--r);background:#fff;padding:4px;cursor:pointer}input[type=range]{width:100%;height:32px;accent-color:var(--accent)}.opt-grid .check{align-self:end}.check{display:flex!important;align-items:center;gap:12px;min-height:44px}.check input{width:22px;height:22px;accent-color:var(--accent)}.opt-note{font-size:.85rem;color:var(--muted);margin:2px 0 0}.label-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:2px;box-shadow:0 1px 0 var(--line),0 18px 36px -22px rgba(11,18,32,.5);padding-top:12px}.label-card::before{content:"";position:absolute;left:0;right:0;top:-1px;height:12px;background:radial-gradient(circle at 8px 0,#F1F4F8 5px,transparent 5.5px) 0 0/16px 12px repeat-x}.stage{position:relative;min-height:200px;display:flex;align-items:center;justify-content:center;padding:26px 16px 22px}.stage svg{display:block}.stage-empty{display:none;margin:0;color:var(--muted);text-align:center;font-size:.95rem}.stage[data-state="empty"] .stage-empty,.stage[data-state="error"] .stage-empty{display:block}.stage[data-state="error"] .stage-empty{color:var(--err)}.label-foot{border-top:1.5px dashed #C5CEDB;padding:14px 16px 16px}.out-meta{display:flex;justify-content:space-between;gap:8px;margin:0 0 12px;font:600 .88rem var(--mono);color:var(--muted);word-break:break-all;min-height:1.4em}.out-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.out-btns .btn{min-height:50px;padding:0 8px;font-size:.93rem;white-space:nowrap}.out-btns .btn-print{grid-column:1/-1}@media (min-width:880px){.tool-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"f o" "p o"}.tool-fields{grid-area:f;padding:28px 28px 8px}.tool-opts{grid-area:p;padding:0 28px 28px;align-self:start}.tool-out{grid-area:o;border:0;border-left:1px solid var(--line);padding:28px}.out-sticky{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow-y:auto;padding:6px;margin:-6px}.stage{min-height:250px}.opt-grid{grid-template-columns:1fr 1fr}.opt-note{grid-column:1/-1}.out-btns{grid-template-columns:1fr 1fr 1fr}.out-btns .btn-print{grid-column:auto}}.sc-grid{padding:20px 18px}.sc-btns{display:flex;gap:10px;flex-wrap:wrap}.sc-btns .btn{flex:1 1 200px}input.sr:focus-visible+label{outline:3px solid #1A73E8;outline-offset:2px}.sc-frame{margin-top:16px;border-radius:12px;overflow:hidden;background:#000;position:relative}.sc-frame[hidden]{display:none}.sc-frame video{display:block;width:100%;max-height:60vh;object-fit:cover}#sc-status{margin-top:14px}#sc-status[hidden]{display:none}.sc-out{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.sc-out[hidden]{display:none}.sc-out h2{font-size:1.2rem}.sc-out pre{white-space:pre-wrap;word-break:break-word;background:#F1F4F8;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font:.95rem/1.5 var(--mono);margin:0 0 12px}.sc-out ul{padding-left:1.2em}#sc-actions{margin:0 0 12px}@media (min-width:880px){.sc-grid{padding:28px;max-width:760px}}.privacy-line{font-size:.9rem;color:var(--muted);margin:10px 2px 0}.facts{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.97rem}.facts th,.facts td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.facts tr:last-child th,.facts tr:last-child td{border-bottom:0}.facts th{width:34%;font-weight:700;background:#FAFBFC}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.compare th,.compare td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.compare thead th{background:#FAFBFC;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.compare{width:100%;min-width:560px;border-collapse:collapse;background:var(--surface);border:1px solid var(--line)}.two-col{display:grid;gap:28px}.callout{background:var(--accent-soft);border:1px solid #C3CCFF;border-radius:var(--r);padding:16px 18px;max-width:46rem}.callout h2,.callout h3{margin:0 0 .4em;font-size:1.05rem}.callout p:last-child{margin:0}.cards{display:grid;grid-template-columns:1fr;gap:12px;list-style:none;margin:0;padding:0}.card{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);height:100%}.card:hover{border-color:var(--accent);box-shadow:0 8px 22px -14px rgba(39,64,238,.45);color:var(--ink)}.card svg{flex:none;width:44px;height:44px}.card strong{display:block;font-size:1.02rem;margin-bottom:2px}.card span{color:var(--muted);font-size:.93rem;line-height:1.45;display:block}@media (min-width:600px){.cards{grid-template-columns:1fr 1fr}}@media (min-width:980px){.cards{grid-template-columns:repeat(3,1fr)}.two-col{grid-template-columns:1fr 1fr;gap:48px}}.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 1em}.steps li{counter-increment:s;position:relative;padding-left:44px;margin-bottom:14px}.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.95rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;max-width:46rem}.faq summary{cursor:pointer;font-weight:700;padding:14px 16px;min-height:48px;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.4rem;font-weight:400;line-height:1;color:var(--accent-d)}.faq details[open] summary::after{content:"\2212"}.faq details p{margin:0;padding:0 16px 16px}.faq details p+p{padding-top:0}@media (min-width:600px){.cards--one{grid-template-columns:1fr}}@media (min-width:980px){.cards--one{grid-template-columns:1fr}}.cards--one{grid-template-columns:1fr}.mt{margin-top:14px}.ad-slot{display:none}.ads-on .ad-slot{display:block;margin:28px auto;max-width:var(--wrap);padding:0 18px;min-height:280px;text-align:center}.ads-on .ad-slot::before{content:"Advertisement";display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.ads-on .ad-slot--side{display:none}@media (min-width:1180px){.ads-on .ad-slot--side{display:block}}.site-footer{background:#101828;color:#C4CCDA;margin-top:48px;padding:44px 0 28px;font-size:.95rem}.site-footer a{color:#E6EBF3;text-decoration:none}.site-footer a:hover{text-decoration:underline;color:#fff}.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}.foot-grid h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#8FA0B8;margin:0 0 12px;font-weight:700}.foot-grid ul{list-style:none;margin:0;padding:0}.foot-grid li{margin-bottom:2px}.foot-grid a{display:inline-block;padding:6px 0}.foot-brand{grid-column:1/-1;max-width:30rem}.foot-brand .logo{color:#fff;margin-bottom:10px}.foot-brand .logo i{color:#8FA2FF}.foot-legal{border-top:1px solid #243049;margin-top:30px;padding-top:18px;font-size:.88rem;color:#8FA0B8}@media (min-width:860px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}}.page{padding:30px 0 20px}.page .prose h2{margin-top:1.6em}.updated{color:var(--muted);font-size:.92rem}#print-area{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}details.opts summary::before{transition:none}}@media print{body>*:not(#print-area){display:none!important}#print-area{display:block!important}.print-sheet{padding:16mm;text-align:left}.print-sheet p{font:12px system-ui,sans-serif;margin:8px 0 0;color:#444}body{background:#fff}}.lbl.sub{margin-top:12px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:6px}.gallery.icons{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}.tile{position:relative;display:block;cursor:pointer}.tile .thumb{display:grid;place-items:center;aspect-ratio:1;padding:6px;border:2px solid var(--line);border-radius:10px;background:#fff}.gallery.icons .thumb{padding:9px}.tile .thumb svg{display:block;width:100%;height:100%}.tile:hover .thumb{border-color:#9AA6B8}.tile input:checked+.thumb{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tile input:focus-visible+.thumb{outline:3px solid #1A73E8;outline-offset:2px}.mini-preview{position:fixed;right:12px;bottom:12px;z-index:40;display:block;width:108px;padding:6px 6px 4px;background:#fff;border:1.5px solid var(--line);border-radius:12px;box-shadow:0 12px 30px -8px rgba(11,18,32,.5);cursor:pointer;font:inherit}.mini-box{display:block}.mini-box svg{display:block;width:100%;height:100px}.mini-cap{display:block;margin-top:3px;font:700 .72rem var(--sans);color:var(--accent-d);text-align:center}@media (min-width:880px){.mini-preview{display:none!important}}@media print{.mini-preview{display:none!important}}.qr-grid .tool-left{display:contents}.qr-grid .tool-fields{order:1}.qr-grid .tool-out{order:2}.qr-grid .tool-opts{order:3}@media (min-width:880px){.qr-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"l o";height:clamp(580px,calc(100vh - 110px),800px)}.qr-grid .tool-left{display:block;grid-area:l;overflow-y:auto;min-height:0}.qr-grid .tool-fields{padding:28px 28px 8px}.qr-grid .tool-opts{padding:0 28px 28px}.qr-grid .tool-out{grid-area:o;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:center}.qr-grid .out-sticky{position:static;max-height:none;overflow:visible;padding:0;margin:0}.qr-grid .tool-left,.qr-grid .tool-out{scrollbar-width:thin}}