.tools-hub{padding-block:64px 88px;min-height:70vh}.tools-hub h1,.tool-heading h1{font-size:clamp(1.8rem,3.3vw,2.65rem);font-weight:650;line-height:1.45;letter-spacing:-.04em;margin:12px 0 16px}.tools-intro{font-size:1rem;line-height:1.9;color:var(--muted);max-width:850px}.tool-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}.tool-entry{padding:30px;border:1px solid #2d4643;border-radius:12px;background:linear-gradient(130deg,#112924,#101a23);display:block;transition:border-color .2s,transform .2s}.tool-entry:hover{border-color:var(--green);transform:translateY(-3px)}.tool-entry-top,.tool-entry-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.tool-icon{font-size:44px;color:var(--green);line-height:1}.tool-badge{display:inline-flex;align-items:center;gap:9px;color:#a1d2bb;background:#19362b66;border:1px solid #315446;border-radius:30px;padding:7px 12px;font-size:12px;white-space:nowrap}.tool-entry h2{font-size:24px;margin:26px 0 12px}.tool-entry p{font-size:16px;color:#acbdbb;line-height:1.9}.tool-entry-bottom{border-top:1px solid #315047;margin-top:24px;padding-top:18px;font-size:13px;color:#97aca7}.tool-entry-bottom strong{color:var(--green);font-weight:500}.qr-workspace{padding-block:26px 72px}.qr-workspace>.back-link{margin-bottom:18px}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tool-heading h1{margin-bottom:8px}.qr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:28px;align-items:start}.tool-panel{padding:28px;border:1px solid #2a3a40;border-radius:12px;background:#101920;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-title h2{font-size:21px;font-weight:600;margin:0}.panel-title>span{font:12px Consolas,monospace;color:#758e93}.qr-label{display:block;font-size:14px;color:#b1c1c4;margin-bottom:10px}#qr-input{width:100%;min-height:232px;max-height:650px;resize:vertical;border:1px solid #3a5056;border-radius:8px;background:#091116;color:#eef9f5;padding:16px;font-family:inherit;font-size:16px;line-height:1.75;box-sizing:border-box}#qr-input::placeholder{color:#7e949b}#qr-input:focus-visible{outline:2px solid var(--green);outline-offset:2px}#qr-input[aria-invalid="true"]{border-color:#ff9c8f}.qr-input-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#89a0a7;margin:12px 0 22px}#qr-counter{font-family:Consolas,monospace;white-space:nowrap}.qr-actions{display:flex;flex-wrap:wrap;gap:12px}.qr-actions .button{font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;gap:12px;min-height:46px;cursor:pointer;background:#15272b;color:#cde5db;padding:12px 15px}.qr-actions .primary{background:var(--green);color:#10231d}.qr-actions button:disabled{opacity:.4;cursor:not-allowed;transform:none}.qr-actions button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.qr-status{font-size:14px;color:var(--green);line-height:1.8;min-height:26px;margin:18px 0 0}.qr-status[data-state="error"],.qr-error{color:#ffab9e}.qr-hint{margin-top:28px;border-top:1px solid #2a3c40;padding-top:22px}.qr-hint strong{font-size:14px;color:#b2c6c1;font-weight:500}.qr-hint p{font-size:13px;line-height:1.9;color:#8ea5ab;margin:8px 0 0}.qr-stage{border:1px dashed #35594e;background:radial-gradient(ellipse at center,#1c3e3366,#0b151c);min-height:360px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:22px}.qr-empty{display:flex;flex-direction:column;align-items:center;text-align:center;color:#8caaa2}.qr-empty>span{font-size:70px;line-height:1.4;color:#507d6d}.qr-empty strong{font-size:16px;font-weight:500;margin-top:8px}.qr-empty p{font-size:13px;margin:8px 0}#qr-canvas{display:block;width:100%;max-width:320px;height:auto;background:#fff;border-radius:0;image-rendering:pixelated}.qr-workspace [hidden]{display:none!important}.qr-output{margin-top:22px;border:1px solid #283b42;border-radius:8px;padding:18px;background:#0b141b}.qr-output h3{font-size:15px;margin:0 0 10px;font-weight:550}.qr-output pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:#aac4ba;margin:0;max-height:240px;overflow-y:auto;min-width:0}.qr-footnote{font-size:12px;color:#8aa1a8;line-height:1.8;margin:16px 0 0}.home-tools{padding-block:0 60px}.home-tool-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid #2d4940;border-radius:10px;padding:28px;background:linear-gradient(100deg,#122b24,#101b23)}.home-tool-strip h2{font-size:24px;margin:10px 0}.home-tool-strip p{color:var(--muted);margin:0;font-size:16px}.home-tool-strip .button{flex-shrink:0}.qr-error{border:1px solid #a56056;padding:16px;border-radius:8px}@media(max-width:900px){.qr-grid{grid-template-columns:minmax(0,1fr);max-width:700px;margin-inline:auto}.qr-stage{min-height:330px}.tool-directory{grid-template-columns:minmax(0,1fr);max-width:700px}.tool-heading{align-items:flex-start}.tool-panel{padding:24px}.home-tool-strip{flex-wrap:wrap}}@media(max-width:600px){.nav nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.nav nav a{min-width:0;padding:8px 2px;font-size:14px}.tools-hub{padding-block:36px 50px}.tool-entry{padding:22px}.qr-workspace{padding-block:16px 44px}.tool-heading h1{font-size:clamp(1.65rem,6.7vw,2.2rem)}.tool-panel{padding:18px}.panel-title{margin-bottom:18px}.panel-title h2{font-size:19px}.panel-title>span{font-size:11px}.qr-grid{gap:18px;margin-top:22px}#qr-input{min-height:200px;padding:13px}.qr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qr-actions .primary{grid-column:1/-1}.qr-actions .button{font-size:13px;padding:12px 8px}.qr-stage{min-height:260px;padding:14px}.qr-input-meta{margin-bottom:18px}.qr-hint{margin-top:20px}.qr-output{padding:14px}.tool-entry h2{font-size:22px}.home-tool-strip{padding:22px}.home-tool-strip h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.tool-entry{transition:none;transform:none}}
