:root{--color-bg:#fff;--color-bg-alt:#f8f9fb;--color-bg-card:#fff;--color-border:#e2e5e9;--color-border-light:#f0f1f3;--color-text:#1a1d23;--color-text-secondary:#5f6672;--color-text-muted:#9199a5;--color-primary:#2563eb;--color-primary-hover:#1d4fd7;--color-primary-light:#eff4ff;--color-success:#16a34a;--color-success-light:#f0fdf4;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-danger:#ef4444;--color-danger-light:#fef2f2;--cat-image:#8b5cf6;--cat-pdf:#ef4444;--cat-text:#f59e0b;--cat-generator:#2563eb;--cat-developer:#10b981;--cat-fun:#ec4899;--cat-test:#06b6d4;--cat-calculator:#f97316;--cat-design:#8b5cf6;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--container-max:1120px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6}img,video,svg{max-width:100%;display:block}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.container{max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.header{z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);height:var(--header-height);align-items:center;display:flex;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;width:100%;display:flex}.header__logo{align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none;display:flex}.header__logo:hover{text-decoration:none}.header__logo-image{border-radius:var(--radius-sm);object-fit:contain;width:44px;height:44px}.header__nav{align-items:center;gap:var(--space-4);display:flex}.header__nav a{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:color .15s}.header__nav a:hover{color:var(--color-text);text-decoration:none}.hero{text-align:center;padding:var(--space-16) 0 var(--space-12)}.hero__title{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);letter-spacing:-.02em;font-weight:700;line-height:1.2}.hero__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:560px;margin:0 auto var(--space-8)}.hero__search{max-width:480px;margin:0 auto;position:relative}.hero__search input{width:100%;height:48px;padding:0 var(--space-4) 0 44px;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:var(--color-bg);outline:none;transition:border-color .15s,box-shadow .15s}.hero__search input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.hero__search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.category-section{margin-bottom:var(--space-12)}.category-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-light);display:flex}.category-header__icon{font-size:var(--font-size-xl)}.category-header__title{font-size:var(--font-size-xl);font-weight:600}.category-header__count{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-left:auto}.tool-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tool-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.tool-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.tool-card__icon{border-radius:var(--radius-md);width:40px;height:40px;font-size:var(--font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tool-card__info{min-width:0}.tool-card__name{font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--space-1);line-height:1.3}.tool-card__desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.tool-page{padding:var(--space-8) 0 var(--space-16)}.tool-page__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);display:flex}.tool-page__breadcrumb a{color:var(--color-text-secondary)}.tool-page__breadcrumb span{color:var(--color-text-muted)}.tool-page__header{margin-bottom:var(--space-8)}.tool-page__title{font-size:var(--font-size-3xl);margin-bottom:var(--space-2);letter-spacing:-.01em;font-weight:700}.tool-page__description{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:640px}.tool-page__tags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--color-bg-alt);color:var(--color-text-secondary);border:1px solid var(--color-border-light);align-items:center;font-weight:500;display:inline-flex}.tool-workspace{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-12);min-height:300px}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;border:none;padding:10px 20px;font-weight:600;transition:all .15s;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:disabled{cursor:not-allowed;background:#93b4f5}.btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg-alt)}.btn--success{background:var(--color-success);color:#fff}.btn--success:hover{background:#15803d}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover{background:#dc2626}.btn--lg{font-size:var(--font-size-base);padding:12px 28px}.btn--sm{font-size:var(--font-size-xs);padding:6px 14px}.btn--full{width:100%}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;cursor:pointer;background:var(--color-bg);transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone--active{border-color:var(--color-primary);background:var(--color-primary-light)}.drop-zone__icon{margin-bottom:var(--space-3);font-size:2.5rem}.drop-zone__text{font-size:var(--font-size-base);margin-bottom:var(--space-1);font-weight:500}.drop-zone__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);margin-bottom:var(--space-2);color:var(--color-text);font-weight:500;display:block}.form-input{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);resize:vertical;background:var(--color-bg);outline:none;min-height:120px;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-select{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);cursor:pointer;outline:none}.form-range{width:100%;accent-color:var(--color-primary)}.content-section{max-width:720px;margin-bottom:var(--space-10)}.content-section h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4);letter-spacing:-.01em;font-weight:600}.content-section h3{font-size:var(--font-size-xl);margin-top:var(--space-6);margin-bottom:var(--space-3);font-weight:600}.content-section p{color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:1.7}.content-section ul,.content-section ol{color:var(--color-text-secondary);margin-bottom:var(--space-4);padding-left:var(--space-6);line-height:1.8}.faq-list{padding:0;list-style:none}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);overflow:hidden}.faq-question{width:100%;padding:var(--space-4) var(--space-5);background:var(--color-bg);font-size:var(--font-size-base);text-align:left;cursor:pointer;border:none;justify-content:space-between;align-items:center;font-weight:500;transition:background .15s;display:flex}.faq-question:hover{background:var(--color-bg-alt)}.faq-question__icon{margin-left:var(--space-3);color:var(--color-text-muted);flex-shrink:0;transition:transform .2s}.faq-item--open .faq-question__icon{transform:rotate(180deg)}.faq-answer{padding:0 var(--space-5) var(--space-4);color:var(--color-text-secondary);line-height:1.7;font-size:var(--font-size-sm)}.related-tools{margin-bottom:var(--space-10)}.related-tools__title{font-size:var(--font-size-xl);margin-bottom:var(--space-4);font-weight:600}.related-tools__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.footer{border-top:1px solid var(--color-border);padding:var(--space-8) 0;margin-top:var(--space-16);color:var(--color-text-muted);font-size:var(--font-size-sm)}.footer__inner{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer__links{gap:var(--space-4);display:flex}.footer__links a{color:var(--color-text-secondary)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-size-sm)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.result-box{background:var(--color-success-light);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-top:var(--space-4);border:1px solid #bbf7d0}.result-box--info{background:var(--color-primary-light);border-color:#bfdbfe}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.stat-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.stat-card__value{font-size:var(--font-size-2xl);color:var(--color-primary);font-weight:700}.stat-card__label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}@media (width<=768px){.hero__title{font-size:var(--font-size-3xl)}.tool-grid,.grid-2{grid-template-columns:1fr}.tool-workspace{padding:var(--space-5)}.hero{padding:var(--space-10) 0 var(--space-8)}.header__nav{gap:var(--space-3)}}@media (width<=480px){.container{padding:0 var(--space-4)}.hero__title,.tool-page__title{font-size:var(--font-size-2xl)}.related-tools__grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes spin3d{0%{transform:rotateY(0)}to{transform:rotateY(1080deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary)}50%{box-shadow:0 0 20px var(--color-primary), 0 0 40px #2563eb4d}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}.anim-fadeIn{animation:.35s ease-out fadeIn}.anim-slideUp{animation:.4s ease-out slideUp}.anim-slideDown{animation:.3s ease-out slideDown}.anim-pulse{animation:1.5s ease-in-out infinite pulse}.anim-bounce{animation:.6s ease-out bounce}.anim-shake{animation:.5s ease-out shake}.anim-pop{animation:.4s cubic-bezier(.34,1.56,.64,1) pop}.anim-wiggle{animation:1s ease-in-out infinite wiggle}.toast{background:var(--color-text);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);z-index:9999;pointer-events:none;box-shadow:var(--shadow-lg);padding:10px 24px;font-weight:500;animation:.3s ease-out slideDown,.3s ease-out fadeIn;position:fixed;top:20px;left:50%;transform:translate(-50%)}.confetti-piece{pointer-events:none;z-index:9998;border-radius:2px;width:10px;height:10px;animation:3s linear forwards confetti-fall;position:fixed;top:-10px}.result-card{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;transition:all .3s;animation:.35s ease-out scaleIn}.result-card--success{border-color:var(--color-success);background:var(--color-success-light)}.result-card--danger{border-color:var(--color-danger);background:var(--color-danger-light)}.result-card--primary{border-color:var(--color-primary);background:var(--color-primary-light)}.result-card--warning{border-color:var(--color-warning);background:var(--color-warning-light)}.result-card__big{margin-bottom:var(--space-2);letter-spacing:-.02em;font-size:3.5rem;font-weight:800;line-height:1}.result-card__label{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:600}.progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:10px;overflow:hidden}.progress-bar__fill{border-radius:var(--radius-full);height:100%;transition:width .5s,background .3s}.btn:active:not(:disabled){transform:scale(.96)}.btn--glow{animation:2s ease-in-out infinite glow}.btn--bounce:active{animation:.4s ease-out bounce}.circle-badge{perspective:600px;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;margin:0 auto;transition:all .4s;display:flex}.circle-badge--lg{width:200px;height:200px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-cursor{background:var(--color-primary);vertical-align:text-bottom;width:2px;height:1.2em;margin-left:1px;animation:1s step-end infinite blink;display:inline-block}.dice-face{border-radius:var(--radius-lg);width:80px;height:80px;color:var(--color-text);box-shadow:var(--shadow-md), inset 0 -3px 0 #0000001a;border:3px solid var(--color-border);background:#fff;justify-content:center;align-items:center;font-size:2rem;font-weight:800;transition:transform .3s;animation:.4s cubic-bezier(.34,1.56,.64,1) pop;display:flex}.dice-face:hover{transform:rotate(15deg)scale(1.05)}.glass{-webkit-backdrop-filter:blur(10px);background:#fff9;border:1px solid #ffffff4d}.copy-flash{transition:background .15s,border-color .15s}.copy-flash--active{background:var(--color-success-light)!important;border-color:var(--color-success)!important}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-mono{font-family:SF Mono,Fira Code,monospace}.font-bold{font-weight:700}.anim-float{animation:3s ease-in-out infinite float}.anim-scaleIn{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.btn--glow{animation:2s infinite pulse-glow;box-shadow:0 0 15px #3b82f680}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #3b82f680}50%{box-shadow:0 0 25px #3b82f6cc}}.header__dropdown{align-items:center;display:flex;position:relative}.header__dropdown-btn{color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;padding:10px 0;font-weight:500;transition:color .15s}.header__dropdown-btn:hover{color:var(--color-text)}.header__dropdown-menu{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2) 0;z-index:1000;min-width:200px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.header__dropdown-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;transition:background .15s;display:flex}.header__dropdown-item:hover{background:var(--color-bg-alt)}.header__logo-icon{font-size:1.5rem;line-height:1}.trust-badges{justify-content:center;gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.trust-badge{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);transition:border-color .15s,transform .15s;display:flex}.trust-badge:hover{border-color:var(--color-primary);transform:translateY(-1px)}.trust-badge__icon{font-size:1.25rem}.trust-badge__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600;line-height:1.2}.trust-badge__detail{font-size:var(--font-size-xs);color:var(--color-text-muted)}.category-header__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1);max-width:600px;line-height:1.5}.benefits-list{padding:0;list-style:none}.benefits-list li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative}.benefits-list li:before{content:"✓";color:var(--color-success);font-weight:700;position:absolute;left:0}.footer__grid{gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-6);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer__logo{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--space-3);font-weight:700}.footer__tagline{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:280px;line-height:1.6}.footer__col-title{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--space-3);font-weight:600}.footer__links-list{padding:0;list-style:none}.footer__links-list li{margin-bottom:var(--space-2)}.footer__links-list a{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color .15s}.footer__links-list a:hover{color:var(--color-primary);text-decoration:none}.footer__bottom{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (width<=768px){.footer__grid{gap:var(--space-6);grid-template-columns:1fr 1fr}.trust-badges{gap:var(--space-3)}.trust-badge{flex:1 1 calc(50% - var(--space-3));min-width:140px}}@media (width<=480px){.footer__grid{grid-template-columns:1fr}}
