.landing-page{--lp-bg:#f8fafc;--lp-bg-alt:#f1f5f9;--lp-surface:#fff;--lp-text:#1f2937;--lp-text-dim:#6b7280;--lp-accent:#1e3a8a;--lp-accent-2:#0d9488;--lp-border:#e5e7eb;--lp-radius:12px;--lp-maxw:1140px;background:var(--lp-bg);color:var(--lp-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.landing-page *{box-sizing:border-box}.landing-page a{color:inherit;text-decoration:none}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .15s ease}.btn-lg{font-size:16px;padding:14px 28px}.btn-primary{background:var(--lp-accent);color:#fff}.btn-primary:hover{background:#1e40af;box-shadow:0 4px 20px #1e3a8a33;transform:translateY(-1px)}.btn-ghost{background:#0000;border:1px solid var(--lp-border);color:var(--lp-text)}.btn-ghost:hover{background:#ffffff0f;border-color:#fff3}.landing-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid var(--lp-border);left:0;position:fixed;right:0;top:0;z-index:1000}.landing-nav-inner{align-items:center;display:flex;height:60px;justify-content:space-between;margin:0 auto;max-width:var(--lp-maxw);padding:0 24px}.landing-logo{align-items:center;display:flex;font-size:20px;font-weight:700;gap:8px;letter-spacing:-.5px}.landing-logo-icon{border-radius:6px;flex-shrink:0;height:32px;width:32px}.landing-nav-links{align-items:center;display:flex;gap:28px}.landing-nav-links a{color:var(--lp-text-dim);font-size:15px;transition:color .15s}.landing-nav-links a:hover{color:var(--lp-text)}.landing-nav-cta{background:var(--lp-accent);border:none;border-radius:8px;color:#fff!important;cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:background .15s}.landing-nav-cta:hover{background:#1e40af}.landing-nav-burger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.landing-nav-burger span{background:var(--lp-text);border-radius:2px;height:2px;transition:all .2s;width:24px}.landing-hero{overflow:hidden;padding:140px 24px 80px;position:relative;text-align:center}.landing-hero-bg{background:radial-gradient(ellipse 80% 60% at 50% 0,#1e3a8a0f 0,#0000 60%),radial-gradient(ellipse 60% 50% at 70% 30%,#0d94880a 0,#0000 50%);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.landing-hero-inner{margin:0 auto;max-width:720px;position:relative}.landing-hero-badge{align-items:center;background:#1e3a8a0f;border:1px solid #1e3a8a26;border-radius:999px;color:var(--lp-accent);display:inline-flex;font-size:14px;gap:8px;margin-bottom:28px;padding:6px 14px}.landing-hero-badge-dot{background:var(--lp-accent);border-radius:50%;box-shadow:0 0 8px #1e3a8a4d;height:8px;width:8px}.landing-hero-title{font-size:clamp(36px,6vw,64px);font-weight:800;letter-spacing:-2px;line-height:1.1;margin:0 0 24px}.landing-hero-title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#0d9488);-webkit-background-clip:text;background-clip:text}.landing-hero-subtitle{color:var(--lp-text-dim);font-size:clamp(16px,2vw,20px);margin:0 auto 40px;max-width:560px}.landing-hero-cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.landing-hero-hint{color:var(--lp-text-dim);font-size:13px;margin-top:20px;opacity:.7}.landing-stats{grid-gap:24px;border-bottom:1px solid var(--lp-border);border-top:1px solid var(--lp-border);display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:var(--lp-maxw);padding:40px 24px}.landing-stat{text-align:center}.landing-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#0d9488);-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,4vw,40px);font-weight:800}.landing-stat-label{color:var(--lp-text-dim);font-size:14px;margin-top:4px}.landing-section{padding:80px 24px}.landing-section-alt{background:var(--lp-bg-alt)}.landing-section-inner{margin:0 auto;max-width:var(--lp-maxw)}.landing-section-label{color:var(--lp-accent);font-size:13px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.landing-section-title{font-size:clamp(28px,4vw,42px);font-weight:700;letter-spacing:-1px;line-height:1.15;margin:0 0 48px}.landing-features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.feature-card{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-radius);padding:28px;transition:transform .2s,border-color .2s,box-shadow .2s}.feature-card:hover{border-color:#1e3a8a33;box-shadow:0 8px 24px #0000000f;transform:translateY(-4px)}.feature-card-icon{font-size:36px;margin-bottom:16px}.feature-card-title{font-size:20px;font-weight:700;margin:0 0 10px}.feature-card-desc{color:var(--lp-text-dim);font-size:15px;line-height:1.6;margin:0}.landing-pipeline{align-items:stretch;display:flex;flex-wrap:wrap;gap:0;justify-content:center}.pipeline-step{flex:1 1;max-width:200px;min-width:160px;padding:24px 16px;text-align:center}.pipeline-step-icon{font-size:32px;margin-bottom:12px}.pipeline-step-num{color:var(--lp-accent);font-size:14px;font-weight:700;margin-bottom:8px}.pipeline-step-title{font-size:17px;font-weight:700;margin:0 0 8px}.pipeline-step-desc{color:var(--lp-text-dim);font-size:14px;line-height:1.5;margin:0}.pipeline-connector{align-items:center;color:var(--lp-accent);display:flex;font-size:24px;opacity:.5;padding:0 4px}.landing-cta-banner{background:radial-gradient(ellipse 60% 80% at 50% 50%,#1e3a8a0f 0,#0000 70%);padding:80px 24px;text-align:center}.landing-cta-banner h2{font-size:clamp(28px,4vw,40px);font-weight:800;margin:0 0 12px}.landing-cta-banner p{color:var(--lp-text-dim);font-size:17px;margin:0 0 32px}.landing-cta-logged-in{align-items:center;display:flex;gap:20px;justify-content:center}.landing-faq-inner{max-width:760px}.landing-footer{background:var(--lp-bg-alt);border-top:1px solid var(--lp-border);padding:40px 24px}.landing-footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:var(--lp-maxw)}.landing-footer-brand{align-items:center;display:flex;font-size:15px;font-weight:600;gap:8px}.landing-footer-links{display:flex;gap:24px}.landing-footer-links a{color:var(--lp-text-dim);font-size:14px;transition:color .15s}.landing-footer-links a:hover{color:var(--lp-text)}.landing-footer-copy{color:var(--lp-text-dim);font-size:13px;opacity:.6}.user-menu{display:inline-flex;position:relative}.user-menu-trigger{align-items:center;background:#ffffff0f;border:1px solid var(--lp-border);border-radius:8px;color:var(--lp-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;gap:8px;padding:6px 12px;transition:background .15s}.user-menu-trigger:hover{background:#ffffff1a}.user-menu-trigger.compact{gap:6px;padding:4px}.user-menu-avatar,.user-menu-avatar-fallback{border-radius:50%;flex-shrink:0;height:26px;width:26px}.user-menu-avatar-fallback{align-items:center;background:var(--lp-accent);color:#fff;display:inline-flex;font-size:13px;font-weight:700;justify-content:center}.user-menu-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{color:var(--lp-text-dim);font-size:9px;margin-left:2px}.user-menu-dropdown{animation:menuSlide .15s ease-out;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:10px;box-shadow:0 8px 30px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:1100}@keyframes menuSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{border-bottom:1px solid var(--lp-border);padding:14px 16px}.user-menu-header-name{color:var(--lp-text);font-size:15px;font-weight:700}.user-menu-header-email{color:var(--lp-text-dim);font-size:13px;margin-top:2px}.user-menu-item{align-items:center;background:#0000;border:none;color:var(--lp-text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:background .15s;width:100%}.user-menu-item:hover{background:#ffffff0f}.user-menu-signout{color:#fca5a5}.user-menu-signout:hover{background:#ef44441a}.user-menu-divider{background:var(--lp-border);height:1px}.faq-accordion{display:flex;flex-direction:column;gap:12px}.faq-item{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-radius);overflow:hidden;transition:border-color .2s,box-shadow .2s}.faq-item.open{border-color:#1e3a8a33;box-shadow:0 4px 12px #0000000a}.faq-question{align-items:center;background:#0000;border:none;color:var(--lp-text);cursor:pointer;display:flex;font-family:inherit;font-size:17px;font-weight:600;justify-content:space-between;padding:20px 24px;text-align:left;width:100%}.faq-chevron{color:var(--lp-text-dim);flex-shrink:0;font-size:24px;font-weight:300;margin-left:16px}.faq-answer-wrap{padding:0 24px}.faq-answer{color:var(--lp-text-dim);font-size:15px;line-height:1.7;margin:0 0 20px}@media (max-width:768px){.landing-nav-links{background:var(--lp-bg);border-bottom:1px solid var(--lp-border);display:none;flex-direction:column;gap:16px;left:0;padding:24px;position:absolute;right:0;top:60px}.landing-nav-burger,.landing-nav-links.open{display:flex}.landing-stats{gap:20px;grid-template-columns:repeat(2,1fr)}.landing-features-grid{grid-template-columns:1fr}.landing-pipeline{align-items:center;flex-direction:column}.pipeline-connector{padding:8px 0;transform:rotate(90deg)}.landing-footer-inner{flex-direction:column;text-align:center}}.login-page{--lp-bg:#f8fafc;--lp-surface:#fff;--lp-text:#1f2937;--lp-text-dim:#6b7280;--lp-accent:#1e3a8a;--lp-border:#e5e7eb;background:var(--lp-bg);color:var(--lp-text);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;min-height:100vh}.login-page *{box-sizing:border-box}.login-page a{color:inherit;text-decoration:none}.login-loading{align-items:center;color:var(--lp-text-dim);display:flex;font-size:18px;height:100vh;justify-content:center;width:100%}.login-left{background:var(--lp-surface);display:flex;flex:0 0 460px;flex-direction:column;padding:40px;position:relative;z-index:2}.login-logo{align-items:center;display:flex;font-size:20px;font-weight:700;gap:8px;letter-spacing:-.5px;margin-bottom:60px}.login-logo-icon{border-radius:6px;flex-shrink:0;height:32px;width:32px}.login-form-wrap{flex:1 1;margin:0 auto;max-width:360px;width:100%}.login-title{font-size:32px;font-weight:800;letter-spacing:-1px;margin:0 0 8px}.login-subtitle{color:var(--lp-text-dim);font-size:16px;margin:0 0 32px}.login-toggle{color:var(--lp-accent);cursor:pointer;font-weight:600}.login-error{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;font-size:14px;margin-bottom:20px;padding:12px 16px}.login-google-btn{align-items:center;background:#fff;border:none;border-radius:10px;color:#1f2937;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:12px 20px;transition:background .15s,transform .15s;width:100%}.login-google-btn:hover{background:#f3f4f6;box-shadow:0 4px 16px #ffffff26;transform:translateY(-1px)}.login-divider{margin:24px 0;position:relative;text-align:center}.login-divider:before{background:var(--lp-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.login-divider span{background:var(--lp-surface);color:var(--lp-text-dim);font-size:13px;padding:0 16px;position:relative}.login-otp-form{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.login-input{background:var(--lp-bg);border:1px solid var(--lp-border);border-radius:10px;color:var(--lp-text);font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .15s,box-shadow .15s;width:100%}.login-input:focus{border-color:var(--lp-accent);box-shadow:0 0 0 3px #1e3a8a1a;outline:none}.login-input:disabled{cursor:not-allowed;opacity:.5}.login-otp-input{font-size:22px;font-weight:700;letter-spacing:8px;padding:14px 16px;text-align:center}.login-otp-btn{background:var(--lp-accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;padding:12px 24px;transition:background .15s,transform .15s;width:100%}.login-otp-btn:hover:not(:disabled){background:#1e40af;box-shadow:0 4px 20px #1e3a8a33;transform:translateY(-1px)}.login-otp-btn:disabled{cursor:not-allowed;opacity:.4}.login-otp-email-display{color:var(--lp-text-dim);font-size:14px;padding:8px 0;text-align:center}.login-otp-email-display strong{color:var(--lp-text)}.login-otp-change{background:none;border:none;color:var(--lp-accent);cursor:pointer;font-family:inherit;font-size:13px;margin-left:8px;text-decoration:underline}.login-otp-info{background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#059669}.login-otp-error,.login-otp-info{font-size:13px;line-height:1.5;margin-bottom:16px;padding:10px 14px}.login-otp-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#dc2626}.login-agree{align-items:flex-start;color:var(--lp-text-dim);cursor:pointer;display:flex;font-size:13px;gap:10px;margin-bottom:24px}.login-agree input{accent-color:var(--lp-accent);margin-top:3px}.login-agree a{color:var(--lp-accent)}.login-continue-btn{background:var(--lp-accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;padding:13px 24px;transition:background .15s,transform .15s;width:100%}.login-continue-btn:hover:not(:disabled){background:#1e40af;box-shadow:0 4px 20px #1e3a8a33;transform:translateY(-1px)}.login-continue-btn:disabled{cursor:not-allowed;opacity:.4}.login-back{margin-top:32px;text-align:center}.login-back a{color:var(--lp-text-dim);font-size:14px;transition:color .15s}.login-back a:hover{color:var(--lp-text)}.login-right{background:#f1f5f9;flex:1 1;overflow:hidden;position:relative}.login-right-bg{background:radial-gradient(ellipse 70% 50% at 30% 40%,#1e3a8a0f 0,#0000 60%),radial-gradient(ellipse 50% 40% at 70% 60%,#0d94880a 0,#0000 50%),linear-gradient(135deg,#f8fafc,#f1f5f9);inset:0;position:absolute}.login-right-overlay{background:repeating-linear-gradient(0deg,#0000,#0000 49px,#3b82f60a 0,#3b82f60a 50px),repeating-linear-gradient(90deg,#0000,#0000 49px,#3b82f60a 0,#3b82f60a 50px);inset:0;position:absolute}.login-mock-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid var(--lp-border);border-radius:10px;left:24px;padding:12px;position:absolute;top:24px;width:180px;z-index:3}.mock-sidebar-header{border-bottom:1px solid var(--lp-border);display:flex;gap:6px;margin-bottom:10px;padding-bottom:10px}.mock-dot{background:#ffffff26;border-radius:50%;height:10px;width:10px}.mock-dot:first-child{background:#ef4444}.mock-dot:nth-child(2){background:#f59e0b}.mock-dot:nth-child(3){background:#10b981}.mock-sidebar-items{display:flex;flex-direction:column;gap:4px}.mock-sidebar-item{align-items:center;border-radius:6px;color:var(--lp-text-dim);display:flex;font-size:13px;gap:8px;padding:8px 10px}.mock-sidebar-item.active{background:#3b82f61f;color:var(--lp-text)}.mock-icon{font-size:14px}.login-preview-tiles{bottom:80px;display:flex;flex-direction:column;gap:12px;position:absolute;right:40px;z-index:3}.preview-tile{align-items:center;animation:floatIn .6s ease-out backwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid var(--lp-border);border-radius:10px;display:flex;gap:12px;padding:14px 18px}.preview-tile:first-child{animation-delay:.1s}.preview-tile:nth-child(2){animation-delay:.25s}.preview-tile:nth-child(3){animation-delay:.4s}.preview-tile:nth-child(4){animation-delay:.55s}@keyframes floatIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.preview-tile-dot{border-radius:50%;box-shadow:0 0 8px currentColor;flex-shrink:0;height:10px;width:10px}.preview-tile-label{color:var(--lp-text);font-size:14px;font-weight:700}.preview-tile-sub{color:var(--lp-text-dim);font-size:12px}.login-right-bottom-fade{background:linear-gradient(0deg,#f1f5f9,#0000);bottom:0;height:120px;left:0;position:absolute;right:0;z-index:2}@media (max-width:860px){.login-page{flex-direction:column}.login-left{flex:1 1;padding:32px 24px}.login-logo{margin-bottom:32px}.login-right{display:none}}.workshop{--ws-sidebar-bg:#fff;--ws-sidebar-w:240px;--ws-sidebar-w-collapsed:64px;--ws-topbar-h:56px;--ws-content-bg:#f8fafc;--ws-surface:#fff;--ws-surface-hover:#f3f4f6;--ws-text:#1f2937;--ws-text-dim:#6b7280;--ws-accent:#1e3a8a;--ws-border:#e5e7eb;--ws-radius:10px;background:var(--ws-content-bg);color:var(--ws-text);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;height:100vh;overflow:hidden}.workshop *{box-sizing:border-box}.workshop-sidebar{background:var(--ws-sidebar-bg);border-right:1px solid var(--ws-border);display:flex;flex:0 0 var(--ws-sidebar-w);flex-direction:column;overflow:hidden;transition:flex-basis .2s ease,width .2s ease;width:var(--ws-sidebar-w);z-index:100}.sidebar-collapsed .workshop-sidebar{flex-basis:var(--ws-sidebar-w-collapsed);width:var(--ws-sidebar-w-collapsed)}.sidebar-resizing .workshop-main,.sidebar-resizing .workshop-sidebar{transition:none!important}.workshop-sidebar-handle{background:#0000;cursor:col-resize;flex:0 0 6px;position:relative;transition:background .15s;width:6px;z-index:101}.workshop-sidebar-handle:after{background:#0000;border-radius:1px;bottom:0;content:"";left:2px;position:absolute;top:0;transition:background .15s;width:2px}.sidebar-resizing .workshop-sidebar-handle:after,.workshop-sidebar-handle:hover:after{background:var(--ws-accent)}.sidebar-resizing .workshop-sidebar-handle,.workshop-sidebar-handle:hover{background:#2237ff0f}.workshop-sidebar-header{align-items:center;border-bottom:1px solid var(--ws-border);display:flex;flex-shrink:0;height:var(--ws-topbar-h);justify-content:space-between;padding:0 16px}.workshop-logo{align-items:center;color:var(--ws-text);display:flex;font-size:18px;font-weight:700;gap:8px;overflow:hidden;text-decoration:none;white-space:nowrap}.workshop-logo-icon{border-radius:6px;flex-shrink:0;height:28px;width:28px}.workshop-sidebar-toggle{background:none;border:none;border-radius:6px;color:var(--ws-text-dim);cursor:pointer;flex-shrink:0;font-size:18px;padding:4px 8px;transition:background .15s,color .15s}.workshop-sidebar-toggle:hover{background:#0000000a;color:var(--ws-text)}.workshop-nav{flex:1 1;gap:20px;overflow-y:auto;padding:12px 8px}.workshop-nav,.workshop-nav-group{display:flex;flex-direction:column}.workshop-nav-group{gap:2px}.workshop-nav-group-label{color:var(--ws-text-dim);font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:4px;padding:0 12px;text-transform:uppercase}.workshop-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--ws-text-dim);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:10px;overflow:hidden;padding:9px 12px;text-align:left;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;width:100%}.workshop-nav-item:hover{background:#00000008;color:var(--ws-text)}.workshop-nav-item.active{background:#3b82f61f;color:#93c5fd}.workshop-nav-item.active:before{background:var(--ws-accent);border-radius:0 3px 3px 0;content:"";height:24px;left:0;position:absolute;width:3px}.workshop-nav-item{position:relative}.workshop-nav-icon{flex-shrink:0;font-size:18px;text-align:center;width:24px}.workshop-nav-label{overflow:hidden;text-overflow:ellipsis}.workshop-sidebar-footer{border-top:1px solid var(--ws-border);flex-shrink:0;padding:8px}.workshop-signout{color:#fca5a5}.workshop-signout:hover{background:#ef44441a;color:#f87171}.workshop-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.workshop-topbar{align-items:center;background:var(--ws-sidebar-bg);border-bottom:1px solid var(--ws-border);display:flex;flex:0 0 var(--ws-topbar-h);height:var(--ws-topbar-h);justify-content:space-between;padding:0 24px;z-index:50}.workshop-topbar-left{align-items:center;display:flex;gap:12px}.workshop-mobile-toggle{background:none;border:none;border-radius:6px;color:var(--ws-text-dim);cursor:pointer;display:none;font-size:20px;padding:4px 8px}.workshop-mobile-toggle:hover{background:#0000000a;color:var(--ws-text)}.workshop-breadcrumb{color:var(--ws-text);font-size:15px;font-weight:600}.workshop-breadcrumb-home{color:var(--ws-text-dim)}.workshop-topbar-right{align-items:center;display:flex;gap:16px}.workshop-quick-action{background:var(--ws-accent);border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px;text-decoration:none;transition:background .15s;white-space:nowrap}.workshop-quick-action:hover{background:#1e40af}.workshop-topbar-link{border-radius:8px;color:var(--ws-text-dim);font-size:14px;font-weight:500;padding:8px 12px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.workshop-topbar-link:hover{background:#00000008;color:var(--ws-text)}.workshop-content{flex:1 1;overflow-y:auto;padding:32px}.ws-page-header{margin-bottom:32px}.ws-page-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 4px}.ws-page-subtitle{color:var(--ws-text-dim);font-size:15px;margin:0}.ws-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:32px}.ws-stat-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius);padding:20px 24px;transition:border-color .2s}.ws-stat-card:hover{border-color:#3b82f64d}.ws-stat-icon{font-size:24px;margin-bottom:12px}.ws-stat-value{font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1}.ws-stat-label{color:var(--ws-text-dim);font-size:13px;margin-top:8px}.ws-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius);overflow:hidden}.ws-card-header{align-items:center;border-bottom:1px solid var(--ws-border);display:flex;justify-content:space-between;padding:16px 20px}.ws-card-title{font-size:16px;font-weight:700;margin:0}.ws-card-body{padding:20px}.ws-table{border-collapse:collapse;font-size:14px;width:100%}.ws-table th{color:var(--ws-text-dim);font-size:12px;font-weight:700;letter-spacing:1px;padding:12px 16px;text-align:left;text-transform:uppercase}.ws-table td,.ws-table th{border-bottom:1px solid var(--ws-border)}.ws-table td{padding:14px 16px}.ws-table tr:last-child td{border-bottom:none}.ws-table tr:hover td{background:#ffffff05}.ws-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:3px 10px}.ws-badge-success{background:#10b9811f;color:#34d399}.ws-badge-pending{background:#f59e0b1f;color:#fbbf24}.ws-badge-neutral{background:#0000000a;color:var(--ws-text-dim)}.ws-empty{color:var(--ws-text-dim);padding:60px 24px;text-align:center}.ws-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.ws-empty-title{color:var(--ws-text);font-size:18px;font-weight:600;margin:0 0 8px}.ws-empty-desc{font-size:14px;margin:0 0 24px}.ws-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:8px 16px;text-decoration:none;transition:all .15s ease}.ws-btn-primary{background:var(--ws-accent);color:#fff}.ws-btn-primary:hover{background:#1e40af}.ws-btn-ghost{background:#0000;border:1px solid var(--ws-border);color:var(--ws-text)}.ws-btn-ghost:hover{background:#00000008}.ws-btn-danger{background:#0000;border:1px solid #ef44444d;color:#fca5a5}.ws-btn-danger:hover{background:#ef44441a}.ws-profile-section{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px}.ws-profile-avatar{object-fit:cover}.ws-profile-avatar,.ws-profile-avatar-fallback{border-radius:50%;flex-shrink:0;height:96px;width:96px}.ws-profile-avatar-fallback{align-items:center;background:var(--ws-accent);color:#fff;display:flex;font-size:36px;font-weight:700;justify-content:center}.ws-field-list{display:flex;flex:1 1;flex-direction:column;gap:20px;min-width:300px}.ws-field{display:flex;flex-direction:column;gap:4px}.ws-field-label{color:var(--ws-text-dim);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ws-field-value{background:#ffffff08;border:1px solid var(--ws-border);border-radius:8px;color:var(--ws-text);font-size:16px;padding:10px 14px}.ws-loading{align-items:center;color:var(--ws-text-dim);display:flex;font-size:16px;height:200px;justify-content:center}.ws-error{background:#ef444414;border:1px solid #ef444433;border-radius:var(--ws-radius);color:#fca5a5;font-size:14px;margin-bottom:20px;padding:16px 20px}@media (max-width:1024px){.ws-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.workshop-sidebar{bottom:0;box-shadow:4px 0 20px #0000004d;left:0;position:fixed;top:0;transition:transform .2s ease;z-index:200}.sidebar-collapsed .workshop-sidebar,.workshop-sidebar{transform:translateX(-100%)}.workshop.sidebar-mobile-open .workshop-sidebar{transform:translateX(0)}.workshop-mobile-toggle{display:flex}.workshop-sidebar-handle{display:none}.workshop-content{padding:20px 16px}.ws-stats-grid{grid-template-columns:1fr}.ws-table{font-size:13px}.ws-table td,.ws-table th{padding:10px 12px}.workshop-quick-action{display:none}}.tools-layout{background:var(--ws-content-bg);color:var(--ws-text);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;height:100vh;overflow:hidden}.tools-topbar{align-items:center;background:var(--ws-sidebar-bg);border-bottom:1px solid var(--ws-border);display:flex;flex:0 0 48px;height:48px;justify-content:space-between;padding:0 16px;z-index:50}.tools-topbar-left{align-items:center;display:flex;gap:12px}.tools-back-btn{align-items:center;background:#0000000a;border:1px solid var(--ws-border);border-radius:8px;color:var(--ws-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:background .15s;white-space:nowrap}.tools-back-btn:hover{background:#ffffff1a}.tools-logo-icon{border-radius:5px;height:26px;width:26px}.tools-tabs{align-items:center;display:flex;gap:4px}.tools-tab{align-items:center;border-radius:8px;color:var(--ws-text-dim);display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 14px;text-decoration:none;transition:background .15s,color .15s}.tools-tab:hover{background:#00000008;color:var(--ws-text)}.tools-tab.active{background:#2237ff14;color:#1e3a8a}.tools-tab-icon{font-size:16px}.tools-topbar-right{align-items:center;display:flex;gap:12px}.tools-content{flex:1 1;overflow:hidden;position:relative}@media (max-width:768px){.tools-tab-label{display:none}.tools-tab{padding:6px 10px}.tools-back-btn{font-size:12px;padding:4px 8px}.tools-logo-icon{display:none}}.map-viewer{--mv-bg:#fff;--mv-surface:#fff;--mv-surface-2:#f9fafb;--mv-surface-hover:#f3f4f6;--mv-text:#1f2937;--mv-text-dim:#6b7280;--mv-text-bright:#111827;--mv-accent:#1e3a8a;--mv-accent-hover:#1e40af;--mv-border:#e5e7eb;--mv-border-strong:#d1d5db;--mv-radius:10px;--mv-font:system-ui,-apple-system,sans-serif;background:var(--mv-bg);color:var(--mv-text);font-family:var(--mv-font);height:100%;overflow:hidden;position:relative;width:100%}.map-explorer{background:var(--mv-surface);bottom:0;box-shadow:2px 0 8px #0000000f;left:0;overflow:hidden;position:absolute;top:0;transition:width .2s ease;width:360px;z-index:10}.map-explorer,.map-explorer-icons{border-right:1px solid var(--mv-border);display:flex}.map-explorer-icons{background:var(--mv-surface-2);flex:0 0 48px;flex-direction:column;gap:4px;padding:8px 4px}.map-explorer-icon{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;position:relative;transition:background .15s;width:40px}.map-explorer-icon:hover{background:var(--mv-surface-hover)}.map-explorer-icon.active{background:#1e3a8a1a}.map-explorer-icon-glyph{line-height:1}.map-explorer-icon-badge{align-items:center;background:var(--mv-accent);border-radius:999px;color:#fff;display:flex;font-size:9px;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:2px;top:2px}.map-explorer-panel{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.map-explorer-panel-header{align-items:center;border-bottom:1px solid var(--mv-border);display:flex;flex:0 0 40px;padding:0 14px}.map-explorer-panel-title{color:var(--mv-text-bright);font-size:14px;font-weight:700}.map-explorer-panel-body{-webkit-overflow-scrolling:touch;flex:1 1;font-size:13px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:10px;word-break:break-word}.map-explorer-content{display:flex;flex-direction:column;font-size:13px;gap:10px}.map-explorer-section{display:flex;flex-direction:column;gap:4px}.map-explorer-section p{color:var(--mv-text-dim);font-size:12px;margin:2px 0}.map-explorer-section-header{align-items:center;display:flex;font-size:13px;justify-content:space-between}.mv-sidebar-handle{cursor:col-resize;overflow:visible;width:6px;z-index:15}.mv-sidebar-handle,.mv-sidebar-handle:after{background:#0000;bottom:0;position:absolute;top:0;transition:background .15s}.mv-sidebar-handle:after{border-radius:1px;content:"";left:2px;width:2px}.mv-sidebar-handle.active:after,.mv-sidebar-handle:hover:after{background:var(--mv-accent)}.mv-sidebar-handle.active,.mv-sidebar-handle:hover{background:#1e3a8a0f}.mv-sidebar-handle:before{background:#94a3b8;border-radius:50%;box-shadow:-4px -8px 0 #94a3b8,0 -8px 0 #94a3b8,4px -8px 0 #94a3b8,-4px 0 0 #94a3b8,0 0 0 #94a3b8,4px 0 0 #94a3b8,-4px 8px 0 #94a3b8,0 8px 0 #94a3b8,4px 8px 0 #94a3b8;content:"";height:3px;left:50%;opacity:.5;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .15s,background .15s;width:3px}.mv-sidebar-handle.active:before,.mv-sidebar-handle:hover:before{background:var(--mv-accent);box-shadow:-4px -8px 0 var(--mv-accent),0 -8px 0 var(--mv-accent),4px -8px 0 var(--mv-accent),-4px 0 0 var(--mv-accent),0 0 0 var(--mv-accent),4px 0 0 var(--mv-accent),-4px 8px 0 var(--mv-accent),0 8px 0 var(--mv-accent),4px 8px 0 var(--mv-accent);opacity:1}.loc-intel-sidebar{background:var(--mv-surface);border-left:1px solid var(--mv-border);bottom:0;box-shadow:-2px 0 8px #0000000f;display:flex;flex-direction:column;position:absolute;right:0;top:0;width:380px;z-index:10}.loc-intel-sidebar-body{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:14px 16px;word-break:break-word}.loc-intel-results{display:contents}.loc-intel-sidebar-header{align-items:center;background:var(--mv-surface-2);border-bottom:1px solid var(--mv-border);display:flex;flex:0 0 44px;padding:0 16px}.loc-intel-sidebar-title{color:var(--mv-text-bright);font-size:14px;font-weight:700}.loc-analytics-controls{align-items:center;gap:6px}.loc-btn{background:var(--mv-surface);border-radius:6px;padding:6px 12px;transition:background .15s}.loc-btn--sub{padding:6px 10px}.loc-btn--clear-point,.loc-btn--reset{font-size:12px;padding:4px 8px}.loc-btn--save{background:var(--mv-accent);border:none;border-radius:6px;color:#fff;font-size:13px;padding:8px}.loc-btn--clear{font-size:12px;padding:6px;width:100%}.loc-input-group{gap:2px}.loc-input-group label{color:var(--mv-text-dim);font-size:11px}.loc-input-group input[type=range]{cursor:pointer;width:120px}.loc-hint{color:var(--mv-text-dim);line-height:1.4}.loc-loading--summary{align-items:stretch;background:#a855f70f;border:1px solid #a855f733;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px}.loc-progress{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.loc-progress-stage{color:var(--mv-text);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-progress-bar{background:#1e3a8a1a;border-radius:3px;height:6px;overflow:hidden}.loc-progress-fill{background:var(--mv-accent);border-radius:3px;height:100%;transition:width .4s ease}.loc-progress-fill--ai{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.loc-progress-pct{color:var(--mv-text-dim);font-size:10px;font-weight:700;text-align:right}.loc-spinner{border:2px solid #1e3a8a33;border-top:2px solid var(--mv-accent);height:14px;width:14px}.loc-spinner--sm{height:10px;width:10px}.loc-error{background:#ef444414;border:1px solid #ef444433;font-size:13px;padding:8px 10px}.loc-error,.loc-error-sm{color:#dc2626}.loc-result-subtitle{color:var(--mv-text-dim)}.loc-scores{display:flex;flex-direction:column;gap:6px}.loc-score-label{flex-shrink:0;width:90px}.loc-score-track{background:var(--mv-surface-2);height:18px}.loc-score-fill{border-radius:4px;transition:width .3s ease}.loc-score-val{top:50%;transform:translateY(-50%)}.loc-charts{gap:8px;justify-content:center}.loc-chart-item{flex:1 1 auto;min-width:0}.loc-chart-item img{width:100%}.loc-result-saved{background:#10b98114;color:#16a34a;padding:6px 10px}.loc-compare-list{gap:6px}.loc-compare-card{border-radius:6px;padding:8px 10px}.loc-compare-header{gap:6px;margin-bottom:4px}.loc-compare-badge{border-radius:4px;display:flex;font-size:10px;height:18px;width:18px}.loc-compare-remove{font-size:14px;margin-left:auto}.loc-compare-scores{display:flex;flex-direction:column;gap:2px}.loc-compare-composite-val{font-size:16px}.loc-compare-winner{background:#f59e0b14;border-radius:6px;color:#f59e0b;font-size:12px;font-weight:600;padding:6px 10px}.loc-whitespace{background:var(--mv-surface-2);border-radius:6px;padding:8px 10px}.loc-btn--full-result{background:var(--mv-accent);border:1px solid var(--mv-accent);border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 14px;text-align:center;transition:background .15s;width:100%}.loc-btn--full-result:hover{background:var(--mv-accent-hover)}.loc-btn--disabled{cursor:not-allowed!important;opacity:.5}.loc-btn--disabled:hover{background:var(--mv-accent)!important}.loc-btn--chat{background:var(--mv-surface-2);border:1px solid var(--mv-border-strong);border-radius:8px;color:var(--mv-text-bright);cursor:pointer;font-size:14px;font-weight:700;padding:12px 14px;text-align:center;transition:background .15s,border-color .15s;width:100%}.loc-btn--chat:hover{background:var(--mv-surface-hover);border-color:var(--mv-accent)}.loc-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.loc-modal{background:#fff;background:var(--mv-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--mv-border,#e5e7eb);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:720px;overflow:hidden;width:100%}.loc-modal-header{align-items:center;background:#f9fafb;background:var(--mv-surface-2,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--mv-border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.loc-modal-title{color:#111827;color:var(--mv-text-bright,#111827);font-size:16px;font-weight:700;margin:0}.loc-modal-close{align-items:center;background:#f3f4f6;background:var(--mv-surface-hover,#f3f4f6);border:none;border-radius:6px;color:#1f2937;color:var(--mv-text,#1f2937);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:background .15s;width:32px}.loc-modal-close:hover{background:#d1d5db;background:var(--mv-border-strong,#d1d5db)}.loc-modal-body{background:#fff;background:var(--mv-surface,#fff);color:#1f2937;color:var(--mv-text,#1f2937);display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px 24px}.loc-modal--chat{max-height:90vh;max-width:800px}.loc-modal-body--chat{gap:0;overflow:hidden;padding:0}.loc-modal-body--chat .chat-panel{height:100%;min-height:0}.loc-modal-body--chat .chat-panel__messages{flex:1 1 auto;max-height:none;min-height:0}.loc-modal--info{max-height:80vh;max-width:560px}.loc-info-section{margin-bottom:20px}.loc-info-section h4{color:#1f2937;color:var(--mv-text,#1f2937);font-size:15px;font-weight:700;margin:0 0 10px}.loc-info-section ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.loc-info-section li{color:#4b5563;font-size:14px;line-height:1.6;padding-left:20px;position:relative}.loc-info-section li:before{color:#6b7280;content:"•";left:6px;position:absolute;top:0}.loc-info-section li strong{color:#1f2937;font-weight:600}.loc-info-section:last-child{margin-bottom:0}.loc-modal-section{display:flex;flex-direction:column;gap:10px}.loc-modal-section>h4{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--mv-border,#e5e7eb);color:#111827;color:var(--mv-text-bright,#111827);font-size:14px;font-weight:700;margin:0;padding-bottom:6px}.loc-modal-scores{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.loc-modal-score-item{align-items:center;background:#f9fafb;background:var(--mv-surface-2,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--mv-border,#e5e7eb);border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.loc-modal-score-label{color:#6b7280;color:var(--mv-text-dim,#6b7280);font-size:12px;font-weight:600}.loc-modal-score-val{font-size:20px;font-weight:800}.loc-modal-charts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.loc-modal-chart-item img{border:1px solid #e5e7eb;border:1px solid var(--mv-border,#e5e7eb);border-radius:8px;height:auto;width:100%}.loc-modal-osm{color:#1f2937;color:var(--mv-text,#1f2937);display:flex;flex-direction:column;font-size:13px;gap:6px}.loc-modal-table{border-collapse:collapse;font-size:12px;width:100%}.loc-modal-table th{background:#f9fafb;background:var(--mv-surface-2,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--mv-border,#e5e7eb);color:#111827;color:var(--mv-text-bright,#111827);font-weight:700;padding:8px 10px;text-align:left}.loc-modal-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--mv-border,#e5e7eb);padding:6px 10px}.loc-modal-narrative,.loc-modal-table td{color:#1f2937;color:var(--mv-text,#1f2937)}.loc-modal-narrative{font-size:13px;line-height:1.7}.loc-modal-narrative h1,.loc-modal-narrative h2,.loc-modal-narrative h3{color:#111827;color:var(--mv-text-bright,#111827);font-size:15px;font-weight:700;margin:12px 0 6px}.loc-modal-narrative p{margin:6px 0}.loc-modal-narrative ol,.loc-modal-narrative ul{margin:6px 0;padding-left:20px}.loc-modal-narrative strong{color:#111827;color:var(--mv-text-bright,#111827)}.loc-modal-narrative table{border-collapse:collapse;margin:8px 0;width:100%}.loc-modal-narrative td,.loc-modal-narrative th{border:1px solid var(--mv-border);font-size:12px;padding:4px 8px}.loc-ai-chat{border-top:1px solid var(--mv-border);padding-top:12px}.pa-tool-btn.active,.pa-tool-btn:hover{background:#1e3a8a;border-color:#1e3a8a;box-shadow:0 6px 20px #2237ff4d}.pa-search-box{background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 12px #0000001f;z-index:21}.pa-search-box input{color:#1f2937}.pa-search-box input::placeholder{color:#9ca3af}.pa-search-box button{color:#6b7280}.pa-search-box button:hover:not(:disabled){background:#f3f4f6}.pa-search-error{background:#fef2f2;border:1px solid #fecaca;box-shadow:0 2px 8px #00000014;color:#dc2626}.pa-ruler-label{background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a;top:120px}.pa-ruler-hint{color:#6b7280}.map-container{background:#f0f0f0;flex:1 1;position:relative}.map-container.loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center}.controls{background:var(--mv-surface);border:1px solid var(--mv-border);border-radius:8px;box-shadow:0 4px 18px #0006;color:var(--mv-text);left:20px;max-height:calc(100vh - 84px);max-width:340px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px;position:absolute;top:20px;width:min(340px,calc(100vw - 40px));z-index:10}.controls h2{color:var(--mv-text-bright);font-size:18px;margin:0 0 15px}.input-group{margin-bottom:8px}.input-group label{color:var(--mv-text-dim);display:block;font-size:12px;font-weight:600;margin-bottom:3px}.input-group input,.input-group select{background:var(--mv-surface-2);border:1px solid var(--mv-border-strong);border-radius:4px;box-sizing:border-box;color:var(--mv-text);font-size:13px;padding:6px 8px;width:100%}.input-group select{margin-bottom:4px}.input-group button{background:var(--mv-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:8px;padding:8px 16px;width:100%}.input-group button:hover{background:var(--mv-accent-hover)}.error{background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;color:#fca5a5;font-size:14px}.error,.warning{margin-top:10px;padding:10px}.warning{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:4px;color:#fbbf24;font-size:13px}.layer-panel{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:6px;font-size:12px;margin:8px 0;padding:6px 8px}.layer-table{border-collapse:collapse;font-size:11px;margin-top:6px;width:100%}.layer-table th{border-bottom:1px solid var(--mv-border);color:var(--mv-text-dim);font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 6px;text-align:left;text-transform:uppercase;white-space:nowrap}.layer-table-th-status{text-align:right;width:60px}.layer-table-th-desc{width:auto}.layer-table-th-layer{white-space:nowrap;width:40%}.layer-table-row{border-bottom:1px solid var(--mv-border)}.layer-table-row:last-child{border-bottom:none}.layer-table-row.off{opacity:.5}.layer-table-row.current{background:#1e3a8a0d}.layer-table td{color:var(--mv-text);padding:4px 6px;vertical-align:middle}.layer-table-td-layer{white-space:nowrap}.layer-table-td-desc{max-width:120px;overflow:hidden;text-overflow:ellipsis}.layer-table-td-desc,.layer-table-td-status{color:var(--mv-text-dim);font-size:10px;white-space:nowrap}.layer-table-td-status{text-align:right}.layer-table-cell{align-items:center;cursor:pointer;display:flex;gap:4px;-webkit-user-select:none;user-select:none}.layer-table-label{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.layer-panel-header strong{color:var(--mv-text);flex:0 0 auto}.layer-panel-header .ok{color:#34d399;font-weight:600}.layer-panel-header .warn{color:#fbbf24;font-weight:600}.layer-panel-actions{display:flex;gap:4px;margin-left:auto}.layer-panel-actions button{background:var(--mv-surface-2);border:1px solid var(--mv-border-strong);border-radius:4px;color:var(--mv-text-dim);cursor:pointer;font-size:11px;padding:2px 8px}.layer-panel-actions button:hover{background:#2237ff14;border-color:var(--mv-accent);color:#6b93ff}.layer-panel ul{list-style:none;margin:4px 0 0;padding:0}.layer-panel li{border-top:1px solid var(--mv-border);padding:4px 0}.layer-panel li:first-child{border-top:none}.layer-panel li label{align-items:center;cursor:pointer;display:flex;flex-wrap:nowrap;gap:6px;-webkit-user-select:none;user-select:none}.layer-panel li.off{opacity:.55}.layer-panel li.current{background:#2237ff14;border-radius:4px;margin:2px -6px;padding:4px 6px}.layer-panel .swatch{border:1px solid #00000026;border-radius:3px;display:inline-block;flex:0 0 auto;height:14px;width:14px}.layer-panel .layer-label{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.layer-panel .layer-label code{color:var(--mv-text);font-size:11px;font-weight:600;max-width:100%}.layer-panel .layer-label code,.layer-panel .layer-label small.muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel .layer-label small.muted,.layer-panel .layer-status{color:var(--mv-text-dim);font-size:10px}.layer-panel .layer-status{align-self:center;flex:0 0 auto;white-space:nowrap}.layer-panel input[type=checkbox]{cursor:pointer;flex:0 0 auto}.layer-row{align-items:center!important;display:flex!important;flex-wrap:nowrap;gap:6px!important;width:100%}.layer-color{background:#fff;border:1px solid #00000026;border-radius:4px;cursor:pointer;flex:0 0 auto;height:20px;padding:0;width:20px}.layer-color:disabled{cursor:not-allowed;opacity:.5}.layer-color-reset{background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#b91c1c;cursor:pointer;flex:0 0 auto;font-size:12px;height:22px;line-height:1;padding:0;width:22px}.layer-color-reset:hover{background:#fee2e2;border-color:#b91c1c}.map-summary-panel{background:var(--mv-surface);border:1px solid var(--mv-border);border-radius:8px;box-shadow:0 4px 18px #0006;box-sizing:border-box;color:var(--mv-text);font-family:var(--mv-font);max-height:calc(100vh - 84px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:14px;position:absolute;right:20px;top:20px;width:min(320px,calc(100vw - 40px));z-index:10}.map-summary-panel__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.map-summary-panel__header h2{color:var(--mv-text-bright);font-size:16px;margin:0}.map-summary-panel__count{font-feature-settings:"tnum";background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:999px;color:var(--mv-text-dim);font-size:11px;font-variant-numeric:tabular-nums;padding:2px 8px}.map-summary-panel__mode{grid-gap:4px;background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:6px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:4px}.map-summary-panel__mode-btn{background:#0000;border:1px solid #0000;border-radius:4px;color:var(--mv-text-dim);cursor:pointer;font-size:12px;font-weight:500;padding:6px 8px;transition:background .15s,color .15s}.map-summary-panel__mode-btn:hover{background:var(--mv-surface-hover);color:var(--mv-text)}.map-summary-panel__mode-btn.is-active{background:#2237ff1f;border-color:#2237ff4d;box-shadow:0 1px 2px #0000000f;color:#6b93ff}.map-summary-panel__advanced{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:6px;display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:8px 10px}.map-summary-panel__advanced .input-group{margin-bottom:0}.map-summary-panel__advanced .input-group label{color:var(--mv-text-dim);font-size:11px;letter-spacing:.4px;margin-bottom:2px;text-transform:uppercase}.map-summary-panel__advanced input[type=range]{background:#0000;border:none;cursor:pointer;padding:0;width:100%}.map-summary-panel__list{list-style:none;margin:0;padding:0}.map-summary-panel__list li{align-items:center;border-top:1px solid var(--mv-border);display:flex;gap:8px;padding:6px 0}.map-summary-panel__list li:first-child{border-top:none}.map-summary-panel__empty{border:none!important;color:var(--mv-text-dim);font-size:12px;font-style:italic;padding:6px 0}.map-summary-panel__swatch{border:1px solid #ffffff26;border-radius:3px;display:inline-block;flex:0 0 auto;height:14px;width:14px}.map-summary-panel__text{display:flex;flex:1 1 auto;flex-direction:column;gap:1px;min-width:0}.map-summary-panel__label{color:var(--mv-text);font-size:12px;font-weight:600}.map-summary-panel__label,.map-summary-panel__source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-summary-panel__source{color:var(--mv-text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.map-summary-panel__num{font-feature-settings:"tnum";background:var(--mv-surface-2);border-radius:999px;color:var(--mv-text-dim);flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;padding:1px 6px}.success{background:#10b9811a;border:1px solid #badbcc;border-radius:4px;color:#34d399;font-size:13px}.success,.table-registry{margin-top:10px;padding:10px}.table-registry{background:#f8f9fa;border:1px solid #e2e6ea;border-radius:4px;font-size:12px}.table-registry strong{color:#333;display:inline-block;margin-right:6px}.table-registry .ok{color:#0f5132;font-weight:700}.table-registry .warn{color:#b91c1c;font-weight:700}.table-registry ul{list-style:none;margin:6px 0 0;padding:0}.table-registry li{align-items:center;border-radius:3px;display:flex;justify-content:space-between;padding:4px 6px}.table-registry li.current{background:#f59e0b1a}.table-registry code{color:var(--mv-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.table-registry small{color:var(--mv-text-dim);font-size:11px}.controls p{color:var(--mv-text-dim);font-size:14px;margin:10px 0 0}.controls button{background:var(--mv-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px;width:100%}.controls button:hover{background:var(--mv-accent-hover)}.controls button:disabled{background:#2237ff4d;cursor:not-allowed}.ai-query{margin:12px 0}.ai-query label{align-items:center;color:var(--mv-text-dim);display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:5px}.llm-badge{border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.llm-badge.on{background:#10b9811f;border:1px solid #10b9814d;color:#34d399}.llm-badge.off{background:var(--mv-surface-2);border:1px solid var(--mv-border);color:var(--mv-text-dim)}.ai-query textarea{background:var(--mv-surface-2);border:1px solid var(--mv-border-strong);border-radius:4px;box-sizing:border-box;color:var(--mv-text);font-family:inherit;font-size:14px;min-height:72px;padding:8px;resize:vertical;width:100%}.data-table{border:1px solid var(--mv-border);border-radius:6px;margin-top:10px;overflow-x:auto}.data-table table{border-collapse:collapse;font-size:11px;min-width:400px;width:100%}.data-table td,.data-table th{border:1px solid var(--mv-border);color:var(--mv-text);max-width:120px;overflow:hidden;padding:4px 6px;text-align:left;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.data-table th{background:var(--mv-surface);color:var(--mv-text-bright);font-weight:600;position:-webkit-sticky;position:sticky;top:0}.data-table p{color:var(--mv-text-dim);font-size:11px;margin-top:5px}.loc-analytics-panel{display:flex;flex-direction:column;gap:12px;padding:4px 0}.loc-analytics-controls{align-items:flex-start;background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;padding:10px 12px}.loc-btn{background:#fff;border:1px solid var(--mv-border-strong);border-radius:8px;color:var(--mv-text);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.loc-btn:hover:not(:disabled){background:var(--mv-surface-hover);border-color:var(--mv-accent)}.loc-btn--active{background:var(--mv-accent);border-color:var(--mv-accent);color:#fff}.loc-btn:disabled{cursor:not-allowed;opacity:.5}.loc-input-group{color:var(--mv-text-dim);display:flex;flex-direction:column;font-size:12px;gap:4px;min-width:160px}.loc-input-group input[type=range]{accent-color:var(--mv-accent);width:100%}.loc-checkbox{align-items:center;color:var(--mv-text);cursor:pointer;display:flex;font-size:12px;gap:6px;white-space:nowrap}.loc-checkbox input{accent-color:var(--mv-accent)}.loc-hint{background:#fffbe6;border:1px solid #f5d97a;border-radius:6px;color:#8a6d00;font-size:12px;margin:0;padding:8px 12px}.loc-loading{align-items:center;background:var(--mv-surface-2);border-radius:6px;color:var(--mv-text-dim);display:flex;font-size:13px;gap:8px;padding:10px 12px}.loc-spinner{animation:loc-spin .8s linear infinite;border:2px solid var(--mv-border-strong);border-radius:50%;border-top-color:var(--mv-accent);display:inline-block;height:16px;width:16px}@keyframes loc-spin{to{transform:rotate(1turn)}}.loc-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;font-size:12px;padding:8px 12px}.loc-empty{color:var(--mv-text-dim);font-size:13px;line-height:1.5;margin:0;padding:16px 12px;text-align:center}.loc-result{display:flex;flex-direction:column;gap:12px}.loc-result-title{color:var(--mv-text-bright);font-size:14px;font-weight:700;margin:0}.loc-result-section{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;padding:10px 12px}.loc-result-subtitle{color:var(--mv-accent);font-size:12px;font-weight:700;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.loc-result-row{align-items:center;display:flex;font-size:12px;justify-content:space-between;padding:4px 0}.loc-result-label{color:var(--mv-text-dim);font-weight:500}.loc-result-value{color:var(--mv-text-bright);font-weight:600}.loc-result-table{border-collapse:collapse;font-size:12px;margin-top:6px;width:100%}.loc-result-table td,.loc-result-table th{border:1px solid var(--mv-border);padding:4px 8px;text-align:left}.loc-result-table th{background:#fff;color:var(--mv-text-bright);font-weight:600}.loc-result-saved{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#15803d;font-size:12px;padding:8px 12px}.loc-result-warn{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:12px;padding:8px 12px}.loc-tabs{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;display:flex;gap:4px;padding:4px}.loc-tab-btn{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--mv-text-dim);cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:6px 10px;transition:all .15s}.loc-tab-btn:hover{background:var(--mv-surface-hover)}.loc-tab-btn--active{background:var(--mv-accent);color:#fff}.loc-scores{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;padding:10px 12px}.loc-score-bar{align-items:center;display:flex;gap:8px;margin-bottom:6px}.loc-score-label{color:var(--mv-text-dim);font-size:11px;font-weight:600;min-width:90px}.loc-score-track{align-items:center;background:#e5e7eb;border-radius:4px;display:flex;flex:1 1;height:20px;overflow:hidden;position:relative}.loc-score-fill{border-radius:4px 0 0 4px;height:100%;min-width:2px;transition:width .3s}.loc-score-val{color:var(--mv-text-bright);font-size:11px;font-weight:700;position:absolute;right:6px}.loc-legend{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0}.loc-legend-item{align-items:center;color:var(--mv-text-dim);display:flex;font-size:10px;gap:4px}.loc-legend-swatch{border:1px solid var(--mv-border);border-radius:3px;display:inline-block;height:14px;width:14px}.loc-compare-list{display:flex;flex-direction:column;gap:8px}.loc-compare-card{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;padding:10px 12px}.loc-compare-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.loc-compare-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;width:22px}.loc-compare-coords{color:var(--mv-text-dim);flex:1 1;font-family:monospace;font-size:11px}.loc-compare-remove{background:#0000;border:none;color:var(--mv-text-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.loc-compare-remove:hover{color:#ef4444}.loc-error-sm{color:#b91c1c;font-size:11px}.loc-spinner--sm{border-width:1.5px;height:12px;width:12px}.loc-compare-scores{margin-top:4px}.loc-compare-composite{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.loc-compare-composite-val{font-size:18px;font-weight:800}.loc-compare-sub{color:var(--mv-text-dim);display:flex;flex-wrap:wrap;font-size:10px;gap:8px}.loc-compare-winner{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:8px;color:#15803d;font-size:13px;font-weight:700;padding:8px 12px;text-align:center}.loc-btn--clear{border-color:#fca5a5;color:#ef4444;font-size:11px;padding:4px 10px}.loc-btn--clear:hover{background:#fef2f2}.loc-weights{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;margin-top:4px;padding:10px 12px}.loc-weight-sliders{display:flex;flex-direction:column;gap:6px;margin-top:8px}.loc-weight-row{align-items:center;display:flex;gap:8px}.loc-weight-label{color:var(--mv-text-dim);font-size:11px;min-width:80px;white-space:nowrap}.loc-weight-row input[type=range]{accent-color:var(--mv-accent);flex:1 1}.loc-weight-val{color:var(--mv-text-bright);font-size:11px;font-weight:700;min-width:20px;text-align:right}.loc-btn--ai-summary{background:linear-gradient(135deg,#1e3a8a,#0d9488);border:1px solid var(--mv-accent);border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;margin-bottom:8px;padding:10px 16px;transition:opacity .15s,transform .1s;width:100%}.loc-btn--ai-summary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.loc-btn--ai-summary:disabled{cursor:not-allowed;opacity:.5}.loc-btn--save{background:#fff;border:1px solid #16a34a;border-radius:8px;color:#16a34a;cursor:pointer;font-size:12px;font-weight:600;margin-bottom:8px;padding:8px 16px;transition:background .15s;width:100%}.loc-btn--save:hover:not(:disabled){background:#f0fdf4}.loc-btn--save:disabled{cursor:not-allowed;opacity:.5}.loc-charts{background:var(--mv-surface-2);border:1px solid var(--mv-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:10px 12px}.loc-chart-item{flex:1 1 200px;max-width:280px;min-width:160px;text-align:center}.loc-chart-item--wide{flex:1 1 100%;max-width:100%}.loc-chart-item img{border:1px solid var(--mv-border);border-radius:6px;height:auto;max-width:100%}.loc-context-bar{align-items:center;background:linear-gradient(135deg,#eff6ff,#f0f7ff);border:1px solid #bfdbfe;border-radius:8px;color:var(--mv-text);display:flex;font-size:12px;gap:8px;padding:8px 12px}.loc-context-bar-icon{flex-shrink:0;font-size:16px}.loc-context-bar-text{line-height:1.4}.loc-quick-asks{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.loc-quick-ask-btn{background:#fff;border:1px solid var(--mv-border);border-radius:16px;color:var(--mv-text);cursor:pointer;font-size:11px;font-weight:500;padding:5px 10px;transition:background .15s,border-color .15s;white-space:nowrap}.loc-quick-ask-btn:hover{background:var(--mv-accent);border-color:var(--mv-accent);color:#fff}@media (max-width:640px){.controls{left:12px;max-height:calc(100vh - 96px);max-width:none;padding:14px;right:12px;top:12px;width:auto}.data-table{max-height:36vh}}.ai-query-panel{display:flex;flex-direction:column;gap:10px}.ai-query-panel__source{align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px;color:#555;display:flex;flex-wrap:wrap;font-size:12px;gap:10px;padding:8px 10px}.ai-query-panel__source>label,.ai-query-panel__source>span{color:#555;font-weight:600}.ai-query-panel__source>strong{color:#1f2937;flex:0 1 auto;word-break:break-word}.ai-query-panel .ai-sidebar-select{flex:1 1 220px;margin:0;max-width:100%;min-width:0}.ai-query{margin:0}.ai-response-panel{max-height:min(28vh,240px);overflow-y:auto;padding-right:2px}.ai-empty{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px;color:#666;font-size:13px;line-height:1.4;margin:0;padding:10px}.data-table-panel{display:flex;flex-direction:column;gap:10px}.data-table-panel .ai-query-panel__source{margin:0}.data-table-panel .ai-sidebar-select{flex:1 1 220px;margin:0;max-width:100%;min-width:0}.data-table-panel__count{font-feature-settings:"tnum";background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#4b5563;font-size:11px;font-variant-numeric:tabular-nums;margin-left:auto;padding:2px 8px}.data-table-panel .data-table{border:1px solid #e5e7eb;border-radius:6px;margin-top:0;max-height:calc(min(40vh, 360px) - 80px)}.ai-task-popup{bottom:60px;display:flex;flex-direction:column;gap:8px;max-width:340px;pointer-events:none;position:fixed;right:16px;z-index:1000}.ai-task-popup__item{align-items:center;animation:ai-popup-slide-in .3s ease-out;border-radius:10px;box-shadow:0 4px 16px #00000026;display:flex;font-size:13px;gap:10px;padding:10px 14px;pointer-events:auto}@keyframes ai-popup-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.ai-task-popup__item--running{background:#1e293b;border:1px solid #334155;color:#f1f5f9}.ai-task-popup__item--done{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.ai-task-popup__item--error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.ai-task-popup__spinner{animation:ai-popup-spin .8s linear infinite;border:2px solid #475569;border-radius:50%;border-top-color:#60a5fa;display:inline-block;flex-shrink:0;height:16px;width:16px}@keyframes ai-popup-spin{to{transform:rotate(1turn)}}.ai-task-popup__icon{flex-shrink:0;font-size:18px}.ai-task-popup__text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ai-task-popup__question{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-task-popup__btn{background:#0000;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:4px 6px;transition:background .15s}.ai-task-popup__btn--stop{color:#f87171}.ai-task-popup__btn--stop:hover{background:#f8717133}.ai-task-popup__btn--view{color:var(--mv-accent);font-size:16px;font-weight:700}.ai-task-popup__btn--view:hover{background:#2237ff1a}.ai-task-popup__btn--dismiss{color:var(--mv-text-dim);font-size:12px}.ai-task-popup__btn--dismiss:hover{background:#00000014}.ai-task-popup__clear-all{align-self:flex-end;background:#fff;border:1px solid var(--mv-border);border-radius:6px;color:var(--mv-text-dim);cursor:pointer;font-size:11px;padding:4px 10px;pointer-events:auto}.ai-task-popup__clear-all:hover{background:var(--mv-surface-hover)}.welcome-popup-overlay{align-items:center;animation:welcome-fade-in .3s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-slide-up{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-popup-card{animation:welcome-slide-up .4s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;max-width:440px;padding:36px 32px 28px;position:relative;text-align:center;width:90%}.welcome-popup-close{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:6px;position:absolute;right:14px;top:14px;transition:background .15s,color .15s}.welcome-popup-close:hover{background:#f3f4f6;color:#4b5563}.welcome-popup-icon{font-size:48px;line-height:1;margin-bottom:16px}.welcome-popup-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0 0 20px}.welcome-popup-body{color:#4b5563;font-size:15px;line-height:1.6;margin-bottom:24px}.welcome-popup-body p{margin:0 0 12px}.welcome-popup-body strong{color:#1f2937;font-weight:600}.welcome-popup-email{background:#1e3a8a14;border-radius:10px;color:#1e3a8a;display:inline-block;font-size:16px;font-weight:700;margin:4px 0 8px;padding:10px 20px;text-decoration:none;transition:background .15s,transform .15s}.welcome-popup-email:hover{background:#1e3a8a26;transform:translateY(-1px)}.welcome-popup-footer{color:#9ca3af;font-size:13px;font-style:italic;margin-top:0!important}.welcome-popup-btn{background:#1e3a8a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;padding:13px 24px;transition:background .15s,transform .15s;width:100%}.welcome-popup-btn:hover{background:#1e40af;box-shadow:0 4px 20px #1e3a8a40;transform:translateY(-1px)}.welcome-popup-btn:active{transform:translateY(0)}@media (max-width:480px){.welcome-popup-card{padding:28px 20px 22px}.welcome-popup-title{font-size:20px}.welcome-popup-body{font-size:14px}.welcome-popup-email{font-size:14px;padding:8px 16px}}.bottom-taskbar{bottom:0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;left:0;pointer-events:none;position:fixed;right:0;z-index:1000}.bottom-taskbar__drawer,.bottom-taskbar__strip{pointer-events:auto}.bottom-taskbar__drag-handle{align-items:center;background:#0000;cursor:ns-resize;display:flex;flex-shrink:0;height:6px;justify-content:center;transition:background .15s}.bottom-taskbar__drag-handle:hover{background:#2237ff1a}.bottom-taskbar__drag-bar{background:#cbd5e1;border-radius:2px;height:3px;transition:background .15s;width:40px}.bottom-taskbar__drag-handle:hover .bottom-taskbar__drag-bar{background:#2237ff}.bottom-taskbar__strip{align-items:center;background:#fff;border-top:1px solid #d1d5db;box-shadow:0 -2px 8px #00000014;color:#1f2937;display:flex;gap:12px;height:44px;padding:0 12px}.bottom-taskbar__strip-left,.bottom-taskbar__strip-right{align-items:center;display:flex;flex:0 0 auto;gap:6px}.bottom-taskbar__brand{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#1f6feb;font-size:12px;font-weight:700;letter-spacing:1px;padding:2px 8px}.bottom-taskbar__strip-tabs{display:flex;flex:1 1 auto;gap:6px;overflow-x:auto;scrollbar-width:thin}.bottom-taskbar__tab{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;height:32px;padding:6px 12px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.bottom-taskbar__tab:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.bottom-taskbar__tab.is-active{background:#eef4ff;border-color:#93c5fd;color:#1e3a8a}.bottom-taskbar__tab.is-open{background:#1f6feb;border-color:#1d4ed8;box-shadow:inset 0 -2px 0 #ffffff40;color:#fff}.bottom-taskbar__tab-icon{font-size:14px;line-height:1}.bottom-taskbar__expand{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:inline-flex;font-size:11px;height:28px;justify-content:center;width:32px}.bottom-taskbar__expand:hover{background:#f3f4f6;border-color:#9ca3af}.bottom-taskbar__drawer{background:#fff;border-top:1px solid #d1d5db;box-shadow:0 -4px 12px #00000014;max-height:0;overflow:hidden;transition:max-height .22s ease-out}.bottom-taskbar.is-open .bottom-taskbar__drawer{display:flex;flex-direction:column;max-height:80vh}.bottom-taskbar__drawer-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;gap:8px;padding:8px 14px}.bottom-taskbar__drawer-title{color:#1f2937;flex:1 1 auto;font-size:14px;font-weight:600;margin:0}.bottom-taskbar__close{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:18px;height:26px;justify-content:center;line-height:1;width:26px}.bottom-taskbar__close:hover{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.bottom-taskbar__drawer-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 14px}@media (max-width:640px){.bottom-taskbar__strip{gap:6px;height:42px;padding:0 8px}.bottom-taskbar__tab{font-size:12px;height:30px;padding:5px 9px}.bottom-taskbar__tab-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}.bottom-taskbar.is-open .bottom-taskbar__drawer{max-height:55vh}}.chat-panel{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}.chat-panel__header{align-items:center;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-wrap:wrap;font-size:11px;gap:10px;padding:6px 8px}.chat-panel__source-pill{align-items:center;display:flex;gap:6px;min-width:0}.chat-panel__source-pill>span{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.chat-panel__source-pill>strong{color:#1f2937;font-size:12px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel__messages{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;max-height:min(30vh,200px);min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 2px;scroll-behavior:smooth}.chat-panel__empty{background:#f8f9fa;border:1px dashed #d1d5db;border-radius:6px;color:#4b5563;font-size:12px;line-height:1.5;margin:0;padding:14px}.chat-panel__empty em{color:#1f6feb;font-style:normal;font-weight:500}.chat-panel__msg{display:flex;flex-direction:column;gap:2px;max-width:100%}.chat-panel__role{color:#6b7280;font-size:10px;font-weight:600;letter-spacing:.4px;padding:0 4px;text-transform:uppercase}.chat-panel__bubble{word-wrap:break-word;border:1px solid #0000;border-radius:10px;font-size:13px;line-height:1.5;padding:8px 12px;white-space:pre-wrap}.chat-panel__msg--user .chat-panel__bubble{align-self:flex-end;background:#1f6feb;border-bottom-right-radius:4px;color:#fff;max-width:85%}.chat-panel__msg--assistant .chat-panel__bubble{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;border-color:#e5e7eb;color:#1f2937;max-width:92%}.chat-panel__msg--busy .chat-panel__bubble{align-items:center;background:#f3f4f6;border-color:#e5e7eb;color:#4b5563;display:inline-flex;gap:8px}.chat-panel__text{white-space:pre-wrap}.chat-panel__markdown{font-size:13px;line-height:1.6;white-space:normal}.chat-panel__markdown .chat-md-p{margin:0 0 8px}.chat-panel__markdown .chat-md-strong{font-weight:700}.chat-panel__markdown .chat-md-ol,.chat-panel__markdown .chat-md-ul{margin:4px 0 8px;padding-left:20px}.chat-panel__markdown .chat-md-li{margin-bottom:3px}.chat-panel__markdown .chat-md-table{border-collapse:collapse;font-size:12px;margin:8px 0;width:100%}.chat-panel__markdown .chat-md-th{background:#f3f4f6;font-weight:600;text-align:left}.chat-panel__markdown .chat-md-td,.chat-panel__markdown .chat-md-th{border:1px solid #e5e7eb;padding:4px 8px}.chat-panel__markdown .chat-md-code{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;font-family:monospace;font-size:11px;padding:1px 4px}.chat-panel__markdown .chat-md-h5,.chat-panel__markdown .chat-md-h6{color:#1e3a8a;font-size:12px;font-weight:700;letter-spacing:.5px;margin:8px 0 4px;text-transform:uppercase}.chat-panel__markdown .chat-md-image-wrap{margin:8px 0;text-align:center}.chat-panel__markdown .chat-md-image{border:1px solid #e5e7eb;border-radius:6px;display:block;height:auto;margin:8px auto;max-width:100%}.chat-panel__markdown .chat-md-image-caption{color:#6b7280;display:block;font-size:10px;margin-top:4px}.chat-panel__spinner{animation:chat-spin .8s linear infinite;border:2px solid #93c5fd;border-radius:50%;border-top-color:#1e40af;display:inline-block;height:10px;width:10px}@keyframes chat-spin{to{transform:rotate(1turn)}}.chat-panel__tools{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;font-size:11px;margin-top:6px;padding:6px 8px}.chat-panel__tools>summary{color:#1f6feb;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.chat-panel__tools>summary::marker{color:#9ca3af}.chat-panel__tools ul{display:flex;flex-direction:column;gap:4px;list-style:none;margin:6px 0 0;padding:0}.chat-panel__tools li{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.chat-panel__tools code{background:#1f2937;border-radius:3px;color:#d1d5db;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;padding:1px 6px}.chat-panel__form{display:flex;flex-direction:column;gap:6px;margin-top:4px}.chat-panel__form textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;min-height:50px;padding:8px 10px;resize:vertical;width:100%}.chat-panel__form textarea:focus{border-color:#1f6feb;box-shadow:0 0 0 2px #1f6feb2e;outline:none}.chat-panel__form-actions{display:flex;gap:6px;justify-content:flex-end}.chat-panel__form button{background:#1f6feb;border:1px solid #1f6feb;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:background .15s,border-color .15s}.chat-panel__form button:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.chat-panel__form button:disabled{background:#93c5fd;border-color:#93c5fd;cursor:not-allowed}.chat-panel__clear{background:#fff!important;border-color:#d1d5db!important;color:#4b5563!important}.chat-panel__clear:hover:not(:disabled){background:#f3f4f6!important;border-color:#9ca3af!important;color:#1f2937!important}.chat-panel__source-label{color:#6b7280;font-size:10px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.chat-panel__source-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;cursor:pointer;font-size:12px;font-weight:500;max-width:280px;min-width:180px;padding:4px 8px;transition:border-color .15s,box-shadow .15s}.chat-panel__source-select:hover:not(:disabled){border-color:#9ca3af}.chat-panel__source-select:focus{border-color:#1f6feb;box-shadow:0 0 0 2px #1f6feb2e;outline:none}.chat-panel__source-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.chat-panel__source-summary{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#1f2937;cursor:default;font-size:12px;font-weight:600;max-width:220px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.chat-panel__source-picker{position:relative}.chat-panel__source-picker-summary{background:#fff;border:1px solid #1f6feb;border-radius:4px;color:#1f6feb;cursor:pointer;font-size:11px;font-weight:500;list-style:none;padding:4px 8px;-webkit-user-select:none;user-select:none}.chat-panel__source-picker-summary::-webkit-details-marker{display:none}.chat-panel__source-picker[open] .chat-panel__source-picker-summary{background:#1f6feb;color:#fff}.chat-panel__source-picker-body{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:320px;max-width:320px;min-width:260px;overflow-y:auto;padding:8px;position:absolute;right:0;top:100%;z-index:20}.chat-panel__source-all{align-items:center;border-bottom:1px solid #e5e7eb;margin-bottom:4px}.chat-panel__source-all,.chat-panel__source-row{cursor:pointer;display:flex;font-size:12px;gap:6px;padding:4px 6px}.chat-panel__source-row{align-items:flex-start;border-radius:4px}.chat-panel__source-row:hover{background:#f3f4f6}.chat-panel__source-row-label{color:#1f2937;display:block;font-weight:500}.chat-panel__source-row-source{color:#6b7280;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.chat-panel__source-empty{color:#9ca3af;font-size:12px;margin:0;padding:8px 0;text-align:center}.parcel-analyzer-wrapper{--pa-bg:#fff;--pa-surface:#fff;--pa-surface-2:#f9fafb;--pa-surface-hover:#f3f4f6;--pa-text:#1f2937;--pa-text-dim:#6b7280;--pa-text-bright:#111827;--pa-accent:#1e3a8a;--pa-accent-hover:#1e40af;--pa-accent-2:#0d9488;--pa-border:#e5e7eb;--pa-border-strong:#d1d5db;--pa-radius:10px;--pa-font:system-ui,-apple-system,sans-serif;height:100%;position:relative;width:100%}.parcel-analyzer{border:1px solid var(--pa-border);border-radius:var(--pa-radius);box-shadow:0 4px 24px #0006;color:var(--pa-text);flex-direction:column;font-family:var(--pa-font);max-height:calc(100% - 24px);overflow:hidden;width:360px;z-index:10}.pa-search-box,.parcel-analyzer{background:var(--pa-surface);display:flex;position:absolute;top:12px}.pa-search-box{align-items:center;border:1px solid var(--pa-border);border-radius:10px;box-shadow:0 4px 16px #0006;gap:0;left:50%;overflow:visible;transform:translateX(-50%);z-index:20}.pa-search-box input{background:#0000;border:none;border-radius:10px 0 0 10px;color:var(--pa-text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;width:260px}.pa-search-box button,.pa-search-box input::placeholder{color:var(--pa-text-dim)}.pa-search-box button{background:#0000;border:none;border-radius:0 10px 10px 0;cursor:pointer;font-size:16px;line-height:1;padding:10px 14px;transition:background .15s}.pa-search-box button:hover:not(:disabled){background:var(--pa-surface-hover)}.pa-search-box button:disabled{cursor:not-allowed;opacity:.4}.pa-search-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fca5a5;font-size:13px;left:0;margin-top:4px;padding:8px 14px;position:absolute;right:0;top:100%}.pa-tool-group{bottom:24px;gap:8px;left:50%;position:absolute;transform:translateX(-50%);z-index:20}.pa-tool-btn,.pa-tool-group{align-items:center;display:flex}.pa-tool-btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 12px #0000001f;cursor:pointer;font-size:22px;height:44px;justify-content:center;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s;width:44px}.pa-tool-btn.active,.pa-tool-btn:hover{background:#1e3a8a;border-color:#1e3a8a;box-shadow:0 6px 20px #2237ff4d}.pa-tool-btn:active{transform:scale(.95)}.pa-ruler-label{background:var(--pa-surface);border:1px solid var(--pa-border);border-radius:8px;bottom:76px;box-shadow:0 2px 8px #0000004d;color:#f97316;font-size:14px;font-weight:600;left:50%;padding:6px 14px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:20}.pa-ruler-hint{color:var(--pa-text-dim);font-size:13px;font-weight:400}.pa-sidebar-handle{cursor:col-resize;height:calc(100% - 24px);overflow:visible;top:12px;width:12px;z-index:15}.pa-sidebar-handle,.pa-sidebar-handle:after{background:#0000;position:absolute;transition:background .15s}.pa-sidebar-handle:after{border-radius:1px;bottom:0;content:"";left:5px;top:0;width:2px}.pa-sidebar-handle.active:after,.pa-sidebar-handle:hover:after{background:#1e3a8a}.pa-sidebar-handle.active,.pa-sidebar-handle:hover{background:#2237ff14}.pa-sidebar-handle:before{background:#94a3b8;border-radius:50%;box-shadow:-4px -8px 0 #94a3b8,0 -8px 0 #94a3b8,4px -8px 0 #94a3b8,-4px 0 0 #94a3b8,0 0 0 #94a3b8,4px 0 0 #94a3b8,-4px 8px 0 #94a3b8,0 8px 0 #94a3b8,4px 8px 0 #94a3b8;content:"";height:3px;left:50%;opacity:.5;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .15s,background .15s;width:3px}.pa-sidebar-handle.active:before,.pa-sidebar-handle:hover:before{background:#1e3a8a;box-shadow:-4px -8px 0 #1e3a8a,0 -8px 0 #1e3a8a,4px -8px 0 #1e3a8a,-4px 0 0 #1e3a8a,0 0 0 #1e3a8a,4px 0 0 #1e3a8a,-4px 8px 0 #1e3a8a,0 8px 0 #1e3a8a,4px 8px 0 #1e3a8a;opacity:1}.parcel-analyzer--left{left:20px}.parcel-analyzer--right{right:20px}.parcel-analyzer__header{background:var(--pa-bg);border-bottom:1px solid var(--pa-border);color:var(--pa-text-bright);padding:14px 18px}.parcel-analyzer__title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.parcel-analyzer__subtitle{color:var(--pa-text-dim);font-size:12px;line-height:1.4;margin:4px 0 0}.parcel-analyzer__body{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-y:auto;padding:14px 18px}.parcel-analyzer__status{align-items:center;background:var(--pa-surface-2);border-radius:6px;color:var(--pa-text-dim);display:flex;font-size:13px;gap:8px;padding:8px 10px}.parcel-analyzer__status--drawing{background:#f59e0b1a;color:#fbbf24}.parcel-analyzer__status--analyzing{background:#2237ff1a;color:#6b93ff}.parcel-analyzer__status--error{background:#ef44441a;color:#fca5a5}.parcel-analyzer__status-dot{animation:parcel-pulse 1.4s ease-in-out infinite;background:currentColor;border-radius:50%;height:8px;width:8px}@keyframes parcel-pulse{0%,to{opacity:1}50%{opacity:.4}}.parcel-analyzer__actions{display:flex;flex-wrap:wrap;gap:8px}.parcel-analyzer__btn{background:var(--pa-surface-2);border:1px solid var(--pa-border-strong);border-radius:6px;color:var(--pa-text);cursor:pointer;flex:1 1 auto;font-size:13px;font-weight:500;padding:8px 12px;transition:background .15s,border-color .15s}.parcel-analyzer__btn:hover:not(:disabled){background:var(--pa-surface-hover);border-color:#fff3}.parcel-analyzer__btn:disabled{cursor:not-allowed;opacity:.5}.parcel-analyzer__btn--primary{background:var(--pa-accent);border-color:var(--pa-accent);color:#fff}.parcel-analyzer__btn--primary:hover:not(:disabled){background:var(--pa-accent-hover);border-color:var(--pa-accent-hover)}.parcel-analyzer__btn--secondary{background:#059669;border-color:#059669;color:#fff}.parcel-analyzer__btn--secondary:hover:not(:disabled){background:#047857;border-color:#047857}.parcel-analyzer__btn--danger{background:#0000;border-color:#ef44444d;color:#fca5a5}.parcel-analyzer__btn--danger:hover:not(:disabled){background:#ef44441a;border-color:#f87171}.parcel-analyzer__tools{background:var(--pa-surface-2);border:1px solid var(--pa-border);border-radius:6px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.parcel-analyzer__tools-header{align-items:center;display:flex;gap:6px;justify-content:space-between}.parcel-analyzer__tools-list{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.parcel-analyzer__tool{align-items:center;background:var(--pa-surface);border:1px solid var(--pa-border-strong);border-radius:6px;color:var(--pa-text-dim);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:8px;padding:6px 10px;text-align:left;transition:background .15s,border-color .15s,color .15s}.parcel-analyzer__tool:hover:not(:disabled){background:var(--pa-surface-hover);border-color:#fff3}.parcel-analyzer__tool:disabled{cursor:not-allowed;opacity:.5}.parcel-analyzer__tool.is-active{background:var(--pa-accent);border-color:var(--pa-accent);box-shadow:0 1px 2px #2237ff40;color:#fff}.parcel-analyzer__tool.is-active .parcel-analyzer__tool-icon{color:#fffc}.parcel-analyzer__tool-icon{color:var(--pa-text-dim);flex:0 0 auto;font-size:16px;line-height:1;text-align:center;width:18px}.parcel-analyzer__tool-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parcel-analyzer__tools-hint{color:var(--pa-text-dim);font-size:11px;line-height:1.4;margin:0}.parcel-analyzer__tools-hint--anchor{background:#2237ff14;border:1px solid #2237ff33;border-radius:4px;color:#6b93ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:4px 6px}.parcel-analyzer__hint{color:var(--pa-text-dim);font-size:12px;font-style:italic;line-height:1.5}.parcel-analyzer__metrics{grid-gap:6px;background:var(--pa-surface-2);border:1px solid var(--pa-border);border-radius:6px;display:grid;font-size:12px;gap:6px;grid-template-columns:1fr 1fr;padding:10px 12px}.parcel-analyzer__metric{display:flex;flex-direction:column}.parcel-analyzer__metric-label{color:var(--pa-text-dim);font-size:10px;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.parcel-analyzer__metric-value{color:var(--pa-text-bright);font-size:13px;font-weight:600}.parcel-analyzer__layers{display:flex;flex-direction:column;font-size:12px;gap:4px;list-style:none;margin:0;padding:0}.parcel-analyzer__layer{background:var(--pa-surface-2);border:1px solid var(--pa-border);border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.parcel-analyzer__layer-name{color:var(--pa-text);font-weight:500}.parcel-analyzer__layer-stats{font-feature-settings:"tnum";color:var(--pa-text-dim);font-variant-numeric:tabular-nums}.parcel-analyzer__narrative{background:#01e0b70f;border:1px solid #01e0b733;border-radius:6px;color:var(--pa-text);font-size:13px;line-height:1.6;padding:12px 14px;white-space:pre-wrap}.parcel-analyzer__narrative h3{color:var(--pa-accent-2);font-size:12px;letter-spacing:.5px;margin:8px 0 4px;text-transform:uppercase}.parcel-analyzer__narrative h3:first-child{margin-top:0}.parcel-analyzer__narrative p{margin:0 0 8px}.parcel-analyzer__narrative-fallback{background:#f59e0b14;border-color:#f59e0b40;color:#fbbf24}.parcel-analyzer__narrative-fallback:before{color:#f59e0b;content:"⚠ "}.parcel-analyzer__source-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:6px;padding:2px 6px;text-transform:uppercase;vertical-align:middle}.parcel-analyzer__source-badge--llm{background:#10b9811f;color:#34d399}.parcel-analyzer__source-badge--fallback{background:#f59e0b1f;color:#fbbf24}.parcel-analyzer__section-title{color:var(--pa-text-dim);font-size:12px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.parcel-analyzer__spinner{animation:parcel-spin .8s linear infinite;border:2px solid #2237ff4d;border-radius:50%;border-top:2px solid var(--pa-accent);display:inline-block;height:12px;width:12px}@keyframes parcel-spin{to{transform:rotate(1turn)}}.parcel-analyzer__save{border-top:1px dashed var(--pa-border);display:flex;flex-direction:column;gap:8px;padding-top:12px}.parcel-analyzer__input{background:var(--pa-surface-2);border:1px solid var(--pa-border-strong);border-radius:6px;box-sizing:border-box;color:var(--pa-text);font-family:inherit;font-size:13px;padding:8px 10px;width:100%}.parcel-analyzer__input:focus{border-color:var(--pa-accent);outline:2px solid var(--pa-accent);outline-offset:1px}.parcel-analyzer__input:disabled{background:#ffffff05;color:var(--pa-text-dim)}.parcel-analyzer__feedback{border-radius:4px;font-size:12px;line-height:1.4;padding:6px 8px}.parcel-analyzer__feedback--success{background:#10b9811a;color:#34d399}.parcel-analyzer__feedback--warning{background:#f59e0b1a;color:#fbbf24}.parcel-analyzer__feedback--error{background:#ef44441a;color:#fca5a5}.parcel-analyzer__saved-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.parcel-analyzer__saved-item{align-items:baseline;background:#2237ff0f;border-radius:4px;color:#6b93ff;display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:6px 8px}.parcel-analyzer__saved-item-label{font-weight:600}.parcel-analyzer__saved-item-meta{color:var(--pa-text-dim);font-size:11px}.parcel-analyzer__saved-item-delete{align-self:flex-end;background:#0000;border:1px solid #ef44444d;border-radius:4px;color:#fca5a5;cursor:pointer;font-size:11px;padding:2px 8px;transition:background .15s,border-color .15s}.parcel-analyzer__saved-item-delete:hover{background:#ef44441a;border-color:#f87171}.parcel-analyzer__density{background:var(--pa-surface-2);border:1px solid var(--pa-border);border-radius:6px;margin:8px 0 4px;padding:10px 12px}.parcel-analyzer__density-toggle{align-items:center;color:var(--pa-text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.parcel-analyzer__density-toggle input{cursor:pointer;margin:0}.parcel-analyzer__legend{align-items:center;color:var(--pa-text-dim);display:flex;font-size:11px;gap:8px;margin-top:6px}.parcel-analyzer__legend-bar{background:linear-gradient(90deg,#2563eb8c,#38bdf8a6,#facc15bf,#f97316d9,#dc2626f2);border:1px solid #0000000d;border-radius:4px;flex:1 1;height:8px}.parcel-analyzer__legend-label{font-weight:500;white-space:nowrap}.parcel-analyzer__analysis-tabs{display:flex;flex-direction:column;gap:6px}.parcel-analyzer__analysis-tabs-header{margin-bottom:2px}.parcel-analyzer__analysis-tabs-list{display:flex;flex-wrap:wrap;gap:4px}.parcel-analyzer__analysis-tab{align-items:center;background:var(--pa-surface-2);border:1px solid var(--pa-border-strong);border-radius:6px;color:var(--pa-text-dim);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;transition:background .15s,border-color .15s,color .15s}.parcel-analyzer__analysis-tab:hover{background:var(--pa-surface-hover);border-color:#fff3}.parcel-analyzer__analysis-tab.is-active{background:var(--pa-accent);border-color:var(--pa-accent);color:#fff}.parcel-analyzer__analysis-tab-label{font-weight:600}.parcel-analyzer__analysis-tab-close{align-items:center;border-radius:50%;cursor:pointer;display:inline-flex;font-size:14px;height:16px;justify-content:center;line-height:1;opacity:.7;transition:opacity .15s,background .15s;width:16px}.parcel-analyzer__analysis-tab-close:hover{background:#ffffff40;opacity:1}.parcel-analyzer__map-tooltip{background:#111827f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-size:12px;line-height:1.5;max-width:260px;padding:10px 12px;pointer-events:none;position:fixed;z-index:20}.parcel-analyzer__map-tooltip-title{border-bottom:1px solid #fff3;font-size:13px;font-weight:700;margin-bottom:6px;padding-bottom:4px}.parcel-analyzer__map-tooltip-row{display:flex;gap:12px;justify-content:space-between}.parcel-analyzer__map-tooltip-row span:first-child{color:#9ca3af}.parcel-analyzer__pdf-actions{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.parcel-analyzer__financial{background:#01e0b70f;border:1px solid #01e0b733;border-radius:8px;padding:10px 12px}.parcel-analyzer__financial-table{border-collapse:collapse;font-size:12px;width:100%}.parcel-analyzer__financial-table--wide{font-size:10px}.parcel-analyzer__financial-table--wide th{background:#1f3a5f;color:#fff;font-weight:600;padding:3px 4px;text-align:right}.parcel-analyzer__financial-table--wide th:first-child{text-align:left}.parcel-analyzer__financial-table--wide td{padding:3px 4px}.parcel-analyzer__financial-details{background:#fff;border:1px solid #e5e7eb;border-radius:4px;margin:6px 0}.parcel-analyzer__financial-details summary{background:#f5f8fc;border-bottom:1px solid #e5e7eb;color:#1f3a5f;cursor:pointer;font-size:12px;font-weight:600;padding:6px 8px}.parcel-analyzer__financial-details[open] summary{border-bottom:1px solid #cfd8e3}.parcel-analyzer__financial-details .parcel-analyzer__financial-table{margin:4px 0}.parcel-analyzer__financial-insight-group{font-size:11px;padding:4px 8px}.parcel-analyzer__financial-insight-group ul{margin:2px 0 6px 16px;padding:0}.parcel-analyzer__financial-insight-group li{color:#374151;margin:1px 0}.parcel-analyzer__financial-table td{border-bottom:1px solid #e5e7eb;padding:4px 6px}.parcel-analyzer__financial-table td:first-child{color:#6b7280}.parcel-analyzer__financial-table td:last-child{color:#1f2937;font-weight:500;text-align:right}.parcel-analyzer__financial-subheader td{background:#dcfce7;color:#166534;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.parcel-analyzer__financial-total td{border-top:2px solid #bbf7d0;color:#1f2937;font-weight:700}.parcel-analyzer__financial-margin td:last-child{color:#16a34a;font-weight:700}.parcel-analyzer__note{display:flex;flex-direction:column;gap:2px}.parcel-analyzer__user-note-display{background:#f3f4f6;border-left:3px solid #2563eb;border-radius:4px;color:#1f2937;font-size:12px;line-height:1.5;margin-bottom:10px;padding:8px 10px}.parcel-analyzer__note textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;min-height:70px;padding:8px 10px;resize:vertical;width:100%}.parcel-analyzer__note textarea:focus{border-color:#2563eb;outline:2px solid #2563eb;outline-offset:1px}.parcel-analyzer__note textarea:disabled{background:#f3f4f6;color:#6b7280}.ntf-popup{bottom:60px;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none;position:fixed;right:16px;z-index:9999}.ntf-popup__item{align-items:center;animation:ntf-slide-in .3s ease-out;border-radius:10px;box-shadow:0 4px 16px #00000026;display:flex;font-family:system-ui,-apple-system,sans-serif;font-size:13px;gap:10px;padding:10px 14px;pointer-events:auto}@keyframes ntf-slide-in{0%{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}.ntf-popup__item--running{background:#1e293b;border:1px solid #334155;color:#f1f5f9}.ntf-popup__item--done{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.ntf-popup__item--error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c}.ntf-popup__spinner{animation:ntf-spin .8s linear infinite;border:2px solid #475569;border-radius:50%;border-top-color:#60a5fa;display:inline-block;flex-shrink:0;height:16px;width:16px}@keyframes ntf-spin{to{transform:rotate(1turn)}}.ntf-popup__icon{flex-shrink:0;font-size:18px}.ntf-popup__text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ntf-popup__question{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ntf-popup__btn{background:#0000;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:4px 6px;transition:background .15s}.ntf-popup__btn--stop{color:#f87171}.ntf-popup__btn--stop:hover{background:#f8717133}.ntf-popup__btn--view{color:#1e3a8a;font-size:16px;font-weight:700}.ntf-popup__btn--view:hover{background:#2237ff1a}.ntf-popup__btn--dismiss{color:#6b7280;font-size:12px}.ntf-popup__btn--dismiss:hover{background:#00000014}.ntf-popup__clear-all{align-self:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-family:inherit;font-size:11px;padding:4px 10px;pointer-events:auto}.ntf-popup__clear-all:hover{background:#f3f4f6}.mobile-blocker{align-items:center;background:linear-gradient(135deg,#0f172a,#1e3a8a 50%,#1e293b);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;inset:0;justify-content:center;padding:24px;position:fixed;z-index:99999}.mobile-blocker-card{animation:mobile-blocker-slide .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0006;max-width:420px;padding:40px 28px 32px;text-align:center;width:100%}@keyframes mobile-blocker-slide{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-blocker-icon{font-size:56px;line-height:1;margin-bottom:20px}.mobile-blocker-title{color:#1f2937;font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0 0 16px}.mobile-blocker-desc{color:#4b5563;font-size:15px;line-height:1.6;margin:0 0 24px}.mobile-blocker-features{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:28px;padding:20px}.mobile-blocker-feature{align-items:center;color:#374151;display:flex;font-size:14px;gap:12px;text-align:left}.mobile-blocker-feature-icon{flex-shrink:0;font-size:22px}.mobile-blocker-hint{background:#1e3a8a0f;border-radius:10px;color:#1f2937;font-size:15px;line-height:1.6;margin:0 0 20px;padding:14px}.mobile-blocker-hint strong{color:#1e3a8a}.mobile-blocker-footer{color:#9ca3af;font-size:13px;margin:0}.App{height:100vh;width:100%}*,.App{margin:0;padding:0}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.viewer-tabs{align-items:center;background:#fffffff2;border-radius:8px;box-shadow:0 2px 10px #00000026;display:flex;gap:4px;left:50%;padding:6px;position:fixed;top:12px;transform:translateX(-50%);z-index:1000}.viewer-tabs-spacer{flex:1 1;min-width:12px}.auth-loading{color:#6b7280;font-size:18px}.auth-gate,.auth-loading{align-items:center;display:flex;height:100vh;justify-content:center}.auth-gate{flex-direction:column;gap:20px;padding:24px;text-align:center}.auth-gate h2{color:#1f2937;font-size:28px;margin:0}.auth-gate p{color:#4b5563;font-size:16px;line-height:1.6;max-width:480px}.viewer-tab{background:#0000;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:background .15s,color .15s}.viewer-tab:hover{background:#0000000d}.viewer-tab.active{background:#1f6feb;color:#fff}
/*# sourceMappingURL=main.91c98207.css.map*/