.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.75);z-index:2000;padding:1rem;overflow-y:auto}.modal.modal-open,.modal:target{display:flex}.modal-content{background:var(--bg-primary,#fff);padding:2rem;border-radius:12px;max-width:480px;width:100%;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .modal-content{background:var(--bg-secondary,#1e293b);box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.modal-close{position:absolute;top:.75rem;right:1rem;font-size:1.75rem;line-height:1;text-decoration:none;color:var(--text-secondary,#64748b);transition:color .2s}.modal-close:hover{color:var(--text-primary,#0f172a)}[data-theme=dark] .modal-close:hover{color:#f1f5f9}.modal-header{margin-bottom:1.5rem;padding-right:2rem}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary,#0f172a);margin:0 0 .5rem 0}[data-theme=dark] .modal-header h2{color:#f1f5f9}.modal-header p{color:var(--text-secondary,#64748b);font-size:.95rem;margin:0}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary,#0f172a)}[data-theme=dark] .form-group label{color:#e2e8f0}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:1rem;background:var(--bg-primary,#fff);color:var(--text-primary,#0f172a);transition:border-color .2s,box-shadow .2s}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--bg-tertiary,#334155);border-color:#475569;color:#f1f5f9}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--accent-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-group textarea{min-height:120px;resize:vertical}.modal-form .btn-submit{padding:.875rem 1.5rem;background:var(--accent-primary,#2563eb);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.5rem}.modal-form .btn-submit:hover{background:var(--accent-secondary,#1d4ed8)}.modal-form .btn-submit:disabled{background:#94a3b8;cursor:not-allowed}.subscribe-modal-form{display:flex;gap:.75rem}.subscribe-modal-form input{flex:1;padding:.875rem 1rem;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:1rem}.subscribe-modal-form button{padding:.875rem 1.5rem;white-space:nowrap}.modal-alt{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--text-secondary,#64748b)}.modal-alt a{color:var(--accent-primary,#2563eb);text-decoration:none}.modal-alt a:hover{text-decoration:underline}.modal-error,.modal-success{padding:1rem;border-radius:8px;margin-top:1rem;display:none}.modal-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.modal-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}[data-theme=dark] .modal-success{background:#064e3b;color:#a7f3d0;border-color:#065f46}[data-theme=dark] .modal-error{background:#7f1d1d;color:#fecaca;border-color:#991b1b}@media (max-width:480px){.modal-content{padding:1.5rem;margin:.5rem}.subscribe-modal-form{flex-direction:column}.subscribe-modal-form button{width:100%}}.modal-backdrop{position:absolute;inset:0;z-index:-1}.search-modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;background:rgba(0,0,0,.6);z-index:9999;padding:10vh 1rem 1rem;backdrop-filter:blur(4px)}.search-modal.active{display:flex}.search-modal-content{background:var(--bg-primary,#fff);border-radius:12px;max-width:600px;width:100%;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:searchModalIn .15s ease-out;overflow:hidden}@keyframes searchModalIn{from{opacity:0;transform:scale(.96) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=dark] .search-modal-content{background:#1e293b;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.search-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color,#e2e8f0)}[data-theme=dark] .search-modal-header{border-color:#334155}.search-modal-hint{font-size:.75rem;color:var(--text-muted,#64748b);display:flex;align-items:center;gap:.5rem}.search-modal-hint kbd{background:var(--bg-secondary,#f1f5f9);padding:.15rem .4rem;border-radius:4px;font-family:inherit;font-size:.7rem;border:1px solid var(--border-color,#e2e8f0)}[data-theme=dark] .search-modal-hint kbd{background:#334155;border-color:#475569}.search-modal-body{padding:0;max-height:60vh;overflow-y:auto}.search-modal .pagefind-ui{--pagefind-ui-scale:0.9;--pagefind-ui-primary:#2563eb;--pagefind-ui-text:var(--text-primary, #0f172a);--pagefind-ui-background:transparent;--pagefind-ui-border:var(--border-color, #e2e8f0);--pagefind-ui-tag:var(--bg-secondary, #f1f5f9);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-font:inherit}[data-theme=dark] .search-modal .pagefind-ui{--pagefind-ui-primary:#60a5fa;--pagefind-ui-text:#f1f5f9;--pagefind-ui-border:#475569;--pagefind-ui-tag:#334155}.search-modal .pagefind-ui__search-input{border:none!important;box-shadow:none!important;padding:1rem!important;font-size:1.1rem!important;background:0 0!important}.search-modal .pagefind-ui__search-input:focus{outline:0!important}.search-modal .pagefind-ui__form::before{display:none!important}.search-modal .pagefind-ui__search-clear{top:50%!important;transform:translateY(-50%)!important;right:1rem!important;padding:.25rem .5rem!important;font-size:.75rem!important;background:var(--bg-secondary,#f1f5f9)!important;border:1px solid var(--border-color,#e2e8f0)!important;border-radius:4px!important;color:var(--text-muted,#64748b)!important}[data-theme=dark] .search-modal .pagefind-ui__search-clear{background:#334155!important;border-color:#475569!important;color:#94a3b8!important}.search-modal .pagefind-ui__result-excerpt mark{background:rgba(59,130,246,.15)!important;color:inherit!important;padding:.1em .2em!important;border-radius:2px!important}[data-theme=dark] .search-modal .pagefind-ui__result-excerpt mark{background:rgba(96,165,250,.2)!important}.search-modal .pagefind-ui__results-area{margin-top:0!important;padding:0 1rem 1rem!important}.search-modal .pagefind-ui__result{padding:.75rem 0!important;border-bottom:1px solid var(--border-color,#e2e8f0)!important}[data-theme=dark] .search-modal .pagefind-ui__result{border-color:#334155!important}.search-modal .pagefind-ui__result:last-child{border-bottom:none!important}.search-modal .pagefind-ui__result-link{font-weight:600!important;font-size:1rem!important}.search-modal .pagefind-ui__result-excerpt{font-size:.875rem!important;margin-top:.25rem!important}@media (max-width:640px){.search-modal{padding:1rem;align-items:flex-start}.search-modal-content{max-height:80vh}.search-modal-body{max-height:70vh}}.onboarding-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.6);z-index:9998;padding:1rem;backdrop-filter:blur(4px)}.onboarding-modal.active{display:flex}.onboarding-content{background:var(--bg-primary,#fff);border-radius:12px;max-width:480px;width:100%;padding:1.75rem 2rem 2rem;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:modalSlideIn .2s ease-out}[data-theme=dark] .onboarding-content{background:#1e293b;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.onboarding-close{position:absolute;top:.75rem;right:1rem;font-size:1.5rem;line-height:1;background:0 0;border:none;color:var(--text-secondary,#64748b);cursor:pointer;padding:.25rem;transition:color .2s}.onboarding-close:hover{color:var(--text-primary,#0f172a)}[data-theme=dark] .onboarding-close:hover{color:#f1f5f9}.onboarding-title{font-size:1.25rem;font-weight:700;color:var(--text-primary,#0f172a);margin:0 0 1.25rem 0;padding-right:2rem}[data-theme=dark] .onboarding-title{color:#f1f5f9}.onboarding-shortcuts{list-style:none;padding:0;margin:0 0 1.5rem 0}.onboarding-shortcuts li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:var(--text-primary,#0f172a);font-size:.95rem}[data-theme=dark] .onboarding-shortcuts li{color:#e2e8f0}.onboarding-shortcuts kbd{display:inline-block;min-width:1.75rem;padding:.25rem .5rem;background:var(--bg-secondary,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);border-radius:4px;font-family:inherit;font-size:.8rem;font-weight:500;text-align:center;color:var(--text-secondary,#64748b)}[data-theme=dark] .onboarding-shortcuts kbd{background:#334155;border-color:#475569;color:#94a3b8}.onboarding-shortcuts .shortcut-keys{display:flex;gap:.25rem;min-width:5rem}.onboarding-shortcuts .shortcut-desc{flex:1}.onboarding-divider{border:none;border-top:1px solid var(--border-color,#e2e8f0);margin:0 0 1.25rem 0}[data-theme=dark] .onboarding-divider{border-color:#334155}.onboarding-notice{font-size:.9rem;color:var(--text-secondary,#64748b);line-height:1.5;margin:0 0 1.5rem 0}[data-theme=dark] .onboarding-notice{color:#94a3b8}.onboarding-buttons{display:flex;gap:.75rem}.onboarding-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.onboarding-btn-primary{background:#2563eb;border:none;color:#fff}.onboarding-btn-primary:hover{background:#1d4ed8}.onboarding-btn-secondary{background:0 0;border:1px solid var(--border-color,#e2e8f0);color:var(--text-secondary,#64748b)}.onboarding-btn-secondary:hover{background:var(--bg-secondary,#f1f5f9);border-color:var(--text-secondary,#64748b)}[data-theme=dark] .onboarding-btn-secondary{border-color:#475569;color:#94a3b8}[data-theme=dark] .onboarding-btn-secondary:hover{background:#334155;border-color:#64748b}@media (max-width:480px){.onboarding-content{padding:1.5rem}.onboarding-buttons{flex-direction:column}.onboarding-shortcuts .shortcut-keys{min-width:4.5rem}}.onboarding-swipe-hint.mobile-only,.onboarding-title .mobile-only{display:none}.onboarding-swipe-hint{font-size:.95rem;color:var(--text-primary,#0f172a);margin:0 0 1rem 0;padding:.75rem 1rem;background:var(--bg-secondary,#f1f5f9);border-radius:8px;text-align:center}[data-theme=dark] .onboarding-swipe-hint{color:#e2e8f0;background:#334155}@media (max-width:768px){.onboarding-title{font-size:1.1rem}.onboarding-title .desktop-only{display:none}.onboarding-title .mobile-only{display:inline}.onboarding-swipe-hint.mobile-only{display:block}.onboarding-divider,.onboarding-shortcuts{display:none}.onboarding-notice{margin-top:0}}