*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8f9fb;--white:#fff;--text:#1e293b;--text-secondary:#64748b;--border:#e2e8f0;--accent:#6366f1;--accent-light:#eef2ff;--green:#10b981;--green-light:#ecfdf5;--yellow:#f59e0b;--red:#ef4444;--purple:#8b5cf6;--purple-light:#f5f3ff;--blue:#3b82f6;--blue-light:#eff6ff;--shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d;--radius:16px;--radius-sm:10px;--radius-xs:8px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,sans-serif}.container{max-width:1000px;margin:0 auto;padding:0 24px}header{flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0;display:flex}.logo{color:var(--text);align-items:center;gap:10px;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.logo-icon{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 2px 8px #10b9814d}.logo em{color:var(--accent);font-style:normal}.nav-pills{gap:6px;margin-left:auto;display:flex}.nav-pill{color:var(--text-secondary);background:var(--white);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .15s}.nav-pill:hover,.nav-pill.active{background:var(--green-light);color:var(--green);border-color:var(--accent)}.page-hero{text-align:center;padding:16px 0 24px}.page-hero h1{letter-spacing:-.02em;margin-bottom:6px;font-size:1.8rem;font-weight:800}.page-hero p{color:var(--text-secondary);max-width:560px;margin:0 auto;font-size:1rem}.spec-note{color:var(--text-secondary);background:var(--white);border:1px solid var(--border);border-radius:20px;margin-top:10px;padding:4px 14px;font-size:.75rem;display:inline-block}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.card-header{align-items:center;gap:8px;margin-bottom:14px;display:flex}.card-header .icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;display:flex}.card-header h3{text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:700}.controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form-select,.form-input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-xs);color:var(--text);padding:10px 14px;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .15s}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select:focus,.form-input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #10b98126}.btn{border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--white);color:var(--text);cursor:pointer;box-shadow:var(--shadow);align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 2px 8px #10b98140}.btn.primary:hover{background:#059669}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.array-container{flex-wrap:wrap;justify-content:center;align-items:end;gap:6px;min-height:120px;padding:24px 16px;display:flex}.cell{flex-direction:column;align-items:center;gap:4px;transition:all .3s;display:flex}.cell .box{border-radius:var(--radius-xs);border:2px solid var(--border);background:var(--white);width:52px;height:52px;box-shadow:var(--shadow);justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.cell .idx{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.65rem}.cell.default .box{border-color:var(--border);color:var(--text)}.cell.checking .box{border-color:var(--yellow);background:var(--yellow);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #f59e0b4d}.cell.eliminated .box{border-color:var(--border);background:var(--bg);color:#cbd5e1}.cell.found .box{border-color:var(--green);background:var(--green);color:#fff;transform:scale(1.15);box-shadow:0 4px 12px #10b9814d}.cell.not-found .box{border-color:var(--red);background:var(--red);color:#fff}.cell.range .box{border-color:var(--accent);background:var(--accent-light)}.cell.mid .box{border-color:var(--purple);background:var(--purple);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #8b5cf64d}.pointer-row{justify-content:center;gap:6px;min-height:24px;padding:0 16px;display:flex}.pointer-cell{text-align:center;width:52px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700}.pointer-cell.low{color:var(--blue)}.pointer-cell.high{color:var(--red)}.pointer-cell.mid-ptr{color:var(--purple)}#step-desc{color:var(--text-secondary);text-align:center;min-height:2em;padding:10px 0;font-family:JetBrains Mono,monospace;font-size:.85rem}.stats{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.stat{background:var(--bg);border-radius:var(--radius-sm);text-align:center;padding:12px 20px}.stat .label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:2px;font-size:.7rem;font-weight:600}.stat .value{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=700px){.two-col{grid-template-columns:1fr}}.info-panel{color:var(--text-secondary);font-size:.88rem;line-height:1.7}.info-panel strong{color:var(--text)}.info-panel .complexity{border-top:1px solid var(--border);gap:16px;margin-top:12px;padding-top:12px;display:flex}.info-panel .complexity .item{text-align:center;flex:1}.info-panel .complexity .item .label{text-transform:uppercase;color:var(--text-secondary);font-size:.7rem;font-weight:600}.info-panel .complexity .item .val{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700}.legend{flex-wrap:wrap;justify-content:center;gap:14px;padding:8px 0;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:5px;font-size:.75rem;font-weight:500;display:flex}.legend-dot{width:14px;height:14px;box-shadow:var(--shadow);border-radius:4px}
