.toc-widget{background-color:#f8f9fa;padding:10px;margin-bottom:25px;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.toc-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;background:#e2edea}.toc-header h4{font-size:1rem;font-weight:500;color:#374151;margin:0}.toc-content{padding:1rem}.toc-content h4{margin-top:0;margin-bottom:15px;font-size:18px;font-weight:600;color:#005691;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.toc-toggle{background:transparent;border:none;cursor:pointer;padding:.25rem;color:#6b7280;transition:transform .2s ease}.toc-toggle:hover{color:#374151}.toc-toggle.collapsed{transform:rotate(180deg)}.toc-list{list-style-type:none;padding-left:0;margin:0;max-height:350px;overflow-y:auto}.toc-item{line-height:1.4;transition:all .2s ease}.toc-item:last-child{margin-bottom:0!important}.toc-link{color:rgb(37 99 235);text-decoration:none;transition:color .3s,transform .2s;display:block;font-size:14px}.toc-link:hover{color:#005691;text-decoration:underline}.toc-link:focus{outline:none}.toc-level-1{font-weight:700;font-size:16px}.toc-level-2{font-weight:600}.toc-level-3{font-weight:500}.toc-level-4,.toc-level-5,.toc-level-6{font-weight:400;color:#555}@media (max-width:768px){.toc-widget{margin-bottom:20px;padding:15px}.toc-list{max-height:250px}}.toc-list::-webkit-scrollbar{width:5px}.toc-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.toc-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.toc-list::-webkit-scrollbar-thumb:hover{background:#005691}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:999999!important;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:modalFadeIn .3s ease-out;cursor:pointer}.image-modal-container,.image-modal-overlay{display:flex;justify-content:center;align-items:center}.image-modal-container{position:relative;max-width:95vw;max-height:95vh;cursor:default}.image-modal-content{position:relative;max-width:100%;max-height:100%;border-radius:8px;overflow:hidden;box-shadow:0 25px 50px rgba(0,0,0,.5);cursor:default}.image-modal-content img{max-width:100%;max-height:95vh;width:auto;height:auto;display:block;object-fit:contain;transition:opacity .3s ease;cursor:default}.image-modal-content img.loading{opacity:0}.image-modal-content img.loaded{opacity:1}.image-modal-close{position:absolute;top:-50px;right:-10px;background:rgba(255,255,255,.2);border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:white;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000001}.image-modal-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.image-modal-close:focus{outline:2px solid white;outline-offset:2px}.image-modal-close:active{transform:scale(.95)}.image-modal-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000000}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s ease-in-out infinite}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.image-modal-overlay{padding:10px}.image-modal-close{top:-40px;right:0;width:35px;height:35px}.image-modal-content img{max-height:90vh}}@media (max-width:480px){.image-modal-overlay{padding:5px}.image-modal-close{top:-35px;right:5px;width:32px;height:32px}.image-modal-close svg{width:20px;height:20px}.image-modal-content img{max-height:85vh}}body.modal-open{overflow:hidden!important}@media (prefers-contrast:high){.image-modal-overlay{background:rgba(0,0,0,.95)}.image-modal-close{background:rgba(255,255,255,.9);color:black}}@media (prefers-reduced-motion:reduce){.image-modal-overlay{animation:none}.image-modal-close,.image-modal-content img{transition:none}.spinner{animation:none;border-top-color:transparent;border-left-color:white}}