:root{--bg-color: #0a0a0a;--card-bg: rgba(255, 255, 255, .03);--card-border: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #a1a1aa;--accent-color: #10b981;--accent-hover: #059669;--danger-color: #f87171;--input-bg: rgba(0, 0, 0, .3);--input-border: #333;--font-main: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Courier New", monospace;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-color);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(16,185,129,.08),transparent),radial-gradient(ellipse 60% 40% at 90% 110%,rgba(59,130,246,.05),transparent);color:var(--text-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 20px}.site-header{width:100%;max-width:960px;text-align:center;margin-bottom:32px}.site-header h1{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-secondary);font-size:1.05rem;max-width:640px;margin:0 auto}.search-wrap{width:100%;max-width:560px;margin-bottom:28px;position:relative}#tool-search{width:100%;padding:13px 44px 13px 18px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:14px;color:var(--text-primary);font-family:inherit;font-size:1rem;outline:none;transition:var(--transition)}#tool-search:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}.search-wrap svg{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;stroke:var(--text-secondary);pointer-events:none}main.panel{width:100%;max-width:960px;background:var(--card-bg);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:24px;padding:32px;box-shadow:0 25px 50px -12px #00000080}@media(max-width:600px){main.panel{padding:20px;border-radius:18px}}.tool-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}.tool-head h2{font-size:1.45rem;font-weight:700}.tool-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:22px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-color);text-decoration:none;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);margin-left:auto}.back-link:hover{text-decoration:underline}.category-section{margin-bottom:30px}.category-title{display:flex;align-items:center;gap:10px;font-size:1.02rem;font-weight:700;margin-bottom:14px;color:var(--text-primary)}.category-title .cat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#10b9811a;border:1px solid rgba(16,185,129,.25)}.category-title .cat-icon svg{width:17px;height:17px;stroke:var(--accent-color)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.tool-card{background:#ffffff0a;border:1px solid var(--input-border);border-radius:14px;padding:14px 16px;cursor:pointer;transition:var(--transition);text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative}.tool-card:hover,.tool-card:focus-visible{background:#ffffff14;border-color:var(--accent-color);transform:translateY(-2px)}.tool-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:3px}.tool-card .tc-name{font-weight:600;font-size:.94rem;flex:1}.tool-card .tc-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pin-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition);opacity:.45;flex-shrink:0;line-height:1}.tool-card:hover .pin-btn,.pin-btn:focus-visible,.pin-btn.pinned{opacity:1}.pin-btn:hover{color:var(--accent-color);transform:scale(1.15)}.pin-btn.pinned{color:var(--accent-color)}.pin-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none}.pin-btn.pinned svg{fill:var(--accent-color)}.tool-head-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.tool-head-pin{display:inline-flex;align-items:center;gap:6px;background:#ffffff0d;border:1px solid var(--input-border);color:var(--text-secondary);padding:6px 12px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}.tool-head-pin:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--accent-color)}.tool-head-pin.pinned{color:var(--accent-color);border-color:#10b98166;background:#10b9811a}.tool-head-pin svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.tool-head-pin.pinned svg{fill:var(--accent-color)}.category-section.pinned-section{border-bottom:1px dashed rgba(255,255,255,.1);padding-bottom:24px;margin-bottom:28px}.category-section.pinned-section .cat-icon{background:#f59e0b1f;border-color:#f59e0b4d}.category-section.pinned-section .cat-icon svg{stroke:#f59e0b}.no-results{text-align:center;color:var(--text-secondary);padding:40px 0;display:none}.field{margin-bottom:16px}.field>label,.group-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}select,input[type=text],input[type=number],input[type=password],textarea{width:100%;padding:11px 14px;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:11px;font-size:.97rem;font-family:inherit;transition:var(--transition);outline:none}select{appearance:none;cursor:pointer;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(255,255,255,0.5)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:17px}select:hover,textarea:hover,input[type=text]:hover,input[type=number]:hover,input[type=password]:hover{border-color:#ffffff38}select:hover{border-color:var(--accent-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")}select:focus,textarea:focus,input[type=text]:focus,input[type=number]:focus,input[type=password]:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}textarea{resize:vertical;min-height:140px;font-family:var(--font-mono);font-size:.9rem;line-height:1.55}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.checkbox-group{display:flex;align-items:center;gap:9px;font-size:.92rem;cursor:pointer;user-select:none;color:var(--text-secondary);transition:var(--transition)}.checkbox-group:hover{color:var(--text-primary)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent-color);cursor:pointer;flex-shrink:0}.inline-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.inline-controls .field{margin-bottom:0;flex:1;min-width:150px}.button-group{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}button{padding:9px 18px;border-radius:10px;font-weight:600;font-size:.87rem;cursor:pointer;border:none;transition:var(--transition);font-family:inherit}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background-color:#27272a;color:var(--text-primary)}.btn-secondary:hover{background-color:#3f3f46}.btn-icon{padding:7px 10px;background:#27272a;display:inline-flex;align-items:center;gap:6px}.btn-icon svg{width:15px;height:15px;stroke:currentColor}.result-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 10px}.result-header .group-label{margin-bottom:0}.output{padding:18px;background:#0006;border:1px dashed var(--input-border);border-radius:12px;font-family:var(--font-mono);font-size:.92rem;word-break:break-all;white-space:pre-wrap;min-height:56px;max-height:480px;overflow-y:auto;color:var(--accent-color)}.output::-webkit-scrollbar{width:8px}.output::-webkit-scrollbar-track{background:#ffffff0a;border-radius:10px}.output::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}.output::-webkit-scrollbar-thumb:hover{background:#fff3}.output.error{color:var(--danger-color);border-color:#f8717159}.kv-table{width:100%;border-collapse:collapse;font-size:.9rem}.kv-table td{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top;word-break:break-all}.kv-table tr:last-child td{border-bottom:none}.kv-table td:first-child{color:var(--text-secondary);font-weight:600;white-space:nowrap;width:34%}.kv-table td.mono{font-family:var(--font-mono);font-size:.86rem}.diff-view{font-family:var(--font-mono);font-size:.87rem;background:#0006;border:1px solid var(--input-border);border-radius:12px;padding:14px;max-height:480px;overflow:auto;white-space:pre-wrap;word-break:break-all}.diff-line-del{background:#f8717124;color:#fca5a5;display:block;border-radius:4px}.diff-line-ins{background:#10b98121;color:#6ee7b7;display:block;border-radius:4px}.diff-line-eq{display:block;color:var(--text-secondary)}.error-banner{display:none;margin:14px 0 0;padding:11px 15px;border-radius:10px;background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--danger-color);font-size:.88rem;word-break:break-word}.error-banner.show{display:block}.stat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stat-chip{background:#10b98112;border:1px solid rgba(16,185,129,.22);border-radius:999px;padding:5px 14px;font-size:.82rem;color:var(--text-secondary)}.qr-output{display:flex;justify-content:center;align-items:center;padding:24px;background:#ffffff05;border-radius:14px}.qr-output svg{max-width:280px;width:100%;height:auto;border-radius:8px;box-shadow:0 10px 25px -5px #00000080}.qr-preview-box{display:inline-flex;padding:16px;background:#fff;border-radius:12px}.content-section{width:100%;max-width:960px;margin-top:42px;color:var(--text-secondary)}.content-section h2{color:var(--text-primary);font-size:1.35rem;margin-bottom:16px;text-align:center}.content-section p{margin-bottom:14px;font-size:.95rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px}.feature-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:18px}.feature-item h3{font-size:.98rem;margin-bottom:6px;color:var(--text-primary)}.feature-item p{font-size:.85rem;margin:0}.faq-list details{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:14px 18px;margin-bottom:10px}.faq-list summary{cursor:pointer;font-weight:600;color:var(--text-primary);font-size:.95rem}.faq-list p{margin-top:10px;font-size:.9rem}footer{margin-top:46px;text-align:center;color:var(--text-secondary);font-size:.88rem;padding:0 20px}footer a{color:var(--accent-color);text-decoration:none;transition:var(--transition)}footer a:hover{text-decoration:underline}.advanced-details{background:#ffffff05;border:1px solid var(--card-border);border-radius:14px;padding:12px 16px;margin-top:12px;margin-bottom:16px;transition:var(--transition)}.advanced-details summary{cursor:pointer;font-weight:600;color:var(--text-secondary);font-size:.88rem;user-select:none;display:flex;align-items:center;gap:8px}.advanced-details summary:hover{color:var(--text-primary)}.advanced-details[open]{background:#ffffff09;border-color:#ffffff26}.advanced-details[open] summary{margin-bottom:14px;color:var(--accent-color)}.breakdown-table{width:100%;margin-top:10px;font-size:.82rem;border-collapse:collapse}.breakdown-table td{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.breakdown-table .lbl{color:var(--text-secondary);font-weight:600;width:130px}.breakdown-table .val{font-family:var(--font-mono);color:#6ee7b7;word-break:break-all}.hidden{display:none!important}.qr-dropzone{border:2px dashed rgba(255,255,255,.15);border-radius:12px;padding:28px 20px;text-align:center;background:#ffffff05;cursor:pointer;transition:var(--transition);margin-bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.qr-dropzone:hover,.qr-dropzone.dragover{border-color:var(--accent-color);background:#10b9810d}.qr-dropzone-icon{width:44px;height:44px;color:var(--text-secondary)}.qr-camera-wrap{position:relative;width:100%;max-width:480px;margin:0 auto 16px;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 4px 20px #00000080}.qr-camera-wrap video{width:100%;display:block;object-fit:cover;border-radius:12px}.qr-viewfinder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;height:220px;border:2px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:0 0 0 9999px #0006;pointer-events:none}.qr-scan-line{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-color);box-shadow:0 0 8px var(--accent-color);animation:qrScanMove 2.2s ease-in-out infinite}@keyframes qrScanMove{0%,to{top:4px}50%{top:calc(100% - 6px)}}.qr-result-box{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-top:16px}.qr-type-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.qr-preview-thumb{max-width:130px;max-height:130px;border-radius:8px;border:1px solid rgba(255,255,255,.1);object-fit:contain;background:#18181b}.qr-switch-nav{display:inline-flex;gap:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:4px;border-radius:10px;margin-bottom:20px}.qr-switch-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:7px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.qr-switch-tab:hover{color:var(--text-primary);background:#ffffff0f}.qr-switch-tab.active{color:#fff;background:var(--accent-color);box-shadow:0 2px 8px #10b9814d}.qr-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#000000d1;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;animation:qrModalFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes qrModalFadeIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.qr-modal{background:#0f1115;border:1px solid rgba(255,255,255,.09);border-radius:18px;width:100%;max-width:960px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px -12px #000c,0 0 0 1px #ffffff0a;overflow:hidden}.qr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff04}.qr-modal-title{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.01em}.qr-modal-subtitle{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.qr-modal-close{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#d1d5db;cursor:pointer;width:32px;height:32px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.qr-modal-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.2;display:block;pointer-events:none}.qr-modal-close:hover{color:#fff;background:#ffffff1f;border-color:#ffffff38}.qr-studio-grid{display:grid;grid-template-columns:1fr 390px;overflow:hidden;flex:1;min-height:0}@media(max-width:840px){.qr-studio-grid{grid-template-columns:1fr;overflow-y:auto}}.qr-studio-controls{padding:22px 24px;overflow-y:auto;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:16px}.qr-studio-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:#0006;padding:3px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.qr-studio-tab-btn{padding:8px 10px;border-radius:7px;font-size:.82rem;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:var(--transition);text-align:center}.qr-studio-tab-btn:hover{color:#fff;background:#ffffff08}.qr-studio-tab-btn.active{color:#fff;background:#ffffff14;border-color:#ffffff1f;font-weight:600;box-shadow:0 1px 3px #0006}.qr-preset-list{display:flex;flex-direction:column;gap:8px}.qr-preset-card{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:var(--transition);text-align:left;width:100%}.qr-preset-card:hover{background:#ffffff0b;border-color:#10b98159;transform:translateY(-1px)}.qr-preset-card:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #10b98133}.qr-preset-info{display:flex;flex-direction:column;gap:2px}.qr-preset-name{font-size:.88rem;font-weight:600;color:#fff}.qr-preset-desc{font-size:.76rem;color:var(--text-secondary)}.qr-preset-pill{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:6px;background:#ffffff0d;color:var(--text-secondary);border:1px solid rgba(255,255,255,.08);flex-shrink:0}.qr-color-input{width:100%;height:38px;padding:2px;background:#00000040;border:1px solid var(--input-border);border-radius:8px;cursor:pointer;transition:var(--transition)}.qr-color-input:hover{border-color:#fff3}.qr-studio-preview{padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#090a0d;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:16px 16px;overflow-y:auto;gap:18px}.qr-preview-canvas-box{background:transparent;padding:8px;display:flex;align-items:center;justify-content:center;max-width:100%;flex:1}.qr-preview-canvas-box svg{width:100%;max-width:320px;max-height:360px;height:auto;display:block;border-radius:12px;filter:drop-shadow(0 14px 28px rgba(0,0,0,.5))}.qr-studio-actions{width:100%;display:flex;flex-direction:column;gap:8px}.qr-studio-secondary-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%}.qr-studio-secondary-actions button{padding:8px 10px;font-size:.8rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);border-radius:8px}.qr-studio-secondary-actions button:hover{color:#fff;background:#ffffff14;border-color:#ffffff26}@media print{body *{visibility:hidden}.qr-print-target,.qr-print-target *{visibility:visible}.qr-print-target{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:20px;box-shadow:none!important;border:1px dashed #ccc!important;background:#fff!important}}
