:root{--r:#d32f29;--rd:#c4221d;--bg:#f6f7fb;--fg:#1c1d22;--mu:#5f6370;--bd:#e3e5ec;--card:#fff}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Tamil","Noto Sans Devanagari",sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--r)}.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.top{background:#fff;border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:10}.top .wrap{display:flex;align-items:center;gap:12px;min-height:56px}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--fg);margin-right:auto}.logo::first-letter{color:var(--r)}
details.menu,details.langs{position:relative}details>summary{cursor:pointer;list-style:none;padding:6px 10px;border-radius:8px;font-weight:600}details>summary::-webkit-details-marker{display:none}summary:hover{background:var(--bg)}
.top details nav{position:absolute;right:0;top:110%;background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 10px 30px #0002;padding:8px;display:grid;min-width:220px;max-height:70vh;overflow:auto}
.top .toolnav{grid-template-columns:repeat(2,minmax(150px,1fr))}.top details nav a{padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--fg)}.top details nav a:hover{background:var(--bg)}
.hero{text-align:center;padding:40px 0 24px}.hero h1{font-size:clamp(1.7rem,4.5vw,2.6rem);margin:0 0 10px;line-height:1.2}.hero.small{padding:28px 0 12px}.lead{color:var(--mu);max-width:720px;margin:0 auto;font-size:1.08rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:18px;text-decoration:none;color:var(--fg);display:flex;flex-direction:column;gap:6px;transition:transform .12s,box-shadow .12s}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0001}.card span:last-child{color:var(--mu);font-size:.93rem}
.ic{width:42px;height:42px;border-radius:10px;background:#fdecec;color:var(--r);display:grid;place-items:center;font-size:1.3rem;font-weight:700}
.beta{font-size:.65rem;background:#fff3cd;color:#8a6100;border-radius:6px;padding:2px 6px;vertical-align:middle}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:32px 0}.feats div{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px}.feats h2{font-size:1.1rem;margin:0 0 4px}.feats p{margin:0;color:var(--mu)}
.tool{background:#fff;border:1px solid var(--bd);border-radius:18px;padding:20px;margin:8px 0 20px}
.drop{display:flex;flex-direction:column;align-items:center;gap:10px;border:2px dashed #f2b4b2;border-radius:14px;padding:44px 16px;cursor:pointer;background:#fffafa;text-align:center}.drop.over{background:#fdecec;border-color:var(--r)}.hint{color:var(--mu)}
.btn{display:inline-block;background:var(--r);color:#fff;border:0;border-radius:10px;padding:11px 20px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{background:var(--rd)}.btn.big{font-size:1.15rem;padding:15px 34px}.btn.ghost{background:#fff;color:var(--fg);border:1px solid var(--bd)}.btn:disabled{opacity:.6;cursor:wait}
.priv{color:var(--mu);font-size:.9rem;text-align:center;margin:12px 0 0}
.files{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}.files li{display:flex;align-items:center;gap:8px;border:1px solid var(--bd);border-radius:10px;padding:8px 10px;background:var(--bg)}.files .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files button{border:1px solid var(--bd);background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer}
.opts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 16px}.opts label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.93rem}.opts input,.opts select{font:inherit;padding:9px 10px;border:1px solid var(--bd);border-radius:8px;background:#fff}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}.status{text-align:center;margin:12px 0 0;font-weight:600}.status.err{color:var(--rd)}
.preview{position:relative;display:inline-block;max-width:100%;border:1px solid var(--bd);cursor:crosshair;touch-action:manipulation}.preview canvas{display:block;max-width:100%;height:auto}.pv{text-align:center;margin:0 0 14px}
.mark{position:absolute;pointer-events:none;border:1px dashed var(--r);background:#e5322d14;font-size:12px;line-height:1.1;white-space:nowrap}
.sigpad{border:1px solid var(--bd);border-radius:10px;background:#fff;touch-action:none;width:100%;max-width:420px;height:150px}
.howto,.faq,.rel{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px 22px;margin:16px 0}.howto h2,.faq h2,.rel h2{font-size:1.2rem;margin:0 0 8px}.faq details{border-top:1px solid var(--bd);padding:10px 0}.faq summary{padding:0;font-weight:600}.faq p{margin:8px 0 0;color:var(--mu)}
.chip{display:inline-block;margin:4px;padding:6px 12px;border:1px solid var(--bd);border-radius:20px;text-decoration:none;color:var(--fg);font-size:.93rem}
.ad-slot{display:none}.ads-on .ad-slot{display:flex;align-items:center;justify-content:center;min-height:100px;margin:18px auto;max-width:728px;border-radius:10px;background:#fafafa;border:1px dashed var(--bd);color:#aaa;font-size:.75rem}
.foot{margin-top:40px;background:#fff;border-top:1px solid var(--bd);padding:24px 0;color:var(--mu);font-size:.9rem}.foot .toolnav{display:flex;flex-wrap:wrap;gap:6px 16px}.foot .toolnav a{color:var(--mu);text-decoration:none}
@media(max-width:600px){.top .toolnav{grid-template-columns:1fr}.tool{padding:14px}.drop{padding:32px 12px}}
details>summary{white-space:nowrap}:lang(ta) .hero h1,:lang(ta) .lead{line-height:1.45}
@media(max-width:600px){.mt{display:none}.top .wrap{gap:4px}:lang(ta) .hero h1{font-size:1.45rem}}
h2.cat{font-size:1.15rem;margin:26px 0 4px;color:var(--mu);text-transform:uppercase;letter-spacing:.04em}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:0 0 16px}
.thumb{position:relative;border:2px solid var(--bd);border-radius:10px;padding:6px;background:#fff;cursor:grab;user-select:none}.thumb .tc{transition:transform .15s}.thumb.del{opacity:.35;border-style:dashed}.thumb.sel{border-color:var(--r);box-shadow:0 0 0 2px #e5322d33}
.thumb .pn{position:absolute;top:4px;left:4px;background:#000a;color:#fff;font-size:11px;border-radius:5px;padding:0 5px}
.tb{display:flex;justify-content:space-between;margin-top:5px}.tb button{border:1px solid var(--bd);background:#fff;border-radius:6px;padding:2px 0;width:19%;cursor:pointer;font-size:13px}
.resview{margin-top:16px}.cmpwrap{max-height:70vh;overflow:auto;border:1px solid var(--bd);border-radius:10px}
/* ===== UI polish v2 ===== */
body{--c:var(--r)}.cat-organize{--c:#c8201b}.cat-edit{--c:#7b4ddb}.cat-convert{--c:#1a68c4}.cat-optimize{--c:#0b7a43}.cat-security{--c:#37474f}.cat-image{--c:#b35900}.cat-qr{--c:#111}.cat-ai{--c:#c2185b}.cat-media{--c:#00727d}.cat-data{--c:#5d4037}
.c-organize .ic{background:#fdecec;color:#e5322d}.c-edit .ic{background:#efe9fb;color:#7b4ddb}.c-convert .ic{background:#e6f0fc;color:#1f7ae0}.c-optimize .ic{background:#e5f5ec;color:#0f9d58}.c-security .ic{background:#eceff1;color:#37474f}.c-image .ic{background:#fdf1e3;color:#e07b00}.c-qr .ic{background:#eee;color:#111}.c-ai .ic{background:#fbe7ef;color:#c2185b}.c-media .ic{background:#e0f4f5;color:#00838f}.c-data .ic{background:#efebe9;color:#5d4037}
.toptools{background:#fff;border-bottom:1px solid var(--bd);overflow-x:auto;white-space:nowrap}.toptools .wrap{display:flex;gap:4px;padding-top:4px;padding-bottom:4px}.toptools a{padding:6px 10px;border-radius:8px;text-decoration:none;color:var(--fg);font-size:.92rem;font-weight:600;border-bottom:3px solid transparent}.toptools a:hover{background:var(--bg)}
.toptools .c-organize{border-color:#e5322d}.toptools .c-edit{border-color:#7b4ddb}.toptools .c-convert{border-color:#1f7ae0}.toptools .c-optimize{border-color:#0f9d58}.toptools .c-ai{border-color:#c2185b}.toptools .c-qr{border-color:#111}.toptools .c-image{border-color:#e07b00}
.hero.small h1{border-bottom:4px solid var(--c);display:inline-block;padding-bottom:4px}
.tool{padding:18px}
.stepper{display:flex;justify-content:center;gap:6px;list-style:none;padding:0;margin:0 0 14px;counter-reset:s;font-size:.9rem;color:var(--mu)}.stepper li{counter-increment:s;display:flex;align-items:center;gap:6px}.stepper li::before{content:counter(s);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--bd);color:var(--fg);font-weight:700}.stepper li+li::after{content:none}.stepper li:not(:last-child)::after{content:'→';margin-left:6px;color:#aaa}
.tool[data-step="1"] .s1,.tool[data-step="2"] .s2,.tool[data-step="3"] .s3{color:var(--fg);font-weight:700}.tool[data-step="1"] .s1::before,.tool[data-step="2"] .s2::before,.tool[data-step="3"] .s3::before{background:var(--c);color:#fff}
.tool[data-step="2"] .s1::before,.tool[data-step="3"] .s1::before,.tool[data-step="3"] .s2::before{content:'✓';background:#0f9d58;color:#fff}
.drop{border:2px dashed #c9ccd6;background:#fafbfd;padding:46px 16px 34px;gap:8px}.drop:hover{border-color:var(--c)}.drop.over{background:#f0f4ff;border-color:var(--c)}
.btn.huge{font-size:1.3rem;padding:20px 44px;border-radius:14px;background:var(--c);box-shadow:0 8px 20px #0003;min-width:min(340px,90%)}.btn.huge:hover{filter:brightness(.92)}
.drop .or{font-weight:600;color:var(--fg)}.drop .fmts{color:var(--mu);font-size:.88rem}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;list-style:none;padding:0;margin:12px 0 0;font-size:.88rem;color:#0b6b3a;font-weight:600}
.tool[data-step="3"] .trust{display:none}
.wk{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.wk{grid-template-columns:minmax(0,1fr) 340px}.side{position:sticky;top:70px;align-self:start}}
.isnofile .wk{grid-template-columns:1fr}@media(min-width:900px){.isnofile .wk{grid-template-columns:340px minmax(0,1fr)}.isnofile .side{order:-1}}
.side{background:#fafbfd;border:1px solid var(--bd);border-radius:14px;padding:14px}.sideh{font-size:1rem;margin:0 0 8px}
.side .opts{display:flex;flex-direction:column;gap:10px}.side .opts label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}.side .opts select,.side .opts input:not([type=checkbox]):not([type=radio]),.side .opts textarea{width:100%}
details.adv{border-top:1px dashed var(--bd);padding-top:8px}details.adv summary{font-weight:600;color:var(--mu);padding:4px 0}.advb{display:flex;flex-direction:column;gap:10px;padding-top:8px}
.side .actions{margin-top:14px}.side .actions .btn{width:100%;text-align:center}
@media(max-width:899px){.side .actions{position:sticky;bottom:0;background:#fafbfd;padding:10px 0;margin:10px -14px -14px;padding:10px 14px;border-top:1px solid var(--bd);border-radius:0 0 14px 14px;z-index:5}}
.fbar{display:flex;gap:8px;align-items:center;color:var(--mu);font-size:.9rem;margin-bottom:6px}.fbar span{margin-right:auto}.mini{border:1px solid var(--bd);background:#fff;border-radius:8px;padding:3px 8px;cursor:pointer;font:inherit;font-size:.85rem}
ul.files{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
ul.files li{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:4px;position:relative;cursor:default}ul.files li[draggable=true]{cursor:grab}ul.files li.drag{opacity:.4}ul.files li.dov{outline:2px dashed var(--c)}
.th{height:130px;display:grid;place-items:center;background:var(--bg);border-radius:8px;overflow:hidden}.th img{max-width:100%;max-height:130px;box-shadow:0 1px 4px #0003;transform:rotate(var(--rot,0deg));transition:transform .2s}.fi{font-size:2.4rem}
ul.files .nm{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ul.files small{color:var(--mu);font-size:.75rem}
.fa{display:flex;gap:4px;justify-content:flex-end}.fa button{border:1px solid var(--bd);background:#fff;border-radius:6px;width:28px;height:28px;cursor:pointer}
.addtile{border-style:dashed!important;padding:0!important}.addtile button{width:100%;height:100%;min-height:180px;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--c);font:inherit;font-weight:600}.addtile b{font-size:2.4rem;line-height:1;width:56px;height:56px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center}
.prog{display:flex;align-items:center;gap:8px;margin-top:10px}.prog .bar{flex:1;height:10px;background:var(--bd);border-radius:6px;overflow:hidden}.prog .bar i{display:block;height:100%;width:2%;background:var(--c);transition:width .2s}.prog.ind .bar i{width:35%!important;animation:ind 1.1s infinite linear}@keyframes ind{from{transform:translateX(-100%)}to{transform:translateX(300%)}}.pct{font-weight:700;min-width:3em;text-align:right}
.status.err{background:#fff2f1;border:1px solid #f5c2bf;border-radius:10px;padding:10px;color:#8a1c17}.status.err .mini{margin-left:6px}
.result{text-align:center;padding:10px 0}.rtop{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.rinfo{text-align:left}.rinfo h2{margin:0 0 6px}
.ok{width:96px;height:96px;border-radius:50%;background:#0f9d58;color:#fff;font-size:3rem;display:grid;place-items:center}
.ring{width:110px;height:110px;border-radius:50%;background:conic-gradient(#0f9d58 calc(var(--p)*1%),var(--bd) 0);display:grid;place-items:center;align-content:center;position:relative}.ring::before{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%}.ring b,.ring small{position:relative}.ring b{font-size:1.6rem;line-height:1}
.rn{display:flex;flex-direction:column;font-size:.85rem;color:var(--mu);gap:2px}.rn span{display:flex;align-items:center;gap:2px}.rn input{font:inherit;padding:6px 8px;border:1px solid var(--bd);border-radius:8px;min-width:0;width:220px}.sz{margin:6px 0 0;font-size:1.05rem}
.result .actions{display:flex;flex-direction:column;align-items:center;gap:8px}.result .btn.huge{background:#0f9d58}
.next{margin-top:18px;border-top:1px solid var(--bd);padding-top:12px}.next h3{font-size:1rem;margin:0 0 8px}.next .chip{margin:3px}
.ad-slot{margin:28px 0}
.lvcards{display:flex;flex-direction:column;gap:8px}.lvc{display:block!important;border:2px solid var(--bd);border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff;position:relative}.lvc input{position:absolute;opacity:0}.lvc.on{border-color:var(--c);box-shadow:0 0 0 3px #0f9d5822}.lvc b{display:block;font-size:1rem}.lvc span{display:block;font-weight:400;color:var(--mu);font-size:.85rem}.lvc .est{display:block;font-style:normal;font-weight:700;color:#0b6b3a;font-size:.9rem;margin-top:2px}.rec{color:#e0a800}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
[hidden]{display:none!important}
.sstrip{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px}.sp{display:flex;flex-direction:column;align-items:center;gap:2px}.spc{width:90px;min-height:110px;display:grid;place-items:center;background:var(--bg);border-radius:6px}.spc canvas{max-width:90px;box-shadow:0 1px 4px #0003}
.cutb{width:30px;height:60px;border:1px dashed #bbb;border-radius:8px;background:#fff;cursor:pointer;font-size:1.1rem;color:#999}.cutb:hover{border-color:var(--c);color:var(--c)}.cutb.on{background:var(--c);color:#fff;border-style:solid;border-color:var(--c)}
.result{scroll-margin-top:72px}
.preview canvas{max-height:75vh;width:auto}
.checker img{background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0/20px 20px;max-width:100%;border-radius:8px;margin:4px}
.dtab{border-collapse:collapse;font-size:13px}.dtab th,.dtab td{border:1px solid #dde3ec;padding:4px 8px;text-align:left;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.dtab th{background:#f3f6fb}.zlist{list-style:none;padding:0;max-height:50vh;overflow:auto;text-align:left}.zlist li{padding:4px 0;border-bottom:1px solid #eef1f6}
.ubig{font-size:1.6rem;font-weight:700;margin:8px 0 12px;word-break:break-word}.tzout{display:grid;gap:8px;margin-top:8px}.tzrow{display:grid;grid-template-columns:1fr;padding:10px 12px;border:1px solid #dde3ec;border-radius:10px}.tzrow.src{background:#f3f7ff}.tzrow span{font-size:1.15rem;font-weight:600}.tzrow small{color:#667}
.crumbs{font-size:.85rem;margin:.8rem 0 0;color:#666}.crumbs a{color:inherit}
.guide,.cmp{margin:2rem 0}.guide ul{padding-left:1.2rem;line-height:1.6}
.cmp table{width:100%;border-collapse:collapse;font-size:.95rem}.cmp th,.cmp td{border:1px solid #ddd;padding:.5rem;text-align:left}.cmp thead th{background:#f6f6f6}
.foot .legal{margin:1rem 0}.page{max-width:760px;margin:2rem auto;line-height:1.65}
.foot .legal a{color:#555}

.tool[data-nofile="true"]{min-height:760px}
@media(min-width:760px){.tool[data-nofile="true"]{min-height:430px}}
@media(min-width:1000px){.tool[data-nofile="true"]{min-height:480px}}
@media(max-width:999px){.isnofile .custom{min-height:300px}.isnofile[data-tool=invoice] .custom,.isnofile[data-tool=colorpicker] .custom{min-height:0}}
/* tools3: AI text, chat, viewer, form fill, scanner, speech */
.aiout{line-height:1.6;max-height:60vh;overflow:auto;padding:.6rem 1rem;border:1px solid var(--bd,#ddd);border-radius:10px;background:var(--card,#fff)}
.aiout li{margin:.35rem 0}.aiout .pg{font-size:.78em;color:var(--mu,#666);margin-left:.3em;white-space:nowrap}
.chat{display:flex;flex-direction:column;gap:.5rem}.chlog{max-height:50vh;overflow:auto;display:flex;flex-direction:column;gap:.5rem}
.chq{align-self:flex-end;background:var(--rd,#e5322d);color:#fff;padding:.5rem .8rem;border-radius:12px 12px 2px 12px;max-width:85%}
.cha{align-self:flex-start;background:var(--soft,#f3f4f6);padding:.6rem .9rem;border-radius:12px 12px 12px 2px;max-width:95%;line-height:1.55}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chips .chip{cursor:pointer;border:1px solid var(--bd,#ddd);background:none;border-radius:999px;padding:.25rem .7rem;font:inherit;font-size:.85em}
.ffwrap{display:flex;flex-direction:column;align-items:center;gap:12px;max-height:75vh;overflow:auto;background:#e9eaee;padding:12px;border-radius:10px}
.ffpage{position:relative;box-shadow:0 1px 4px #0003;background:#fff}.ffpage canvas{display:block;cursor:text}
.fff{background:#dbe8ff99;border:1px solid #7aa7ff;border-radius:2px;font:13px/1.1 Helvetica,Arial,sans-serif;color:#002;padding:0 2px;box-sizing:border-box;margin:0}
.fff:focus{background:#fff;outline:2px solid #3b82f6}input[type=checkbox].fff,input[type=radio].fff{accent-color:#2563eb}.ffx{background:#fff7c299;border-color:#e0b100}
.vbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.4rem}.vbar input[type=search]{flex:1;min-width:10em}
.vpages{display:flex;flex-direction:column;align-items:center;gap:10px;max-height:78vh;overflow:auto;background:#e9eaee;padding:10px;border-radius:10px}
.vpage{background:#fff;box-shadow:0 1px 4px #0003;max-width:100%}.vpages.night{background:#111}.vpages.night canvas{filter:invert(.92) hue-rotate(180deg)}
#vhits{margin:.3rem 0;line-height:1.7}
.dsgrid{display:flex;flex-wrap:wrap;gap:12px}.dscard{position:relative;display:inline-block;touch-action:none}.dscard canvas{display:block;max-width:100%;border-radius:6px}
.dsov{position:absolute;inset:0;width:100%;height:100%}.dsov polygon{fill:#3b82f633;stroke:#2563eb;stroke-width:2}.dsov circle{fill:#fff;stroke:#2563eb;stroke-width:3;cursor:grab}
.spbar{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}.sptext span{cursor:pointer;border-radius:3px}.sptext span.on{background:#fde68a}
.tblwrap{overflow:auto;max-height:50vh}.pvt{border-collapse:collapse;font-size:.85em}.pvt td{border:1px solid var(--bd,#ddd);padding:.2rem .45rem;white-space:nowrap}
.good{color:#15803d}.bad{color:#b91c1c}
/* batch 2: text, dev, calculator tools */
.cat-text{--c:#5b3cc4}.cat-dev{--c:#37474f}.cat-calc{--c:#a3195b}
.c-text .ic{background:#efeafc;color:#5b3cc4}.c-dev .ic{background:#eceff1;color:#37474f}.c-calc .ic{background:#fbe8f0;color:#a3195b}
.txtbox{display:flex;flex-direction:column;gap:12px}.txtbox .tl{display:flex;flex-direction:column;gap:6px;font-weight:600}.txtbox textarea{width:100%;box-sizing:border-box;font:15px/1.5 ui-monospace,Menlo,Consolas,monospace;padding:10px;border:1px solid #ccd;border-radius:8px;resize:vertical}
.txtbox .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.txtbox .two{grid-template-columns:1fr}}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0}.stats div{background:#f6f7f9;border-radius:8px;padding:8px 10px}.stats dt{font-size:.8em;color:#555}.stats dd{margin:2px 0 0;font-weight:700;font-size:1.1em}
.bigres{font-size:1.3em;text-align:center;margin:6px 0}.bigres b{font-size:1.4em;color:var(--c)}.pill{color:#fff;border-radius:99px;padding:2px 10px;font-size:.7em;vertical-align:middle}
.kv{border-collapse:collapse;width:100%;font-size:.95em}.kv th,.kv td{border-bottom:1px solid #eee;padding:6px;text-align:left;vertical-align:top;word-break:break-all}.kv tr.match{background:#e5f5ec}
.jstat{font-weight:600;margin:0}.jstat.ok,.ok{color:#0b7a43}.jstat.bad,.bad{color:#b3261e}
.lim{list-style:none;padding:0;margin:0;display:grid;gap:6px}.lim li{position:relative;display:flex;justify-content:space-between;padding:4px 8px;background:#f6f7f9;border-radius:6px;overflow:hidden}.lim li i{position:absolute;left:0;bottom:0;height:3px;width:var(--w);background:var(--c)}.lim .over{color:#b3261e;font-weight:700}
.tdw{overflow:auto;max-height:520px}.diff{border-collapse:collapse;width:100%;font:13px/1.45 ui-monospace,Menlo,monospace}.diff td{padding:2px 6px;white-space:pre-wrap;word-break:break-word;vertical-align:top}.diff .ln{color:#888;text-align:right;width:1%;user-select:none}.diff .dd td{background:#fdecec}.diff .da td{background:#e5f5ec}.diff .dc td{background:#fff8e1}.diff del{background:#f8b4b0;text-decoration:none}.diff ins{background:#a8e0bf;text-decoration:none}
.rxhl{white-space:pre-wrap;background:#f6f7f9;padding:10px;border-radius:8px}.rxhl mark{background:#ffe082;border-radius:3px}.cheat{font-size:.9em}.cheat ul{padding-left:18px;margin:6px 0}
.ccbig{height:90px;border-radius:10px;display:flex;align-items:center;justify-content:center;font:700 1.4em monospace}.sws{display:flex;gap:4px}.sw{flex:1;height:36px;border:0;border-radius:6px;cursor:pointer}
.bmibar{height:10px;border-radius:5px;background:linear-gradient(90deg,#e0a800 0 22%,#0b7a43 22% 43%,#e0a800 43% 60%,#e07b00 60% 77%,#c8201b 77%);position:relative;margin:8px 0}.bmibar i{position:absolute;top:-4px;width:4px;height:18px;background:#111;border-radius:2px}
.lnbar{height:10px;border-radius:5px;background:#f8b4b0;overflow:hidden}.lnbar i{display:block;height:100%;background:#0b7a43}
.hwprev{max-width:520px;margin:auto}.kw{columns:2;font-size:.95em}
/* tools4 categories */
.c-web .ic{background:#e3f2fd;color:#0d47a1}.c-prod .ic{background:#e8f5e9;color:#2e7d32}.c-fun .ic{background:#fff3e0;color:#ef6c00}
