.navbar{width:100%;background:#fff;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:50}.navbar-container{max-width:80rem;margin:0 auto;padding:0 1rem}.navbar-content{display:flex;justify-content:space-between;align-items:center;height:4rem}.navbar-left{display:flex;align-items:center;gap:1rem}.logo-link{display:flex;align-items:center;text-decoration:none}.logo-img{height:3.5rem;width:auto;object-fit:contain}.breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.breadcrumb-link{color:#6b7280;text-decoration:none}.breadcrumb-link:hover{color:#2563eb}.breadcrumb-current{font-weight:600;color:#111827}.breadcrumb-separator{color:#9ca3af;margin:0 .4rem}.mobile-menu-btn{display:none;background:none;border:none;padding:.5rem;cursor:pointer;color:#374151}.navbar-right{display:flex;align-items:center;gap:2rem}.nav-btn{background:#2563eb;color:#fff;padding:.5rem 1.5rem;border-radius:.5rem;text-decoration:none;transition:background .2s;font-weight:500}.nav-btn:hover{background:#1d4ed8}@media(max-width:768px){.breadcrumbs{display:none}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.navbar-right{position:fixed;top:3.5rem;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:0;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.navbar-right.mobile-open{transform:translateY(0);opacity:1;visibility:visible}.nav-btn{display:block;width:calc(100% - 2rem);margin:1rem;padding:.75rem 1.5rem;text-align:center}}.home-page .hero-section{width:100%;background:linear-gradient(to bottom right,#eff6ff,#fff);padding:3.5rem 0}@media(max-width:1024px){.home-page .hero-section{padding:2.5rem 0}}@media(max-width:640px){.home-page .hero-section{padding:1.5rem 0}}.home-page .hero-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(max-width:640px){.home-page .hero-container{padding:0 .75rem}}.home-page .hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media(min-width:768px){.home-page .hero-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.home-page .hero-grid{gap:2rem}}.home-page .hero-text{order:2;text-align:left}@media(min-width:768px){.home-page .hero-text{order:1}}@media(max-width:767px){.home-page .hero-text{text-align:center}}.home-page .hero-text .hero-headline{font-size:1.85rem;font-weight:700;color:#111827;line-height:1.2;margin-bottom:1.5rem}@media(min-width:640px){.home-page .hero-text .hero-headline{font-size:2.2rem}}@media(min-width:1024px){.home-page .hero-text .hero-headline{font-size:2.6rem}}@media(max-width:640px){.home-page .hero-text .hero-headline{font-size:1.45rem;margin-bottom:1rem;line-height:1.3}}.home-page .hero-text .hero-subtext{font-size:.95rem;color:#4b5563;margin-bottom:2rem}@media(min-width:768px){.home-page .hero-text .hero-subtext{font-size:1.1rem}}@media(max-width:640px){.home-page .hero-text .hero-subtext{font-size:.85rem;margin-bottom:1.5rem}}.home-page .hero-preview{position:relative;order:1}@media(min-width:768px){.home-page .hero-preview{order:2}}.home-page .hero-preview .device-frame{background:#111827;border-radius:1rem;padding:1rem;box-shadow:0 25px 50px -12px #00000040}@media(max-width:640px){.home-page .hero-preview .device-frame{border-radius:.75rem;padding:.75rem}}.home-page .hero-preview .device-screen{background:#fff;border-radius:.5rem;overflow:hidden}@media(max-width:640px){.home-page .hero-preview .device-screen{border-radius:.375rem}}.home-page .hero-preview .slide-preview{aspect-ratio:16/9;background:#f3f4f6;display:flex;align-items:center;justify-content:center;padding:2rem}@media(max-width:640px){.home-page .hero-preview .slide-preview{padding:1rem}}.home-page .hero-preview .slide-preview svg{width:100%;height:100%}.home-page .hero-preview .device-lights{display:flex;gap:.5rem;margin-top:.75rem}@media(max-width:640px){.home-page .hero-preview .device-lights{gap:.375rem;margin-top:.5rem}}.home-page .hero-preview .device-lights .light{width:.5rem;height:.5rem;border-radius:50%}@media(max-width:640px){.home-page .hero-preview .device-lights .light{width:.375rem;height:.375rem}}.home-page .hero-preview .device-lights .light.green{background:#4ade80}.home-page .hero-preview .device-lights .light.blue{background:#60a5fa}.home-page .use-cases-section{width:100%;background:#fff;padding:3.25rem 0}@media(max-width:1024px){.home-page .use-cases-section{padding:2.5rem 0}}@media(max-width:640px){.home-page .use-cases-section{padding:1.75rem 0}}.home-page .use-cases-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(max-width:640px){.home-page .use-cases-container{padding:0 .75rem}}.home-page .use-cases-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.home-page .use-cases-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.home-page .use-cases-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.home-page .use-cases-grid{gap:1rem}}.home-page .use-case-card{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:1rem;box-shadow:0 12px 30px #00000014;padding:2.25rem;border:1px solid #e5e7eb;cursor:pointer;transition:all .3s ease}@media(max-width:640px){.home-page .use-case-card{padding:1.1rem;border-radius:.7rem}}.home-page .use-case-card:hover{transform:translateY(-10px);box-shadow:0 16px 40px #0000001f}@media(max-width:768px){.home-page .use-case-card:hover{transform:translateY(-6px)}}.home-page .use-case-card .card-icon{width:100%;height:17.5rem;border-radius:.75rem;overflow:hidden;margin-bottom:1.35rem;border:1.5px solid;background:#fff;padding:1rem}@media(max-width:640px){.home-page .use-case-card .card-icon{height:15rem;margin-bottom:1.1rem;padding:.75rem}}.home-page .use-case-card .card-icon.purple-bg{background:#fff;border-color:#e9d5ff}.home-page .use-case-card .card-icon.blue-bg{background:#fff;border-color:#bfdbfe}.home-page .use-case-card .card-icon.red-bg{background:#fff;border-color:#fecaca}.home-page .use-case-card .card-icon svg{width:100%;height:100%}.home-page .use-case-card .card-icon .use-case-image{width:100%;height:100%;object-fit:contain;display:block;background:#fff;border-radius:6px}.home-page .use-case-card .card-icon .use-case-initial{display:grid;width:100%;height:100%;place-items:center;color:#111827;font-size:1.7rem;font-weight:700}.home-page .use-case-card .card-title{font-size:1.6rem;font-weight:700;color:#111827;margin-bottom:.75rem}@media(max-width:640px){.home-page .use-case-card .card-title{font-size:1.3rem;margin-bottom:.55rem}}.home-page .use-case-card .card-description{color:#4b5563;margin-bottom:.85rem;line-height:1.55}@media(max-width:640px){.home-page .use-case-card .card-description{font-size:.875rem;margin-bottom:.6rem}}.home-page .use-case-card .card-features{list-style:none;padding:0;margin:0}.home-page .use-case-card .card-features li{display:flex;align-items:center;color:#374151;margin-bottom:.45rem;line-height:1.5}@media(max-width:640px){.home-page .use-case-card .card-features li{font-size:.875rem;margin-bottom:.375rem}}.home-page .use-case-card .card-features li .bullet{margin-right:.5rem;font-size:1.1rem}.home-page .use-case-card .card-features li.purple-bullet .bullet{color:#7c3aed}.home-page .use-case-card .card-features li.blue-bullet .bullet{color:#2563eb}.home-page .use-case-card .card-features li.red-bullet .bullet{color:#dc2626}.home-page .cta-section{width:100%;background:#fff;padding:1.5rem 0;text-align:center}@media(max-width:640px){.home-page .cta-section{padding:1rem 0}}.home-page .cta-container{max-width:80rem;margin:0 auto;padding:0 1rem;text-align:center}.home-page .cta-button{display:inline-block;background:#2563eb;color:#fff;padding:.85rem 1.6rem;border-radius:.6rem;font-weight:600;font-size:1rem;text-decoration:none;box-shadow:0 10px 25px #2563eb40;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.home-page .cta-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #2563eb4d;background:#1d4ed8}.home-page .cta-button:active{transform:translateY(0);box-shadow:0 8px 20px #2563eb33}.home-page .trust-section{width:100%;background:#f9fafb;padding:2rem 0 6rem;border-top:1px solid #e5e7eb}@media(max-width:640px){.home-page .trust-section{padding:1.5rem 0 5rem}}.home-page .trust-container{max-width:80rem;margin:0 auto;padding:0 1rem;text-align:center;display:flex;flex-direction:column;align-items:center}@media(max-width:640px){.home-page .trust-container{padding:0 .75rem}}.home-page .trust-text{color:#4b5563;font-size:1.25rem;margin-bottom:2.5rem}@media(max-width:640px){.home-page .trust-text{font-size:1rem;margin-bottom:2rem}}.home-page .partners-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:3rem}@media(max-width:768px){.home-page .partners-grid{gap:2rem;flex-direction:column;align-items:center}}@media(max-width:640px){.home-page .partners-grid{gap:1.5rem}}.home-page .partner-card{background:#fff;padding:3rem 4rem;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 12px 30px #00000014;text-align:center;min-width:280px;max-width:400px}@media(max-width:768px){.home-page .partner-card{padding:2rem 2.5rem;width:100%;max-width:320px;min-width:auto}}.home-page .partner-card .partner-logo{height:6rem;width:auto;object-fit:contain;margin-bottom:1.5rem}@media(max-width:640px){.home-page .partner-card .partner-logo{height:4.5rem;margin-bottom:1rem}}.home-page .partner-card .partner-name{font-weight:700;font-size:1.1rem;color:#1f2937}@media(max-width:640px){.home-page .partner-card .partner-name{font-size:1rem}}.home-page .fade-in{animation:fade-in .8s ease-out forwards}.home-page .zoom-animation{animation:zoom-pulse 3s ease-in-out infinite}.contact-section{width:100%;background:linear-gradient(to bottom right,#eff6ff,#fff);padding:4rem 0;min-height:calc(100vh - 64px)}@media(max-width:768px){.contact-section{padding:2rem 0;min-height:auto}}.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.contact-grid{gap:2rem}}@media(max-width:640px){.contact-grid{gap:1.5rem}}.form-card{background:#fff;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;padding:2rem}@media(max-width:640px){.form-card{padding:1.25rem;border-radius:.5rem}}.form-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:1.5rem}@media(max-width:768px){.form-title{font-size:1.5rem}}@media(max-width:640px){.form-title{font-size:1.25rem;margin-bottom:1rem}}.form-group{margin-bottom:1.25rem}@media(max-width:640px){.form-group{margin-bottom:1rem}}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}@media(max-width:640px){.form-group label{font-size:.8125rem;margin-bottom:.375rem}}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:all .2s;min-height:44px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}@media(max-width:640px){.form-group input,.form-group select,.form-group textarea{padding:.625rem .75rem}}.form-group textarea{resize:vertical;min-height:100px}@media(max-width:640px){.form-group textarea{min-height:80px}}.form-group select{background-color:#fff;cursor:pointer}.form-group .field-hint{display:block;font-size:.75rem;color:#6b7280;margin-top:.25rem}.checkbox-group,.radio-group{display:flex;flex-wrap:wrap;gap:.75rem}@media(max-width:640px){.checkbox-group,.radio-group{gap:.5rem}}.checkbox-label,.radio-label{display:flex;align-items:center;cursor:pointer;padding:.25rem 0}.checkbox-label input,.radio-label input{width:18px;height:18px;margin-right:.5rem;flex-shrink:0;min-height:auto}.checkbox-label span,.radio-label span{color:#374151}@media(max-width:640px){.checkbox-label span,.radio-label span{font-size:.875rem}}.submit-btn{width:100%;padding:1rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-btn:hover:not(:disabled){background:#1d4ed8}.submit-btn:disabled{background:#93c5fd;cursor:not-allowed}.submit-btn.loading{background:#3b82f6}@media(max-width:640px){.submit-btn{padding:.75rem;font-size:1rem}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.success-message,.error-message{margin-top:1.5rem;padding:1.25rem;border-radius:.75rem;text-align:center;animation:slideIn .3s ease-out}@media(max-width:640px){.success-message,.error-message{padding:1rem;margin-top:1rem}}.success-message .message-icon,.error-message .message-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto .75rem}.success-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.success-message .message-icon{background:#22c55e;color:#fff}.success-message .success-title{color:#166534;font-weight:700;font-size:1.125rem;margin-bottom:.5rem}@media(max-width:640px){.success-message .success-title{font-size:1rem}}.success-message .success-text{color:#15803d;font-size:.9375rem;line-height:1.5}@media(max-width:640px){.success-message .success-text{font-size:.875rem}}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5}.error-message .message-icon{background:#ef4444;color:#fff}.error-message .error-title{color:#991b1b;font-weight:700;font-size:1.125rem;margin-bottom:.5rem}@media(max-width:640px){.error-message .error-title{font-size:1rem}}.error-message .error-text{color:#b91c1c;font-size:.9375rem;line-height:1.5}@media(max-width:640px){.error-message .error-text{font-size:.875rem}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faq-card{background:#fff;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;padding:2rem;height:fit-content}@media(max-width:640px){.faq-card{padding:1.25rem;border-radius:.5rem}}.faq-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:1.5rem}@media(max-width:768px){.faq-title{font-size:1.5rem}}@media(max-width:640px){.faq-title{font-size:1.25rem;margin-bottom:1rem}}.faq-list{display:flex;flex-direction:column;gap:1.5rem}@media(max-width:640px){.faq-list{gap:1rem}}.faq-item .faq-question{font-weight:700;color:#111827;margin-bottom:.5rem;font-size:1rem}@media(max-width:640px){.faq-item .faq-question{font-size:.875rem;margin-bottom:.375rem}}.faq-item .faq-answer{color:#4b5563;line-height:1.6}@media(max-width:640px){.faq-item .faq-answer{font-size:.875rem;line-height:1.5}}.view-all-btn{width:100%;margin-top:1.5rem;padding:.75rem;background:#e5e7eb;color:#1f2937;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;min-height:44px}.view-all-btn:hover{background:#d1d5db}@media(max-width:640px){.view-all-btn{margin-top:1rem;padding:.625rem;font-size:.875rem}}.gallery-container{width:100%;max-width:80rem;margin:0 auto;padding:2rem 1rem}@media(max-width:768px){.gallery-container{padding:1.5rem 1rem}}@media(max-width:640px){.gallery-container{padding:1rem .75rem}}.gallery-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.gallery-grid{grid-template-columns:250px 1fr}}@media(max-width:1024px){.gallery-grid{gap:1.5rem}}.filters-sidebar{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem;height:fit-content}@media(max-width:1024px){.filters-sidebar{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}}@media(max-width:768px){.filters-sidebar{grid-template-columns:1fr;padding:1rem}}.filters-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:1.5rem}@media(max-width:1024px){.filters-title{grid-column:1/-1;margin-bottom:.5rem}}@media(max-width:640px){.filters-title{font-size:1.125rem}}.filter-group{margin-bottom:1.5rem}@media(max-width:1024px){.filter-group{margin-bottom:0}}.filter-group-title{font-weight:600;color:#111827;margin-bottom:.75rem}@media(max-width:640px){.filter-group-title{font-size:.875rem;margin-bottom:.5rem}}.filter-options{display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.filter-options{flex-direction:row;flex-wrap:wrap;gap:.75rem}}.filter-option{display:flex;align-items:center;cursor:pointer}.filter-option input{margin-right:.5rem;width:18px;height:18px;flex-shrink:0}.filter-option span{color:#374151}@media(max-width:640px){.filter-option span{font-size:.875rem}}.cases-main{width:100%}.cases-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media(min-width:480px){.cases-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cases-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.cases-grid{gap:1rem}}.case-tile{background:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;cursor:pointer;transition:all .3s ease}.case-tile:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.case-tile:active{transform:translateY(-2px)}.case-preview{aspect-ratio:1;padding:1rem;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}@media(max-width:640px){.case-preview{padding:.75rem}}.case-preview svg{width:100%;height:100%}.case-preview.from-pink-100,.case-preview.from-blue-100,.case-preview.from-red-100,.case-preview.from-emerald-100,.case-preview.from-yellow-100,.case-preview.from-slate-100{background:#fff}.case-image{width:100%;height:100%;object-fit:contain;border-radius:6px;display:block}.case-content{padding:1rem}@media(max-width:640px){.case-content{padding:.75rem}}.case-title{font-weight:700;color:#111827;margin-bottom:.5rem}@media(max-width:640px){.case-title{font-size:.875rem}}.case-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}@media(max-width:640px){.case-tags{gap:.375rem;margin-bottom:.5rem}}.tag{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}@media(max-width:640px){.tag{padding:.125rem .5rem;font-size:.625rem}}.tag.tag-purple{background:#f3e8ff;color:#6b21a8}.tag.tag-blue{background:#dbeafe;color:#1e40af}.tag.tag-green{background:#dcfce7;color:#166534}.tag.tag-pink{background:#fce7f3;color:#9d174d}.tag.tag-red{background:#fee2e2;color:#991b1b}.tag.tag-orange{background:#ffedd5;color:#9a3412}.tag.tag-emerald{background:#d1fae5;color:#065f46}.tag.tag-yellow{background:#fef3c7;color:#92400e}.tag.tag-gray{background:#f3f4f6;color:#1f2937}.tag.tag-cyan{background:#cffafe;color:#155e75}.view-btn{width:100%;background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:.5rem;border:none;font-weight:500;cursor:pointer;transition:background .2s;font-size:.875rem}.view-btn:hover{background:#1d4ed8}@media(max-width:640px){.view-btn{padding:.625rem 1rem}}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;flex-wrap:wrap}@media(max-width:640px){.pagination{margin-top:1.5rem;gap:.375rem}}.page-btn{padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;cursor:pointer;transition:background .2s;font-size:.875rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.page-btn:hover:not(:disabled){background:#f9fafb}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}@media(max-width:640px){.page-btn{padding:.375rem .75rem;min-width:40px;min-height:40px;font-size:.75rem}}@media(max-width:768px){.hero-title{font-size:2rem}}.specs-section{width:100%;background:#fff;padding:4rem 0}@media(max-width:768px){.specs-section{padding:3rem 0}}@media(max-width:640px){.specs-section{padding:2rem 0}}.specs-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.specs-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.specs-grid{gap:2rem}}.diagram-container{background:linear-gradient(to bottom right,#f9fafb,#eff6ff);border-radius:.75rem;padding:2rem;display:flex;align-items:center;justify-content:center}@media(max-width:640px){.diagram-container{padding:1rem;border-radius:.5rem}}.diagram-container svg{width:100%;height:auto;max-height:300px}.specs-content{display:flex;flex-direction:column;justify-content:center}.specs-title{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:1.5rem}@media(max-width:768px){.specs-title{font-size:1.5rem}}@media(max-width:640px){.specs-title{font-size:1.25rem;margin-bottom:1rem}}.specs-list{list-style:none;padding:0;margin:0}.spec-item{display:flex;align-items:flex-start;margin-bottom:1rem}@media(max-width:640px){.spec-item{margin-bottom:.75rem}}.spec-item .check-icon{width:1.5rem;height:1.5rem;color:#2563eb;margin-right:.75rem;margin-top:.25rem;flex-shrink:0}@media(max-width:640px){.spec-item .check-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}}.spec-item .spec-label{font-weight:600;color:#111827}@media(max-width:640px){.spec-item .spec-label{font-size:.875rem}}.spec-item .spec-value{color:#374151}@media(max-width:640px){.spec-item .spec-value{font-size:.875rem}}.modules-section{width:100%;background:#f9fafb;padding:4rem 0}@media(max-width:768px){.modules-section{padding:3rem 0}}@media(max-width:640px){.modules-section{padding:2rem 0}}.modules-title{font-size:1.875rem;font-weight:700;color:#111827;text-align:center;margin-bottom:3rem}@media(max-width:768px){.modules-title{font-size:1.5rem;margin-bottom:2rem}}@media(max-width:640px){.modules-title{font-size:1.25rem;margin-bottom:1.5rem}}.modules-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:640px){.modules-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.modules-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.modules-grid{gap:1rem}}.module-card{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}@media(max-width:640px){.module-card{padding:1rem;border-radius:.5rem}}.module-icon{width:4rem;height:4rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}@media(max-width:640px){.module-icon{width:3rem;height:3rem;margin-bottom:.75rem}}.module-icon svg{width:2.5rem;height:2.5rem}@media(max-width:640px){.module-icon svg{width:2rem;height:2rem}}.module-icon.purple-bg{background:#f3e8ff}.module-icon.blue-bg{background:#dbeafe}.module-icon.red-bg{background:#fee2e2}.module-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:.75rem}@media(max-width:640px){.module-title{font-size:1rem;margin-bottom:.5rem}}.module-description{color:#4b5563;margin-bottom:1rem;line-height:1.6}@media(max-width:640px){.module-description{font-size:.875rem;margin-bottom:.75rem}}.module-link{color:#2563eb;font-weight:600;text-decoration:none;cursor:pointer;font-size:.875rem}.module-link:hover{color:#1d4ed8}.container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(max-width:640px){.container{padding:0 .75rem}}.hero-section{width:100%;background:linear-gradient(to bottom right,#eff6ff,#fff);padding:4rem 0;text-align:center}@media(max-width:768px){.hero-section{padding:3rem 0}}@media(max-width:640px){.hero-section{padding:2rem 0}}.hero-title{font-size:2.5rem;font-weight:700;color:#111827;margin-bottom:1rem}@media(max-width:768px){.hero-title{font-size:1.75rem}}@media(max-width:640px){.hero-title{font-size:1.5rem;margin-bottom:.75rem}}.hero-subtitle{font-size:1.25rem;color:#4b5563;max-width:48rem;margin:0 auto}@media(max-width:768px){.hero-subtitle{font-size:1rem}}@media(max-width:640px){.hero-subtitle{font-size:.875rem}}.cards-section{width:100%;background:#fff;padding:4rem 0}@media(max-width:768px){.cards-section{padding:3rem 0}}@media(max-width:640px){.cards-section{padding:2rem 0}}.cards-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.cards-grid{gap:1rem}}.resource-card{background:#fff;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;padding:2rem;border:1px solid #e5e7eb}@media(max-width:640px){.resource-card{padding:1.25rem;border-radius:.5rem}}.card-icon{width:4rem;height:4rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}@media(max-width:640px){.card-icon{width:3rem;height:3rem;margin-bottom:1rem}}.card-icon svg{width:2.5rem;height:2.5rem}@media(max-width:640px){.card-icon svg{width:2rem;height:2rem}}.card-icon.green-bg{background:#dcfce7}.card-icon.blue-bg{background:#dbeafe}.card-icon.purple-bg{background:#f3e8ff}.card-title{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1rem}@media(max-width:640px){.card-title{font-size:1.25rem;margin-bottom:.75rem}}.card-list{list-style:none;padding:0;margin:0 0 1.5rem}@media(max-width:640px){.card-list{margin-bottom:1rem}}.card-list li{display:flex;align-items:flex-start;margin-bottom:.75rem;color:#374151;line-height:1.5}@media(max-width:640px){.card-list li{font-size:.875rem;margin-bottom:.5rem}}.card-list li .bullet{margin-right:.5rem;flex-shrink:0}.card-list li.green-bullet .bullet{color:#10b981}.card-list li.blue-bullet .bullet{color:#2563eb}.card-list li.purple-bullet .bullet{color:#8b5cf6}.card-btn{width:100%;padding:.75rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;border:none;color:#fff;min-height:44px}@media(max-width:640px){.card-btn{padding:.625rem;font-size:.875rem}}.card-btn.green-btn{background:#10b981}.card-btn.green-btn:hover{background:#059669}.card-btn.blue-btn{background:#2563eb}.card-btn.blue-btn:hover{background:#1d4ed8}.card-btn.purple-btn{background:#8b5cf6}.card-btn.purple-btn:hover{background:#7c3aed}.partners-section{width:100%;background:#f9fafb;padding:3rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}@media(max-width:640px){.partners-section{padding:2rem 0}}.partners-title{color:#4b5563;font-size:1.125rem;font-weight:600;text-align:center;margin-bottom:2rem}@media(max-width:640px){.partners-title{font-size:.875rem;margin-bottom:1.5rem}}.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem}@media(max-width:768px){.partners-grid{gap:1.5rem}}@media(max-width:640px){.partners-grid{gap:1rem;flex-direction:column}}.partner-card{background:#fff;padding:1rem 2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}@media(max-width:640px){.partner-card{padding:.75rem 1.5rem;width:100%;max-width:200px}}.partner-placeholder{width:6rem;height:3rem;background:#e5e7eb;border-radius:.25rem;margin:0 auto .5rem}@media(max-width:640px){.partner-placeholder{width:4rem;height:2rem}}.partner-name{font-size:.875rem;color:#4b5563}@media(max-width:640px){.partner-name{font-size:.75rem}}.cta-section{width:100%;background:linear-gradient(to right,#2563eb,#7c3aed);padding:4rem 0;text-align:center}@media(max-width:768px){.cta-section{padding:3rem 0}}@media(max-width:640px){.cta-section{padding:2rem 0}}.cta-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:1.5rem}@media(max-width:768px){.cta-title{font-size:1.5rem}}@media(max-width:640px){.cta-title{font-size:1.25rem;margin-bottom:1rem}}.cta-subtitle{font-size:1.25rem;color:#bfdbfe;max-width:32rem;margin:0 auto 2rem}@media(max-width:768px){.cta-subtitle{font-size:1rem}}@media(max-width:640px){.cta-subtitle{font-size:.875rem;margin-bottom:1.5rem}}.cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}@media(max-width:640px){.cta-buttons{flex-direction:column;align-items:center;gap:.75rem}}.cta-btn{padding:1rem 2rem;border-radius:.5rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:640px){.cta-btn{padding:.75rem 1.5rem;font-size:.875rem;width:100%;max-width:280px}}.cta-btn.cta-btn-primary{background:#fff;color:#2563eb;box-shadow:0 10px 15px -3px #0000001a;border:none}.cta-btn.cta-btn-primary:hover{background:#eff6ff}.cta-btn.cta-btn-secondary{background:#1e40af;color:#fff;border:2px solid white}.cta-btn.cta-btn-secondary:hover{background:#1e3a8a}:root{--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-light: #f8fafc;--color-border: #e0e0e0;--color-primary: #00A0E9;--color-primary-dark: #0080c9;--color-text-primary: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-muted: #6a6a6a;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a}.annotation-label{position:absolute;background:#ff0000d9;color:#fff;padding:3px 6px;border-radius:4px;font-size:12px;font-weight:700;pointer-events:none;z-index:9999}.viewer-container{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--color-background);color:var(--color-slate-800);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;overflow:hidden}.header{height:4rem;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-slate-200);background:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;flex-shrink:0;z-index:50}@media(min-width:1440px){.header{height:4.5rem;padding:0 2rem}}@media(min-width:1920px){.header{height:5rem;padding:0 2.5rem}}@media(max-width:1024px){.header{padding:0 1rem;height:3.75rem}}@media(max-width:768px){.header{padding:0 .5rem;height:3.25rem;overflow-x:auto;overflow-y:hidden}}@media(max-width:480px){.header{padding:0 .25rem;height:3rem}}.header-left{display:flex;align-items:center;gap:1.5rem;min-width:0}@media(max-width:1024px){.header-left{gap:1.25rem}}@media(max-width:768px){.header-left{gap:.75rem}}@media(max-width:480px){.header-left{gap:.5rem}}.nav-section{display:flex;align-items:center;gap:.5rem;min-width:0}@media(max-width:768px){.nav-section{gap:.25rem}}@media(max-width:480px){.nav-section{gap:.125rem}}.header-right{display:flex;align-items:center;gap:.75rem;min-width:0}@media(max-width:1024px){.header-right{gap:.625rem}}@media(max-width:768px){.header-right{gap:.375rem}}@media(max-width:480px){.header-right{gap:.25rem}}.dropdown-container{position:relative;flex-shrink:0}.dropdown-split{display:inline-flex;align-items:stretch;border-radius:.5rem;overflow:hidden;border:1px solid var(--color-slate-200);background:var(--color-slate-50);transition:all .2s}.dropdown-split:hover{background:#fff;border-color:var(--color-slate-300)}.dropdown-split.active{background:var(--color-primary);border-color:var(--color-primary)}.dropdown-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:0;color:var(--color-slate-600);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s}@media(max-width:1024px){.dropdown-trigger{padding:.4rem .875rem;font-size:.625rem}}@media(max-width:768px){.dropdown-trigger{padding:.35rem .75rem;gap:.375rem;font-size:.5625rem}}@media(max-width:480px){.dropdown-trigger{padding:.3rem .625rem;gap:.25rem;font-size:.5rem}}.dropdown-trigger:hover{background:transparent;border-color:transparent}.dropdown-trigger.active{color:#fff;border-color:transparent}.dropdown-split.active .dropdown-trigger{color:#fff}.dropdown-trigger-main{border-right:1px solid var(--color-slate-200)}.dropdown-split.active .dropdown-trigger-main{border-right-color:#ffffff59}.dropdown-trigger-caret{padding-left:.6rem;padding-right:.6rem;min-width:2rem;justify-content:center}.dropdown-label{display:inline}@media(max-width:768px){.dropdown-label{font-size:.5rem}}@media(max-width:480px){.dropdown-label{display:none}}.dropdown-arrow{font-size:.5rem;transition:transform .2s}.dropdown-arrow.rotated{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:.25rem;width:18rem;background:#fff;border:1px solid var(--color-slate-200);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;padding:1rem;opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:all .15s ease-out;z-index:100}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu.annotation-menu{width:20rem}.dropdown-menu.measurement-menu{width:16rem}.dropdown-menu.filters-menu,.dropdown-menu.grid-menu,.dropdown-menu.serpentine-menu{width:20rem}.dropdown-menu.overlay-menu{width:20rem;border:1px solid #d8e4f0;border-radius:.85rem;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 16px 32px #0f172a1f,0 3px 8px #0f172a14;padding:.95rem}.dropdown-menu.overlay-menu .overlay-panel-group{gap:.82rem;margin-bottom:0}.dropdown-menu.overlay-menu .filter-item{gap:.42rem}.dropdown-menu.overlay-menu .filter-label{font-size:.7rem;letter-spacing:.055em;font-weight:800;color:#8191a8}.dropdown-menu.overlay-menu .filter-value{color:#0284c7;font-weight:900;letter-spacing:.03em}.dropdown-menu.overlay-menu .grid-select{min-height:2rem;padding:.44rem .56rem;border-color:#d2deeb;border-radius:.5rem;font-size:.73rem;font-weight:800;color:#334155;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.dropdown-menu.overlay-menu .grid-select:hover{border-color:#9fb8d3}.dropdown-menu.overlay-menu .grid-select:focus{border-color:#00a0e9;box-shadow:0 0 0 3px #00a0e924}.dropdown-menu.overlay-menu .grid-show-item{background:#f5f9ff;border:1px solid #d9e7f5;border-radius:.62rem;padding:.52rem .58rem}.dropdown-menu.overlay-menu .grid-toggle-btn{min-width:3.5rem;min-height:1.75rem;border-radius:.5rem;border-color:#c8d8ea;color:#3b4f67;background:linear-gradient(180deg,#fff,#f2f7fd);font-weight:800}.dropdown-menu.overlay-menu .grid-toggle-btn.active{background:linear-gradient(180deg,#12a5eb,#0284c7);border-color:#0284c7;box-shadow:0 3px 8px #0284c742}.dropdown-menu.overlay-menu .filter-slider{height:.3rem;background:linear-gradient(90deg,#b7c6d8,#8fa6bf)}.dropdown-menu.overlay-menu .filter-slider::-webkit-slider-thumb{width:1.02rem;height:1.02rem;box-shadow:0 0 0 2px #fff,0 0 0 4px #0ea5e9}.dropdown-menu.overlay-menu .overlay-adjust-grid{margin-top:.3rem}.dropdown-menu.overlay-menu .reset-filters-btn{margin-top:.15rem;min-height:2.18rem;border-radius:.58rem;border-color:#d1dfed;background:linear-gradient(180deg,#fff,#f5f8fc);font-weight:800;color:#42566d}.dropdown-menu.overlay-menu .reset-filters-btn:hover:not(:disabled){border-color:#9fc2df;color:#0b6fa4;background:linear-gradient(180deg,#f0f9ff,#e0f2fe)}.dropdown-menu.overlay-menu .reset-filters-btn:disabled,.dropdown-menu.overlay-menu .overlay-adjust-btn:disabled,.dropdown-menu.overlay-menu .grid-toggle-btn:disabled,.dropdown-menu.overlay-menu .grid-select:disabled,.dropdown-menu.overlay-menu .filter-slider:disabled{opacity:.5}.dropdown-menu.serpentine-menu .section-title{margin-bottom:.4rem}.dropdown-menu.serpentine-menu .filter-item{margin-top:.65rem}.dropdown-menu.serpentine-menu .filter-item+.filter-item{margin-top:.9rem}.serpentine-trigger-row{display:flex;align-items:center;gap:.375rem}.serpentine-play-toggle-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-slate-300);background:#fff;color:var(--color-primary);border-radius:.5rem;height:2.25rem;min-width:2.25rem;padding:0;cursor:pointer}.serpentine-play-toggle-btn.pause{color:#0f172a}.serpentine-play-toggle-btn.stop{color:#dc2626}.dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;transition:all .2s;border:1px solid transparent;background:transparent;color:var(--color-slate-600);cursor:pointer;text-align:left}.dropdown-item:hover{background:var(--color-slate-50);border-color:var(--color-slate-200)}.dropdown-item.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.annotation-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.annotation-item,.measurement-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.6875rem;font-weight:600;transition:all .2s;border:1px solid transparent;background:transparent;color:var(--color-slate-600);cursor:pointer}.annotation-item:hover,.measurement-item:hover{background:var(--color-slate-50);border-color:var(--color-slate-200)}.annotation-item.active,.measurement-item.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.annotation-item i,.measurement-item i{width:1.125rem;font-size:1.125rem;opacity:.8}.measurement-grid{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.5rem}.serpentine-controls-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem;margin-top:.75rem}.overlay-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem}.overlay-adjust-grid{margin-top:.125rem;gap:.45rem}.overlay-adjust-panel{border:1px solid #d9e6f2;border-radius:.72rem;background:linear-gradient(180deg,#fbfdff,#f3f8fd);padding:.72rem}.overlay-adjust-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.72rem;letter-spacing:.045em;font-weight:900;color:#74859a;text-transform:uppercase}.overlay-helper-text{margin-top:.35rem;font-size:.69rem;line-height:1.45;color:#56697f}.overlay-helper-text strong{color:#0b82c9;font-weight:900}.overlay-alignment-layout{display:grid;grid-template-columns:minmax(7.25rem,8.25rem) minmax(0,1fr);gap:.65rem;align-items:stretch;margin-top:.62rem}.overlay-control-card{border:1px solid #d7e3ef;border-radius:.62rem;background:#ffffffeb;padding:.55rem}.overlay-rotate-scale-card{padding:.46rem;display:flex;flex-direction:column;justify-content:stretch}.overlay-card-title{font-size:.64rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#8696ab}.overlay-nudge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.32rem;align-items:stretch;margin-top:.4rem}.overlay-nudge-spacer{min-height:2rem}.overlay-nudge-center{min-height:2rem;border-radius:.5rem;border:1px dashed #c9d7e6;background:linear-gradient(180deg,#f8fbff,#eef5fc);color:#7b91a9;display:flex;align-items:center;justify-content:center;font-size:.68rem}.serpentine-controls-row.single-stop{grid-template-columns:1fr}.serpentine-control-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--color-slate-200);background:var(--color-slate-50);color:var(--color-slate-700);border-radius:.375rem;min-height:2rem;padding:.45rem .5rem;line-height:1;font-size:.65rem;font-weight:700;cursor:pointer}.serpentine-control-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.serpentine-control-btn:disabled{opacity:.45;cursor:not-allowed}.serpentine-control-btn.stop:hover{border-color:#dc2626;color:#dc2626}.overlay-adjust-btn{min-height:2.15rem;border-color:#d7e2ee;background:linear-gradient(180deg,#fff,#f5f8fc);color:#334155;font-size:.7rem;font-weight:800;letter-spacing:.01em;box-shadow:0 1px #fffc inset,0 1px 2px #0f172a0d;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.overlay-adjust-btn:hover:not(:disabled){border-color:#00a0e9;color:#0369a1;background:linear-gradient(180deg,#f0f9ff,#e0f2fe);box-shadow:0 0 0 2px #00a0e91f;transform:translateY(-1px)}.overlay-adjust-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 0 0 2px #00a0e929 inset}.overlay-nudge-btn{min-height:2rem;padding:0;border-radius:.5rem}.overlay-nudge-btn i{font-size:.78rem}.overlay-control-card .overlay-adjust-grid{margin-top:.4rem}.overlay-control-card .overlay-adjust-btn{min-height:1.95rem;font-size:.67rem}.overlay-rotate-scale-grid{flex:1;gap:.26rem;margin-top:.34rem;align-content:stretch;grid-auto-rows:minmax(0,1fr)}.overlay-rotate-scale-btn{min-height:0;height:100%;padding:.24rem .35rem;font-size:.63rem;line-height:1.1;gap:.28rem}.overlay-rotate-scale-btn i{font-size:.72rem;line-height:1}.overlay-rotate-btn{flex-direction:column;gap:.18rem}@media(max-width:768px){.overlay-alignment-layout{grid-template-columns:1fr}.overlay-control-card .overlay-adjust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.serpentine-status{margin-top:.4rem;font-size:.65rem;color:var(--color-slate-500)}.serpentine-complete{margin-top:.4rem;font-size:.67rem;font-weight:700;color:#15803d}.color-section,.thickness-section,.rotation-section{margin-bottom:1rem}.section-title{font-size:.6875rem;font-weight:900;color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.color-grid{display:flex;justify-content:space-between;gap:.5rem}.color-btn{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid white;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.color-btn:hover{transform:scale(1.1)}.color-btn.active{transform:scale(1.2);box-shadow:0 0 0 3px #00a0e94d}.thickness-controls{display:flex;align-items:center;gap:.75rem}.thickness-value{font-size:.6875rem;font-weight:900;color:var(--color-primary);min-width:2rem}.thickness-slider{flex:1;height:.125rem;background:var(--color-slate-400);border-radius:.25rem;appearance:none;cursor:pointer;accent-color:var(--color-primary)}.thickness-slider::-webkit-slider-thumb{appearance:none;width:1rem;height:1rem;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.filter-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:700;color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.05em}.filter-value{color:var(--color-primary)}.filter-slider{width:100%;height:.25rem;background:var(--color-slate-400);border-radius:.25rem;appearance:none;cursor:pointer;accent-color:var(--color-primary)}.filter-slider::-webkit-slider-thumb{appearance:none;width:1rem;height:1rem;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.grid-select,.grid-number-input{width:100%;padding:.35rem .5rem;border-radius:.375rem;border:1px solid var(--color-slate-200);background:#fff;font-size:.6875rem;font-weight:700;color:var(--color-slate-600);outline:none}.grid-color-input{width:100%;height:1.6rem;padding:0;border:1px solid var(--color-slate-200);border-radius:.375rem;background:#fff}.grid-toggle-btn{padding:.35rem .6rem;border-radius:.375rem;border:1px solid var(--color-slate-200);background:#fff;font-size:.6875rem;font-weight:700;color:var(--color-slate-600);cursor:pointer}.grid-toggle-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.grid-show-item{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.rotation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.rotation-btn{padding:.42rem .5rem;min-height:1.75rem;border-radius:.25rem;border:1px solid var(--color-slate-200);background:#fff;color:var(--color-slate-500);font-size:.6875rem;font-weight:700;line-height:1;cursor:pointer;transition:all .2s}.rotation-btn:hover{border-color:var(--color-slate-300);background:var(--color-slate-50)}.rotation-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.clear-btn,.reset-filters-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent}.clear-btn{background:var(--color-slate-50);border-color:var(--color-slate-200);color:var(--color-slate-600)}.clear-btn:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.reset-filters-btn{background:var(--color-slate-50);border-color:var(--color-slate-200);color:var(--color-slate-600)}.reset-filters-btn:hover{background:var(--color-slate-100);border-color:var(--color-slate-300)}.magnification-controls{display:flex;background:var(--color-slate-100);padding:.25rem;border-radius:.75rem;border:1px solid var(--color-slate-200);gap:.125rem;min-width:0;max-width:100%}.magnification-btn{padding:.375rem .75rem;border-radius:.5rem;border:none;background:transparent;color:var(--color-slate-400);font-size:.6875rem;font-weight:900;cursor:pointer;transition:all .2s}.magnification-btn:hover{background:#fff;color:var(--color-slate-600)}.magnification-btn.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.magnification-btn.label-60x,.magnification-btn.label-60x:hover{color:#f97316}.magnification-btn.active-60x{background:#f97316;color:#fff}.action-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.action-btn-react{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0 .125rem;border:none;background:transparent;color:var(--color-slate-800);cursor:pointer;line-height:1;transition:color .2s ease,transform .15s ease}.action-btn-react:hover{color:var(--color-primary);transform:translateY(-1px)}.action-btn-react:active{transform:translateY(0)}.action-btn-react.hidden-annotations{color:var(--color-slate-500)}.action-btn-react i{font-size:1rem;line-height:1}@media(max-width:1600px){.header{padding:0 .86rem}.header-left{gap:.96rem}.nav-section{gap:.36rem}.header-right{gap:.46rem}.dropdown-trigger{padding:.42rem .76rem;gap:.38rem;font-size:.66rem}.dropdown-trigger-caret{min-width:1.86rem;padding-left:.46rem;padding-right:.46rem}.dropdown-label{font-size:.64rem}.magnification-controls{padding:.22rem;gap:.1rem}.magnification-btn{padding:.34rem .5rem;font-size:.62rem}.action-buttons{gap:.36rem}.action-btn-react i{font-size:1.04rem}.action-btn.primary{height:2.34rem;padding:0 .82rem;font-size:.64rem;gap:.42rem}}@media(max-width:1440px){.header{padding:0 .875rem}.header-left{gap:1rem}.header-right{gap:.5rem}.nav-section{gap:.375rem}.dropdown-trigger{padding:.42rem .78rem;font-size:.64rem}.dropdown-trigger-caret{min-width:1.85rem;padding-left:.5rem;padding-right:.5rem}.magnification-controls{padding:.2rem}.magnification-btn{padding:.34rem .56rem;font-size:.625rem}.action-buttons{gap:.375rem}.action-btn.primary{height:2.25rem;padding:0 .8rem;font-size:.625rem}}@media(max-width:1280px){.header{padding:0 .75rem}.header-left{gap:.75rem}.header-right{gap:.375rem}.nav-section{gap:.25rem}.dropdown-trigger{padding:.35rem .625rem;gap:.35rem;font-size:.58rem}.dropdown-trigger-caret{min-width:1.7rem;padding-left:.42rem;padding-right:.42rem}.dropdown-label{font-size:.56rem}.magnification-controls{padding:.18rem;gap:.08rem}.magnification-btn{padding:.32rem .46rem;font-size:.56rem}.action-buttons{gap:.3rem}.action-btn.primary{padding:0 .65rem;font-size:.58rem;gap:.35rem}}@media(max-width:1320px){.header-right{min-width:0}.magnification-controls{flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.magnification-controls::-webkit-scrollbar{display:none}.action-buttons{flex-shrink:0}.action-btn.primary span{display:none}.action-btn.primary{min-width:2.3rem;padding:0 .72rem;gap:.3rem}}@media(max-width:1370px)and (min-width:1281px){.header{padding:0 .68rem}.header-left{gap:.62rem}.nav-section{gap:.2rem}.header-right{gap:.28rem;min-width:0;flex:0 1 auto}.dropdown-trigger{padding:.34rem .56rem;gap:.28rem;font-size:.54rem}.dropdown-trigger-caret{min-width:1.5rem;padding-left:.34rem;padding-right:.34rem}.dropdown-label{font-size:.52rem}.magnification-controls{flex:1 1 auto;min-width:0;padding:.16rem;gap:.05rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.magnification-controls::-webkit-scrollbar{display:none}.magnification-btn{padding:.26rem .34rem;font-size:.5rem}.action-buttons{gap:.24rem;margin-left:auto;flex-shrink:0}.action-btn-react i{font-size:.94rem}.action-btn.primary span{display:none}.action-btn.primary{min-width:2.18rem;height:2.16rem;padding:0 .58rem;font-size:.54rem;gap:.28rem}}@media(max-width:1180px){.nav-section,.magnification-controls{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.action-btn.primary span{display:none}.action-btn.primary{min-width:2.2rem;padding:0 .7rem}}.action-btn{width:2.5rem;height:2.5rem;border-radius:.75rem;border:1px solid var(--color-slate-200);background:#fff;color:var(--color-slate-400);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}@media(min-width:1440px){.action-btn{width:2.75rem;height:2.75rem;border-radius:.875rem}}@media(min-width:1920px){.action-btn{width:3rem;height:3rem;border-radius:1rem}}@media(max-width:1024px){.action-btn{width:2.25rem;height:2.25rem}}@media(max-width:768px){.action-btn{width:2rem;height:2rem;border-radius:.5rem}}@media(max-width:480px){.action-btn{width:1.75rem;height:1.75rem}}.action-btn:hover{background:var(--color-slate-50);color:var(--color-primary);border-color:var(--color-primary)}.action-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.action-btn.primary{width:auto;height:2.5rem;padding:0 1rem;background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-size:.6875rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;gap:.5rem}.action-btn.primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.action-btn.primary:disabled{opacity:.5;cursor:not-allowed}.main-content{display:flex;flex:1;overflow:hidden;min-height:0;position:relative}.serpentine-popup-overlay{position:absolute;inset:0;z-index:180;display:flex;align-items:center;justify-content:center;background:#0f172a2e;pointer-events:auto}.serpentine-popup-message{background:#fff;color:var(--color-slate-800);border:2px solid var(--color-primary);border-radius:.75rem;padding:1.15rem 1.35rem;font-size:1rem;font-weight:800;letter-spacing:.01em;box-shadow:0 14px 32px #02061747;max-width:min(92vw,700px);min-width:min(78vw,520px);text-align:center;display:flex;flex-direction:column;gap:.95rem;align-items:center}.serpentine-popup-text{line-height:1.45}.serpentine-popup-ok-btn{min-width:8.5rem;padding:.6rem 1.2rem;border-radius:.5rem;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font-size:.9rem;font-weight:800;cursor:pointer}.serpentine-popup-ok-btn:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.viewer-area{flex:1;display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;height:100%;width:100%}.viewer-area.full-width{flex:1 1 auto;width:100%;max-width:100%}.viewports-container{flex:1;display:grid;gap:0;background:transparent;min-height:0;position:relative}.viewports-container.single{grid-template-columns:1fr;grid-template-rows:1fr}.viewports-container.split-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.viewports-container.split-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.viewport{background:var(--color-background);position:relative;overflow:hidden;cursor:grab;display:flex;flex-direction:column}.viewport.active{outline:none}.viewport:active{cursor:grabbing}.viewport-header{position:absolute;top:0;left:0;right:0;height:2.25rem;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(148,163,184,.2);display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;box-shadow:0 1px 2px #00000008;z-index:40;flex-shrink:0}.viewport-header .viewport-left-group{display:flex;align-items:center;gap:.5rem;min-width:0;flex-shrink:1}.viewport-header .viewport-left{display:flex;align-items:center;flex-shrink:0}.magnification-badge{background:#fffc;border:1px solid rgba(148,163,184,.3);border-radius:.625rem;padding:.25rem .625rem;display:flex;align-items:center;gap:.1875rem;box-shadow:0 1px 3px #0000000d;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.magnification-badge.active{background:#fffffff2;border-color:var(--color-primary);box-shadow:0 1px 3px #00a0e933}.mag-label{font-size:.5625rem;font-weight:900;color:var(--color-slate-400);text-transform:uppercase;letter-spacing:.05em}.mag-value{font-size:.75rem;font-weight:900;color:var(--color-slate-700);min-width:1.75rem;text-align:center}.magnification-badge.active .mag-value{color:var(--color-primary)}.viewport-center{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:.5rem}.viewport-title{font-size:.875rem;font-weight:900;color:var(--color-primary);text-transform:uppercase;letter-spacing:-.025em;flex:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-nav-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#ffffffe6;border:2px solid var(--color-slate-300);border-radius:50%;color:var(--color-slate-700);cursor:pointer;transition:all .2s;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.slide-nav-btn:hover:not(.disabled){background:#fff;color:var(--color-primary);border-color:var(--color-primary);transform:scale(1.15);box-shadow:0 4px 8px #00a0e94d}.slide-nav-btn.disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.slide-nav-btn i{font-size:.75rem;font-weight:900}.viewport-controls{display:flex;align-items:center;position:relative}.select-wrapper{position:relative}.slide-selector{appearance:none;background:#ffffffb3;border:1px solid rgba(148,163,184,.2);border-radius:.1875rem;color:var(--color-slate-600);padding:.1875rem 1.5rem .1875rem .5rem;font-size:.625rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:5rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.slide-selector:hover{background:#ffffffe6;border-color:#94a3b866}.slide-selector:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00a0e91a}.select-arrow{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.5rem;color:var(--color-slate-400)}.slide-canvas{flex:1;background:var(--color-background);position:relative;overflow:hidden;cursor:grab;min-height:400px;padding-top:0;touch-action:none;-webkit-user-select:none;user-select:none}.slide-canvas:active{cursor:grabbing}.slide-canvas.overlay-drag-enabled{cursor:grab}.slide-canvas.overlay-drag-enabled:active,.slide-canvas.overlay-dragging{cursor:grabbing}.slide-canvas .osd-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff}.slide-image{position:absolute;top:50%;left:50%;transform-origin:center;transition:transform .1s ease-out;width:800px;height:600px;background:linear-gradient(135deg,#e8d4f8,#f8e4d4,#d4e8f8);border-radius:12px;border:3px solid var(--color-border);box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#666;text-align:center}.slide-image small{font-size:11px;margin-top:8px}.slide-image.has-image{background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#0f172a;border-color:transparent;box-shadow:none;color:transparent}.annotation-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:opacity .2s}.annotation-canvas.active{pointer-events:auto;cursor:crosshair;touch-action:none}.annotation-canvas.hidden{opacity:0}.grid-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.annotation-markers-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:opacity .2s;z-index:5}.annotation-markers-container.hidden{opacity:0}.annotation-marker{position:absolute;background:#00a0e94d;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;pointer-events:none;box-shadow:0 2px 8px #00a0e966;white-space:nowrap;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 2px rgba(0,0,0,.8)}.zoom-controls{position:absolute;top:3.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:30}.zoom-controls .zoom-btn{width:2.5rem;height:2.5rem;background:#a19289b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(163,149,140,.3);border-radius:50%;color:#8b6e6e;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;transition:all .2s;box-shadow:0 8px 32px #463f3f1a;text-shadow:0 1px 2px rgba(0,0,0,.3)}.zoom-controls .zoom-btn:hover{background:#a19289cc;color:#fff;transform:scale(1.05)}.zoom-controls .zoom-btn:active{transform:scale(.9)}.zoom-controls .zoom-btn:disabled{opacity:.4;cursor:not-allowed}.direction-controls{position:absolute;bottom:2rem;right:2rem;z-index:30;background:#a19289b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(163,149,140,.3);border-radius:2rem;padding:.5rem;display:grid;grid-template-columns:repeat(3,2rem);grid-template-rows:repeat(3,2rem);gap:.125rem;box-shadow:0 12px 40px #00000026;align-items:center;justify-items:center}.direction-controls .nav-control-btn{width:2rem;height:2rem;background:transparent;border:none;border-radius:0;color:#8b6e6e;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;transition:all .2s;text-shadow:0 1px 2px rgba(0,0,0,.3)}.direction-controls .nav-control-btn:hover{color:#f1f5f7;background:#ffffff1a;transform:scale(1.1)}.direction-controls .center-dot{width:.375rem;height:.375rem;background:#22159110;border-radius:50%}.scale-bar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#a19289b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(163,149,140,.3);padding:10px 16px;border-radius:10px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00a0e94d;z-index:20}.scale-bar .scale-line{width:100px;height:4px;background:#ffffffe6;border-radius:2px;box-shadow:0 2px 8px #0000001a}.scale-bar .scale-text{font-size:13px;color:#ffffffe6;font-weight:600}.annotation-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#fffffff2,#f0f0f0f2);border:2px solid var(--color-primary);border-radius:10px;padding:24px;width:400px;max-width:90%;z-index:3000;display:none;box-shadow:0 8px 32px #00a0e966;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.annotation-modal.active{display:block}.modal-header{font-size:16px;font-weight:700;color:var(--color-primary);margin-bottom:16px;text-align:center}.modal-label{display:block;font-size:13px;color:var(--color-text-secondary);margin-bottom:8px;font-weight:500}.modal-input{width:100%;padding:12px;background:var(--color-surface-light);border:2px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:14px;margin-bottom:16px;transition:border-color .2s}.modal-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00a0e91a}.modal-buttons{display:flex;gap:12px}.modal-btn{flex:1;padding:12px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent}.modal-btn.modal-btn-primary{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:#fff}.modal-btn.modal-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #00a0e966;transform:translateY(-2px)}.modal-btn.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-btn.modal-btn-secondary{background:var(--color-surface-light);border-color:var(--color-border);color:var(--color-text-secondary)}.modal-btn.modal-btn-secondary:hover{background:var(--color-border);border-color:var(--color-primary)}.info-panel{width:280px;background:#f2f4f7;border-left:1px solid var(--color-primary);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;box-shadow:-2px 0 10px #0000000f;transition:width .3s ease}.info-panel-body{display:flex;flex-direction:column;min-height:100%}.info-panel.collapsed{width:0;border-left:none;overflow:hidden}.sidebar-toggle-btn{position:fixed;top:50%;right:280px;transform:translateY(-50%);z-index:100;width:1.75rem;height:3.5rem;background:#fff;border-left:1px solid var(--color-slate-200);border-top:1px solid var(--color-slate-200);border-bottom:1px solid var(--color-slate-200);color:var(--color-slate-400);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:.5rem 0 0 .5rem;cursor:pointer;transition:all .3s}.sidebar-toggle-btn:hover{color:#00a0e9}.sidebar-toggle-btn.collapsed{right:5px}.sidebar-toggle-btn i{transition:transform .3s}.info-section{padding:12px;border-bottom:1px solid var(--color-border)}.sidebar-title{color:#00a0e9;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:10px}.sidebar-title:after{content:"";flex:1;border-top:2px solid #00a0e9;opacity:.95}.info-row{display:flex;justify-content:space-between;margin-bottom:11px;font-size:13px}.info-label{color:#475569}.info-value{color:#1f2937;font-weight:700}.ai-report-card{background:#f8fafc;border:1px solid #dbe2ea;border-radius:10px;padding:12px;display:flex;flex-direction:column;max-height:160px;overflow:hidden}.ai-report-card.empty{background:#f8fafc}.ai-report-card.has-content{background:#fff}.ai-report-text{flex:1 1 auto;color:#334155;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow-y:auto}.ai-report-empty{color:#6b7280;font-size:13px;line-height:1.4}.minimap{background:#f5f7fb;border:2px solid var(--color-primary);border-radius:12px;padding:10px;margin-top:8px;position:relative;width:100%;height:268px;box-shadow:0 4px 10px #00a0e91f}.minimap-canvas{width:100%;height:100%;background:#eef1f5;border:1px solid #dbe2ea;border-radius:8px;position:relative;box-shadow:inset 0 2px 6px #0f172a14;cursor:pointer;overflow:hidden;display:block}.minimap-canvas.region-mode{cursor:crosshair}.minimap-region-overlay{position:absolute;border:2px dashed #0ea5e9;background:#0ea5e929;pointer-events:none;box-sizing:border-box;z-index:2}.minimap-region-overlay.selecting{border-style:solid}.minimap-viewport{position:absolute;border:2px solid #ff0000;background:#ff00001a;pointer-events:auto;cursor:grab;box-shadow:0 0 8px #f009;box-sizing:border-box;min-width:8px;min-height:8px;z-index:3}.minimap-viewport:hover{background:#f003;box-shadow:0 0 12px #f00c;border-color:#f33}.minimap-viewport:active{cursor:grabbing;box-shadow:0 0 16px red;background:#ff00004d;border-color:#f66}.minimap-viewport.dragging,.minimap-viewport.dragging:hover,.minimap-viewport.dragging:active{cursor:grabbing;border-color:red;box-shadow:0 0 8px #f009;background:#ff00001a}.minimap-label{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:9px;color:#64748b;background:#ffffffe6;padding:2px 8px;border-radius:3px;white-space:nowrap;pointer-events:none}.annotation-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.annotation-empty{text-align:center;color:#6b7280;font-size:14px;line-height:1.25;padding:18px 12px;font-weight:500}.annotation-item{background:var(--color-surface-light);border:2px solid var(--color-border);border-radius:6px;padding:12px;transition:all .2s;cursor:pointer;position:relative}.annotation-item:hover{border-color:var(--color-primary);background:var(--color-border)}.annotation-item-header{display:flex;align-items:center;margin-bottom:4px}.annotation-item-type{font-size:10px;text-transform:uppercase;color:var(--color-primary);font-weight:700;letter-spacing:.5px}.annotation-item-delete{position:absolute;top:8px;right:8px;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:2px;width:18px;height:18px;transition:all .2s;display:flex;align-items:center;justify-content:center}.annotation-item-delete:hover{color:#f44;background:#ff44441a;border-radius:2px}.annotation-item-label{font-size:13px;color:var(--color-text-primary);font-weight:500;word-break:break-word}.annotation-item-time{font-size:10px;color:var(--color-text-muted);margin-top:4px}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,160,233,.3);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-background);z-index:1000}.loading-overlay .loading-spinner{width:48px;height:48px;border:3px solid rgba(0,160,233,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f172a;color:#f1f5f9;z-index:1000}.error-overlay p{margin-bottom:1rem;color:#f87171}.error-overlay button{padding:.5rem 1rem;background:#334155;border:none;border-radius:6px;color:#f1f5f9;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#475569}@media(max-width:1024px){.viewer-container.compact-layout .main-content{overflow:hidden}.viewer-container.compact-layout .info-panel{position:absolute;top:0;right:0;height:100%;width:min(82vw,320px);z-index:120;border-left:1px solid var(--color-primary);box-shadow:-8px 0 24px #0f172a33;transition:width .3s ease}.viewer-container.compact-layout .info-panel.collapsed{width:0;min-width:0;transform:none;overflow:hidden;border-left:none;box-shadow:none}.viewer-container.compact-layout .sidebar-toggle-btn{position:fixed;right:min(82vw,320px);top:50%;transform:translateY(-50%);z-index:500;box-shadow:0 8px 20px #0f172a33}.viewer-container.compact-layout .sidebar-toggle-btn.collapsed{right:.375rem}}@media(max-width:768px){.header{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.header-left,.header-right{overflow:visible;flex-shrink:0;min-width:max-content}.nav-section{flex-wrap:nowrap}.dropdown-label{display:inline;font-size:.5rem;line-height:1}.dropdown-trigger{border-radius:.45rem;min-height:1.7rem}.dropdown-menu{width:min(84vw,14rem);max-height:min(58vh,24rem);overflow-y:auto;left:0;right:auto}.dropdown-menu.annotation-menu,.dropdown-menu.measurement-menu,.dropdown-menu.filters-menu,.dropdown-menu.grid-menu,.dropdown-menu.overlay-menu{width:min(84vw,14rem);left:0;right:auto}.nav-section .dropdown-container:nth-last-child(-n+2) .dropdown-menu{left:auto;right:0}.viewer-container.compact-layout .info-panel{width:min(88vw,300px)}.viewer-container.compact-layout .info-panel.collapsed{width:0;min-width:0;overflow:hidden;border-left:none;box-shadow:none}.viewer-container.compact-layout .sidebar-toggle-btn{right:min(88vw,300px);width:1.5rem;height:3rem;z-index:500}}@media(max-width:480px){.header{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.dropdown-trigger{padding:.26rem .35rem;font-size:.46rem}.dropdown-container{position:static}.dropdown-menu,.dropdown-menu.annotation-menu,.dropdown-menu.measurement-menu,.dropdown-menu.filters-menu,.dropdown-menu.grid-menu,.dropdown-menu.overlay-menu{position:fixed;left:.5rem!important;right:.5rem!important;top:5.4rem;bottom:auto;width:auto!important;max-width:none;height:auto;min-height:0;max-height:min(68dvh,28rem);margin-top:0;padding:.75rem;overflow-y:auto;overflow-x:hidden;z-index:700;transform:none}.dropdown-menu.active{transform:none}.dropdown-label{display:inline;font-size:.46rem;line-height:1}.viewer-container.compact-layout .info-panel{width:92vw}.viewer-container.compact-layout .info-panel.collapsed{width:0;min-width:0;overflow:hidden;border-left:none;box-shadow:none}.viewer-container.compact-layout .sidebar-toggle-btn{right:92vw;width:1.4rem;height:2.7rem;z-index:500}.viewer-container.compact-layout .sidebar-toggle-btn.collapsed{right:.2rem}}:root{--color-primary: #00a0e9;--color-text-primary: #1a1a1a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto}.container{width:100%;max-width:80rem;margin:0 auto;padding:0 1rem}.fade-in{animation:fade-in .8s ease-out forwards}.zoom-animation{animation:zoom-pulse 3s ease-in-out infinite}@keyframes zoom-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
