*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ol,ul{list-style:none}:root{--color-primary:#0F172A;--color-secondary:#6366F1;--color-accent:#22D3EE;--color-surface:#F8FAFC;--color-surface-dark:#0F172A;--color-text:#1E293B;--color-text-muted:#64748B;--color-border:#E2E8F0;--color-white:#ffffff;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-lg:0 10px 25px rgba(0,0,0,.1),0 4px 10px rgba(0,0,0,.06);--transition:200ms ease}:root.dark{--color-primary:#c4b5fd;--color-secondary:#818cf8;--color-accent:#22d3ee;--color-surface:#1e1b2e;--color-surface-dark:#0f0b1a;--color-text:#e2e0ea;--color-text-muted:#9895a8;--color-border:#2e2a40;--color-white:#1a1726;color-scheme:dark}:root.dark body{background:#13101e}:root.dark .header{background:#0f0b1a}:root.dark .hero{background:linear-gradient(135deg,#0f0b1a,#1e1b2e)}:root.dark .footer{background:#0a0812}:root.dark .bulk-item,:root.dark .card,:root.dark .faq-question,:root.dark .stat-card,:root.dark .tool-card,:root.dark .tool-form{background:#1a1726}:root.dark img{opacity:.92}body{font-family:var(--font-body),system-ui,sans-serif;color:var(--color-text);background:var(--color-white);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display),system-ui,sans-serif;font-weight:700;line-height:1.2;color:var(--color-primary)}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:1rem}code{font-family:var(--font-mono),monospace;font-size:.9em}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr}@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}.header{background:var(--color-primary);color:var(--color-white);padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between}.header-logo{font-family:var(--font-display),system-ui,sans-serif;font-size:1.25rem;font-weight:800;color:var(--color-white)}.header-nav{display:flex;gap:1.5rem;align-items:center}.header-nav a{color:rgba(255,255,255,.8);font-size:.9rem;font-weight:500;transition:color var(--transition)}.header-nav a:hover,.hero{color:var(--color-white)}.hero{background:linear-gradient(135deg,var(--color-primary) 0,#1e293b 100%)}.hero h1{color:var(--color-white)}.hero p{color:rgba(255,255,255,.75);font-size:1.2rem;max-width:640px;margin:0 auto 2rem}@media (max-width:640px){.hero h1{font-size:2rem}.hero p{font-size:1rem}}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow var(--transition),transform var(--transition);display:flex;flex-direction:column}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{font-size:1.15rem;margin-bottom:.5rem}.card-description{color:var(--color-text-muted);font-size:.9rem;flex:1 1}.card-meta{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-primary{background:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary)}.badge-accent{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;transition:background var(--transition),transform var(--transition);cursor:pointer;border:none}.btn-primary{background:var(--color-secondary);color:var(--color-white)}.btn-primary:hover{background:#4f46e5}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover,.detail-header{background:var(--color-surface)}.detail-header{padding:3rem 0 2rem;border-bottom:1px solid var(--color-border)}.detail-body{padding:2rem 0 4rem}.detail-grid{display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.detail-grid{grid-template-columns:2fr 1fr}}.detail-sidebar{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;align-self:start}.detail-sidebar dt{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1rem}.detail-sidebar dt:first-child{margin-top:0}.detail-sidebar dd{font-weight:500;margin-top:.25rem}.pros-cons{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}@media (max-width:640px){.pros-cons{grid-template-columns:1fr}}.pros-cons ul{list-style:none}.pros-cons li{padding:.4rem 0 .4rem 1.5rem;position:relative;font-size:.9rem}.pros-cons li:before{position:absolute;left:0}.pros li:before{content:"+";color:#22c55e;font-weight:700}.cons li:before{content:"-";color:#ef4444;font-weight:700}.rating{font-weight:600;color:var(--color-secondary)}.footer{background:var(--color-primary);color:rgba(255,255,255,.6);padding:3rem 0;font-size:.85rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer a{color:rgba(255,255,255,.8);transition:color var(--transition)}.footer a:hover{color:var(--color-white)}.back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-secondary);font-size:.9rem;font-weight:500;margin-bottom:1.5rem}.back-link:hover{text-decoration:underline}.page-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);margin-bottom:3rem}.category-icon{font-size:2rem;margin-bottom:.5rem}.result-display,input,select,textarea{max-width:100%;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.calculator,.card,.tool-container{width:100%;max-width:100%;box-sizing:border-box}.result-display{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden}table{-webkit-overflow-scrolling:touch}.break-all,code,pre{word-break:break-all}.break-all{overflow-wrap:anywhere}.article-card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}.article-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.article-card-image{aspect-ratio:16/9;overflow:hidden}.article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.article-card:hover .article-card-image img{transform:scale(1.03)}.article-card-content{padding:1.25rem;display:flex;flex-direction:column;flex:1 1}.article-card-category{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);margin-bottom:.5rem}.article-card-title{font-size:1.15rem;margin-bottom:.5rem;line-height:1.3}.article-card-description{color:var(--color-text-muted);font-size:.9rem;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card-meta{display:flex;align-items:center;gap:.75rem;margin-top:1rem;font-size:.8rem;color:var(--color-text-muted)}.article{max-width:800px;margin:0 auto;padding:2rem 1.5rem 4rem}.article-header{margin-bottom:2rem}.article-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem}.article-breadcrumb a:hover{color:var(--color-secondary)}.article-title{font-size:2.25rem;line-height:1.2;margin-bottom:.75rem}@media (max-width:640px){.article-title{font-size:1.75rem}}.article-subtitle{font-size:1.15rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:1.5rem}.article-meta{justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.article-author,.article-meta{display:flex;align-items:center}.article-author{gap:.75rem}.article-author-avatar{border-radius:50%}.article-author-name{font-weight:600;display:block}.article-author time,.article-reading-time{font-size:.85rem;color:var(--color-text-muted)}.article-hero{margin:2rem 0;border-radius:var(--radius);overflow:hidden}.article-hero-image{width:100%;height:auto}.article-body.prose{line-height:1.8;font-size:1.05rem}.article-body.prose h2{margin-top:2.5rem;margin-bottom:1rem}.article-body.prose h3{margin-top:2rem;margin-bottom:.75rem}.article-body.prose p{margin-bottom:1.25rem}.article-body.prose ol,.article-body.prose ul{list-style:revert;margin-bottom:1.25rem;padding-left:1.5rem}.article-body.prose li{margin-bottom:.5rem}.article-body.prose blockquote{border-left:3px solid var(--color-secondary);padding-left:1.25rem;margin:1.5rem 0;color:var(--color-text-muted);font-style:italic}.article-body.prose img{border-radius:var(--radius-sm);margin:1.5rem 0}.article-body.prose a{color:var(--color-secondary);text-decoration:underline}.article-body.prose a:hover{color:#4f46e5}.article-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem}body,html{overflow-x:hidden;max-width:100vw}table{display:block}code,pre,table{overflow-x:auto;max-width:100%}body{background:#0A0C10}body,h1,h2,h3,h4{color:#E2E8F0}.header{background:#0A0C10;border-bottom:1px solid #1e293b}.header-logo{color:#E2E8F0}.header-nav a{color:#94A3B8}.header-nav a:hover{color:#E2E8F0}.hero{background:linear-gradient(135deg,#064E3B,#059669 50%,#10B981);padding:5rem 0 4rem;text-align:center}.hero h1{color:#fff;font-size:3rem;margin-bottom:1rem}.hero p{color:rgba(255,255,255,.85)}@media (max-width:640px){.hero{padding:3rem 0 2.5rem}.hero h1{font-size:2rem}}.tool-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr}@media (min-width:640px){.tool-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tool-grid{grid-template-columns:repeat(3,1fr)}}.tool-card{background:#131820;border:1px solid #1e293b;border-radius:14px;padding:28px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit}.tool-card:hover{box-shadow:0 0 0 1px rgba(16,185,129,.2),0 12px 32px rgba(0,0,0,.5);transform:translateY(-3px);border-color:rgba(16,185,129,.3)}.tool-card-icon{width:52px;height:52px;border-radius:12px;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#10B981}.tool-card h3{font-size:1.15rem;margin-bottom:.5rem;color:#E2E8F0}.tool-card p{font-size:.9rem;color:#94A3B8;flex:1 1;margin-bottom:1.25rem;line-height:1.5}.tool-card .card-arrow{font-size:.85rem;font-weight:600;color:#10B981;display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s ease}.tool-card:hover .card-arrow{gap:.6rem}.section{padding:4rem 0}.calc-form,.section-header{margin-bottom:2rem}.calc-form{background:#131820;border:1px solid #1e293b;border-radius:12px;padding:2rem}.calc-form label{display:block;font-size:.85rem;font-weight:500;color:#E2E8F0;margin-bottom:.35rem}.calc-form .field{margin-bottom:1.25rem}.calc-form input,.calc-form select{width:100%;padding:.7rem .9rem;border:1.5px solid #1e293b;border-radius:10px;font-size:.95rem;font-family:var(--font-body),system-ui,sans-serif;color:#E2E8F0;background:#131820;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.calc-form input:focus,.calc-form select:focus{border-color:#10B981;box-shadow:0 0 0 3px rgba(16,185,129,.2)}.calc-form select option{background:#131820;color:#E2E8F0}.calc-form .row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:480px){.calc-form .row{grid-template-columns:1fr}}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.toggle-label{font-size:.9rem;color:#E2E8F0}.toggle-switch{position:relative;width:44px;height:24px;background:#1E293B;border-radius:12px;cursor:pointer;transition:background .2s ease;border:none;padding:0}.toggle-switch.active{background:#10B981}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-switch.active:after{transform:translateX(20px)}.calc-btn{width:100%;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;font-family:var(--font-display),system-ui,sans-serif;border:none;border-radius:10px;cursor:pointer;background:#10B981;color:#fff;transition:background .2s ease,transform .2s ease;margin-top:.5rem}.calc-btn:hover{background:#34D399;transform:translateY(-1px)}.calc-btn:active{transform:translateY(0)}.password-display{background:#0A0C10;border:2px solid #1e293b;border-radius:14px;padding:1.25rem 1.5rem;margin-bottom:.75rem;position:relative;min-height:72px;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s ease}.password-display:hover{border-color:#10B981}.password-text{font-family:var(--font-mono),monospace;font-size:1.5rem;font-weight:500;color:#34D399;word-break:break-all;line-height:1.5;-webkit-user-select:all;-moz-user-select:all;user-select:all;min-height:1.5em}@media (max-width:640px){.password-text{font-size:1.15rem}}.password-actions{display:flex;gap:.5rem;align-items:center}.copy-btn{flex-shrink:0;padding:.5rem 1rem;border-radius:8px;border:1.5px solid #1e293b;background:transparent;color:#94A3B8;font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease;font-family:var(--font-body),system-ui,sans-serif;white-space:nowrap}.copy-btn.copied,.copy-btn:hover{border-color:#10B981;color:#10B981}.copy-btn.copied{background:rgba(16,185,129,.1)}.copy-btn-primary{flex-shrink:0;padding:.6rem 1.25rem;border-radius:8px;border:none;background:#10B981;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;font-family:var(--font-body),system-ui,sans-serif;white-space:nowrap}.copy-btn-primary:hover{background:#34D399;transform:translateY(-1px)}.copy-btn-primary.copied{background:#059669}.strength-meter{margin:.75rem 0 1rem}.strength-segments{display:flex;gap:4px;margin-bottom:.5rem}.strength-segment{flex:1 1;height:6px;border-radius:3px;background:#1E293B;transition:background .3s ease}.strength-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.result-card{background:rgba(16,185,129,.08);border-left:4px solid #10b981;border-radius:0 12px 12px 0;padding:2rem;margin-bottom:2rem}.result-card .result-label{font-size:.85rem;font-weight:500;color:#94A3B8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.result-card .result-value{font-family:var(--font-mono),monospace;font-size:2rem;font-weight:700;line-height:1.1;color:#34D399;word-break:break-all}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.stat-card{background:#131820;border:1px solid #1e293b;border-radius:12px;padding:1.25rem;text-align:center}.stat-card .stat-value{font-family:var(--font-mono),monospace;font-size:1.5rem;font-weight:700;color:#10B981}.stat-card .stat-label{font-size:.78rem;color:#94A3B8;margin-top:.25rem}.page-header{padding:3rem 0;background:#0A0C10;border-bottom:1px solid #1e293b;margin-bottom:0}.page-header h1{color:#E2E8F0}.page-header p{color:#94A3B8}.calc-page{padding:2rem 0 4rem}.calc-layout{max-width:720px;margin:0 auto}.privacy-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.15);border-radius:10px;font-size:.82rem;color:#94A3B8;margin-top:1rem}.privacy-notice svg{flex-shrink:0;color:#10B981}.bulk-list{display:flex;flex-direction:column;gap:.5rem}.bulk-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0A0C10;border:1px solid #1e293b;border-radius:10px}.bulk-item .password-text{font-size:.95rem}.bulk-item .copy-btn{padding:.35rem .75rem;font-size:.78rem}.pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.5rem 1rem;border-radius:10px;border:1.5px solid #1e293b;background:transparent;color:#94A3B8;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-body),system-ui,sans-serif}.pill:hover{border-color:#10B981;color:#E2E8F0}.pill.active{background:#10B981;border-color:#10B981;color:#fff}.footer{background:#080A0E;border-top:1px solid #1e293b}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem}.feature-item{background:#131820;border:1px solid #1e293b;border-radius:12px;padding:1.5rem}.feature-item h3{font-size:1rem;margin-bottom:.5rem;color:#E2E8F0}.feature-item p{font-size:.88rem;color:#94A3B8;margin:0}.disclaimer{font-size:.78rem;color:#64748B;text-align:center;padding:1rem 0;line-height:1.5}.mobile-menu-btn{display:none;background:none;border:none;color:#E2E8F0;font-size:1.5rem;cursor:pointer;padding:.25rem}@media (max-width:768px){.mobile-menu-btn{display:block}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0A0C10;padding:1rem 1.5rem;flex-direction:column;gap:.75rem;border-top:1px solid #1e293b;border-bottom:1px solid #1e293b}.header-nav.open{display:flex}}.hash-output{background:#0A0C10;border:1px solid #1e293b;border-radius:10px;padding:1rem;font-family:var(--font-mono),monospace;font-size:.85rem;color:#34D399;word-break:break-all;line-height:1.6;margin-top:1rem}.range-slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#1E293B;border-radius:3px;outline:none;margin:.5rem 0}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#10B981;border-radius:50%;cursor:pointer;border:2px solid #0a0c10}.range-slider::-moz-range-thumb{width:20px;height:20px;background:#10B981;border-radius:50%;cursor:pointer;border:2px solid #0a0c10}.faq-section{margin-top:3rem}.faq-item{border-bottom:1px solid #1e293b;padding:1.25rem 0}.faq-item:first-child{border-top:1px solid #1e293b}.faq-question{font-size:1rem;font-weight:600;color:#E2E8F0;margin-bottom:.5rem}.faq-answer{font-size:.9rem;color:#94A3B8;line-height:1.6}