html,body,button,input,select,textarea{font-family:Vazirmatn,Tahoma,Arial,sans-serif}
.tools-hero{padding:105px 0 55px;background:radial-gradient(circle at 12% 22%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 34%),var(--bg-soft);border-bottom:1px solid var(--line)}
.tools-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center}.tools-hero h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.25;margin:15px 0}.tools-hero h1 strong{color:var(--primary-dark)}.tools-hero p{font-size:1.03rem;color:var(--muted);max-width:720px}.tools-hero-art{height:270px;position:relative;display:grid;place-items:center}.tools-hero-art span{position:absolute;width:118px;height:138px;display:grid;place-items:center;border-radius:30px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-weight:900;letter-spacing:.08em;color:var(--primary-dark)}.tools-hero-art span:nth-child(1){transform:translate(-75px,18px) rotate(-9deg)}.tools-hero-art span:nth-child(2){transform:translate(72px,32px) rotate(10deg)}.tools-hero-art span:nth-child(3){transform:translate(0,-62px) rotate(2deg)}
.tool-search{max-width:760px;margin-top:32px;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:7px;box-shadow:0 18px 50px rgba(31,24,15,.08)}.tool-search input{flex:1;border:0;background:transparent;color:var(--text);padding:13px 16px;outline:0;font:inherit}.tool-search button{border:0;border-radius:14px;background:var(--primary);color:#fff;padding:0 25px;font:inherit;font-weight:800;cursor:pointer}
.tools-directory{padding-top:55px}.tool-categories{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.tool-categories a{padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.83rem;color:var(--muted)}.tool-categories a.active,.tool-categories a:hover{background:var(--primary);border-color:var(--primary);color:#fff}.tools-summary{display:flex;align-items:baseline;gap:9px;margin-bottom:20px}.tools-summary strong{font-size:1.65rem;color:var(--primary-dark)}.tools-summary span{color:var(--muted);font-size:.85rem}
.tools-grid-modern{grid-template-columns:repeat(2,1fr)}.tool-card-modern{min-height:190px;padding:30px}.tool-card-content{display:flex;flex-direction:column;flex:1}.tool-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-status{font-size:.68rem;padding:4px 8px;border-radius:999px;background:var(--bg-soft);color:var(--muted)}.tool-status.active{background:#e8f7ed;color:#20743c}.tool-card-modern h2{font-size:1.35rem;margin-top:13px}.tool-card-modern p{font-size:.9rem}.tool-open{margin-top:auto;padding-top:17px;color:var(--primary-dark);font-size:.82rem;font-weight:800}
.tool-page-head{padding:105px 0 55px;background:var(--bg-soft);border-bottom:1px solid var(--line)}.tool-title-row{display:flex;gap:24px;align-items:center;margin-top:28px}.tool-page-icon{width:86px;height:86px;min-width:86px;border-radius:27px;background:var(--primary-soft);color:var(--primary-dark);display:grid;place-items:center;font-size:2.2rem}.tool-title-row small{color:var(--primary-dark);font-weight:800}.tool-title-row h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.25;margin:6px 0}.tool-title-row p{color:var(--muted);margin:0;font-size:1rem}.tool-workspace-section{padding-top:55px}.tool-workspace{background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:38px;box-shadow:0 22px 60px rgba(39,30,20,.07)}.runner-head{margin-bottom:25px}.runner-head h2{font-size:1.55rem;margin:0 0 6px}.runner-head p{color:var(--muted);margin:0;font-size:.9rem}
.file-drop{position:relative;min-height:190px;border:2px dashed color-mix(in srgb,var(--primary) 45%,var(--line));background:var(--bg-soft);border-radius:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;cursor:pointer;transition:.2s}.file-drop:hover,.file-drop.dragging{border-color:var(--primary);background:var(--primary-soft)}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-drop .drop-icon{width:62px;height:62px;border-radius:20px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-weight:900;font-size:1.25rem;color:var(--primary-dark);margin-bottom:14px}.file-drop strong{font-size:1rem}.file-drop small{color:var(--muted);margin-top:6px}
.selected-files{display:grid;gap:8px;margin-top:14px}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:10px 13px;font-size:.82rem}.selected-file span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file span:last-child{color:var(--muted);direction:ltr}.tool-fields{display:grid;grid-template-columns:1fr;gap:15px;margin:22px 0}.tool-fields.two{grid-template-columns:repeat(2,1fr)}.tool-fields.three{grid-template-columns:repeat(3,1fr)}.tool-fields label,.text-compare label{font-size:.78rem;font-weight:800}.tool-fields input,.tool-fields select,.tool-fields textarea,.tool-main-textarea,.text-compare textarea{width:100%;margin-top:8px;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:14px;padding:13px 14px;outline:0;font:inherit}.tool-fields textarea,.tool-main-textarea,.text-compare textarea{resize:vertical;line-height:1.9}.tool-fields input:focus,.tool-fields select:focus,.tool-fields textarea:focus,.tool-main-textarea:focus,.text-compare textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.tool-fields input[type=range]{padding:0}.tool-fields input[type=color]{height:48px;padding:5px}.tool-fields .span-2{grid-column:1/-1}.check-field{display:flex!important;align-items:center;gap:10px;padding-top:28px}.check-field input{width:auto;margin:0}.tool-action{margin-top:8px;border:0;cursor:pointer}.tool-action[disabled]{opacity:.55;cursor:wait}.tool-result{display:none;margin-top:18px;padding:13px 16px;border-radius:14px;font-size:.86rem}.tool-result.show{display:block}.tool-result.info{background:#eef5ff;color:#245b8a}.tool-result.success{background:#e8f7ed;color:#20743c}.tool-result.error{background:#fff0f0;color:#a02727}.tool-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.tool-actions.wrap{flex-wrap:wrap}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.tool-privacy{display:flex;gap:15px;align-items:flex-start;margin-top:18px;background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;padding:20px}.tool-privacy>span{font-size:1.4rem}.tool-privacy strong{font-size:.88rem}.tool-privacy p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.tool-description{margin-top:45px}.tool-description h2{font-size:1.5rem}.tool-description p{color:var(--muted);line-height:2}.related-tools{margin-top:65px}.section-heading.compact h2{font-size:2rem}.section-heading.compact{margin-bottom:25px}
.counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.counter-grid>div{background:var(--bg-soft);border:1px solid var(--line);border-radius:17px;padding:17px;text-align:center}.counter-grid strong{display:block;font-size:1.65rem;color:var(--primary-dark)}.counter-grid span{font-size:.75rem;color:var(--muted)}.text-compare{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tool-option-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px}.tool-option-row label{font-size:.8rem;color:var(--muted)}.tool-option-row input{accent-color:var(--primary)}
.speech-panel{display:flex;align-items:center;gap:22px;background:var(--bg-soft);border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:18px}.mic-button{width:110px;height:110px;border-radius:50%;border:0;background:var(--primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:0 14px 35px color-mix(in srgb,var(--primary) 30%,transparent)}.mic-button span{font-size:1.8rem}.mic-button strong{font-size:.72rem}.mic-button.listening{animation:pulseMic 1.5s infinite}.speech-state{font-weight:800;color:var(--muted)}@keyframes pulseMic{50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--primary) 12%,transparent)}}.qr-preview{display:none;min-height:430px;margin-top:24px;border:1px solid var(--line);border-radius:22px;background:#fff;align-items:center;justify-content:center;padding:25px}.qr-preview.show{display:flex}.qr-preview img,.qr-preview canvas{max-width:100%;height:auto!important}.qr-preview a{display:block}
@media(max-width:800px){.tools-hero-grid{grid-template-columns:1fr}.tools-hero-art{display:none}.tools-grid-modern{grid-template-columns:1fr}.tool-fields.two,.tool-fields.three,.text-compare{grid-template-columns:1fr}.tool-fields .span-2{grid-column:auto}.counter-grid{grid-template-columns:repeat(2,1fr)}.tool-workspace{padding:24px}.tool-title-row{align-items:flex-start}.tool-page-icon{width:68px;height:68px;min-width:68px;border-radius:21px}.tool-title-row h1{font-size:2.2rem}.tool-actions{flex-wrap:wrap}}
@media(max-width:520px){.tools-hero{padding-top:85px}.tool-search{flex-direction:column}.tool-search button{padding:12px}.tool-card-modern{padding:22px}.tool-title-row{gap:14px}.tool-page-icon{width:55px;height:55px;min-width:55px;font-size:1.45rem}.tool-workspace{padding:18px;border-radius:23px}.file-drop{min-height:165px}.counter-grid{grid-template-columns:1fr 1fr}.speech-panel{flex-direction:column;text-align:center}}

/* ===== Tools mobile refinements 1.4.0 ===== */
@media(max-width:700px){
  .tools-hero{padding:94px 0 44px}
  .tools-hero h1{font-size:clamp(2rem,11vw,3rem);overflow-wrap:anywhere}
  .tools-directory{padding-top:40px}
  .tool-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;scrollbar-width:none}
  .tool-categories::-webkit-scrollbar{display:none}
  .tool-categories a{white-space:nowrap}
  .tools-summary{align-items:flex-start;flex-direction:column;gap:0}
  .tool-title-row{flex-direction:column}
  .tool-page-head{padding:94px 0 42px}
  .tool-title-row h1{font-size:2rem;overflow-wrap:anywhere}
  .tool-workspace-section{padding-top:36px}
  .tool-workspace{padding:17px;border-radius:21px}
  .tool-fields.two,.tool-fields.three,.text-compare{grid-template-columns:1fr}
  .tool-actions{display:grid;grid-template-columns:1fr;width:100%}
  .tool-actions .btn,.tool-actions button,.tool-action{width:100%}
  .selected-file{align-items:flex-start;flex-direction:column;gap:3px}
  .counter-grid{grid-template-columns:1fr 1fr}
  .qr-preview{min-height:300px}
}
@media(max-width:400px){.counter-grid{grid-template-columns:1fr}.tool-card-modern{padding:18px}.file-drop{padding:20px 12px}}

/* ===== Tools directory & QR designer 1.5.0 ===== */
.tools-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tool-card-modern{min-height:0;aspect-ratio:1.08/1;padding:20px;gap:13px;flex-direction:column;border-radius:21px;overflow:hidden}
.tool-card-modern .tool-icon{width:48px;height:48px;min-width:48px;border-radius:15px;font-size:1.35rem}
.tool-card-modern .tool-card-content{min-width:0;width:100%}
.tool-card-modern .tool-card-meta{min-height:25px}
.tool-card-modern h2{font-size:1.05rem;line-height:1.55;margin:9px 0 5px}
.tool-card-modern p{font-size:.78rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tool-card-modern .tool-open{font-size:.74rem;padding-top:10px}
.tool-card-modern .tool-status{font-size:.62rem;padding:3px 7px}

.qr-designer{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--bg-soft)}
.qr-designer-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:15px}
.qr-designer-title strong{font-size:.95rem}.qr-designer-title span{font-size:.75rem;color:var(--muted)}
.qr-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.qr-style-card{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:18px;padding:12px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;text-align:right;column-gap:11px;align-items:center;cursor:pointer;transition:.2s;font:inherit}
.qr-style-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}
.qr-style-card.active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}
.qr-style-card strong{font-size:.82rem;align-self:end}.qr-style-card small{font-size:.67rem;color:var(--muted);align-self:start}
.qr-style-thumb{grid-row:1/3;width:48px;height:48px;border-radius:13px;display:block;position:relative;overflow:hidden;background-color:#fff;background-size:12px 12px}
.qr-style-thumb::after{content:"";position:absolute;inset:7px;border:5px solid currentColor;border-radius:3px;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px currentColor}
.qr-thumb-classic{color:#111827;background-image:linear-gradient(90deg,#111827 25%,transparent 25% 50%,#111827 50% 75%,transparent 75%),linear-gradient(#111827 25%,transparent 25% 50%,#111827 50% 75%,transparent 75%)}
.qr-thumb-rounded{color:#6d28d9;background-color:#faf7ff;background-image:radial-gradient(circle,#6d28d9 35%,transparent 38%);background-size:11px 11px}.qr-thumb-rounded::after{border-radius:8px}
.qr-thumb-dots{color:#0f766e;background-color:#f0fdfa;background-image:radial-gradient(circle,#0f766e 30%,transparent 34%);background-size:10px 10px}.qr-thumb-dots::after{border-radius:50%}
.qr-thumb-diamond{color:#b45309;background-color:#fffbeb;background-image:linear-gradient(45deg,transparent 40%,#b45309 42% 58%,transparent 60%);background-size:10px 10px}.qr-thumb-diamond::after{transform:rotate(45deg);inset:10px}
.qr-thumb-gradient{color:#7c3aed;background:linear-gradient(135deg,#ede9fe,#fdf2f8);background-image:radial-gradient(circle at 30% 30%,#7c3aed 0 3px,transparent 4px),radial-gradient(circle at 70% 70%,#ec4899 0 3px,transparent 4px);background-size:12px 12px}.qr-thumb-gradient::after{border-color:#7c3aed;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px #ec4899}
.qr-thumb-neon{color:#22d3ee;background:#07111f;background-image:radial-gradient(circle,#22d3ee 25%,transparent 30%);background-size:10px 10px;box-shadow:inset 0 0 14px rgba(34,211,238,.35)}.qr-thumb-neon::after{box-shadow:inset 0 0 0 4px #07111f,inset 0 0 0 8px #a78bfa,0 0 10px rgba(34,211,238,.65)}
.qr-color-fields{margin-bottom:0}.qr-actions{margin-top:18px}
.qr-preview{min-height:0;flex-direction:column;gap:18px;background:var(--bg-soft)}
.qr-preview-stage{display:grid;place-items:center;width:min(100%,760px);padding:22px;border-radius:25px;background:#fff;box-shadow:0 18px 45px rgba(20,24,40,.12)}
.qr-preview-stage canvas{display:block;border-radius:14px;max-width:100%;height:auto!important}
.qr-preview-neon{background:#07111f;box-shadow:0 18px 55px rgba(34,211,238,.18)}
.qr-preview-actions{display:flex;justify-content:center;gap:10px}

.diff-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.diff-summary span{padding:9px 13px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);font-size:.76rem}.diff-summary strong{color:var(--primary-dark);margin-left:3px}
.diff-output{margin-top:14px;min-height:170px;white-space:pre-wrap;line-height:2.05;padding:20px;border:1px solid var(--line);border-radius:19px;background:var(--bg-soft);font-size:.88rem;overflow-wrap:anywhere}
.diff-add{background:#dff8e8;color:#126536;border-radius:5px;padding:1px 2px}.diff-remove{background:#ffe3e3;color:#982828;text-decoration:line-through;border-radius:5px;padding:1px 2px}.diff-same{color:var(--text)}

.password-result{display:grid;grid-template-columns:1fr auto;gap:9px}.password-result input{direction:ltr;text-align:left;width:100%;border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--bg-soft);color:var(--text);font:700 1rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.password-options{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.password-options label{font-size:.78rem;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft)}.password-options input{accent-color:var(--primary)}.range-value{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.password-list{display:grid;gap:8px;margin-top:16px}.password-list>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:13px}.password-list code{direction:ltr;text-align:left;overflow-wrap:anywhere}.password-list button{border:0;border-radius:9px;padding:7px 10px;background:var(--primary-soft);color:var(--primary-dark);font:inherit;font-size:.72rem;cursor:pointer}
.link-output{direction:ltr;text-align:left;margin-top:17px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}

@media(max-width:1050px){.tools-grid-modern{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card-modern{aspect-ratio:auto;min-height:205px}.qr-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tools-grid-modern{grid-template-columns:1fr}.tool-card-modern{min-height:0;aspect-ratio:auto;flex-direction:row;padding:18px}.qr-designer{padding:16px}.qr-designer-title{align-items:flex-start;flex-direction:column;gap:2px}.qr-style-grid{grid-template-columns:1fr 1fr}.qr-style-card{grid-template-columns:40px 1fr;padding:10px}.qr-style-thumb{width:40px;height:40px}.qr-preview-stage{padding:12px}.password-result{grid-template-columns:1fr}.password-result .btn{width:100%}}
@media(max-width:430px){.qr-style-grid{grid-template-columns:1fr}.tool-card-modern{flex-direction:column}.password-options{display:grid;grid-template-columns:1fr 1fr}.diff-summary{display:grid;grid-template-columns:1fr}}

/* ===== Live QR samples 1.5.1 ===== */
.qr-designer-title>div{display:grid;gap:3px}
.qr-designer-title em{font-style:normal;font-size:.7rem;font-weight:850;color:var(--primary-dark);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));padding:7px 10px;border-radius:999px;white-space:nowrap}
.qr-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.qr-style-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;border-radius:20px;text-align:center;min-width:0;overflow:hidden}
.qr-style-sample{display:grid;place-items:center;aspect-ratio:1;border-radius:15px;background:linear-gradient(145deg,#fff,#f4f6fb);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);overflow:hidden}
.qr-style-sample canvas,.qr-style-sample-canvas{display:block;width:100%!important;height:auto!important;aspect-ratio:1;border-radius:14px;background:#fff}
.qr-style-copy{display:grid;gap:1px;min-width:0}
.qr-style-card strong{font-size:.84rem;line-height:1.6;align-self:auto}
.qr-style-card small{font-size:.68rem;color:var(--muted);line-height:1.6;align-self:auto}
.qr-style-check{position:absolute;top:18px;left:18px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--primary);color:#fff;font-size:.72rem;font-weight:950;box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 35%,transparent);opacity:0;transform:scale(.75);transition:.2s}
.qr-style-card.active .qr-style-check{opacity:1;transform:scale(1)}
.qr-style-card.active .qr-style-sample{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
.qr-sample-note{margin:14px 2px 18px;color:var(--muted);font-size:.72rem;line-height:1.9}
@media(max-width:900px){.qr-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.qr-style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.qr-style-card{padding:9px;border-radius:16px}.qr-style-card strong{font-size:.76rem}.qr-style-card small{font-size:.61rem}.qr-style-check{top:13px;left:13px;width:22px;height:22px}.qr-designer-title em{display:none}}
