:root{--bg:#07070f;--s:#0f0f1a;--c:#15151f;--a:#e8c547;--a2:#ff6b35;--t:#f0f0f0;--m:#9595b5;--b:#2a2a3a;--r:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Cairo',sans-serif;background:var(--bg);color:var(--t);min-height:100vh;overflow-x:hidden}body.en{font-family:'Inter',sans-serif}.topnav{position:fixed;top:0;left:0;right:0;z-index:200;height:56px;background:rgba(7,7,15,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:8px}.logo{display:flex;align-items:center;gap:8px;cursor:pointer}.logo-svg{width:34px;height:34px;flex-shrink:0}.logo-text{font-size:17px;font-weight:900;background:linear-gradient(135deg,var(--a),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.nav-r{display:flex;align-items:center;gap:6px}.lang-box{display:flex;background:var(--s);border:1px solid var(--b);border-radius:18px;padding:2px;gap:2px}.lb{padding:4px 10px;border-radius:14px;border:none;background:none;color:var(--m);font-size:11px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s}.lb.on{background:var(--a);color:#000}.share-btn{display:flex;align-items:center;gap:5px;background:var(--s);border:1px solid var(--b);color:var(--t);border-radius:18px;padding:6px 12px;font-size:11px;font-weight:800;cursor:pointer;font-family:inherit}.share-btn svg{width:13px;height:13px;flex-shrink:0}.share-btn:hover{border-color:var(--a);color:var(--a)}.pg{display:none;padding-top:56px;padding-bottom:72px;min-height:100vh;animation:fi .22s ease}.pg.on{display:block}@keyframes fi{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dash{padding:20px 16px 8px;max-width:480px;margin:0 auto}.dash-head{text-align:center;padding:18px 0 22px}.badge{display:inline-flex;align-items:center;gap:6px;background:rgba(232,197,71,.1);border:1px solid rgba(232,197,71,.28);border-radius:40px;padding:4px 12px;font-size:11px;color:var(--a);font-weight:700;margin-bottom:11px}.dash-title{font-size:23px;font-weight:900;line-height:1.25;margin-bottom:7px}.hl{background:linear-gradient(135deg,var(--a),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dash-sub{font-size:12px;color:var(--m);line-height:1.65}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.tool-card{background:var(--c);border:1px solid var(--b);border-radius:16px;padding:18px 12px 14px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.tool-card:hover{border-color:var(--a);transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,197,71,.12)}.tool-card:active{transform:scale(.97)}.tool-svg{width:36px;height:36px;margin:0 auto 10px;display:block;transition:transform .2s}.tool-card:hover .tool-svg{transform:scale(1.1)}.tool-name{font-size:13px;font-weight:900;margin-bottom:3px}.tool-desc{font-size:10px;color:var(--m);line-height:1.5}.tool-badge{display:inline-block;background:rgba(232,197,71,.12);border:1px solid rgba(232,197,71,.28);border-radius:20px;padding:2px 8px;font-size:9px;color:var(--a);font-weight:700;margin-top:5px}.tool-badge-new{background:rgba(255,107,53,.12);border-color:rgba(255,107,53,.3);color:var(--a2)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.stat{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:11px 8px;text-align:center}.sn{font-size:17px;font-weight:900;background:linear-gradient(135deg,var(--a),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sl{font-size:10px;color:var(--m);margin-top:2px}.sec{padding:0 0 18px}.stitle{font-size:15px;font-weight:900;margin-bottom:11px}.stitle em{color:var(--a);font-style:normal}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fcard{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:11px;transition:border-color .15s}.fcard:hover{border-color:var(--a)}.ficon-wrap{width:28px;height:28px;margin-bottom:6px}.ftitle{font-size:11px;font-weight:700;margin-bottom:2px}.fdesc{font-size:10px;color:var(--m);line-height:1.45}.tcon{padding:16px;max-width:480px;margin:0 auto}.back-btn{display:flex;align-items:center;gap:5px;color:var(--a);font-size:12px;font-weight:700;cursor:pointer;margin-bottom:14px;background:none;border:none;font-family:inherit;padding:0}.ttitle{font-size:17px;font-weight:900;margin-bottom:3px}.tsub{font-size:11px;color:var(--m);margin-bottom:13px}.upzone{border:2px dashed var(--b);border-radius:16px;padding:26px 16px;text-align:center;cursor:pointer;transition:all .25s;background:var(--s);position:relative;overflow:hidden}.upzone:hover,.upzone.drag{border-color:var(--a);background:rgba(232,197,71,.04)}.upzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upsvg{width:38px;height:38px;margin:0 auto 8px;display:block}.uptitle{font-size:13px;font-weight:700;margin-bottom:2px}.upsub{font-size:10px;color:var(--m)}.ctrls{margin-top:11px;display:none;flex-direction:column;gap:9px}.ctrls.on{display:flex}.cg{background:var(--c);border-radius:var(--r);padding:11px;border:1px solid var(--b)}.clabel{font-size:10px;font-weight:700;color:var(--m);margin-bottom:7px;text-transform:uppercase;letter-spacing:.7px}.ttabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.ttab{background:var(--s);border:1px solid var(--b);border-radius:7px;padding:5px 9px;color:var(--m);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s}.ttab.on{background:var(--a);color:#000;border-color:var(--a)}.gopts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gbtn{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:7px 4px;color:var(--t);font-family:inherit;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.gbtn:hover{border-color:var(--a);color:var(--a)}.gbtn.on{background:var(--a);color:#000;border-color:var(--a)}.gmini{display:grid;gap:2px;width:22px;height:22px;margin:0 auto 4px}.gmini span{background:currentColor;border-radius:1px;opacity:.7}.pgrid{display:grid;gap:2px;border-radius:8px;overflow:hidden;border:1px solid var(--b);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.pgrid canvas{display:block;width:100%;pointer-events:none}.pgrid.panning{cursor:grabbing}.zoom-ctrls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.zbtn{width:32px;height:32px;border-radius:50%;background:var(--s);border:1px solid var(--b);color:var(--t);font-size:17px;font-weight:900;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}.zbtn:hover{border-color:var(--a);color:var(--a)}.zbtn:active{transform:scale(.92)}.zbtn:disabled{opacity:.35;cursor:not-allowed;transform:none}.zlevel{min-width:42px;text-align:center;font-size:11px;font-weight:800;color:var(--m)}.pan-hint{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:var(--m);margin-top:6px;opacity:.85}.pan-hint svg{width:12px;height:12px;flex-shrink:0}.onote{background:rgba(232,197,71,.07);border:1px solid rgba(232,197,71,.2);border-radius:7px;padding:7px;font-size:10px;color:var(--a);text-align:center;margin-top:5px}.dbtn{width:100%;padding:12px;border-radius:11px;background:linear-gradient(135deg,var(--a),var(--a2));color:#000;font-family:inherit;font-size:13px;font-weight:900;border:none;cursor:pointer;transition:transform .15s;display:flex;align-items:center;justify-content:center;gap:6px}.dbtn:active{transform:scale(.98)}.rbtn{width:100%;padding:9px;border-radius:11px;background:transparent;color:var(--m);font-family:inherit;font-size:12px;font-weight:600;border:1px solid var(--b);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.rbtn:hover{border-color:var(--a2);color:var(--a2)}.hsteps{display:flex;flex-direction:column;gap:7px}.hstep{display:flex;gap:9px;align-items:flex-start;background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:11px}.hnum{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--a2));color:#000;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.htext h4{font-size:12px;font-weight:700;margin-bottom:2px}.htext p{font-size:10px;color:var(--m);line-height:1.5}.usage-hint{background:rgba(232,197,71,.05);border:1px solid rgba(232,197,71,.15);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:10px;color:var(--m);line-height:1.65;direction:rtl}.usage-hint strong{color:var(--a);font-weight:700}.dot-mode-tabs{display:flex;gap:7px;margin-bottom:13px}.dot-mode-btn{flex:1;padding:11px 8px;border-radius:11px;background:var(--c);border:1px solid var(--b);color:var(--m);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all .18s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.dot-mode-btn svg{width:22px;height:22px;opacity:.6;transition:opacity .15s}.dot-mode-btn.on{background:rgba(255,107,53,.12);border-color:var(--a2);color:var(--a2)}.dot-mode-btn.on svg{opacity:1;stroke:var(--a2)}.dot-upzone{border:2px dashed var(--b);border-radius:16px;padding:24px 16px;text-align:center;cursor:pointer;transition:all .25s;background:var(--s);position:relative;overflow:hidden;margin-bottom:11px}.dot-upzone:hover,.dot-upzone.drag{border-color:var(--a2);background:rgba(255,107,53,.04)}.dot-upzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.dot-text-input{width:100%;background:var(--s);border:1px solid var(--b);border-radius:9px;padding:11px;color:var(--t);font-family:'Cairo',sans-serif;font-size:16px;font-weight:700;text-align:center;direction:rtl;resize:none;min-height:64px;transition:border-color .15s;margin-bottom:10px}.dot-text-input:focus{outline:none;border-color:var(--a2)}.dot-opts{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:11px;margin-bottom:11px}.dot-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:9px}.dsz{padding:8px 4px;background:var(--s);border:1px solid var(--b);border-radius:7px;color:var(--m);font-family:inherit;font-size:10px;font-weight:700;cursor:pointer;text-align:center;transition:all .15s}.dsz small{display:block;font-size:9px;opacity:.65}.dsz.on{background:var(--a2);color:#fff;border-color:var(--a2)}.contrast-row{display:flex;align-items:center;gap:8px}.clbl{font-size:10px;color:var(--m);font-weight:700;white-space:nowrap}input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:var(--b);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--a2);cursor:pointer}.cval{font-size:11px;color:var(--a2);font-weight:900;min-width:28px;text-align:right}.dot-gen-btn{width:100%;padding:12px;border-radius:11px;background:linear-gradient(135deg,var(--a2),#ff9a56);color:#fff;font-family:inherit;font-size:13px;font-weight:900;border:none;cursor:pointer;transition:all .15s;margin-bottom:11px;display:none;align-items:center;justify-content:center;gap:6px}.dot-gen-btn:active{transform:scale(.98)}.dot-gen-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.dot-progress{display:none;align-items:center;justify-content:center;gap:8px;padding:11px;background:var(--c);border-radius:var(--r);border:1px solid var(--b);margin-bottom:11px;font-size:12px;color:var(--m)}.dot-progress.show{display:flex}.spinner{width:17px;height:17px;border-radius:50%;border:2px solid var(--b);border-top-color:var(--a2);animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.dot-result{background:var(--s);border:1px solid var(--b);border-radius:var(--r);padding:13px;display:none}.dot-result.show{display:block}.dot-preview{font-family:'Courier New',Courier,monospace;font-size:7px;line-height:1.0;white-space:pre;overflow:auto;background:#000;border-radius:7px;padding:10px;color:#fff;max-height:270px;border:1px solid var(--b);user-select:all;letter-spacing:0;word-break:break-all}.dot-note{background:rgba(255,107,53,.07);border:1px solid rgba(255,107,53,.2);border-radius:7px;padding:7px;font-size:10px;color:var(--a2);text-align:center;margin:8px 0}.dot-actions{display:flex;gap:7px;margin-top:8px}.dot-copy-btn{flex:1;padding:11px;border-radius:10px;background:linear-gradient(135deg,var(--a2),var(--a));color:#000;font-family:inherit;font-size:13px;font-weight:900;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:transform .15s}.dot-copy-btn:active{transform:scale(.98)}.dot-reset-btn{padding:11px 13px;border-radius:10px;background:var(--c);border:1px solid var(--b);color:var(--m);font-family:inherit;font-size:15px;cursor:pointer;transition:all .15s}.dot-reset-btn:hover{border-color:var(--a2);color:var(--a2)}.img-loaded-preview{width:100%;max-height:110px;object-fit:contain;border-radius:8px;margin-bottom:9px;display:none;border:1px solid var(--b)}.deco-wrap{background:var(--c);border:1px solid var(--b);border-radius:var(--r);overflow:hidden}.deco-head{padding:11px 13px 9px;border-bottom:1px solid var(--b)}.deco-head h4{font-size:13px;font-weight:800;margin-bottom:7px}.deco-input-row{display:flex;gap:6px;align-items:center}.deco-input{flex:1;background:var(--s);border:1px solid var(--b);border-radius:8px;padding:9px;color:var(--t);font-family:'Cairo',sans-serif;font-size:13px;transition:border-color .15s;direction:rtl}.deco-input:focus{outline:none;border-color:var(--a)}.deco-reset{background:var(--s);border:1px solid var(--b);border-radius:8px;padding:9px 11px;font-size:14px;cursor:pointer;transition:all .15s;flex-shrink:0;line-height:1}.deco-reset:hover{border-color:var(--a2)}.deco-go{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;border:none;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:900;cursor:pointer;font-family:inherit;white-space:nowrap}.deco-results{padding:8px;min-height:55px}.deco-item{display:flex;align-items:center;gap:7px;padding:9px 7px;border-radius:8px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.deco-item:last-child{border-bottom:none}.deco-item:hover{background:rgba(232,197,71,.04)}.deco-out{flex:1;font-size:13px;color:var(--t);direction:rtl;text-align:right;word-break:break-all;line-height:1.55;letter-spacing:.4px}.deco-lbl{font-size:9px;color:var(--a);font-weight:700;display:block;margin-top:1px;opacity:.65}.deco-copy{background:none;border:1px solid var(--b);border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700;color:var(--m);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;flex-shrink:0}.deco-copy:hover{border-color:var(--a);color:var(--a)}.deco-copy.copied{background:var(--a);color:#000;border-color:var(--a)}.deco-empty{text-align:center;padding:20px;color:var(--m);font-size:11px}.bio-wrap{background:var(--c);border:1px solid var(--b);border-radius:var(--r);overflow:hidden}.bio-head{padding:11px 13px 9px;border-bottom:1px solid var(--b)}.bio-head h4{font-size:13px;font-weight:800;margin-bottom:7px}.bio-tabs{display:flex;gap:5px;flex-wrap:wrap}.bio-tab{background:var(--s);border:1px solid var(--b);border-radius:20px;padding:5px 11px;font-size:11px;font-weight:700;color:var(--m);cursor:pointer;font-family:inherit;transition:all .15s}.bio-tab.on{background:var(--a);color:#000;border-color:var(--a)}.bio-list{max-height:310px;overflow-y:auto;padding:7px}.bio-list::-webkit-scrollbar{width:3px}.bio-list::-webkit-scrollbar-thumb{background:var(--b);border-radius:3px}.bio-item{display:flex;align-items:center;gap:7px;padding:8px 7px;border-radius:8px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.bio-item:hover{background:rgba(232,197,71,.04)}.bio-text{flex:1;font-size:12px;color:var(--t);line-height:1.45;direction:rtl;text-align:right}.bio-copy{background:none;border:1px solid var(--b);border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700;color:var(--m);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap;flex-shrink:0}.bio-copy:hover{border-color:var(--a);color:var(--a)}.bio-copy.copied{background:var(--a);color:#000;border-color:var(--a)}.bcon{padding:16px;max-width:480px;margin:0 auto}.bhero{background:linear-gradient(135deg,rgba(232,197,71,.09),rgba(255,107,53,.09));border:1px solid var(--b);border-radius:16px;padding:16px;margin-bottom:14px}.bhero h2{font-size:17px;font-weight:900;margin-bottom:3px}.bhero p{font-size:11px;color:var(--m)}.bcard{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:12px;cursor:pointer;transition:all .15s;margin-bottom:7px}.bcard:hover{border-color:var(--a);transform:translateY(-1px)}.btag{display:inline-block;background:rgba(232,197,71,.1);color:var(--a);font-size:9px;font-weight:700;padding:2px 7px;border-radius:40px;margin-bottom:4px}.bcard h3{font-size:12px;font-weight:700;margin-bottom:3px;line-height:1.4}.bcard p{font-size:10px;color:var(--m);line-height:1.5}.bmeta{font-size:10px;color:var(--m);margin-top:6px}.aback{display:flex;align-items:center;gap:5px;color:var(--a);font-size:12px;font-weight:700;cursor:pointer;margin-bottom:13px;background:none;border:none;font-family:inherit}.atitle{font-size:17px;font-weight:900;margin-bottom:7px;line-height:1.3}.ameta{font-size:10px;color:var(--m);margin-bottom:13px}.acontent h3{font-size:13px;font-weight:700;margin:13px 0 5px;color:var(--a)}.acontent p{font-size:11px;color:var(--m);line-height:1.75;margin-bottom:7px}.acontent ul{padding-right:13px;margin-bottom:7px}.acontent li{font-size:11px;color:var(--m);line-height:1.75;margin-bottom:3px}.atip{background:rgba(232,197,71,.07);border-right:3px solid var(--a);border-radius:6px;padding:8px;margin:9px 0;font-size:11px;color:var(--t)}.scon{padding:16px;max-width:480px;margin:0 auto}.shero{text-align:center;padding:22px 0 16px}.shero h1{font-size:20px;font-weight:900;margin-bottom:4px}.shero p{font-size:11px;color:var(--m)}.ssec{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:13px;margin-bottom:7px}.ssec h3{font-size:12px;font-weight:700;margin-bottom:6px;color:var(--a)}.ssec p{font-size:11px;color:var(--m);line-height:1.65;margin-bottom:4px}.ssec ul{padding-right:13px}.ssec li{font-size:11px;color:var(--m);line-height:1.65;margin-bottom:2px}.cform{display:flex;flex-direction:column;gap:8px}.fg{display:flex;flex-direction:column;gap:3px}.flabel{font-size:11px;font-weight:700;color:var(--m)}.finput,.ftarea{background:var(--s);border:1px solid var(--b);border-radius:7px;padding:9px;color:var(--t);font-family:inherit;font-size:12px;transition:border-color .15s}.finput:focus,.ftarea:focus{outline:none;border-color:var(--a)}.ftarea{min-height:88px;resize:vertical}.fbtn{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;font-family:inherit;font-size:13px;font-weight:900;border:none;border-radius:9px;padding:10px;cursor:pointer}.tcard{background:var(--c);border:1px solid var(--b);border-radius:var(--r);padding:14px;text-align:center;margin-top:7px}.tavatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--a2));margin:0 auto 7px;display:flex;align-items:center;justify-content:center}.tname{font-size:13px;font-weight:700;margin-bottom:2px}.trole{font-size:10px;color:var(--a);font-weight:600}.tbio{font-size:11px;color:var(--m);margin-top:5px;line-height:1.55}footer{background:var(--s);border-top:1px solid var(--b);padding:20px 16px;text-align:center;margin-top:20px}.flogo{font-size:16px;font-weight:900;background:linear-gradient(135deg,var(--a),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:5px}.fdesc{font-size:10px;color:var(--m);margin-bottom:10px}.flinks{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}.flink{color:var(--m);font-size:10px;cursor:pointer;transition:color .15s}.flink:hover{color:var(--a)}.fcopy{font-size:9px;color:var(--m)}.toast{position:fixed;top:-60px;left:50%;transform:translateX(-50%);background:var(--a);color:#000;padding:7px 16px;border-radius:40px;font-weight:700;font-size:12px;transition:top .22s cubic-bezier(.34,1.56,.64,1);z-index:1000;white-space:nowrap;pointer-events:none;font-family:'Cairo',sans-serif;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px rgba(232,197,71,.35)}.toast.show{top:68px}.toast.toast--warning{background:var(--a2);color:#fff;box-shadow:0 4px 16px rgba(255,107,53,.35)}.toast.toast--error{background:#ff4d4f;color:#fff;box-shadow:0 4px 16px rgba(255,77,79,.35)}.toast.toast--info{background:#4ecdc4;color:#04302d;box-shadow:0 4px 16px rgba(78,205,196,.35)}.bnav{position:fixed;bottom:0;left:0;right:0;background:rgba(7,7,15,.97);backdrop-filter:blur(16px);border-top:1px solid var(--b);display:grid;grid-template-columns:repeat(4,1fr);z-index:100;padding:5px 7px 7px;gap:4px}.bni{display:flex;flex-direction:column;align-items:center;padding:6px 2px;cursor:pointer;color:var(--m);font-size:9px;font-weight:700;gap:2px;border:none;background:var(--s);font-family:inherit;transition:all .15s;border-radius:10px;border:1px solid var(--b)}.bni:hover{transform:translateY(-1px)}.bni svg{width:18px;height:18px;transition:transform .15s;stroke:currentColor}.bni:hover svg{transform:scale(1.12)}#bn-home.on{background:rgba(232,197,71,.1);border-color:var(--a);color:var(--a)}#bn-blog.on{background:rgba(78,205,196,.1);border-color:#4ecdc4;color:#4ecdc4}#bn-how.on{background:rgba(167,139,250,.1);border-color:#a78bfa;color:#a78bfa}#bn-tools.on{background:rgba(255,107,53,.1);border-color:var(--a2);color:var(--a2)}.btn1{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:900;cursor:pointer;font-family:inherit;transition:transform .15s}.btn1:active{transform:scale(.97)}.vl-overlay{position:fixed;inset:0;background:rgba(7,7,15,.93);backdrop-filter:blur(10px);z-index:900;display:none;align-items:center;justify-content:center;padding:16px}.vl-overlay.open{display:flex}.vl-box{background:var(--s);border:1px solid var(--b);border-radius:20px;max-width:370px;width:100%;padding:26px 20px;text-align:center;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.6)}.vl-icon{font-size:46px;margin-bottom:11px;display:block}.vl-title{font-size:19px;font-weight:900;margin-bottom:7px;line-height:1.3}.vl-title span{background:linear-gradient(135deg,var(--a),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.vl-desc{font-size:12px;color:var(--m);line-height:1.75;margin-bottom:16px}.vl-counter{background:rgba(232,197,71,.08);border:1px solid rgba(232,197,71,.18);border-radius:9px;padding:9px;margin-bottom:14px;font-size:11px;color:var(--a);font-weight:700}.vl-progress{display:flex;gap:5px;justify-content:center;margin-bottom:14px;flex-wrap:wrap}.vl-dot{width:9px;height:9px;border-radius:50%;background:var(--b);transition:background .2s}.vl-dot.used{background:var(--a2)}.vl-dot.free{background:var(--a)}.vl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.vl-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px;border-radius:12px;border:none;font-family:inherit;font-size:11px;font-weight:800;cursor:pointer;transition:all .18s;color:#fff;min-height:64px}.vl-btn:active{transform:scale(.96)}.vl-btn svg{width:22px;height:22px}.vl-wa{background:#25d366}.vl-fb{background:#1877f2}.vl-ig{background:linear-gradient(135deg,#405de6,#833ab4,#c13584,#e1306c,#fd1d1d)}.vl-tt{background:#010101;border:1px solid #333}.vl-verify{display:none;background:rgba(37,211,102,.07);border:1px solid rgba(37,211,102,.25);border-radius:11px;padding:12px;margin-bottom:10px;font-size:12px;color:#4ecdc4;text-align:center}.vl-verify.show{display:block}.vl-success{background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.28);border-radius:11px;padding:12px;color:#25d366;font-size:13px;font-weight:700;display:none;margin-bottom:10px}.vl-close{position:absolute;top:11px;left:11px;background:none;border:none;color:var(--m);cursor:pointer;padding:6px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:8px}.vl-close:hover{color:var(--a2);background:rgba(255,107,53,.1)}.en-mode .atip{border-right:none;border-left:3px solid var(--a)}.en-mode .ssec ul,.en-mode .acontent ul{padding-right:0;padding-left:13px}.en-mode .vl-close{left:auto;right:11px}.en-mode .deco-input{direction:ltr}.en-mode .bio-text{direction:ltr;text-align:left}.en-mode .dot-text-input{direction:ltr;font-family:'Inter',sans-serif}.deco-mode-tabs{display:flex;gap:5px;margin-bottom:10px}.deco-mode-btn{flex:1;padding:8px 6px;border-radius:9px;border:1px solid var(--b);background:var(--s);color:var(--m);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;text-align:center}.deco-mode-btn.on{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;border-color:transparent}.deco-trap-item{padding:12px;border-radius:10px;border:1px solid var(--b);background:var(--s);margin-bottom:7px;transition:background .15s}.deco-trap-item:hover{background:rgba(232,197,71,.04)}.deco-trap-text{font-size:12px;color:var(--t);line-height:1.8;direction:rtl;text-align:right;white-space:pre-wrap;word-break:break-word}.deco-trap-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.deco-trap-lbl{font-size:9px;color:var(--a2);font-weight:700;background:rgba(255,107,53,.1);padding:2px 8px;border-radius:20px}.deco-trap-copy{background:none;border:1px solid var(--b);border-radius:6px;padding:5px 10px;font-size:10px;font-weight:700;color:var(--m);cursor:pointer;font-family:inherit;transition:all .15s}.deco-trap-copy:hover{border-color:var(--a);color:var(--a)}.deco-trap-copy.copied{background:var(--a);color:#000;border-color:var(--a)}
/* ── LEGAL MODALS ── */
.lm-overlay{position:fixed;inset:0;background:rgba(7,7,15,.92);backdrop-filter:blur(12px);z-index:800;display:none;align-items:flex-end;justify-content:center;padding:0}
.lm-overlay.open{display:flex;animation:lmIn .25s ease}
@keyframes lmIn{from{opacity:0}to{opacity:1}}
.lm-sheet{background:var(--s);border:1px solid var(--b);border-top-left-radius:22px;border-top-right-radius:22px;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 -8px 40px rgba(0,0,0,.55);animation:sheetUp .28s cubic-bezier(.34,1.22,.64,1)}
@keyframes sheetUp{from{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}
.lm-handle{width:36px;height:4px;background:var(--b);border-radius:2px;margin:10px auto 0;flex-shrink:0}
.lm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--b);flex-shrink:0}
.lm-icon{width:32px;height:32px;background:linear-gradient(135deg,rgba(232,197,71,.15),rgba(255,107,53,.1));border:1px solid rgba(232,197,71,.25);border-radius:9px;display:flex;align-items:center;justify-content:center}
.lm-title{font-size:14px;font-weight:900;flex:1;margin:0 10px}
.lm-close{background:none;border:1px solid var(--b);border-radius:8px;color:var(--m);font-size:15px;cursor:pointer;padding:5px 9px;line-height:1;transition:all .15s;font-family:inherit}
.lm-close:hover{border-color:var(--a2);color:var(--a2)}
.lm-body{overflow-y:auto;padding:16px 18px 28px;flex:1}
.lm-body::-webkit-scrollbar{width:3px}
.lm-body::-webkit-scrollbar-thumb{background:var(--b);border-radius:3px}
.lm-sec{margin-bottom:18px}
.lm-sec:last-child{margin-bottom:0}
.lm-sec h3{font-size:12px;font-weight:800;color:var(--a);margin-bottom:7px;display:flex;align-items:center;gap:6px}
.lm-sec p{font-size:11px;color:var(--m);line-height:1.75;margin-bottom:5px}
.lm-sec ul{padding-right:16px;margin:4px 0}
.lm-sec li{font-size:11px;color:var(--m);line-height:1.75;margin-bottom:3px}
.lm-chip{display:inline-flex;align-items:center;gap:5px;background:rgba(232,197,71,.08);border:1px solid rgba(232,197,71,.18);border-radius:20px;padding:3px 10px;font-size:10px;color:var(--a);font-weight:700;margin:3px 3px 0 0}
.lm-badge-ok{display:inline-flex;align-items:center;gap:5px;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.2);border-radius:8px;padding:7px 11px;font-size:10px;color:#25d366;font-weight:700;margin-top:8px;width:100%}
.lm-form{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.lm-field{display:flex;flex-direction:column;gap:4px}
.lm-label{font-size:11px;font-weight:700;color:var(--m)}
.lm-input,.lm-textarea{background:var(--bg);border:1px solid var(--b);border-radius:8px;padding:10px 12px;color:var(--t);font-family:inherit;font-size:12px;transition:border-color .15s;direction:rtl}
.lm-input:focus,.lm-textarea:focus{outline:none;border-color:var(--a)}
.lm-textarea{min-height:90px;resize:vertical}
.lm-submit{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;font-family:inherit;font-size:13px;font-weight:900;border:none;border-radius:10px;padding:11px;cursor:pointer;transition:transform .15s;display:flex;align-items:center;justify-content:center;gap:7px}
.lm-submit:active{transform:scale(.97)}
.lm-submit:disabled{opacity:.55;cursor:not-allowed}
.lm-sent{background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.2);border-radius:10px;padding:14px;text-align:center;font-size:13px;color:#25d366;font-weight:700;display:none}
.lm-sent.show{display:block}
.flinks{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.flink{color:var(--m);font-size:10px;cursor:pointer;transition:color .15s;padding:2px 0;position:relative}
.flink:hover{color:var(--a)}
.flink::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--a);transform:scaleX(0);transition:transform .2s}
.flink:hover::after{transform:scaleX(1)}
.en-mode .lm-sec ul{padding-right:0;padding-left:16px}
.en-mode .lm-input,.en-mode .lm-textarea{direction:ltr}

/* ── WELCOME NOTIFICATION BANNER ── */


/* ── UX SPEED & SMOOTHNESS: Full button transition system ── */

/* Base transitions on all interactive elements */
.dbtn,.dot-gen-btn,.dot-copy-btn,.dot-reset-btn,
.back-btn,.deco-go,.deco-copy,.deco-reset,
.bio-copy,.bio-tab,.deco-trap-copy,
.tool-card,.btn1,.bni,.lb,.ttab,.gbtn,.dsz,
.lm-close,.lm-submit,.fbtn,.rbtn,.share-btn,
.dot-mode-btn,.deco-mode-btn,.lm-dismiss-btn,
.dot-copy-btn,.aback,.sr-share-btn,.sr-close,.pib-install-btn,.pib-close,
button,
[onclick]{
  transition: all 0.18s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
}

/* Active press feedback — snappy and satisfying */
.dbtn{touch-action:manipulation}
.dbtn:active{transform:scale(.96);background:linear-gradient(135deg,#d4b03c,#e85e2a)}
.dot-gen-btn:active{transform:scale(.96)}
.dot-copy-btn:active{transform:scale(.96)}
.back-btn:active{opacity:.65;transform:translateX(2px)}
.deco-go:active{transform:scale(.95)}
.deco-copy:active,.bio-copy:active,.deco-trap-copy:active{transform:scale(.92)}
.tool-card:active{transform:scale(.95)!important;border-color:var(--a)!important}
.btn1:active{transform:scale(.96)!important}
.bni:active{transform:scale(.94)}
.lb:active{transform:scale(.9)}
.lm-close:active{transform:scale(.88)}
.lm-submit:active{transform:scale(.97)}
.fbtn:active{transform:scale(.97)}
.rbtn:active{transform:scale(.97)}
.share-btn:active{transform:scale(.95)}
.ttab:active{transform:scale(.94)}
.gbtn:active{transform:scale(.94)}
.dsz:active{transform:scale(.92)}
.dot-mode-btn:active{transform:scale(.95)}
.deco-mode-btn:active{transform:scale(.95)}

/* Hover improvements for non-touch devices */
@media (hover: hover) {
  .tool-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(232,197,71,.15)}
  .btn1:hover{box-shadow:0 6px 20px rgba(232,197,71,.25);transform:translateY(-1px)}
  .lm-close:hover{background:rgba(255,107,53,.1);border-color:var(--a2);color:var(--a2)}
  .bni:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3)}
  .deco-go:hover{box-shadow:0 4px 14px rgba(232,197,71,.3)}
  .dot-copy-btn:hover{box-shadow:0 4px 14px rgba(232,197,71,.25);transform:translateY(-1px)}
  .dot-gen-btn:hover{box-shadow:0 6px 20px rgba(255,107,53,.3);transform:translateY(-1px)}
}

/* Smooth focus rings for accessibility */
button:focus-visible{outline:2px solid var(--a);outline-offset:2px}

/* ── PWA INSTALL BANNER ── */
/* ── SMOOTH MODAL UX ENHANCEMENTS ── */
.lm-overlay{transition:opacity .18s ease;}
.lm-overlay.open{opacity:1;}
.lm-sheet{transition:transform .25s cubic-bezier(.34,1.18,.64,1),opacity .2s ease;}
.lm-overlay:not(.open) .lm-sheet{transform:translateY(100%);opacity:0;}
.lm-close{transition:all .15s;min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center;}
.lm-close:hover{background:rgba(255,107,53,.15);border-color:var(--a2)!important;color:var(--a2)!important;}
.lm-close:active{transform:scale(.88);}
.lm-submit:active{transform:scale(.96);}
.lm-handle{cursor:grab;}
@keyframes lmSheetIn{from{transform:translateY(80px);opacity:0}to{transform:translateY(0);opacity:1}}
.lm-overlay.open .lm-sheet{animation:lmSheetIn .28s cubic-bezier(.34,1.22,.64,1) forwards;}
.lm-close,.lm-submit,.lm-dismiss{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}

/* ── UTILITY CLASSES (replaces inline style= attributes) ── */
.u-w100        { width: 100%; }
.u-mb4         { margin-bottom: 4px; }
.u-mt6         { margin-top: 6px; }
.u-mt14        { margin-top: 14px; }
.u-mb7         { margin-bottom: 7px; }
.u-hidden      { display: none; }
.u-deco-empty-icon { font-size: 22px; display: block; margin-bottom: 5px; opacity: .35; }
.u-dot-upsvg   { width: 36px; height: 36px; margin: 0 auto 8px; display: block; }
.u-clr-t       { color: var(--t); }
.u-clr-a       { color: var(--a); }
.u-clr-a2      { color: var(--a2); }
.u-fs10-muted  { font-size: 10px; margin-top: 8px; color: #555; }
.u-sent-note   { font-size: 11px; font-weight: 400; opacity: .75; }
.u-spinner-center { margin: 0 auto 8px; }
.u-lm-icon-svg { margin: 0 auto 8px; display: block; }
.u-btn-fullw-mt6 { width: 100%; margin-top: 6px; }
.u-btn-fullw-mb4 { width: 100%; margin-bottom: 4px; }

/* ── PHOTO FILTERS TOOL ─────────────────────────────────────── */
.u-mt10 { margin-top: 10px; }
.flt-preview-wrap { border-radius: var(--r); overflow: hidden; border: 1px solid var(--b); background: #000; margin-bottom: 12px; display: flex; align-items: center; justify-content: center; }
#flt-canvas { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.flt-strip { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.flt-strip::-webkit-scrollbar { height: 4px; }
.flt-strip::-webkit-scrollbar-thumb { background: var(--b); border-radius: 3px; }
.flt-thumb { flex: 0 0 auto; width: 66px; text-align: center; cursor: pointer; scroll-snap-align: start; background: none; border: none; font-family: inherit; padding: 0; }
.flt-thumb-img { width: 62px; height: 62px; border-radius: 12px; object-fit: cover; border: 2px solid var(--b); transition: all .15s; display: block; background: var(--s); }
.flt-thumb.on .flt-thumb-img { border-color: var(--a); box-shadow: 0 0 0 2px rgba(232,197,71,.25); }
.flt-thumb-name { display: block; font-size: 9px; color: var(--m); margin-top: 4px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flt-thumb.on .flt-thumb-name { color: var(--a); font-weight: 700; }
.flt-adj-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 10px; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.flt-adj-tabs::-webkit-scrollbar { height: 4px; }
.flt-adj-tabs::-webkit-scrollbar-thumb { background: var(--b); border-radius: 3px; }
.flt-adj-tab { flex: 0 0 auto; width: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 9px 4px; border-radius: 12px; background: var(--s); border: 1px solid var(--b); color: var(--m); cursor: pointer; font-family: inherit; transition: all .15s; scroll-snap-align: start; }
.flt-adj-tab:active { transform: scale(.95); }
.flt-adj-tab.on { background: rgba(232,197,71,.12); border-color: var(--a); color: var(--a); box-shadow: 0 0 0 1px rgba(232,197,71,.18); }
.flt-adj-tab-label { font-size: 9px; font-weight: 700; white-space: nowrap; }
.flt-slider-row { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; background: var(--s); border: 1px solid var(--b); border-radius: 12px; padding: 10px 12px; }
.flt-slider-row:last-child { margin-bottom: 0; }
.flt-slider-row .clbl { min-width: 62px; }
.flt-range { -webkit-appearance: none; appearance: none; width: 100%; height: 5px; border-radius: 3px; background: var(--b); outline: none; flex: 1; }
.flt-range::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,var(--a),var(--a2)); border: 2px solid #0c0c14; box-shadow: 0 1px 4px rgba(0,0,0,.4); cursor: pointer; }
.flt-range::-moz-range-track { height: 5px; border-radius: 3px; background: var(--b); }
.flt-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg,var(--a),var(--a2)); border: 2px solid #0c0c14; box-shadow: 0 1px 4px rgba(0,0,0,.4); cursor: pointer; }
.flt-rep-output { width: 100%; font-family: 'Cairo', sans-serif; font-size: 14px; color: var(--t); line-height: 1.9; direction: rtl; text-align: center; resize: vertical; white-space: pre; }
.en-mode .flt-rep-output { direction: ltr; font-family: 'Inter', sans-serif; }

/* ── TEXT REPEATER TOOL ─────────────────────────────────────── */
.rep-counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 11px; }
.rep-custom-row { display: flex; align-items: center; gap: 8px; }
.rep-custom-row input[type=number] { flex: 1; min-width: 0; background: var(--s); border: 1px solid var(--b); border-radius: 8px; padding: 8px 10px; color: var(--t); font-family: inherit; font-size: 12px; transition: border-color .15s; -webkit-appearance: none; appearance: none; -moz-appearance: textfield; }
.rep-custom-row input[type=number]:focus { outline: none; border-color: var(--a); background: var(--s); }
.rep-custom-row input[type=number]::placeholder { color: var(--m); opacity: 1; }
.rep-custom-row input[type=number]::-webkit-outer-spin-button,
.rep-custom-row input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rep-dir-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }

/* ── SHARE REMINDER (top notification banner) ─────────────────── */
.share-reminder{position:fixed;top:-120px;left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:440px;background:linear-gradient(135deg,rgba(15,15,26,.98),rgba(21,21,31,.98));border:1px solid rgba(232,197,71,.35);border-radius:14px;padding:11px 12px 11px 14px;z-index:800;display:flex;align-items:center;gap:10px;box-shadow:0 8px 28px rgba(0,0,0,.5),0 0 0 1px rgba(232,197,71,.1);transition:top .4s cubic-bezier(.34,1.22,.64,1);overflow:hidden}
.share-reminder.show{top:64px}
.sr-body{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.sr-emoji{font-size:18px;flex-shrink:0;line-height:1}
.sr-text{font-size:11.5px;font-weight:700;color:var(--t);line-height:1.4}
.sr-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.sr-share-btn{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--a),var(--a2));color:#000;border:none;border-radius:20px;padding:7px 12px;font-size:11px;font-weight:900;cursor:pointer;font-family:inherit;white-space:nowrap}
.sr-close{background:none;border:none;color:var(--m);cursor:pointer;padding:4px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sr-close:hover{color:var(--a2)}
.sr-progress{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(135deg,var(--a),var(--a2));width:100%;transform-origin:left;animation:srShrink 10s linear forwards}
.share-reminder.no-anim .sr-progress{animation:none}
@keyframes srShrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.en-mode .share-reminder{direction:ltr}
/* ── END SHARE REMINDER ───────────────────────────────────────── */

/* ── PWA INSTALL BANNER (bottom notification banner) ──────────── */
.pwa-install-banner{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(30px);width:calc(100% - 28px);max-width:440px;background:linear-gradient(135deg,rgba(15,15,26,.98),rgba(21,21,31,.98));border:1px solid rgba(232,197,71,.35);border-radius:16px;padding:12px 14px;z-index:500;display:flex;align-items:center;gap:11px;box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 0 1px rgba(232,197,71,.1);opacity:0;transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.22,.64,1);pointer-events:none;overflow:hidden}
.pwa-install-banner.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.pwa-install-banner.hide{opacity:0;transform:translateX(-50%) translateY(20px)}
.pib-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--a),var(--a2));border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px;overflow:hidden}
.pib-icon img{width:100%;height:100%;object-fit:contain;border-radius:6px;display:block}
.pib-body{flex:1;min-width:0}
.pib-title{font-size:12px;font-weight:900;color:var(--t);margin-bottom:2px;line-height:1.3}
.pib-desc{font-size:10px;color:var(--m);line-height:1.45}
.pib-ios-steps{display:flex;align-items:flex-start;gap:5px;font-size:10px;color:var(--m);line-height:1.45}
.pib-ios-steps svg{flex-shrink:0;margin-top:1px;color:var(--a)}
.pib-install-btn{background:linear-gradient(135deg,var(--a),var(--a2));color:#000;border:none;border-radius:10px;padding:8px 14px;font-size:11px;font-weight:900;cursor:pointer;font-family:inherit;flex-shrink:0;white-space:nowrap}
.pib-close{background:none;border:none;color:var(--m);cursor:pointer;padding:4px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.pib-close:hover{color:var(--a2)}
.pib-progress{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(135deg,var(--a),var(--a2));width:100%;transform-origin:left;animation:pibShrink 10s linear forwards}
.en-mode .pwa-install-banner{direction:ltr}
@keyframes pibShrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.pwa-install-banner.ios-mode .pib-install-btn{display:none}
/* ── END PWA INSTALL BANNER ───────────────────────────────────── */
