:root{--bg:#0d1117;--card:#161b22;--card-hover:#1c2333;--border:#30363d;--accent:#00e676;--accent-dark:#00c853;--text:#e6edf3;--text-muted:#8b949e;--danger:#f85149;--radius:12px}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-dark)}::selection{background:var(--accent);color:var(--bg)}.navbar{background:rgba(13,17,23,.95)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.navbar-brand{font-weight:800;font-size:1.4rem;color:var(--accent)!important;letter-spacing:-.5px}.navbar-brand span{color:var(--text)}.nav-link{color:var(--text-muted)!important;font-weight:500;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--accent)!important}.hero{padding:5rem 0 3rem;text-align:center}.hero h1{font-size:2.8rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--accent),#69f0ae);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.2rem;color:var(--text-muted);max-width:600px;margin:0 auto}.tool-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;height:100%}.tool-card:hover{background:var(--card-hover);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,230,118,.1)}.tool-card .icon{font-size:3rem;margin-bottom:1rem;display:block}.tool-card h3{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.tool-card p{color:var(--text-muted);font-size:.9rem}.section-title{font-size:2rem;font-weight:800;text-align:center;margin-bottom:2rem}.tool-section{display:none;animation:fadeIn .3s ease}.tool-section.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:var(--card);position:relative}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:rgba(0,230,118,.05)}.drop-zone .icon{font-size:3rem;margin-bottom:1rem;display:block}.drop-zone p{color:var(--text-muted);margin-bottom:.5rem}.drop-zone .browse{color:var(--accent);font-weight:600;text-decoration:underline;cursor:pointer}.file-list{list-style:none;margin-top:1rem}.file-list li{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:space-between;animation:fadeIn .2s}.file-list li .file-info{display:flex;align-items:center;gap:.75rem;min-width:0}.file-list li .file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list li .file-size{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.file-list li .file-actions{display:flex;gap:.5rem;align-items:center}.file-list .drag-handle{cursor:grab;color:var(--text-muted);font-size:1.2rem;user-select:none}.file-list .btn-remove{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.1rem;padding:2px 6px;border-radius:4px;transition:background .2s}.file-list .btn-remove:hover{background:rgba(248,81,73,.15)}.btn-accent{background:var(--accent);color:var(--bg);font-weight:700;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}.btn-accent:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 15px rgba(0,230,118,.3)}.btn-accent:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent);border-radius:8px;padding:.75rem 2rem;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s}.btn-outline:hover{background:var(--accent);color:var(--bg)}.progress-wrap{margin-top:1.5rem;display:none}.progress-wrap.active{display:block}.progress-bar-custom{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-bar-custom .fill{height:100%;background:linear-gradient(90deg,var(--accent),#69f0ae);border-radius:3px;width:0;transition:width .3s}.status-text{color:var(--text-muted);font-size:.9rem;margin-top:.5rem;text-align:center}.result-area{margin-top:1.5rem;display:none;text-align:center;animation:fadeIn .3s}.result-area.active{display:block}.result-area .success-icon{font-size:3rem;display:block;margin-bottom:.5rem}.result-info{color:var(--text-muted);margin-bottom:1rem}.options-bar{display:flex;gap:1rem;align-items:center;justify-content:center;margin:1rem 0;flex-wrap:wrap}.options-bar label{color:var(--text-muted);font-size:.9rem;font-weight:500}.options-bar select,.options-bar input[type="number"]{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem;font-size:.9rem}.back-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-bottom:1rem;transition:color .2s}.back-btn:hover{color:var(--accent)}.how-it-works{background:var(--card);border-radius:var(--radius);border:1px solid var(--border)}.how-step{text-align:center;padding:1.5rem}.how-step .step-num{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--bg);font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.1rem}.how-step h4{font-weight:700;margin-bottom:.5rem}.how-step p{color:var(--text-muted);font-size:.9rem}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden}.faq-item summary{padding:1rem 1.25rem;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:color .2s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'＋';color:var(--accent);font-size:1.2rem;transition:transform .3s}.faq-item[open] summary::after{content:'－'}.faq-item .faq-body{padding:0 1.25rem 1rem;color:var(--text-muted);line-height:1.6}footer{background:var(--card);border-top:1px solid var(--border);padding:2rem 0;margin-top:auto}footer p{color:var(--text-muted);font-size:.9rem}.feature-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,230,118,.1);color:var(--accent);padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;margin:.25rem}.tools-grid{margin-top:3rem}.form-control-custom{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem;font-size:.9rem;outline:none;transition:border-color .2s}.form-control-custom:focus{border-color:var(--accent)}.sig-pad-wrap{max-width:520px;margin:0 auto}#sig-canvas{display:block;width:100%;max-width:500px;height:200px;margin:0 auto;background:#fff;border-radius:8px;border:2px solid var(--border);cursor:crosshair;touch-action:none}#sig-canvas:hover{border-color:var(--accent)}.btn-sm{padding:.4rem 1rem;font-size:.85rem}.dropdown-menu-dark{background:var(--card);border:1px solid var(--border)}.dropdown-menu-dark .dropdown-item{color:var(--text-muted)}.dropdown-menu-dark .dropdown-item:hover{background:var(--card-hover);color:var(--accent)}.dropdown-menu-dark .dropdown-divider{border-color:var(--border)}.options-bar input[type="text"],.options-bar input[type="password"]{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem;font-size:.9rem;min-width:160px}.options-bar input[type="text"]:focus,.options-bar input[type="password"]:focus{border-color:var(--accent);outline:none}@media(max-width:768px){.hero h1{font-size:2rem}.hero p{font-size:1rem}.tool-card{padding:1.5rem}.drop-zone{padding:2rem 1rem}.btn-accent,.btn-outline{width:100%;justify-content:center}.options-bar{flex-direction:column;align-items:stretch}.file-list li{flex-wrap:wrap;gap:.5rem}.file-list li .file-actions{margin-left:auto}}@media(max-width:480px){.hero{padding:3rem 0 2rem}.hero h1{font-size:1.6rem}.section-title{font-size:1.5rem}}
