.tool-wrap{max-width:660px}.tool-form{margin-top:6px}.tool-form .field{margin-bottom:14px}.pw-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.pw-row .field{flex:1 1 260px;margin-bottom:0}.pw-row .btn{flex:0 0 auto}.pw-inputwrap{position:relative}.pw-inputwrap input{padding-right:46px !important}.pw-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-mute);cursor:pointer;border-radius:8px}.pw-toggle:hover{color:var(--text);background:var(--surface-2)}.pw-toggle svg{width:20px;height:20px}.pw-result{display:none;margin-top:18px;padding:16px 18px;border-radius:var(--radius-sm);font-size:.98rem;line-height:1.6;border:1px solid var(--border);background:var(--surface);color:var(--text-soft)}.pw-result.show{display:block}.pw-result.checking{color:var(--text-mute)}.pw-result.ok{background:rgba(0,211,167,.12);border-color:rgba(0,211,167,.32);color:var(--accent-2)}.pw-result.bad,.pw-result.err{background:rgba(255,107,139,.12);border-color:rgba(255,107,139,.32);color:var(--accent-3)}.tool-note{font-size:.86rem;color:var(--text-mute);margin-top:14px}.tool-note a{color:var(--accent-2)}.tool-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:6px 0}.tool-feat .f{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px}.tool-feat .f h3{font-family:var(--font-display);font-size:1rem;margin-bottom:8px}.tool-feat .f p{font-size:.9rem;color:var(--text-soft);margin:0;line-height:1.6}.tool-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.tool-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.tool-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-soft)}.tool-card.is-soon{pointer-events:none;opacity:.72}.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;border-radius:100px;padding:3px 11px;margin-bottom:13px}.badge-free{color:var(--accent-2);border:1px solid rgba(0,211,167,.32)}.badge-soon{color:var(--text-mute);border:1px solid var(--border)}.tool-card h3{font-family:var(--font-display);font-size:1.18rem;margin-bottom:8px;color:var(--text)}.tool-card p{font-size:.92rem;color:var(--text-soft);margin:0;line-height:1.6}.gen-outwrap input#gen-out{font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.06rem;letter-spacing:.02em}.gen-controls{margin-top:8px}.gen-controls>label{display:block;font-size:.9rem;color:var(--text-soft);margin-bottom:10px}.gen-controls>label b{color:var(--text);font-family:var(--font-display)}.gen-controls input[type="range"]{width:100%;accent-color:var(--accent)}.gen-opts{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px}.gen-opts label{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--text-soft);cursor:pointer}.gen-opts input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent)}.ph-result{text-align:left}.ph-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:1px solid var(--border);font-size:.95rem}.ph-row:first-of-type{margin-top:12px}.ph-row span{color:var(--text-mute)}.ph-row b{font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right;word-break:break-all}@media (max-width:720px){.tool-feat{grid-template-columns:1fr}}.utm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.tool-actions{display:flex;align-items:center;gap:14px;margin-top:4px}.qr-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.qr-row .field{flex:0 0 180px;margin-bottom:0}.qr-out{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:20px}#qr-code img,#qr-code canvas{border:10px solid #fff;border-radius:12px;display:block;max-width:100%}.slug-opts{display:flex;gap:18px;margin:-6px 0 14px}.slug-opts .opt{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--text-soft);cursor:pointer}.utm-presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.cnt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}.cnt-grid .cnt{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface)}.cnt-grid .cnt b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.02em}.cnt-grid .cnt span{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute)}.cnt-limits{display:grid;gap:10px;margin-top:18px}.cnt-limits .lim{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;font-family:var(--font-mono);font-size:.72rem;color:var(--text-mute)}.cnt-limits .lim i{display:block;height:5px;border-radius:4px;background:var(--accent);width:0;max-width:100%;transition:width .2s;box-shadow:0 0 10px rgba(251,191,36,.4)}.cnt-limits .lim{background:none}.cnt-limits .lim>i{background:var(--accent)}.cnt-limits .lim.over i{background:#ff6b8b;box-shadow:0 0 10px rgba(255,107,139,.5)}.cnt-limits .lim.over{color:#ff6b8b}@media(max-width:720px){.utm-grid,.cnt-grid{grid-template-columns:1fr 1fr}}