.reading-progress-container{top:var(--header-height,64px);z-index:101;background-color:#0000;width:100%;height:2px;position:fixed;left:0}.reading-progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-bright));height:100%;transition:width .1s var(--ease-out-expo)}.exploit-chain{flex-direction:column;margin:2rem 0;display:flex;position:relative}.exploit-step{margin-bottom:2rem;display:flex;position:relative}.exploit-step:last-child{margin-bottom:0}.step-connector{background:linear-gradient(to bottom, var(--border), var(--border));z-index:1;width:2px;position:absolute;top:32px;bottom:-2rem;left:15px}.exploit-step:last-child .step-connector{display:none}.step-badge{width:32px;height:32px;font-family:var(--font-mono);z-index:2;border:1px solid var(--border);background-color:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:1.5rem;font-size:.9rem;font-weight:700;display:flex}.exploit-step.start .step-badge{color:var(--info);border-color:var(--info);box-shadow:0 0 10px #519aba33}.exploit-step.start .step-connector{background:linear-gradient(to bottom, var(--info), var(--warning));opacity:.5}.exploit-step.middle .step-badge{color:var(--warning);border-color:var(--warning);box-shadow:0 0 10px #ffb54533}.exploit-step.middle .step-connector{background:linear-gradient(to bottom, var(--warning), var(--warning));opacity:.5}.exploit-step.end .step-badge{color:var(--success);border-color:var(--success);box-shadow:0 0 10px #00ff4133}.step-content{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:8px;flex:1;padding:1.25rem}.step-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.step-header h4{color:var(--text);margin:0;font-size:1.1rem}.step-technique{font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.step-content p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.5}.cve-card{background:var(--bg-card-solid);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;margin:1.5rem 0;overflow:hidden}.cve-header{border-bottom:1px solid var(--border);background:#0003;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.cve-header h3{font-family:var(--font-mono);margin:0;font-size:1.2rem}.cve-header a{color:var(--text);text-decoration:none;transition:color .2s}.cve-header a:hover{color:var(--accent-bright)}.cve-badge{font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:.25rem .6rem;font-size:.8rem;font-weight:600}.cve-severity-low{color:var(--info);background:#519aba1a;border-color:#519aba4d}.cve-severity-medium{color:var(--warning);background:#ffb5451a;border-color:#ffb5454d}.cve-severity-high{color:var(--accent-bright);background:#c9424f1a;border-color:#c9424f4d}.cve-severity-critical{color:var(--danger);background:#ff44441a;border-color:#ff44444d}.cve-body{padding:1.25rem}.cve-affected{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:.75rem;font-size:.85rem}.cve-description{color:var(--text-secondary);margin:0;line-height:1.6}.cve-children{border-top:1px dashed var(--border);margin-top:1rem;padding-top:1rem}.challenge-info-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:8px;margin:2rem 0;padding:1.5rem}.challenge-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.challenge-item{flex-direction:column;gap:.5rem;display:flex}.challenge-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.challenge-value{color:var(--text);font-size:1.1rem;font-weight:500}.challenge-badge{text-transform:capitalize;border-radius:4px;width:fit-content;padding:.25rem .5rem;font-size:.85rem;font-weight:600;display:inline-block}.diff-easy{color:var(--success);background:#00ff411a;border:1px solid #00ff4133}.diff-medium{color:var(--warning);background:#ffb5451a;border:1px solid #ffb54533}.diff-hard{color:var(--danger);background:#ff44441a;border:1px solid #f443}.diff-insane{color:#b545ff;background:#b545ff1a;border:1px solid #b545ff33}.challenge-skills{margin-top:1rem}.skills-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.skill-tag{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:12px;padding:.2rem .6rem;font-size:.8rem}.challenge-children{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.post-navigation{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:4rem;padding-top:2rem;display:grid}@media (max-width:600px){.post-navigation{grid-template-columns:1fr}}.nav-card{background:var(--bg-card);border:1px solid var(--border);transition:all .2s var(--ease-out-expo);border-radius:8px;flex-direction:column;padding:1.5rem;text-decoration:none;display:flex}.nav-card:hover{background:var(--bg-surface);border-color:var(--border-h);transform:translateY(-2px)}.nav-direction{font-family:var(--font-mono);color:var(--muted);margin-bottom:.5rem;font-size:.8rem}.nav-prev{text-align:left;align-items:flex-start}.nav-next{text-align:right;align-items:flex-end}.nav-title{color:var(--text);margin-bottom:.75rem;font-size:1.1rem;font-weight:600;line-height:1.4}.search-bar-container{align-items:center;gap:var(--space-md);margin-top:var(--space-lg);margin-bottom:var(--space-2xl);background:var(--bg-card-solid);border:1px solid var(--border);font-family:var(--font-mono);border-radius:8px;padding:.75rem 1rem;display:flex}.search-prompt{color:var(--accent-bright);font-size:.9rem;font-weight:600}.search-input{color:var(--text);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;font-size:.95rem}.search-input::placeholder{color:var(--muted);opacity:.6}.search-count{color:var(--muted);font-size:.85rem}.pagination-container{font-family:var(--font-mono);justify-content:center;align-items:center;gap:1.5rem;margin-top:4rem;margin-bottom:2rem;display:flex}.pagination-link{align-items:center;gap:.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:flex}.pagination-link:not(.pagination-disabled):hover{opacity:.8}.pagination-link:not(.pagination-disabled) .bracket,.pagination-link:not(.pagination-disabled) .pagination-text{color:var(--accent-bright)}.pagination-disabled{opacity:.3;cursor:not-allowed}.pagination-numbers{align-items:center;gap:.5rem;display:flex}.pagination-number{color:var(--text-secondary);border-radius:4px;padding:.25rem .5rem;font-size:.95rem;text-decoration:none;transition:all .2s}.pagination-number:hover{color:var(--accent-bright);background:#ffffff0d}.pagination-number.active{color:var(--accent-bright);background:#ffffff1a;font-weight:700}.nav-category{color:var(--accent-bright);background:var(--accent-dim);border-radius:4px;width:fit-content;padding:.2rem .5rem;font-size:.8rem}.admin-password-pill{background:#0003;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:.25rem;padding:.2rem .35rem .2rem .5rem;display:inline-flex}.admin-password-text{font-family:var(--font-mono);color:var(--muted);-webkit-user-select:none;user-select:none;min-width:5ch;font-size:.85rem;transition:color .15s}.admin-password-pill:hover .admin-password-text{color:var(--text)}.admin-password-pill:has(.admin-copy-btn:last-child:hover) .admin-password-text{color:var(--text)}.admin-copy-btn{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s,border-color .15s,transform .1s;display:inline-flex}.admin-copy-btn:hover{color:var(--text);background-color:#ffffff0f;border-color:#ffffff1a}.admin-copy-btn:active{transform:scale(.9)}
