*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;color:#1a202c;line-height:1.6;background:#fff}a{color:#0f4c81}
.wrap,main{max-width:1000px;margin:auto;padding:0 20px}main{padding-top:28px;padding-bottom:40px}
.nav{background:#0f4c81;position:sticky;top:0;z-index:10}.navin{display:flex;align-items:center;justify-content:space-between;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem}.logo{border-radius:9px;display:block}
.menu{list-style:none;display:flex;gap:18px;margin:0;padding:0}.menu a{color:#fff;text-decoration:none;font-weight:600}.menu a[aria-current],.menu a:hover{color:#f6a609}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger span{display:block;width:24px;height:3px;background:#fff;margin:4px 0;border-radius:2px}
h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;color:#0f4c81;margin:.2em 0}.lead{font-size:1.15rem;color:#333}
.btn{display:inline-block;background:#f6a609;color:#000;padding:13px 22px;border-radius:8px;font-weight:700;text-decoration:none;border:0;font-size:1rem;cursor:pointer;text-align:center;margin:6px 0}
.btn.ghost{background:#fff;border:2px solid #0f4c81;color:#0f4c81}.btn.full{display:block;width:100%}.ctas{margin:22px 0}
.sec{margin:36px 0}.grid2,.grid3{display:grid;gap:16px}.grid2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:#f4f7fb;border-radius:12px;padding:18px;margin:0}.card.hl{background:#fff7e0;border:2px solid #f6a609}.card.link{text-decoration:none;color:inherit;display:block}.card.link:hover{outline:2px solid #0f4c81}
.price{font-size:2rem;font-weight:800;margin:0}.small{font-size:.88rem;color:#555}blockquote{font-style:italic}
details{background:#f4f7fb;border-radius:10px;padding:12px 16px;margin:8px 0}summary{font-weight:700;cursor:pointer}
footer{background:#0b2e4f;color:#cbd5e0;padding:30px 0 10px;margin-top:40px}footer a{color:#fff;display:block;text-decoration:none;margin:3px 0}footer .brand{display:flex}footer .small{color:#9fb0c3}.fgrid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.appbox{max-width:600px}label{display:block;font-weight:600;margin:12px 0 4px}input,textarea{width:100%;padding:12px;font-size:16px;border:1px solid #cbd5e0;border-radius:8px;font-family:inherit}
canvas{width:100%;height:180px;background:#fff;border:2px dashed #0f4c81;border-radius:8px;touch-action:none;display:block}.msg{color:#b00020;font-weight:600;min-height:1em}#buy{max-width:600px;margin-top:24px}
@media(max-width:760px){.burger{display:block}.menu{display:none;position:absolute;top:60px;left:0;right:0;background:#0f4c81;flex-direction:column;padding:10px 20px 18px;gap:12px}.menu.open{display:flex}}
.cc{position:fixed;left:12px;right:12px;bottom:12px;z-index:1000;display:flex;justify-content:center}.cc[hidden]{display:none}.cc-in{background:#fff;color:#1a202c;border:1px solid #d6e0ea;border-top:4px solid #0f4c81;border-radius:12px;box-shadow:0 10px 30px rgba(11,46,79,.25);padding:16px 18px;max-width:640px;width:100%}.cc-t{font-weight:700;margin:0 0 4px;color:#0b2e4f}.cc-in p{margin:0 0 10px;font-size:.95rem}.cc-in a{color:#0f4c81}.cc-b{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.cc-b .btn{margin:0;min-width:110px;min-height:44px}@media(max-width:480px){.cc-b .btn{flex:1}}.cookie-link{background:none;border:0;padding:0;margin:3px 0;color:#fff;font:inherit;cursor:pointer;text-align:left;text-decoration:underline}.cookie-link:focus-visible,.cc .btn:focus-visible{outline:3px solid #f6ad55;outline-offset:2px}
select{width:100%;padding:12px;font-size:16px;border:1px solid #cbd5e0;border-radius:8px;background:#fff;font-family:inherit}
.row2{display:grid;grid-template-columns:2fr 1fr;gap:12px}fieldset.mode{border:1px solid #cbd5e0;border-radius:8px;margin:14px 0;padding:8px 12px}legend{font-weight:700}
label.opt{font-weight:500;display:flex;gap:8px;align-items:flex-start}label.opt input{width:auto;margin-top:6px}
#share{max-width:600px;margin-top:20px;border:2px solid #25d366}.doc{margin:10px 0;max-width:600px}.doc .btn{padding:8px 14px;font-size:.9rem}
dl.rows dt{font-weight:700;margin-top:10px;color:#0f4c81}dl.rows dd{margin:0;white-space:pre-wrap}.sigimg{max-width:240px;border-bottom:1px solid #999;display:block}
.tryfree{margin-top:30px;border:2px solid #f6a609}.demo{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center}.demo video{width:100%;max-width:280px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.2);background:#000}
@media(max-width:760px){.demo{grid-template-columns:1fr}.demo video{margin:auto;display:block}}.trust{display:flex;flex-wrap:wrap;gap:14px;font-weight:600;color:#0b2e4f;margin:10px 0}
[hidden]{display:none!important}
.spin{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:scspin .7s linear infinite}
@keyframes scspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
.ppsub{min-height:50px}
.m0{margin:0!important}.pb20{padding-bottom:20px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0b2545;color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:15px;z-index:9999;max-width:90vw}
.lp-nav{background:#0f4c81;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}
.lp-nav a.brand{color:#fff;text-decoration:none;font-weight:800;display:flex;align-items:center;gap:10px}
.lp main{max-width:720px;margin:auto;padding:28px 20px 48px}
.lp .demo{grid-template-columns:1fr;}
.lp .demo video{margin:16px auto;display:block}
/* tools */
.tool{background:#f5f8fc;border:1px solid #d6e2f0;border-radius:12px;padding:18px;margin:20px 0}
.tool label{display:block;font-weight:600;margin:10px 0 4px;font-size:.95rem}
.tool input,.tool select,.tool textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #b9c8da;border-radius:8px;font-size:16px;font-family:inherit;background:#fff}
.tool .row{display:grid;grid-template-columns:1fr;gap:0 14px}
@media(min-width:600px){.tool .row{grid-template-columns:1fr 1fr}}
.tool .chk{display:flex;gap:8px;align-items:center}.tool .chk input{width:auto}
.out{background:#fff;border-left:4px solid #f6a609;padding:12px 16px;margin-top:16px;border-radius:6px}
.out .big{font-size:1.35rem;font-weight:800;color:#0f4c81}
.lines{width:100%;border-collapse:collapse;margin-top:8px}.lines td{padding:3px}.lines td:nth-child(2),.lines td:nth-child(3){width:22%}.lines td:last-child{width:36px}
.lines .rm{border:0;background:#e9eef5;border-radius:6px;padding:8px 10px;cursor:pointer}
.doc{background:#fff;border:1px solid #ccd;padding:18px;border-radius:6px;overflow-x:auto}
.doc-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0}
.doc-t{width:100%;border-collapse:collapse;font-size:.92rem}.doc-t th,.doc-t td{border-bottom:1px solid #e3e3e3;padding:6px;text-align:left}
.tot{text-align:right}.sig{margin-top:28px}
.toolgrid{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:600px){.toolgrid{grid-template-columns:1fr 1fr}}
.toolgrid a{display:block;border:1px solid #d6e2f0;border-radius:10px;padding:16px;text-decoration:none;color:inherit;background:#fff}
.toolgrid a b{color:#0f4c81;display:block;margin-bottom:4px}
.stats li{margin:10px 0}.src{font-size:.85rem}
.cta-box{background:#0f4c81;color:#fff;border-radius:12px;padding:18px;margin:28px 0}.cta-box a.btn{margin-top:8px}.cta-box p{color:#fff}
@media print{header.nav,footer,.cc,.noprint,.faq,.cta-box,.sec,main>p,main>h2,main>ul,main>ol,main>h1,.tool form{display:none!important}.tool{border:0;background:none;padding:0}.out{border:0}}

/* icons (Lucide-style, MIT) */
.ic{display:inline-flex;align-items:center;gap:.42em}
.ic::before{content:"";flex:none;width:1.05em;height:1.05em;background-color:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:transform .18s ease}
a.ic,button.ic{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
a.ic:hover::before,button.ic:hover::before{transform:translateX(2px) scale(1.12)}
a.ic:active,button.ic:active{transform:scale(.97)}
a.ic:focus-visible,button.ic:focus-visible{outline:3px solid #f5a623;outline-offset:2px;border-radius:6px}
.btn.ic{justify-content:center}
footer a.ic{display:flex;width:fit-content}
footer p a.ic,footer small a.ic{display:inline-flex;vertical-align:middle;margin:0}
@media (prefers-reduced-motion:reduce){.ic::before,a.ic,button.ic{transition:none}a.ic:hover::before,button.ic:hover::before,a.ic:active,button.ic:active{transform:none}}
.i-home{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2010l9-7%209%207v10a1%201%200%200%201-1%201h-5v-6H9v6H4a1%201%200%200%201-1-1z%22/%3E%3C/svg%3E")}
.i-pen{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020h9%22/%3E%3Cpath%20d%3D%22M16.5%203.5a2.1%202.1%200%200%201%203%203L7%2019l-4%201%201-4z%22/%3E%3C/svg%3E")}
.i-wrench{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.8-3.8a6%206%200%200%201-7.9%207.9l-6.9%206.9a2.1%202.1%200%200%201-3-3l6.9-6.9a6%206%200%200%201%207.9-7.9z%22/%3E%3C/svg%3E")}
.i-briefcase{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%2220%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M16%2021V5a2%202%200%200%200-2-2h-4a2%202%200%200%200-2%202v16%22/%3E%3C/svg%3E")}
.i-info{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22M12%2016v-4M12%208h.01%22/%3E%3C/svg%3E")}
.i-book{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2019.5A2.5%202.5%200%200%201%206.5%2017H20V2H6.5A2.5%202.5%200%200%200%204%204.5z%22/%3E%3Cpath%20d%3D%22M6.5%2017A2.5%202.5%200%200%200%204%2019.5%202.5%202.5%200%200%200%206.5%2022H20v-5%22/%3E%3C/svg%3E")}
.i-help{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Cpath%20d%3D%22M9.1%209a3%203%200%200%201%205.8%201c0%202-3%203-3%203M12%2017h.01%22/%3E%3C/svg%3E")}
.i-mail{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M22%207l-10%206L2%207%22/%3E%3C/svg%3E")}
.i-stats{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18%22/%3E%3Cpath%20d%3D%22M18%2017V9M13%2017V5M8%2017v-3%22/%3E%3C/svg%3E")}
.i-tag{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.6%2013.4l-7.2%207.2a2%202%200%200%201-2.8%200L2%2012V2h10l8.6%208.6a2%202%200%200%201%200%202.8z%22/%3E%3Cpath%20d%3D%22M7%207h.01%22/%3E%3C/svg%3E")}
.i-lock{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%2211%22%20width%3D%2218%22%20height%3D%2211%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M7%2011V7a5%205%200%200%201%2010%200v4%22/%3E%3C/svg%3E")}
.i-file{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%22/%3E%3Cpath%20d%3D%22M14%202v6h6M16%2013H8M16%2017H8%22/%3E%3C/svg%3E")}
.i-download{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4M7%2010l5%205%205-5M12%2015V3%22/%3E%3C/svg%3E")}
.i-pin{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22/%3E%3C/svg%3E")}
.i-arrow{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M12%205l7%207-7%207%22/%3E%3C/svg%3E")}
.i-copy{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%2213%22%20height%3D%2213%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M5%2015H4a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h9a2%202%200%200%201%202%202v1%22/%3E%3C/svg%3E")}
.i-chat{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2011.5a8.4%208.4%200%200%201-9%208.4%208.5%208.5%200%200%201-3.8-.9L3%2021l1.9-5.7A8.5%208.5%200%201%201%2021%2011.5z%22/%3E%3C/svg%3E")}
.i-trash{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M8%206V4h8v2M19%206l-1%2014H6L5%206%22/%3E%3C/svg%3E")}
.i-gift{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012v10H4V12M2%207h20v5H2zM12%2022V7M12%207H7.5a2.5%202.5%200%200%201%200-5C11%202%2012%207%2012%207zM12%207h4.5a2.5%202.5%200%200%200%200-5C13%202%2012%207%2012%207z%22/%3E%3C/svg%3E")}
.i-card{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%2222%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M1%2010h22%22/%3E%3C/svg%3E")}
.i-check{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206L9%2017l-5-5%22/%3E%3C/svg%3E")}
.i-x{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%206L6%2018M6%206l12%2012%22/%3E%3C/svg%3E")}
.i-gear{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M12%201v3M12%2020v3M4.2%204.2l2.1%202.1M17.7%2017.7l2.1%202.1M1%2012h3M20%2012h3M4.2%2019.8l2.1-2.1M17.7%206.3l2.1-2.1%22/%3E%3C/svg%3E")}
.i-key{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%2215.5%22%20r%3D%225.5%22/%3E%3Cpath%20d%3D%22M21%202l-9.6%209.6M15.5%207.5l3%203L22%207l-3-3%22/%3E%3C/svg%3E")}
.i-more{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221%22/%3E%3C/svg%3E")}
.i-calc{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%2216%22%20height%3D%2220%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%206h8M8%2010h.01M12%2010h.01M16%2010h.01M8%2014h.01M12%2014h.01M16%2014h.01M8%2018h8%22/%3E%3C/svg%3E")}
.i-ext{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%2017L17%207M7%207h10v10%22/%3E%3C/svg%3E")}
.i-send{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%202L11%2013M22%202l-7%2020-4-9-9-4z%22/%3E%3C/svg%3E")}
.ic[hidden]{display:none!important}
.i-clock{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3%202%22/%3E%3C/svg%3E")}
.i-percent{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%205L5%2019%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%222.5%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%222.5%22/%3E%3C/svg%3E")}
.i-dollar{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v20M17%206H9.5a3.5%203.5%200%20000%207h5a3.5%203.5%200%20010%207H6%22/%3E%3C/svg%3E")}
.i-receipt{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%202h14v20l-3-2-2%202-2-2-2%202-2-2-3%202z%22/%3E%3Cpath%20d%3D%22M9%207h6M9%2011h6M9%2015h4%22/%3E%3C/svg%3E")}
.i-clip{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2214%22%20height%3D%2218%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9%202h6v4H9zM9%2012l2%202%204-4%22/%3E%3C/svg%3E")}
.i-shield{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22/%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22/%3E%3C/svg%3E")}
.i-star{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202l3.1%206.3%206.9%201-5%204.9%201.2%206.8L12%2017.8%205.8%2021l1.2-6.8-5-4.9%206.9-1z%22/%3E%3C/svg%3E")}
.i-chev{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22/%3E%3C/svg%3E")}/* ===== Beautify v2 (2026-11-04) ===== */
:root{--b:#0f4c81;--b2:#1a6bb0;--bd:#0b2e4f;--a:#f6a609;--ink:#1a202c;--mut:#4a5568;--line:#e3ebf5;--r:14px;--sh:0 1px 2px rgba(15,76,129,.06),0 4px 14px rgba(15,76,129,.07);--sh2:0 2px 4px rgba(15,76,129,.08),0 14px 34px rgba(15,76,129,.14)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:1.0625rem;line-height:1.65;color:var(--ink)}
h1{letter-spacing:-.02em;font-weight:800}h2{font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.25;letter-spacing:-.01em;color:var(--bd);margin:1.6em 0 .6em}h3{line-height:1.3;color:var(--bd)}
.lead{color:var(--mut);font-size:clamp(1.06rem,1.8vw,1.22rem);max-width:62ch}
.nav{background:linear-gradient(90deg,#0b2e4f,#0f4c81 60%,#155a96);box-shadow:0 2px 12px rgba(11,46,79,.25)}
.menu a{padding:6px 10px;border-radius:8px}.menu a:hover,.menu a[aria-current]{background:rgba(255,255,255,.1)}
main>h1:first-child{padding-top:10px}
main{position:relative;isolation:isolate}
main::before{content:"";position:absolute;left:0;right:0;top:0;height:420px;z-index:-1;background:radial-gradient(60% 70% at 15% 0%,rgba(26,107,176,.12),transparent 70%),radial-gradient(45% 60% at 95% 10%,rgba(246,166,9,.13),transparent 70%);pointer-events:none}
.btn{border-radius:12px;padding:13px 22px;box-shadow:0 2px 0 rgba(0,0,0,.08),0 6px 16px rgba(246,166,9,.28);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn:hover{background:#ffb627;transform:translateY(-2px);box-shadow:0 4px 0 rgba(0,0,0,.06),0 12px 24px rgba(246,166,9,.34)}
.btn.ghost{background:#fff;border:2px solid var(--b);color:var(--b);box-shadow:var(--sh)}.btn.ghost:hover{background:#eef5fc}
.btn.secondary{background:var(--b);color:#fff;box-shadow:0 6px 16px rgba(15,76,129,.25)}.btn.secondary:hover{background:var(--b2)}
.btn.text{background:none;box-shadow:none;color:var(--b);padding:10px 6px}.btn.text:hover{text-decoration:underline;transform:none}
.btn:focus-visible,summary:focus-visible,.tcard:focus-visible{outline:3px solid #f5a623;outline-offset:3px}
.sec{margin:56px 0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh);transition:transform .2s ease,box-shadow .2s ease}
.card.link:hover{outline:0;transform:translateY(-3px);box-shadow:var(--sh2)}
.grid3 .card:has(.price){display:flex;flex-direction:column}.grid3 .card:has(.price) .btn{margin-top:auto}
.price{font-size:2.3rem;font-weight:800;color:var(--bd);margin:.2em 0;letter-spacing:-.02em}.price small{font-size:.95rem;font-weight:600;color:var(--mut)}
.card ul{padding-left:0;list-style:none}.card ul li{padding:4px 0 4px 26px;position:relative}.card ul li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px;background:#1f9d55;-webkit-mask:var(--ok) center/contain no-repeat;mask:var(--ok) center/contain no-repeat}
.card{--ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
.card.hl{position:relative;background:linear-gradient(180deg,#fffaf0,#fff);border:2px solid var(--a);box-shadow:0 10px 30px rgba(246,166,9,.22)}
@media(min-width:900px){.card.hl{transform:translateY(-8px)}}
.badge{position:absolute;top:-13px;right:16px;background:var(--a);color:#000;font-size:.8rem;font-weight:800;padding:4px 11px;border-radius:999px;box-shadow:0 4px 10px rgba(246,166,9,.35)}
.trustrow{list-style:none;padding:0;margin:22px 0 8px;display:flex;flex-wrap:wrap;gap:10px}.trustrow li{background:#f1f6fb;border:1px solid var(--line);color:var(--bd);font-weight:600;font-size:.9rem;padding:7px 12px;border-radius:999px}.trustrow li::before{color:#1f9d55}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0;box-shadow:var(--sh);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:700;color:var(--bd);position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:18px;height:18px;margin-top:-9px;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;transition:transform .2s ease}
.faq{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.faq details[open] summary::after{transform:rotate(180deg)}.faq details[open]{border-color:#c9dbef}.faq details p{padding:0 18px 16px;margin:0;color:var(--mut)}
table{border-collapse:separate;border-spacing:0;width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--sh)}th{background:#f1f6fb;color:var(--bd);text-align:left}th,td{padding:10px 14px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}tbody tr:nth-child(even){background:#fafcfe}
.cta-box{background:linear-gradient(135deg,#0b2e4f,#0f4c81 55%,#1a6bb0);border-radius:18px;padding:28px;box-shadow:var(--sh2)}
.toolgrid{gap:18px}
.toolgrid a.tcard{position:relative;display:block;padding:20px 20px 20px 78px;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);color:var(--mut);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.toolgrid a.tcard:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:#c9dbef}
.tcard .tic{position:absolute;left:18px;top:20px;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#e8f1fb,#fff4dc)}
.tcard .tic::before{content:"";position:absolute;inset:11px;background:var(--b);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:transform .2s ease}
.tcard:hover .tic::before{transform:scale(1.12) rotate(-4deg)}
.cite{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#f3f8fd,#fffaf0);border:1px solid #d6e5f4;border-radius:16px;padding:20px 22px;margin:24px 0;box-shadow:var(--sh)}
.cite p{margin:0 0 12px}.cite-ic{flex:none;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--b);justify-content:center;font-size:1.3rem;box-shadow:var(--sh)}
.cite-btns{display:flex;flex-wrap:wrap;gap:10px}.cite-btns .btn{margin:0}.cite .btn.copied{background:#1f9d55;color:#fff;border-color:#1f9d55}.cite-st{font-size:.9rem;color:#1f6b3c;min-height:1.2em;margin:8px 0 0!important}
ol.stats li{margin:10px 0;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(15,76,129,.05)}
footer{background:linear-gradient(180deg,#0b2e4f,#08233d)}footer a:hover{color:var(--a)}
@media(max-width:600px){.sec{margin:40px 0}.cite{flex-direction:column}.cite-btns .btn{width:100%}.toolgrid a.tcard{padding-left:74px}.cta-box{padding:22px}}
@media (prefers-reduced-motion:reduce){*,.btn,.card,.tcard,.tcard .tic::before,.faq summary::after{transition:none!important}.btn:hover,.card.link:hover,.toolgrid a.tcard:hover,.card.hl{transform:none!important}}
button.btn{font-family:inherit}
@media(min-width:861px){.menu{gap:4px}.menu a{white-space:nowrap;padding:6px 9px}}
/* form v3 */
fieldset.grp{border:1px solid #dbe3ec;border-radius:10px;margin:14px 0;padding:6px 12px 12px}fieldset.grp legend{font-weight:700;color:#0f4c81;padding:0 4px}
.row2e{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.row2e{grid-template-columns:1fr;gap:0}canvas{height:240px}}
.ferr{color:#b00020;font-size:14px;margin:4px 0 0;min-height:0}.ferr:empty{display:none}[aria-invalid=true]{border-color:#b00020!important;box-shadow:0 0 0 2px rgba(176,0,32,.15)}
textarea.ph,input.ph{background:#fff8e1;border-color:#e0a800}
.btn.sm{padding:6px 10px;font-size:14px;min-height:36px}.btn.danger{color:#b00020;border-color:#e3b2ba}
.pline{display:grid;grid-template-columns:1fr 110px 44px;gap:6px;margin:6px 0}.pline input{margin:0}
.totals{background:#f3f7fb;border-radius:8px;padding:8px 12px;margin-top:10px}.trow{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.trow.tb{font-weight:700;border-top:1px solid #cbd5e0;margin-top:4px;padding-top:6px}
.agreetxt{background:#eef4fb;border-left:4px solid #0f4c81;padding:10px 12px;border-radius:6px;font-size:14px;margin:12px 0}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumb{display:flex;flex-direction:column;gap:4px;width:96px}.thumb img{width:96px;height:72px;object-fit:cover;border-radius:6px;border:1px solid #cbd5e0}
.sigtabs{margin:4px 0}.tplrow{margin:6px 0}
.stb{display:inline-block;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:700;background:#eceff3;color:#334}.stb.ok{background:#e3f6e8;color:#1b6b34}.stb.wait{background:#fff4d6;color:#7a5600}.stb.no{background:#fde7ea;color:#9b1c2c}.stb.new{background:#0f4c81;color:#fff}
blockquote.reason{margin:6px 0;padding:8px 10px;background:#fdf1f3;border-left:3px solid #c0392b;border-radius:4px;font-size:14px}.warnx{color:#7a5600}
.live{background:#fff8e1;border-radius:8px;padding:10px 12px;font-weight:600}.live.ok{background:#e3f6e8;color:#1b6b34}.live.no{background:#fde7ea;color:#9b1c2c}
.keywarn{background:#fff4d6;border:1px solid #e0a800;border-radius:8px;padding:8px 10px;font-size:14px}
.vlink{display:inline-block;margin-top:6px}.attimg{max-width:100%;border-radius:8px;border:1px solid #cbd5e0;margin:6px 0}
.declinebox{margin-top:18px;border-top:1px solid #dbe3ec;padding-top:10px}.vrow{display:grid;grid-template-columns:160px 1fr;gap:6px;padding:6px 0;border-bottom:1px solid #eef1f5}.vrow code{word-break:break-all;font-size:12px}@media(max-width:560px){.vrow{grid-template-columns:1fr}}
.vstat{font-size:20px;font-weight:800;margin:6px 0}

/* PRO badge (shown only when the server reports Pro via /account/me) */
.probadge{display:inline-flex;align-items:center;gap:.28em;padding:.16em .55em .16em .45em;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.08em;line-height:1.3;color:#5a3a00;background:linear-gradient(135deg,#ffe08a,#f5a623);box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,255,255,.45);vertical-align:middle;white-space:nowrap}
.probadge[hidden]{display:none}
.probadge svg{flex:none}
.probadge.nb{margin-left:.5em}
.isPro{display:flex;align-items:center;gap:.55em;font-weight:600}
summary .probadge{margin-left:.4em}
