:root{--bg:#070a12;--bg2:#0d1220;--card:#111827;--line:#1f2937;--txt:#e5e7eb;--mut:#94a3b8;--cyan:#22d3ee;--violet:#a78bfa;--green:#34d399}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:radial-gradient(900px 500px at 15% -10%,rgba(34,211,238,.14),transparent 60%),radial-gradient(900px 500px at 100% 0,rgba(167,139,250,.14),transparent 55%),var(--bg);color:var(--txt);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}.wrap{max-width:1000px;margin:0 auto;padding:28px 18px 64px}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}.brand{font-weight:800;font-size:22px;letter-spacing:-.5px}.brand .k{color:var(--cyan)}.tag{color:var(--mut);font-size:14px;margin:6px 0 30px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px;grid-auto-rows:1fr}.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:20px;transition:.18s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;height:200px}.card:hover{transform:translateY(-3px);border-color:var(--accent,var(--cyan));box-shadow:0 0 0 1px var(--accent,var(--cyan)),0 12px 40px rgba(0,0,0,.5)}.card .emoji{font-size:30px}.card h3{margin:12px 0 6px;font-size:18px}.card h3,.card p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card p{margin:0;color:var(--mut);font-size:14px;line-height:1.5}.card .go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--accent,var(--cyan))}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent,var(--cyan));box-shadow:0 0 12px var(--accent,var(--cyan))}.back{color:var(--mut);font-size:14px;display:inline-block;margin-bottom:16px}.gallery-search{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px}.gallery-search input[type=search]{flex:1 1 320px;max-width:620px;background:#0a0f1a;border:1px solid var(--line);color:var(--txt);border-radius:14px;padding:15px 18px;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}.gallery-search input[type=search]:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.15)}.gallery-count{font-size:13px;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}@media (max-width:640px){.chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin:0 -18px 16px;padding-left:18px;padding-right:18px;scrollbar-width:thin}.chip{flex:0 0 auto;white-space:nowrap}}.filter-note{margin:-6px 0 16px;font-size:13px}.filter-note strong{color:var(--txt);font-weight:700}.filter-note-link{color:var(--cyan);font-weight:600}.filter-note-link:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:#0a0f1a;border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:7px 13px;font-size:13px;line-height:1;transition:border-color .15s,color .15s,background .15s}.chip.on,.chip:hover{color:var(--txt);border-color:var(--cyan)}.chip.on{background:rgba(34,211,238,.1)}.chip-e{font-size:14px}.chip-n{font-size:11px;color:var(--mut);background:hsla(0,0%,100%,.06);border-radius:999px;padding:2px 7px}.chip.on .chip-n{color:var(--txt)}.cat-section{margin:0 0 34px}.cat-head{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--txt);letter-spacing:.02em;text-transform:uppercase;margin:0 0 14px}.cat-e{font-size:18px}.cat-n{font-size:12px;font-weight:600;color:var(--mut);background:hsla(0,0%,100%,.06);border-radius:999px;padding:2px 9px}.panel{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:22px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}label{display:block;font-size:12px;color:var(--mut);margin:12px 0 5px;text-transform:uppercase;letter-spacing:.04em}input,select,textarea{width:100%;background:#0a0f1a;border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:10px 12px;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan)}.items th{text-align:left;font-size:11px;color:var(--mut);text-transform:uppercase;padding:6px}.items td{padding:4px 6px}.items input{padding:8px 10px}table{width:100%;border-collapse:collapse}.btn{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#05080f;font-weight:700;border:0;border-radius:10px;padding:12px 18px;font-size:15px;cursor:pointer}.btn.secondary{background:#0a0f1a;color:var(--txt);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:default}.linkbtn{background:none;border:0;color:var(--cyan);cursor:pointer;font-size:13px;padding:0}.total{font-size:26px;font-weight:800}.result{margin-top:18px;border-top:1px dashed var(--line);padding-top:18px}.pill{display:inline-block;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--mut)}.pill.ok{color:var(--green);border-color:var(--green)}.err{color:#fca5a5;font-size:14px;margin-top:10px}.muted{color:var(--mut);font-size:13px}@media (max-width:560px){.row{grid-template-columns:1fr}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1 0 auto}.site-footer{flex-shrink:0;max-width:1000px;margin:0 auto;width:100%;border-top:1px solid var(--line);color:var(--mut);font-size:13px;padding:18px;flex-wrap:wrap;gap:10px;justify-content:space-between}.site-footer,.site-footer-nav{display:flex;align-items:center}.site-footer-nav{gap:12px}.site-footer a:hover{color:var(--cyan)}.site-footer .sep{opacity:.5}.legal{max-width:760px}.legal h1{font-size:26px;letter-spacing:-.5px;margin:6px 0 4px}.legal h2{font-size:16px;margin:24px 0 8px;color:var(--txt)}.legal li,.legal p{color:var(--mut);font-size:14px;line-height:1.65}.legal ul{margin:8px 0;padding-left:20px}.legal .updated{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}.pg-meta{margin:6px 0 18px;font-size:13px}.pg{gap:8px;margin:8px 0}.pg,.pg-list{display:flex;flex-wrap:wrap;align-items:center}.pg-list{gap:6px;list-style:none;margin:0;padding:0}.pg-num{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.pg-num:hover{background:#dbeafe;color:#1f2937}.pg-num.on{border-color:#2563eb;cursor:default}.pg-num.on,.pg-num.on:hover{background:#2563eb;color:#fff}.pg-gap{justify-content:center;min-width:24px;color:#6b7280}.pg-btn,.pg-gap{display:inline-flex;align-items:center;height:36px}.pg-btn{padding:0 14px;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease}.pg-btn:hover{background:#f3f4f6}.pg-btn.off{color:#d1d5db;cursor:default;pointer-events:none}.pg-btn.off:hover{background:transparent}.topbar{justify-content:space-between}.topbar-link{color:var(--mut);font-size:14px}.topbar-link:hover{color:var(--cyan)}.hero{margin:10px 0 24px}.hero-h{font-size:clamp(30px,5vw,46px);line-height:1.08;letter-spacing:-.02em;font-weight:800;margin:6px 0 14px;max-width:760px;background:linear-gradient(90deg,#f3f6fa,#cbd5e1);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{color:var(--mut);font-size:17px;line-height:1.6;max-width:640px;margin:0 0 14px}.hero-trust{font-size:13px;letter-spacing:.01em}.hero-pricing-link{color:var(--cyan);font-weight:600}.hero-pricing-link:hover{text-decoration:underline}.pricing{margin:56px 0 10px;scroll-margin-top:20px}.pricing-h{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0 0 8px}.pricing-sub{max-width:620px;margin:0 0 26px;font-size:14px;line-height:1.6}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.price-card{position:relative;background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column}.price-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 44px rgba(0,0,0,.45)}.price-badge{position:absolute;top:-11px;left:22px;background:var(--accent);color:#05080f;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}.price-badge,.price-name{text-transform:uppercase;letter-spacing:.05em}.price-name{font-size:14px;font-weight:700;color:var(--accent)}.price-amt{font-size:40px;font-weight:800;letter-spacing:-.02em;margin:8px 0 2px}.price-cad{font-size:16px;font-weight:600;color:var(--mut);margin-left:2px}.price-blurb{font-size:14px;margin-bottom:14px}.price-feats{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px;flex:1 0 auto}.price-feats li{position:relative;padding-left:24px;font-size:14px;color:var(--txt);line-height:1.4}.price-feats li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}.price-cta{width:100%;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.price-card.featured .price-cta{background:linear-gradient(90deg,var(--accent),var(--cyan))}.crumbs{margin:4px 0 10px;font-size:13px}.crumbs a{color:var(--mut)}.crumbs a:hover{color:var(--cyan)}.crumbs .sep{opacity:.5;margin:0 6px}.cat-links-h{font-size:15px;font-weight:700;margin:0 0 12px}.cat-chips{display:flex;flex-wrap:wrap;gap:8px}.cat-chip{display:inline-flex;align-items:center;gap:7px;background:#0a0f1a;border:1px solid var(--line);color:var(--mut);border-radius:999px;padding:7px 13px;font-size:13px;line-height:1;transition:border-color .15s,color .15s,background .15s}.cat-chip:hover{color:var(--txt);border-color:var(--cyan);background:rgba(34,211,238,.1)}.related-tools{margin-top:22px}.related-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.related-title{margin:0;font-size:16px;font-weight:700;color:var(--txt)}.related-all{font-size:13px;font-weight:600;color:var(--cyan);white-space:nowrap}.related-all:hover{text-decoration:underline}.related-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.related-link{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0a0f1a;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--txt);transition:border-color .15s,transform .15s}.related-link:hover{border-color:var(--cyan);transform:translateY(-2px)}.related-emoji{font-size:18px;flex-shrink:0}.related-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-guides-link{margin:26px 0 0;font-size:13px}.home-guides-link a{color:var(--cyan);font-weight:600}.home-guides-link a:hover{text-decoration:underline}.guide-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.guide-card{display:flex;flex-direction:column;gap:8px;padding:18px;background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:14px;transition:border-color .15s,transform .15s}.guide-card:hover{border-color:var(--cyan);transform:translateY(-2px)}.guide-card-h{margin:0;font-size:16px;font-weight:700;color:var(--txt);line-height:1.35}.guide-card-p{margin:0;line-height:1.5}.guide-card-tool{margin-top:auto;font-size:12px;font-weight:600;color:var(--cyan)}.guide{max-width:760px}.guide-h1{font-size:30px;font-weight:800;line-height:1.2;margin:6px 0 14px;color:var(--txt)}.guide-lead{font-size:16px;line-height:1.65;color:var(--txt);margin:0 0 12px}.guide-sec{margin-top:26px}.guide-h2{font-size:21px;font-weight:700;margin:0 0 10px;color:var(--txt)}.guide-sec p{font-size:15px;line-height:1.7;color:var(--mut);margin:0 0 10px}.guide-ul{margin:6px 0 10px;padding-left:20px}.guide-ul li{font-size:15px;line-height:1.65;color:var(--mut);margin:4px 0}.guide-ul a{color:var(--cyan);font-weight:600}.guide-ul a:hover{text-decoration:underline}.guide-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0}.guide-cta .btn{text-decoration:none;white-space:nowrap}.guide-faqs{display:flex;flex-direction:column;gap:14px}.guide-faq-q{font-size:15px;font-weight:700;margin:0 0 4px;color:var(--txt)}.guide-faq-a{font-size:15px;line-height:1.65;color:var(--mut);margin:0}.guide-links a{color:var(--cyan);font-weight:600}.guide-links a:hover{text-decoration:underline}