:root{--nav-height:40px;--bg:#f5f5f5;--body-bg:white;--body-color:#333;--border:#ddd;--primary:#4a90d9;--primary-hover:#3a7bc8}*{margin:0;padding:0;box-sizing:border-box}.navbar{height:var(--nav-height);border-bottom:1px solid #d3d3d3;z-index:100;background:var(--body-bg);color:var(--body-color);position:relative}.navbar-container{display:flex;align-items:center;height:100%;padding:0 1rem;max-width:100%}.navbar-brand{color:var(--body-color);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:.5rem;font-size:1rem;white-space:nowrap}.navbar-toggler{display:none;background:0 0;border:1px solid var(--body-color);padding:.25rem .5rem;cursor:pointer;margin-left:auto;border-radius:.25rem}.navbar-toggler-icon{display:block;width:1.5em;height:1.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-collapse{display:flex;align-items:center;flex:1;margin-left:1rem}.navbar-nav{display:flex;list-style:none;margin:0;padding:0;gap:.5rem;flex-wrap:wrap}.navbar-nav-right{margin-left:auto}.rtl .navbar-nav-right{margin-left:inherit;margin-right:auto}.nav-item{margin:0;position:relative}.nav-link{color:var(--body-color);text-decoration:none;padding:.25rem .75rem;display:block;white-space:nowrap;opacity:.8;transition:opacity .2s}.nav-link.active,.nav-link:hover{opacity:1;font-weight:600}@media(max-width:991px){.navbar-toggler{display:block}.navbar-collapse{display:none;position:absolute;top:var(--nav-height);right:0;background:var(--body-bg);border-bottom:1px solid #d3d3d3;margin:0;padding:1rem}.navbar-collapse.show{display:block}.navbar-nav{gap:0}.nav-link{padding:.5rem 1rem}}body{font-family:system-ui,-apple-system,sans-serif;background:var(--body-bg);color:var(--body-color);min-height:100vh}#app{max-width:1200px;margin:0 auto;padding:1rem}.header{text-align:center;margin:2em 0}.header h1{font-size:1.5rem;margin-bottom:.25rem}.header p{color:#666;font-size:.9rem}kbd{font-family:inherit;font-size:.85em;padding:.1em .4em;border:1px solid #ccc;border-radius:3px;background:#f7f7f7;box-shadow:0 1px 0 #bbb}.upload-zone{border:2px dashed var(--border);border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bg)}.upload-zone.dragover,.upload-zone:hover{border-color:var(--primary);background:rgba(74,144,217,.05)}.upload-zone input{display:none}.upload-icon{font-size:3rem;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;line-height:1}.upload-icon .pdf{display:inline-block;background:#d32f2f;color:#fff;font-weight:700;font-size:.3em;padding:.15em .6em;border-radius:3px;letter-spacing:1px;margin-top:-.3em}.upload-text{font-size:1.1rem;margin-bottom:.5rem}.upload-hint{font-size:.85rem;color:#888}.upload-loading{display:none;font-size:1.1rem;color:var(--primary);margin-top:.5rem}.upload-zone.loading{pointer-events:none;opacity:.6}.upload-zone.loading .upload-hint,.upload-zone.loading .upload-icon,.upload-zone.loading .upload-text{display:none}.upload-zone.loading .upload-loading{display:block}.editor{display:none;padding-top:1rem;position:relative}.editor.active{display:block}.drop-overlay{position:absolute;inset:0;z-index:20;background:rgba(74,144,217,.08);border:2px dashed var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary);font-weight:600;pointer-events:none}.toolbar{display:table;width:100%;table-layout:fixed}.toolbar .toolbar-group{display:table-cell;vertical-align:middle;white-space:nowrap}.toolbar .toolbar-group:nth-child(2){text-align:center}.toolbar .toolbar-group:nth-child(3){text-align:right}.rtl .toolbar .toolbar-group:nth-child(3){text-align:left}@media(max-width:480px){.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center}.toolbar .toolbar-group{display:block;text-align:center}}.btn:disabled{opacity:.4;cursor:not-allowed}.btn{font-size:1rem;padding:.5em 1em;border:1px solid var(--border);background:var(--body-bg);color:var(--body-color);cursor:pointer;border-radius:4px;transition:background .2s}.btn:hover{background:var(--bg)}.btn:active{transform:scale(.98)}.btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn-danger:hover{background:#c82333}.btn-sm{font-size:.8rem}.btn{margin-right:.3em}.btn:last-child{margin-right:0}.btn-add::before{content:"+ "}.content{max-width:600px;margin:2rem auto;padding:1rem;line-height:1.6}.content h4{font-size:1.1rem;margin:1.5rem 0 .75rem;color:var(--body-color);text-align:center}.content p{margin-bottom:1rem;color:var(--body-color)}.content p:first-child{margin-top:0}.content strong{font-weight:600}.results-grid{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;justify-content:center}.result-card{border:1px solid var(--border);border-radius:8px;overflow:visible;width:180px;background:var(--bg)}.result-card img{border-radius:8px 8px 0 0}.result-card img{width:100%;height:140px;object-fit:cover;display:block;background:#e8e8e8}.result-card .card-info{padding:.5rem;display:grid;grid-template-columns:auto 1fr;align-items:center}.result-card .card-grip{grid-row:1/3}.result-card .card-name,.result-card .card-pages{min-width:0}.result-card .card-name{font-size:.75rem;color:var(--body-color);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.4rem}.card-loading{width:100%;height:140px;display:flex;align-items:center;justify-content:center;background:var(--bg)}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.results-grid{gap:.5rem}.result-card{width:100%;display:flex;flex-direction:row;padding-left:28px}.result-card img{width:80px;height:80px;object-fit:contain;border-right:1px solid var(--border);border-radius:8px 0 0 8px}.card-loading{width:80px;height:80px}.result-card .card-info{display:flex;flex-direction:column;justify-content:center;flex:1;padding:.6rem .75rem}.result-card .card-grip{grid-row:auto}.result-card .card-name{font-size:.9rem;white-space:normal;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical}.result-card .card-pages{font-size:.85rem}}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{width:1em;height:1em;border-width:2px;vertical-align:-.15em}.editor .toolbar{position:sticky;top:0;z-index:10;background:#dcdcdc;padding:.5rem;border-radius:4px}.toolbar .toolbar-group.toolbar-right{text-align:right}.rtl .toolbar .toolbar-group.toolbar-right{text-align:left}.function-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap;justify-content:center}.function-tabs a{padding:.4rem .8rem;border-radius:4px;text-decoration:none;color:#666;background:0 0;border:1px solid #ccc;font-size:.9rem;transition:border-color .2s,color .2s}.function-tabs a:hover{border-color:#999;color:#333}.function-tabs a.active{border-color:var(--primary);color:var(--primary);background:rgba(74,144,217,.1);border-width:2px;font-weight:600;pointer-events:none;cursor:default}#app{min-height:60vh}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;max-width:800px;margin:0 auto}.tool-card{display:block;text-decoration:none;color:var(--body-color);border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-align:center;transition:border-color .2s,box-shadow .2s,transform .15s;background:var(--body-bg)}.tool-card:hover{border-color:var(--primary);box-shadow:0 2px 12px rgba(74,144,217,.15);transform:translateY(-2px)}.tool-card .tool-icon{font-size:1.5rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.3em}.tool-icon .pdf{display:inline-block;background:#d32f2f;color:#fff;font-weight:700;font-size:.75em;padding:.15em .4em;border-radius:3px;letter-spacing:.5px}.tool-icon .pdf-icon{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.tool-icon .pdf-icon .pdf{font-size:.35em;margin-top:-.2em}.tool-card h2{font-size:1.1rem;margin-bottom:.4rem}.tool-card p{font-size:.85rem;color:#666;margin:0}.dark-mode .tool-card p{color:#aaa}@media(max-width:480px){.tools-grid{grid-template-columns:1fr}}