body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#34495e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#ecf0f1}::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:4px}:root{--app-bg:#030712;--surface-color:#111827;--border-color-dark:#1f2937;--primary-blue:#3b82f6;--primary-glow:#3b82f680;--text-primary-dark:#f9fafb;--text-muted-dark:#9ca3af;--bg-light:#f8fafc;--surface-light:#fff;--border-light:#e2e8f0;--text-primary-light:#0f172a;--text-muted-light:#64748b}.landing-container{background-color:#f8fafc;background-color:var(--bg-light);color:#0f172a;color:var(--text-primary-light);flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-y:auto;scroll-behavior:smooth}.landing-nav{align-items:center;background:#0000;box-sizing:border-box;display:flex;justify-content:space-between;padding:1.2rem 5%;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.nav-scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);padding:1rem 5%}.nav-scrolled .logo-text,.nav-scrolled .nav-links a:not(.nav-cta-btn){color:#0f172a;color:var(--text-primary-light)}.nav-logo{align-items:center;color:#fff;display:flex;font-size:1.4rem;font-weight:800;gap:.5rem;transition:color .3s ease}.logo-icon{color:#3b82f6;color:var(--primary-blue);font-size:1.8rem}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a:not(.nav-cta-btn){color:#cbd5e1;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease}.nav-links a:not(.nav-cta-btn):hover{color:#3b82f6;color:var(--primary-blue)}.nav-cta-btn{background:#fff;border-radius:50px;color:#000!important;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.nav-cta-btn:hover{transform:scale(1.05)}.dark-hero{align-items:center;background-color:#030712;background-color:var(--app-bg);color:#f9fafb;color:var(--text-primary-dark);display:flex;flex-direction:column;overflow:hidden;padding:8rem 5% 4rem;position:relative}.hero-glow-bg{background:radial-gradient(circle,#3b82f626 0,#0000 70%);height:600px;left:50%;position:absolute;top:-20%;transform:translateX(-50%);width:800px;z-index:0}.hero-grid-bg{background-image:linear-gradient(#ffffff08 1px,#0000 0),linear-gradient(90deg,#ffffff08 1px,#0000 0);background-size:50px 50px;bottom:0;left:0;mask-image:linear-gradient(180deg,#000 40%,#0000);-webkit-mask-image:linear-gradient(180deg,#000 40%,#0000);position:absolute;right:0;top:0;z-index:0}.hero-content{max-width:900px;position:relative;text-align:center;z-index:2}.premium-badge{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50px;color:#e2e8f0;display:inline-flex;font-size:.85rem;gap:8px;margin-bottom:2rem;padding:.4rem 1rem}.pulse-dot{animation:pulse 2s infinite;background:#10b981;border-radius:50%;box-shadow:0 0 10px #10b981;height:8px;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.hero-title{font-size:4.5rem;font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin-bottom:1.5rem}.text-gradient-blue{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#60a5fa,#3b82f6);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#9ca3af;color:var(--text-muted-dark);font-size:1.2rem;line-height:1.7;margin:0 auto 3rem;max-width:700px}.hero-actions{display:flex;gap:1rem;justify-content:center}.btn-primary-glow{background:#3b82f6;background:var(--primary-blue);border-radius:8px;box-shadow:0 0 20px #3b82f666;color:#fff!important;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.btn-primary-glow:hover{background:#2563eb;box-shadow:0 0 30px #3b82f699;transform:translateY(-2px)}.btn-outline-dark{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff!important;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;text-decoration:none;transition:all .3s ease}.btn-outline-dark:hover{background:#ffffff1a}.hero-mockup-container{margin-top:3rem;max-width:1000px;perspective:1000px;position:relative;width:100%;z-index:2}.mockup-glow-shadow{background:#3b82f6;background:var(--primary-blue);bottom:-10%;filter:blur(80px);left:5%;opacity:.15;position:absolute;right:5%;top:10%;z-index:0}.premium-mockup{background:#0f172a;border:1px solid #334155;border-radius:12px;box-shadow:0 25px 50px -12px #000c;display:flex;flex-direction:column;height:500px;overflow:hidden;position:relative;transform:rotateX(4deg) scale(.98);transition:transform .5s cubic-bezier(.175,.885,.32,1.275);z-index:1}.premium-mockup:hover{transform:rotateX(0deg) scale(1)}.mockup-header{align-items:center;background:#020617;border-bottom:1px solid #1e293b;display:flex;height:45px;padding:0 1rem}.traffic-lights{display:flex;gap:6px;margin-right:2rem}.traffic-lights span{border-radius:50%;height:12px;width:12px}.traffic-lights span:first-child{background:#ef4444}.traffic-lights span:nth-child(2){background:#f59e0b}.traffic-lights span:nth-child(3){background:#10b981}.mockup-tabs{display:flex;height:100%}.tab{align-items:center;background:#0f172a;border-right:1px solid #1e293b;border-top-left-radius:6px;border-top-right-radius:6px;color:#64748b;display:flex;font-family:monospace;font-size:.75rem;margin-top:8px;padding:0 1.5rem}.tab.active{background:#1e293b;border-top:2px solid #3b82f6;border-top:2px solid var(--primary-blue);color:#e2e8f0}.mockup-body{display:flex;flex:1 1}.mockup-toolbar{background:#0f172a;border-right:1px solid #1e293b;flex-direction:column;gap:1rem;padding:1rem 0;width:50px}.mockup-toolbar,.tool-icon{align-items:center;display:flex}.tool-icon{border-radius:6px;color:#94a3b8;cursor:pointer;height:32px;justify-content:center;transition:background .2s;width:32px}.tool-icon:hover,.tool-separator{background:#1e293b}.tool-separator{height:1px;margin:.5rem 0;width:60%}.ai-tool{background:#3b82f61a;border:1px solid #3b82f64d}.dark-canvas{background:#000;background-image:linear-gradient(#1e293b 1px,#0000 0),linear-gradient(90deg,#1e293b 1px,#0000 0);background-size:20px 20px;flex:1 1;position:relative}.canvas-crosshair{height:100px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px}.canvas-crosshair:after,.canvas-crosshair:before{background:#fff3;content:"";position:absolute}.canvas-crosshair:before{height:1px;left:0;right:0;top:50%}.canvas-crosshair:after{bottom:0;left:50%;top:0;width:1px}.canvas-crosshair{border:1px solid #fff3}.svg-animate-draw{stroke-dasharray:500;stroke-dashoffset:500;animation:drawPathLoop 8s ease-in-out infinite}.draw-delay-1{animation-delay:0s}.draw-delay-2{animation-delay:.5s}.draw-delay-3{stroke-dasharray:10,5;animation-delay:1.5s}.svg-animate-fade{animation:fadeInOutLoop 8s ease-in-out infinite;opacity:0}.node-pulse{animation:nodePopLoop 8s ease-in-out infinite;transform:scale(0);transform-origin:center}.node-1{animation-delay:1.6s}.node-2{animation-delay:1.8s}.node-3{animation-delay:2s}.node-4{animation-delay:2.2s}.ai-prompt-overlay{animation:slideUpFadeLoop 8s ease-in-out infinite;opacity:0}@keyframes drawPathLoop{0%,10%{stroke-dashoffset:500}35%,85%{stroke-dashoffset:0}to{stroke-dashoffset:500}}@keyframes fadeInOutLoop{0%,25%{opacity:0}35%,85%{opacity:1}to{opacity:0}}@keyframes nodePopLoop{0%,30%{transform:scale(0)}35%{transform:scale(1.5)}40%,85%{transform:scale(1)}to{transform:scale(0)}}@keyframes slideUpFadeLoop{0%,45%{opacity:0;transform:translate(10px,90px)}55%,85%{opacity:1;transform:translate(10px,80px)}to{opacity:0;transform:translate(10px,90px)}}.metrics-section{background:#fff;background:var(--surface-light);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-light);padding:2rem 5%}.metrics-grid{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1000px}.metric-item{text-align:center}.metric-item h3{color:#3b82f6;color:var(--primary-blue);font-size:2rem;font-weight:800;margin-bottom:.2rem}.metric-item p{color:#64748b;color:var(--text-muted-light);font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.metric-divider{background:#e2e8f0;background:var(--border-light);height:40px;width:1px}.bento-section{background:#f8fafc;background:var(--bg-light);padding:5rem 5%}.section-header.center{margin:0 auto 3rem;max-width:600px;text-align:center}.section-header h2{font-size:2.8rem;font-weight:800;letter-spacing:-1px;margin-bottom:1rem}.section-header p{color:#64748b;color:var(--text-muted-light);font-size:1.15rem}.bento-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-auto-rows:minmax(250px,auto);grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1200px}.bento-card{background:#fff;background:var(--surface-light);border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:20px;overflow:hidden;padding:2rem;position:relative;transition:box-shadow .3s ease,transform .3s ease}.bento-card:hover{box-shadow:0 20px 40px -15px #0000000d;transform:translateY(-2px)}.bento-large{align-items:center;display:flex;gap:2rem;grid-column:span 2}.bento-small{display:flex;flex-direction:column;grid-column:span 1;justify-content:flex-start}.bento-card h3{color:#0f172a;color:var(--text-primary-light);font-size:1.4rem;font-weight:700;margin-bottom:1rem}.bento-card p{color:#64748b;color:var(--text-muted-light);font-size:1rem;line-height:1.6}.feature-icon{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;font-size:2rem;height:50px;justify-content:center;margin-bottom:1.5rem;width:50px}.glow-icon{background:#3b82f61a;border:1px solid #3b82f633}.data-parsing-card{background:linear-gradient(135deg,#fff,#f8fafc)}.data-parsing-card .card-content{flex:1 1;z-index:2}.visual-grid{background-image:radial-gradient(#cbd5e1 2px,#0000 0);background-size:20px 20px;border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:16px;flex:1 1;height:100%;min-height:200px;opacity:.5}.drawing-tools-card{background:#0f172a;color:#fff;grid-column:span 3;padding:3rem 2rem;text-align:center}.drawing-tools-card h3{color:#fff}.drawing-tools-card p{color:#94a3b8;margin:0 auto;max-width:600px}.ad-container{margin:0 auto;max-width:1000px;padding:2rem 5%}.bottom-cta-section{background:#030712;background:var(--app-bg);color:#fff;overflow:hidden;padding:5rem 5%;position:relative;text-align:center}.cta-glow{background:radial-gradient(circle,#3b82f633 0,#0000 60%);height:400px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px;z-index:0}.relative-z{position:relative;z-index:1}.bottom-cta-section h2{font-size:3.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:1.5rem}.bottom-cta-section p{color:#9ca3af;color:var(--text-muted-dark);font-size:1.2rem}.premium-footer{background:#020617;border-top:1px solid #1e293b;color:#64748b;padding:3rem 5% 1.5rem}.footer-content{grid-gap:3rem;border-bottom:1px solid #1e293b;display:grid;gap:3rem;grid-template-columns:2fr 1fr 1fr;margin:0 auto 1.5rem;max-width:1200px;padding-bottom:2.5rem}.footer-links-group h4{color:#fff;font-size:1rem;margin-bottom:1.5rem}.footer-links-group a{color:#64748b;display:block;margin-bottom:.8rem;text-decoration:none;transition:color .2s}.footer-links-group a:hover{color:#fff}.footer-bottom{font-size:.85rem;text-align:center}.fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(30px)}.delay-1{animation-delay:.2s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.bento-grid{grid-template-columns:1fr}.bento-large,.bento-small{flex-direction:column;grid-column:span 1}.drawing-tools-card{grid-column:span 1}.hero-title{font-size:3.5rem}.metrics-grid{flex-direction:column;gap:1rem}.metric-divider{display:none}.footer-content{grid-template-columns:1fr}.premium-mockup{height:300px}.traffic-lights{display:none}}@media (max-width:600px){.hero-actions{flex-direction:column}.nav-links{display:none}.hero-title{font-size:2.5rem}}.feature-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:20px;color:#3b82f6;color:var(--primary-blue);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.2rem;padding:.35rem .8rem;text-transform:uppercase}.data-parsing-card,.visual-grid{position:relative}.visual-grid{align-items:center;background:#0000!important;border:none!important;display:flex;flex-direction:column;gap:1.2rem;justify-content:center;overflow:hidden}.visual-grid-bg{background-image:radial-gradient(#cbd5e1 2px,#0000 0);background-size:20px 20px;border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:16px;bottom:0;left:0;mask-image:radial-gradient(circle at center,#000 40%,#0000 80%);-webkit-mask-image:radial-gradient(circle at center,#000 40%,#0000 80%);opacity:.4;position:absolute;right:0;top:0;z-index:0}.floating-element{animation:floatElement 5s ease-in-out infinite;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 10px 25px -5px #0000000d;color:#0f172a;color:var(--text-primary-light);font-family:monospace;font-size:.85rem;padding:.6rem 1.2rem;position:relative;z-index:1}.floating-element.delay{animation-delay:2.5s}@keyframes floatElement{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(1deg)}}.ai-chat-mockup{display:flex;flex-direction:column;gap:.6rem;margin-top:auto;padding-top:1.5rem}.chat-bubble{border-radius:12px;font-size:.85rem;line-height:1.4;max-width:90%;padding:.6rem .9rem;width:-webkit-fit-content;width:fit-content}.chat-bubble.user{align-self:flex-end;background:#f1f5f9;border-bottom-right-radius:2px;color:#334155}.chat-bubble.ai{background:linear-gradient(135deg,#3b82f614,#93c5fd26);border:1px solid #3b82f633;border-bottom-left-radius:2px;color:#3b82f6;color:var(--primary-blue);font-weight:500}.crs-code-mockup{background:#0f172a;border:1px solid #1e293b;border-radius:10px;box-shadow:inset 0 2px 10px #0003;display:flex;flex-direction:column;gap:.4rem;margin-top:auto;padding:1rem 1.2rem}.crs-code-mockup code{font-family:Fira Code,monospace;font-size:.85rem}.crs-code-mockup code:first-child{color:#34d399}.crs-code-mockup code:nth-child(2){color:#94a3b8;font-size:.75rem}.drawing-tools-card{overflow:hidden;position:relative}.drawing-tools-card .card-content{position:relative;z-index:2}.tools-mockup{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2.5rem}.tool-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;color:#cbd5e1;cursor:pointer;font-size:.95rem;font-weight:600;outline:none;padding:.8rem 1.8rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.tool-btn:hover{background:#ffffff1a;box-shadow:0 5px 15px -5px #ffffff1a;color:#fff;transform:translateY(-2px)}.tool-btn.active{background:#3b82f6;background:var(--primary-blue);border-color:#3b82f6;border-color:var(--primary-blue);box-shadow:0 12px 25px -5px #3b82f699;color:#fff;transform:translateY(-3px) scale(1.03)}.layer-mockup{background:#0f172a;border:1px solid #1e293b;border-radius:10px;box-shadow:inset 0 2px 10px #0003;display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding:.8rem}.layer-item{background:#1e293b;border-radius:6px;color:#cbd5e1;font-family:Fira Code,monospace;font-size:.8rem;gap:.8rem;padding:.4rem .8rem;transition:background .2s}.layer-item:hover{background:#334155}.layer-item .icon{cursor:pointer;font-size:.85rem;margin-left:auto;opacity:.7}.color-box{border-radius:3px;height:12px;width:12px}.c-blue{background:#3b82f6}.c-green{background:#10b981}.c-red{background:#ef4444}.snap-mockup{background:#fff;background:var(--surface-light);background-image:radial-gradient(#cbd5e1 2px,#0000 0);background-size:15px 15px;border:1px solid #e2e8f0;border:1px solid var(--border-light);border-radius:10px;justify-content:center;margin-top:auto;padding:2rem 1rem}.snap-grid,.snap-mockup{align-items:center;display:flex;position:relative}.snap-grid{height:30px;justify-content:space-between;width:100%}.snap-line{background:#3b82f6;background:var(--primary-blue);flex:1 1;height:2px;z-index:1}.snap-point{align-items:center;box-shadow:0 0 10px #0000001a;display:flex;height:14px;justify-content:center;position:relative;width:14px;z-index:2}.snap-point.endpoint{background:#f59e0b33;border:2px solid #f59e0b;border-radius:2px}.snap-point.midpoint{background:#10b98133;border:2px solid #10b981;border-radius:50%}.tooltip-visible{position:relative}.tooltip-visible .tooltip{background:#0f172a;border-radius:4px;box-shadow:0 4px 6px #0000001a;color:#f59e0b;font-family:Fira Code,monospace;font-size:.7rem;font-weight:600;left:50%;padding:.3rem .6rem;position:absolute;top:-32px;transform:translateX(-50%);white-space:nowrap}.tooltip-visible .tooltip:after{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid #0f172a;bottom:-4px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.nav-link-btn{background:#0000;border:none;color:#cbd5e1;cursor:pointer;font-size:1rem;font-weight:500;transition:color .2s}.nav-link-btn:hover{color:#fff}.tutorial-list{display:flex;flex-direction:column;gap:.8rem;padding-left:1.2rem}.tip-box{background:#3b82f61a;border-left:3px solid #3b82f6;border-radius:4px;color:#e2e8f0;list-style-type:none;margin-top:.5rem;padding:.8rem 1rem}.step-container{display:flex;flex-direction:column;gap:1.5rem}.step-item strong{color:#fff;display:block;font-size:1.1rem;margin-bottom:.3rem}.advanced-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.advanced-card h4{color:#fff;font-size:1.1rem;margin-bottom:.8rem}@media (max-width:900px){.tutorial-layout{flex-direction:column!important}.tutorial-sidebar{flex-direction:row!important;overflow-x:auto;padding-bottom:1rem;position:static!important}.tutorial-sidebar button{border-bottom:3px solid #0000;border-left:none!important;border-radius:8px 8px 0 0!important;white-space:nowrap}}.App{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.menu-bar{align-items:center;background-color:#34495e;box-shadow:0 2px 4px #0003;color:#ecf0f1;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px;z-index:101}.menu-bar-left-items{display:flex;gap:15px}.menu-bar-right-logo{margin-left:auto}.menu-bar-right-logo h1{color:#3498db;font-size:1.8em;margin:0}.dropbtn{background-color:initial;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:1em;font-weight:700;padding:8px 15px;transition:background-color .2s ease}.dropdown-content{background-color:#f9f9f9;border-radius:4px;box-shadow:0 8px 16px 0 #0003;display:none;min-width:180px;overflow:hidden;position:absolute;z-index:100}.dropdown-content.show{display:block}.dropdown-content button,.dropdown-content div.dropdown-item-div,.dropdown-content label.dropdown-item-label{background-color:#f9f9f9;border:none;box-sizing:border-box;color:#000;cursor:pointer;display:block;padding:10px 14px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.main-layout-content{background-color:#fff;display:flex;flex-grow:1;min-height:100vh;overflow:hidden;position:relative}.left-sidebar{background-color:#ecf0f1;box-shadow:2px 0 5px #0000001a;flex-shrink:0;overflow-y:auto;padding:15px 15px 15px 0;width:268px;z-index:10}.left-sidebar.allow-overflow{overflow:visible}.panel{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;overflow:hidden}.panel-header{align-items:center;background-color:#34495e;border-bottom:1px solid #2c3e50;color:#ecf0f1;cursor:pointer;display:flex;justify-content:space-between;padding:10px 15px}.panel-header h3{font-size:1.1em;font-weight:600;margin:0}.panel-header .toggle-icon{font-size:1.2em;transition:transform .2s ease-in-out}.panel-header.collapsed .toggle-icon{transform:rotate(-90deg)}.panel-content{border-top:1px solid #e0e0e0;box-sizing:border-box;display:block;max-height:500px;opacity:1;overflow-y:auto;padding:10px;transition:max-height .3s ease-out,padding .3s ease-out,opacity .3s ease-out}.panel-content.collapsed{max-height:0;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0}.panel-actions-top,.panel-actions-top button{align-items:center;display:flex}.panel-actions-top button{background-color:#5a6772;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.8em;height:23px;justify-content:center;margin-left:6px;transition:background-color .2s ease;width:23px}.panel-symbols-grid{grid-gap:2px;display:grid;grid-template-columns:repeat(auto-fill,minmax(20px,1fr))}.panel-symbols-grid button,.panel-symbols-grid label.panel-symbols-grid-label{align-items:center;background-color:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;height:28px;justify-content:center;text-align:center;transition:background-color .2s ease;width:28px}.panel-symbols-grid button:disabled,.panel-symbols-grid label.panel-symbols-grid-label.disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}.panel-symbols-grid .symbol-text{word-wrap:break-word;display:block;font-size:.6em;line-height:1;margin-top:3px;width:100%}.panel-symbols-grid button.active-tool{box-shadow:inset 0 0 5px #0000004d}.layer-list{list-style:none;margin:0;padding:0}.layer-item{align-items:center;border-bottom:1px solid #e0e0e0;border-top:2px solid #0000;color:#34495e;cursor:pointer;display:flex;font-size:.8em;padding:3px;position:relative;transition:background-color .2s ease,opacity .2s ease,border-top .1s linear}.layer-item.member-layer{padding-left:25px;position:relative}.layer-item.member-layer:before{color:#95a5a6;content:"└";font-size:1.2em;left:10px;position:absolute;top:50%;transform:translateY(-50%)}.layer-item[draggable=true]{cursor:grab}.layer-item.dragging{background-color:#d0e0f0;opacity:.5}.layer-item.drop-target{background-color:#eaf2f8;border-top-color:#3498db}.layer-item.active-drawing-layer{background-color:#d0e0f0;font-weight:700}.layer-item.selected-layer{background-color:#aed6f1;border-left:3px solid #3498db}.layer-item:last-child{border-bottom:none}.layer-item .layer-name{flex-grow:1;margin-right:8px;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap}.layer-name-input{background-color:#f0f8ff;border:1px solid #3498db;border-radius:3px;color:inherit;flex-grow:1;font-family:inherit;font-size:inherit;margin-right:8px;outline:none;padding:1px 3px}.layer-item.editing{background-color:#eaf2f8}.layer-item-actions{align-items:center;display:flex;margin-left:auto}.layer-color-picker-container{margin-right:4px;position:relative}.layer-color-swatch{border:1px solid #bdc3c7;border-radius:4px;cursor:pointer;flex-shrink:0;height:14px;width:14px}.color-picker-panel{background-color:#f1f4f6;border:1px solid #bdc3c7;border-radius:5px;box-shadow:0 4px 8px #00000026;padding:10px;position:fixed;width:154px;z-index:105}.color-picker-panel label{color:#34495e;display:block;font-size:.8em;font-weight:700;margin-bottom:4px}.layer-color-picker-input{border:1px solid #ccc;cursor:pointer;height:25px;margin-bottom:8px;padding:0;width:100%}.main-colors-palette{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(6,1fr);justify-items:center}.main-color-box{border:1px solid #ccc;border-radius:3px;cursor:pointer;height:20px;transition:transform .1s ease-in-out,border-color .1s ease-in-out;width:20px}.main-color-box:hover{border-color:#3498db;transform:scale(1.15)}.layer-item .layer-action-button{background:none;border:none;color:#555;cursor:pointer;flex-shrink:0;font-size:.8em;margin-left:2px;padding:0 2px}.layer-item .layer-action-button:disabled{cursor:not-allowed;opacity:.4}.canvas-container{cursor:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27><line x1=%2720%27 y1=%270%27 x2=%2720%27 y2=%2740%27 stroke=%27%23FFFFFF%27 stroke-width=%270.7%27/><line x1=%270%27 y1=%2720%27 x2=%2740%27 y2=%2720%27 stroke=%27%23FFFFFF%27 stroke-width=%270.7%27/><circle cx=%2720%27 cy=%2720%27 r=%273%27 fill=%27%23FFFFFF%27/></svg>") 20 20,crosshair;flex-grow:1;overflow:hidden;position:relative}.webgl-canvas{display:block;height:100%;width:100%}.canvas-controls-top-right{display:flex;gap:5px;position:absolute;right:10px;top:110px;z-index:10}.canvas-control-button{align-items:center;background-color:#34495eb3;border:1px solid #ecf0f166;border-radius:4px;box-shadow:0 1px 2px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.1em;font-weight:700;height:36px;justify-content:center;transition:background-color .2s ease,border-color .2s ease;width:36px}.canvas-control-button:disabled{background-color:#7f8c8d66;border-color:#fff3;cursor:not-allowed;opacity:.6}.canvas-control-button.active{background-color:#2ecc71cc;border-color:#2ecc71}.canvas-control-button svg{height:65%;width:65%}.status-messages{background-color:#2c3e50d9;border-radius:4px;bottom:10px;box-shadow:0 1px 3px #0000004d;box-sizing:border-box;color:#fff;font-size:.8em;left:250px;max-height:100px;max-width:calc(100% - 410px);overflow-y:auto;padding:8px 12px;position:absolute;white-space:pre-wrap;z-index:10}.status-message{border-bottom:1px solid #ffffff1a;margin:0;padding:4px 0}.status-message:last-child{border-bottom:none}.status-message.loading{color:#f1c40f}.status-message.error{color:#e74c3c;font-weight:700}.status-message.warning{color:#f39c12}.status-message.info{color:#2ecc71;font-weight:700}.warning-list{font-size:.95em;list-style:disc;margin:5px 0 0 15px;padding:0}.warning-list li{padding-bottom:3px}.coordinate-panel{background-color:#2c3e50bf;border-radius:3px;bottom:10px;box-sizing:border-box;color:#ecf0f1;font-family:Courier New,Courier,monospace;font-size:.75em;line-height:1.3;min-width:130px;padding:5px 10px;position:absolute;right:10px;text-align:right;white-space:nowrap;z-index:10}body::-webkit-scrollbar{height:10px;width:10px}body::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}body::-webkit-scrollbar-thumb{background:#bdc3c7;border:2px solid #f0f0f0;border-radius:10px}.left-sidebar::-webkit-scrollbar,.panel-content::-webkit-scrollbar,.status-messages::-webkit-scrollbar{height:8px;width:8px}.left-sidebar::-webkit-scrollbar-track,.panel-content::-webkit-scrollbar-track,.status-messages::-webkit-scrollbar-track{background:#e0e0e0;border-radius:8px}.left-sidebar::-webkit-scrollbar-thumb,.panel-content::-webkit-scrollbar-thumb,.status-messages::-webkit-scrollbar-thumb{background:#a0a0a0;border:1px solid #e0e0e0;border-radius:8px}.scale-bar-display{background-color:#2c3e50bf;border-radius:3px;bottom:10px;color:#ecf0f1;font-size:.75em;left:10px;padding:5px 10px;position:absolute;white-space:nowrap;z-index:10}.layer-item-menu-container{display:inline-block;position:relative}.layer-item-menu-button{background:none;border:none;color:#555;cursor:pointer;flex-shrink:0;font-size:1.2em;font-weight:700;line-height:1;margin-left:2px;padding:0 4px}.layer-item-dropdown{background-color:#f9f9f9;border-radius:4px;box-shadow:0 8px 16px 0 #0003;display:none;min-width:160px;position:fixed;z-index:102}.layer-item-dropdown.show{display:block}.layer-item-dropdown button{background-color:#f9f9f9;border:none;color:#000;cursor:pointer;display:block;padding:10px 14px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.layer-item-dropdown button:hover{background-color:#ddd}.sort-dropdown-container{position:relative}.sort-dropdown-container .dropdown-content{border:1px solid #bdc3c7;border-radius:5px;left:auto;margin-top:5px;min-width:220px;right:0;top:100%}.sort-dropdown-container .dropdown-content button{background-color:#fff;border:none;box-sizing:border-box;color:#2c3e50;cursor:pointer;display:block;font-size:.9em;font-weight:500;line-height:1.3;padding:12px 20px;text-align:left;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:normal;width:100%}.sort-dropdown-container .dropdown-content button:hover{background-color:#3498db;color:#fff}.left-sidebar{display:flex;flex-direction:column;gap:0;padding:3px 5px 0 0}.side-panel-container{width:100%}.tools-section{flex-grow:1;margin-top:4px;overflow-y:auto}.layers-section-wrapper{flex-shrink:0}.tools-section-title{border-bottom:1px solid #e0e0e0;color:#7f8c8d;font-size:.8em;font-weight:600;margin:15px 0 10px;padding-bottom:5px;text-transform:uppercase}.tools-section-title:first-child{margin-top:0}.tools-section .panel-symbols-grid{margin-bottom:1px}.panel-symbols-grid{gap:1px;grid-template-columns:repeat(auto-fill,minmax(30px,1fr))}.panel-symbols-grid button,.panel-symbols-grid label.panel-symbols-grid-label{line-height:1;min-height:40px;padding:3px}.panel-symbols-grid button.active-tool{background-color:#1abc9c;border:1px solid #16a085;box-shadow:inset 0 0 8px #0006}.panel-symbols-grid button.area-selected{background-color:#1abc9c80}.layer-panel{background:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%}.layer-panel .panel-header{align-items:center;background-color:initial;border-bottom:none;color:#34495e;cursor:default;display:flex;justify-content:space-between;padding:0 0 10px}.layer-panel .panel-header h3{font-size:.9em;font-weight:600}.layer-panel .panel-header .toggle-icon{display:none}.panel-content.collapsed{border-top:1px solid #e0e0e0;max-height:none;opacity:1;overflow-y:visible;padding:10px}.tools-section-title{display:none}hr.tool-separator{background-color:#e0e0e0;border:0;height:1px;margin:4px 0}.panel-symbols-grid{gap:2px;grid-template-columns:repeat(8,auto);justify-content:start}.panel-symbols-grid button,.panel-symbols-grid label.panel-symbols-grid-label{font-size:1em;line-height:.7;min-height:2px;padding:2px}.panel-symbols-grid .symbol-text{font-size:.55em;margin-top:2px}.layer-panel .panel-content{border:1px solid #e0e0e0;border-radius:4px;box-shadow:inset 0 5px 5px -5px #0000001a,inset 0 -5px 5px -5px #0000001a;flex:1 1;height:auto;max-height:none;min-height:0;overflow-y:auto;padding:0;position:relative}.layer-panel .panel-content.collapsed{border-top:none;flex:1 1;height:auto;max-height:none;opacity:1;overflow-y:auto;padding:0}.advanced-selection-dialog-overlay{align-items:center;background-color:initial;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.advanced-selection-dialog{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:8px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;gap:15px;max-width:500px;padding:0;pointer-events:auto;width:90%}.advanced-selection-header{align-items:center;background-color:#34495e;border-radius:7px 7px 0 0;color:#fff;display:flex;justify-content:space-between;padding:10px 15px}.advanced-selection-header h2{font-size:1.1em;margin:0}.dialog-close-button{background:none;border:none;color:#ecf0f1;cursor:pointer;font-size:1.5em;line-height:1;opacity:.7;padding:0 5px;transition:opacity .2s}.dialog-close-button:hover{opacity:1}.selection-main-area{border-bottom:none;display:flex;gap:15px;padding:0 15px}.selection-panel{display:flex;flex:1 1;flex-direction:column;min-width:0}.selection-panel-header{align-items:center;border-bottom:1px solid #bdc3c7;display:flex;gap:8px;margin-bottom:8px;padding-bottom:5px}.selection-panel-header label{color:#34495e;font-size:.9em;font-weight:700;text-transform:uppercase}.selection-panel-header input[type=checkbox]{height:16px;width:16px}.selection-list{background-color:#fff;border:1px solid #bdc3c7;border-radius:4px;display:flex;flex-direction:column;gap:2px;padding:5px}.selection-list.scrollable{height:100px;overflow-x:auto;overflow-y:auto}.empty-list-message{color:#7f8c8d;font-size:.9em;font-style:italic;padding:10px;text-align:center}.selection-list-item{align-items:center;border-radius:3px;display:flex;gap:6px;padding:1px 4px;transition:background-color .1s ease}.selection-list-item:hover{background-color:#f0f8ff}.selection-list-item label{cursor:pointer;white-space:nowrap}.selection-actions-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));padding:0 15px 15px}.selection-actions-grid button{background-color:#95a5a6;border:1px solid #7f8c8d;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;font-weight:500;padding:6px 8px;transition:all .2s}.selection-actions-grid button:hover{background-color:#7f8c8d;border-color:#5d6d7e}.selection-actions-grid button:disabled{background-color:#bdc3c7;border-color:#bdc3c7;cursor:not-allowed;opacity:.6}.advanced-selection-dialog .close-button,.selection-group-bottom,.tools-selection{display:none}.selection-list-item.disabled{color:#95a5a6;cursor:not-allowed;opacity:.7}.selection-list-item.disabled label{cursor:not-allowed}.tool-submenu-container.point-tool-container{position:relative;z-index:20}.point-submenu{background-color:initial;border:none;display:flex;flex-direction:column;gap:5px;left:50%;margin-top:5px;opacity:0;padding:0;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transform:translateY(-10px) translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:1001}.tool-submenu-container.submenu-visible .point-submenu{opacity:1;pointer-events:auto;transform:translateY(0) translateX(-50%)}.point-submenu .submenu-button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;height:auto;line-height:1.1;min-height:24px;padding:2px 6px;position:relative;transition:background-color .2s ease,transform .2s ease;white-space:nowrap;width:auto}.tools-section.submenu-active{overflow:visible}.tool-submenu-container.polygon-tool-container{position:relative;z-index:20}.polygon-submenu{background-color:initial;border:none;display:flex;flex-direction:column;gap:1px;left:50%;margin-top:5px;opacity:0;padding:0;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transform:translateY(-10px) translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:1001}.tool-submenu-container.submenu-visible .polygon-submenu{opacity:1;pointer-events:auto;transform:translateY(0) translateX(-50%)}.tools-section.submenu-active .panel-symbols-grid>:not(.polygon-tool-container){filter:blur(.5px);opacity:.7;pointer-events:none;transition:filter .3s ease,opacity .3s ease}.tools-section.submenu-active .polygon-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.snap-toolbar-container{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#2c3e5080;border-radius:6px;box-shadow:0 2px 5px #0003;display:flex;gap:5px;left:50%;opacity:.15;padding:5px;position:absolute;top:110px;transform:translateX(-50%);transition:opacity .3s ease;z-index:20}.snap-toolbar-container:hover{opacity:1}.snap-button{align-items:center;background-color:initial;border:1px solid #fff6;border-radius:4px;color:#ecf0f1;cursor:pointer;display:flex;font-size:1.4em;font-weight:700;height:32px;justify-content:center;padding:0;transition:background-color .2s ease,border-color .2s ease;width:32px}.snap-button:hover{background-color:#fff3;border-color:#fffc}.snap-button.active{background-color:#3498db;border-color:#2980b9;color:#fff}.snap-separator{background-color:#ffffff4d;height:24px;margin:0 5px;width:1px}.precise-input-dialog{gap:0;max-width:320px;width:90%}.precise-input-form{display:flex;flex-direction:column;gap:8px;padding:10px}.precise-input-tabs{background-color:#d0d3d4;border-radius:4px;display:flex;margin-bottom:10px;padding:3px}.precise-input-tab{background-color:initial;border:none;border-radius:3px;color:#34495e;cursor:pointer;flex:1 1;font-size:.8em;font-weight:500;padding:6px 5px;transition:all .2s ease}.precise-input-tab:hover{background-color:#e0e4e5}.precise-input-tab.active{background-color:#fff;box-shadow:0 1px 2px #0000001a;color:#2c3e50;font-weight:700}.precise-input-tab-content{display:flex;flex-direction:column;gap:8px}.precise-input-form .input-group{display:flex;flex-direction:column;gap:5px}.input-group.compact{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto 1fr;margin-bottom:10px}.input-with-dropdown{align-items:center;display:flex;gap:5px}.input-with-dropdown input{flex-grow:1}.input-group.compact>label{color:#34495e;font-size:.85em;font-weight:700;padding-right:5px;text-align:right}.precise-input-form .coord-inputs{grid-gap:5px;align-items:center;display:grid;gap:5px;grid-template-columns:auto 1fr}.coord-inputs.compact{grid-gap:4px 6px;align-items:center;display:grid;gap:4px 6px;grid-template-columns:auto 1fr}.coord-inputs.compact.la-inputs{grid-template-columns:auto 1fr}.coord-inputs.compact input{max-width:6em}.coord-inputs.compact.la-inputs{grid-template-columns:auto 1fr auto 1fr}.coord-inputs.compact label{font-size:.8em;font-weight:400}.precise-input-form input,.precise-input-form select{border:1px solid #bdc3c7;border-radius:4px;font-size:.85em;padding:6px}.precise-input-form .single-input{box-sizing:border-box;width:100%}.precise-input-form .dialog-info{color:#7f8c8d;font-size:.8em;margin-top:5px}.precise-input-form .dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.precise-input-form .dialog-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 15px}.precise-input-form .dialog-actions button[type=submit]{background-color:#27ae60;color:#fff}.precise-input-form .dialog-actions button[type=button]{background-color:#bdc3c7;color:#2c3e50}.precise-input-form .input-group-inline{align-items:flex-start;display:flex;flex-direction:row;gap:15px}.precise-input-form .input-subgroup{display:flex;flex:1 1;flex-direction:column;gap:5px}.precise-input-form .input-subgroup input{box-sizing:border-box;width:100%}.precise-text-dialog{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:8px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;max-width:450px;pointer-events:auto;width:90%}.precise-mtext-dialog{max-width:1000px}.precise-text-content{display:flex;flex-direction:column;gap:12px;padding:15px}.text-input-row{align-items:center;display:flex;gap:5px}.text-main-input{color:#2c3e50;flex-grow:1;padding:8px 10px}.stepper-btn,.text-main-input{background-color:#fff;border:1px solid #bdc3c7;border-radius:4px;font-size:1em}.stepper-btn{cursor:pointer;flex-shrink:0;font-weight:700;height:32px;transition:all .2s ease;width:32px}.stepper-btn:hover{border-color:#3498db}.stepper-btn.active{background-color:#3498db;border-color:#2980b9;color:#fff}.text-style-row{align-items:center;display:flex;gap:5px;justify-content:flex-start}.stepper-btn,.style-btn{align-items:center;background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.8em;height:22px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:22px}.style-btn:hover{border-color:#3498db}.style-btn.active{background-color:#3498db;border-color:#2980b9;color:#fff}.style-btn b,.style-btn i,.style-btn s,.style-btn u{font-style:normal;text-decoration:none}.text-props-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.prop-group{display:flex;flex-direction:column;position:relative}.prop-group label{color:#34495e;font-size:.8em;font-weight:500;margin-bottom:4px;text-align:center}.prop-group input{border:1px solid #bdc3c7;border-radius:4px;box-sizing:border-box;padding:6px 18px 6px 6px;text-align:center;width:100%}.stepper-arrows{display:flex;flex-direction:column;height:calc(100% - 22px);justify-content:center;position:absolute;right:4px;top:22px;-webkit-user-select:none;user-select:none}.stepper-arrows div{color:#7f8c8d;cursor:pointer;font-size:.8em;line-height:.8;padding:1px 0}.stepper-arrows div:hover{color:#3498db}.text-placement-row{align-items:stretch;display:flex;gap:15px}.coord-panel{background-color:#fdfefe;border:1px solid #d0d3d4;border-radius:4px;flex:1.5 1;padding:10px}.coord-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.coord-header label{color:#34495e;cursor:pointer;font-weight:700}.coord-panel .coord-inputs{grid-gap:6px 8px;align-items:center;display:grid;gap:6px 8px;grid-template-columns:auto 1fr}.coord-panel .coord-inputs label{font-weight:500}.coord-panel .coord-inputs input{border:1px solid #bdc3c7;border-radius:4px;padding:6px}.coord-panel .coord-inputs input:disabled{background-color:#e5e7e9;color:#909497;cursor:not-allowed}.alignment-panel{align-items:center;background-color:#fdfefe;border:1px solid #d0d3d4;border-radius:4px;display:flex;flex:1 1;flex-direction:column;padding:10px}.alignment-panel>label{color:#34495e;font-weight:700;margin-bottom:10px}.alignment-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,25px);grid-template-rows:repeat(3,25px)}.alignment-grid button{background-color:#fff;border:1px solid #bdc3c7;border-radius:3px;cursor:pointer;position:relative;transition:background-color .2s}.alignment-grid button:hover{background-color:#eaf2f8;border-color:#aed6f1}.alignment-grid button.active{background-color:#3498db;border-color:#2980b9}.alignment-grid button.active:after{background:#fff;border-radius:50%;box-shadow:0 0 2px #00000080;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.text-style-row.compact{align-items:center;display:flex;gap:5px}.prop-group.compact label{font-size:.9em;margin-bottom:0}.prop-group.compact input{padding:4px;text-align:center;width:60px}.extend-arrow{background:none;border:none;color:#ecf0f1;cursor:pointer;font-size:1.2em;padding:5px;transition:transform .3s ease}.extend-arrow.extended{transform:rotate(180deg)}.dialog-extendable-content{display:flex;flex-direction:column;gap:12px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease-in-out,opacity .4s ease-in-out,padding .4s ease-in-out,border-top .4s ease-in-out}.dialog-extendable-content.extended{max-height:300px;opacity:1}.text-props-row{grid-template-columns:repeat(4,1fr)}.prop-group.compact{align-items:center;display:flex;flex-direction:row;gap:5px;margin-left:10px}.editable-text-input{background:#000;border:1px solid #3498db;color:#fff;outline:none;overflow:hidden;resize:none;z-index:1001}.editable-text-input,.editable-text-mirror{box-sizing:border-box;margin:0;padding:2px;position:absolute;white-space:pre}.editable-text-mirror{visibility:hidden;z-index:-1}.precise-input-form .input-group select{border:1px solid #bdc3c7;border-radius:4px;box-sizing:border-box;font-size:.9em;padding:8px;width:100%}.layer-properties-dialog-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1050}.layer-properties-dialog{background:#2c2c2e;border-radius:8px;box-shadow:0 5px 15px #00000080;color:#f0f0f0;display:flex;flex-direction:column;width:450px}.properties-header{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;padding:12px 20px}.properties-header h3{font-size:1.1rem;font-weight:500;margin:0}.close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:24px;font-weight:700;padding:0 5px}.close-button:hover{color:#fff}.properties-body{flex-grow:1;padding:20px}.properties-tabs{border-bottom:1px solid #444;display:flex;margin-bottom:20px}.properties-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#aaa;cursor:pointer;font-size:.9rem;padding:10px 15px;transition:all .2s ease-in-out}.properties-tabs button:hover{background:#3a3a3c;color:#fff}.properties-tabs button.active{border-bottom-color:#007aff;color:#007aff;font-weight:500}.properties-tab-content{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#ccc;font-size:.85rem}.form-group input[type=number],.form-group input[type=text],.form-group select{background:#3a3a3c;border:1px solid #555;border-radius:4px;color:#f0f0f0;font-size:.9rem;padding:8px 10px}.form-group input:focus,.form-group select:focus{border-color:#007aff;box-shadow:0 0 0 2px #007aff4d;outline:none}.form-group input[type=checkbox]{margin-right:8px}.properties-hr{margin:10px 0}.properties-footer{background:#333335;border-radius:0 0 8px 8px;border-top:1px solid #444;display:flex;justify-content:flex-end;padding:12px 20px}.properties-footer button{border:none;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 15px}.properties-footer .button-secondary{background:#555;color:#fff;margin-right:10px}.properties-footer .button-secondary:hover{background:#666}.properties-footer .button-primary{background:#007aff;color:#fff}.properties-footer .button-primary:hover{background:#0056b3}.more-tools-container .more-button{background-color:initial;border:none;color:#fff;cursor:pointer;margin:0;padding:5px}.more-tools-panel{background-color:#333;border:1px solid #555;border-radius:4px;display:none;flex-direction:column;left:100%;padding:5px;position:absolute;top:0;z-index:1000}.more-tools-container.submenu-visible .more-tools-panel{display:flex}.more-tools-panel-button{align-items:center;background-color:#444;border:1px solid #666;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-bottom:5px;padding:8px}.more-tools-panel-button:last-child{margin-bottom:0}.more-tools-panel-button:hover{background-color:#555}.more-tools-panel-button.active-tool{background-color:#007bff}.measure-style-dialog{background-color:#3e4a59;border:1px solid #5d6d7e;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#ecf0f1;min-width:0!important;position:absolute;width:auto!important;z-index:1002}.measure-style-dialog .measure-style-content{flex-wrap:nowrap!important;padding:10px 15px}.measure-style-dialog .measure-style-content,.precise-text-dialog-specific .measure-style-content{align-items:center!important;display:flex!important;flex-direction:row!important;gap:15px!important}.precise-text-dialog-specific .measure-style-content{border:none!important;line-height:1!important;margin:0!important;min-height:auto!important;padding:6px 15px!important}.precise-text-dialog-specific .dialog-extendable-content:not(.extended){border:none!important;margin:0!important;max-height:0!important;overflow:hidden!important;padding:0!important}.precise-text-dialog-specific .measure-style-content .form-group-horizontal{margin-bottom:0!important}.measure-style-dialog .form-group-horizontal{align-items:center;display:flex;gap:5px;margin-bottom:0}.measure-style-header{align-items:center;background-color:#2c3e50;border-bottom:1px solid #5d6d7e;border-radius:5px 5px 0 0;cursor:move;display:flex;font-size:.8em;font-weight:700;justify-content:space-between;padding:6px 10px}.dialog-close-button-small{background:none;border:none;color:#bdc3c7;cursor:pointer;font-size:1.2em;line-height:1}.measure-style-content{align-items:center;display:flex;gap:12px;padding:8px 10px}.form-group-horizontal{align-items:center;display:flex;gap:5px}.form-group-horizontal label{font-size:.8em;white-space:nowrap}.form-group-horizontal .transparency-input{text-align:left;width:45px}.form-group-horizontal input,.form-group-horizontal select{background-color:#2c3e50;border:1px solid #5d6d7e;border-radius:3px;color:#ecf0f1;font-size:.8em;padding:4px;width:60px}.dialog-actions-vertical{border-left:1px solid #5d6d7e;display:flex;gap:5px;margin-left:auto;padding-left:10px}.dialog-actions-vertical button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;color:#fff;cursor:pointer;font-size:.9em;padding:4px 8px}.dialog-actions-vertical button:hover{background-color:#7f8c8d}.settings-portal-button{align-items:center;background-color:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:1.2em;height:28px;justify-content:center;line-height:.7;padding:2px;text-align:center;transition:background-color .2s ease;width:28px}.settings-portal-button .symbol-text{font-size:.55em;margin-top:2px}.settings-portal-button:hover{background-color:#2980b9}.object-properties-dialog{background-color:#3e4a59;border:1px solid #5d6d7e;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#ecf0f1;display:flex;flex-direction:column;max-height:70vh;position:absolute;width:300px;z-index:1002}.object-properties-header{align-items:center;background-color:#2c3e50;border-bottom:1px solid #5d6d7e;border-radius:5px 5px 0 0;cursor:move;display:flex;justify-content:space-between;padding:6px 10px}.object-properties-header h3{font-size:.9em;font-weight:700;margin:0}.object-properties-header button{background:none;border:none;color:#bdc3c7;cursor:pointer;font-size:1.2em;line-height:1}.object-properties-body{flex-grow:1;overflow-y:auto;padding:10px}.properties-grid{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr}.properties-grid label{font-size:.8em;white-space:nowrap}.properties-grid input,.properties-grid select{background-color:#2c3e50;border:1px solid #5d6d7e;border-radius:3px;color:#ecf0f1;font-size:.8em;padding:4px;width:100%}.object-properties-footer{border-top:1px solid #5d6d7e;display:flex;justify-content:flex-end;padding:8px 10px}.object-properties-footer button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;color:#fff;cursor:pointer;font-size:.9em;margin-left:5px;padding:4px 8px}.object-properties-footer button:hover{background-color:#7f8c8d}.properties-section-header{align-items:center;background-color:#3e4a59;border-radius:3px;cursor:pointer;display:flex;gap:8px;margin-top:10px;padding:4px 8px}.properties-section-header:first-of-type{margin-top:5px}.properties-section-header h4{font-size:.8em;font-weight:700;margin:0}.properties-section-header button{align-items:center;background:#5d6d7e;border:1px solid #7f8c8d;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:18px;justify-content:center;line-height:1;padding:0;width:18px}.properties-grid.coordinates-section>label{align-items:center;display:flex;gap:8px}.expand-collapse-button{align-items:center;background:#5d6d7e;border:1px solid #7f8c8d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-weight:700;height:18px;justify-content:center;line-height:1;padding:0;width:18px}.properties-grid .sub-label{color:#bdc3c7;font-style:italic;padding-left:15px}.input-with-slider{align-items:center;display:flex;position:relative}.bylayer-slider{align-items:center;background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:8%;color:#ecf0f1;cursor:pointer;display:flex;font-weight:700;height:18px;justify-content:center;left:4px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease-in-out;width:18px}.bylayer-slider.active{background-color:#3498db;border-color:#2980b9}.bylayer-slider:not(.active){left:calc(100% - 26px)}.input-with-slider input[type=text],.transparency-input[type=text]{color:#95a5a6;font-size:.7em;font-style:italic}.properties-grid .label-section{display:flex;flex-direction:column;gap:8px;grid-column:1/-1}.label-section .section-label{border-bottom:1px solid #5d6d7e;font-weight:700;padding-bottom:4px;text-align:left}.label-section .label-controls{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:auto auto 1fr auto 1fr auto}.label-section .label-controls:has(>:nth-child(4)){grid-template-columns:auto auto 1fr auto}.label-controls .show-button{grid-column:1}.label-controls label{text-align:right}.show-button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:4px;color:#ecf0f1;cursor:pointer;font-size:.8em;padding:4px 10px;transition:background-color .2s ease,border-color .2s ease}.show-button.active{background-color:#3498db;border-color:#2980b9;font-weight:700}.properties-hr{background-color:#444;border:0;grid-column:1/-1;height:1px;margin:1px 0}.tool-submenu-container.arc-tool-container,.tool-submenu-container.circle-tool-container,.tool-submenu-container.line-tool-container,.tool-submenu-container.polyline-tool-container{position:relative;z-index:20}.arc-submenu,.circle-submenu,.line-submenu,.polyline-submenu{background-color:initial;border:none;display:flex;flex-direction:column;gap:5px;left:50%;margin-top:5px;opacity:0;padding:0;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transform:translateY(-10px) translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:1001}.tool-submenu-container.submenu-visible .arc-submenu,.tool-submenu-container.submenu-visible .circle-submenu,.tool-submenu-container.submenu-visible .line-submenu,.tool-submenu-container.submenu-visible .polyline-submenu{opacity:1;pointer-events:auto;transform:translateY(0) translateX(-50%)}.arc-submenu .submenu-button,.circle-submenu .submenu-button,.line-submenu .submenu-button,.point-submenu .submenu-button,.polygon-submenu .submenu-button,.polyline-submenu .submenu-button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:.7em;height:auto;line-height:1.1;min-height:20px;padding:2px 5px;position:relative;text-align:center;transition:background-color .2s ease,transform .2s ease;white-space:nowrap;width:42px}.arc-submenu .submenu-button:hover,.circle-submenu .submenu-button:hover,.line-submenu .submenu-button:hover,.point-submenu .submenu-button:hover,.polygon-submenu .submenu-button:hover,.polyline-submenu .submenu-button:hover{background-color:#3498db;transform:scale(1.05)}.arc-submenu .submenu-button.active-tool,.circle-submenu .submenu-button.active-tool,.line-submenu .submenu-button.active-tool,.point-submenu .submenu-button.active-tool,.polygon-submenu .submenu-button.active-tool,.polyline-submenu .submenu-button.active-tool{background-color:#1abc9c;border-color:#16a085;box-shadow:inset 0 0 5px #0000004d}.tools-section.submenu-active .panel-symbols-grid>:not(.line-tool-container):not(.polyline-tool-container):not(.circle-tool-container):not(.arc-tool-container):not(.point-tool-container){filter:blur(.5px);opacity:.7;pointer-events:none;transition:filter .3s ease,opacity .3s ease}.tools-section.submenu-active .arc-tool-container .tools-section.submenu-active .point-tool-container,.tools-section.submenu-active .circle-tool-container,.tools-section.submenu-active .line-tool-container,.tools-section.submenu-active .polyline-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.object-editor-dialog-overlay{align-items:flex-start;bottom:0;display:flex;justify-content:center;left:0;padding-top:50px;pointer-events:none;position:fixed;right:0;top:0;z-index:1050}.object-editor-dialog{background:#2c2c2e;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #00000080;color:#f0f0f0;display:flex;flex-direction:column;pointer-events:auto;position:relative}.object-editor-header{align-items:center;border-bottom:1px solid #444;cursor:move;display:flex;justify-content:space-between;padding:3px 12px}.header-btn{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;padding:4px 10px;transition:background-color .2s ease}.header-btn:hover{background-color:#7f8c8d}.header-button-group{display:flex;gap:8px}.object-editor-toolbar{background:#333335;border-bottom:1px solid #444;padding:5px 12px}.column-selector-dropdown{background-color:#3a3a3c;border:1px solid #555;border-radius:4px;box-shadow:0 8px 16px 0 #0000004d;color:#f0f0f0;display:block;max-height:210px;min-width:200px;overflow-y:auto;padding:6px;position:absolute;z-index:1051}.column-search-input{background-color:#2c2c2e;border:1px solid #555;border-radius:3px;box-sizing:border-box;color:#f0f0f0;margin-bottom:6px;padding:6px 8px;width:100%}.column-selector-item:hover{background-color:#4f5b66}.column-selector-item.selected{background-color:#5d6d7e;color:#fff;font-weight:500}.column-selector-item{border-radius:3px;color:#f0f0f0;cursor:pointer;font-size:.85em;margin-bottom:2px;padding:8px 12px;transition:background-color .15s ease-in-out,color .15s ease-in-out}.column-selector-item:last-child{margin-bottom:0}.column-selector-dropdown div{display:block}.column-selector-dropdown label{display:none}.column-selector-dropdown label:hover{background-color:#4f5b66}.column-selector-dropdown input[type=checkbox]{display:none}.column-selector-dropdown label:before{background-color:#2c2c2e;border:1px solid #888;border-radius:3px;content:"";display:inline-block;height:14px;margin-right:10px;transition:all .2s;vertical-align:middle;width:14px}.column-selector-dropdown input[type=checkbox]:checked+label:before{background-color:#0a84ff;border-color:#0a84ff;color:#fff;content:"✔";font-size:10px;line-height:14px;text-align:center}.object-editor-header h3{font-size:.9rem;font-weight:500;margin:0}.object-editor-content{overflow:auto;padding:0}.object-editor-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.object-editor-resize-handle{background-color:#333335;border-bottom-left-radius:8px;border-bottom-right-radius:8px;cursor:ns-resize;height:10px;width:100%}.object-editor-resize-handle-x{cursor:col-resize;height:100%;position:absolute;right:-5px;top:0;width:10px;z-index:2}.object-editor-table{border-collapse:collapse;table-layout:fixed;width:100%}.object-editor-table td{background-color:#2c2c2e;border:1px solid #444;overflow:hidden;padding:1px 8px;text-overflow:ellipsis}.object-editor-table td,.object-editor-table th{font-size:.8rem;text-align:center;white-space:nowrap}.object-editor-table th{background-color:#3a3a3c;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.object-editor-table th .sort-indicator{font-size:.8em;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.col-resize-handle{cursor:col-resize;height:100%;position:absolute;right:-2px;top:0;width:5px;z-index:1}.object-editor-table tbody tr:hover{background-color:#3a3a3c}.object-editor-table input[type=number],.object-editor-table input[type=text]{background:#0000;border:1px solid #0000;border-radius:2px;color:#f0f0f0;font-size:.8rem;padding:3px;transition:border-color .2s,background-color .2s;width:100%}.object-editor-table input[type=number]:focus,.object-editor-table input[type=text]:focus{background-color:#1c1c1e;border-color:#0a84ff;outline:none}.object-editor-table .color-swatch{border-radius:3px;height:16px;width:16px}.object-editor-footer{background:#333335;border-radius:0 0 6px 6px;border-top:1px solid #444;cursor:move;display:flex;justify-content:space-between;padding:5px 12px}.object-editor-footer>div{display:flex;gap:8px}.object-editor-footer .button-primary,.object-editor-footer .button-secondary{border:none;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:500;padding:4px 8px}.object-editor-table .color-picker-trigger{align-items:center;border-radius:3px;cursor:pointer;display:flex;gap:8px;padding:4px}.object-editor-table .color-picker-trigger:hover{background-color:#444}.object-editor-table .color-swatch{border:1px solid #555;border-radius:4px;flex-shrink:0;height:12px;width:12px}.object-editor-table .color-picker-panel{background-color:#3a3a3c;border:1px solid #555;border-radius:5px;box-shadow:0 4px 8px #0003;left:0;padding:10px;position:absolute;top:100%;width:160px;z-index:10}.object-editor-table .color-picker-panel button{background:#555;border:none;border-radius:3px;color:#fff;cursor:pointer;margin-bottom:8px;padding:6px;width:100%}.object-editor-table .color-picker-panel label{color:#ccc;display:block;font-size:.8em;font-weight:700;margin-bottom:4px}.object-editor-table tbody tr.dragging{background:#5d6d7e;opacity:.5}.object-editor-table tbody tr{cursor:grab}.object-editor-table tbody tr.drag-over{border-top:2px solid #3498db}.object-editor-table th.dragging-col{background:#5d6d7e;opacity:.5}.object-editor-table th.drag-over-col{border-right:2px solid #3498db}.header-actions-dropdown{display:inline-block;position:relative}.column-selector-item.disabled{background-color:#2c2c2e;color:#888;cursor:not-allowed}.object-editor-table tbody tr.segment-row td{font-size:.75rem}.object-editor-table tbody tr.segment-row td:first-child{padding-left:25px;position:relative}.object-editor-table tbody tr.segment-row td:first-child:before{color:#7f8c8d;content:"↳";left:10px;position:absolute;top:50%;transform:translateY(-50%)}.object-editor-table td button{background:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;color:#fff;cursor:pointer;font-size:.9em;line-height:1.2;margin-right:5px;min-width:18px;padding:0 4px}.precise-input-dialog .coord-group{border-width:1px;margin-bottom:.1em;padding:.1em .5em .25em}.precise-input-dialog .coord-group-header{align-items:center;display:flex;margin-bottom:.1em;margin-left:-2px}.precise-input-dialog .coord-group-header legend{font-size:.9em;font-weight:700;margin:0;padding:0 .5em}.precise-input-dialog .pick-point-button-left{background:none;border:1px solid #777;border-radius:3px;cursor:pointer;flex-shrink:0;font-size:1.1em;line-height:1;margin-right:5px;padding:2px 4px}.precise-input-dialog .pick-point-button-left:hover{background-color:#555;border-color:#999}.precise-input-dialog .coord-group.active .pick-point-button-left{background-color:#007bff;border-color:#007bff;color:#fff}.precise-input-dialog .small-input{flex:1 1;height:auto;padding-bottom:2px;padding-top:2px}.precise-input-dialog .input-row{align-items:center;display:flex;justify-content:flex-start;padding-bottom:0;padding-top:0}.precise-input-dialog .input-row label{font-size:.9em;margin-right:5px;text-align:right;width:20px}.precise-input-dialog .tool-separator{margin-bottom:4px;margin-top:2px}.precise-input-dialog .dialog-actions{margin-top:4px}.precise-input-dialog .dialog-actions button{font-size:.9em;padding:4px 8px}.precise-input-dialog .dialog-actions button.active{background-color:#27ae60;box-shadow:inset 0 1px 2px #0003;color:#fff}.tool-submenu-container.new-project-tool-container{position:relative;z-index:100}.new-project-submenu{background-color:initial;border:none;display:flex;flex-direction:column;gap:5px;left:50%;margin-top:5px;opacity:0;padding:0;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transform:translateY(-10px) translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:1001}.tool-submenu-container.submenu-visible .new-project-submenu{opacity:1;pointer-events:auto;transform:translateY(0) translateX(-50%)}.new-project-submenu .submenu-button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:.7em;height:auto;line-height:1.1;min-height:20px;padding:2px 5px;position:relative;text-align:center;transition:background-color .2s ease,transform .2s ease;white-space:nowrap;width:42px}.new-project-submenu .submenu-button:hover{background-color:#3498db;transform:scale(1.05)}.tools-section.submenu-active .panel-symbols-grid>:not(.line-tool-container):not(.polyline-tool-container):not(.circle-tool-container):not(.arc-tool-container):not(.point-tool-container):not(.new-project-tool-container){filter:blur(.5px);opacity:.7;pointer-events:none;transition:filter .3s ease,opacity .3s ease}.tools-section.submenu-active .new-project-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.tool-submenu-container.import-tool-container{position:relative;z-index:20}.tool-submenu-container.import-tool-container.submenu-visible,.tool-submenu-container.import-tool-container:hover{z-index:100}.import-submenu{background-color:initial;border:none;display:flex;flex-direction:column;gap:5px;left:50%;margin-top:5px;opacity:0;padding:0;pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transform:translateY(-10px) translateX(-50%);transition:opacity .2s ease,transform .2s ease;z-index:1001}.tool-submenu-container.submenu-visible .import-submenu{opacity:1;pointer-events:auto;transform:translateY(0) translateX(-50%)}.import-submenu .submenu-button{background-color:#5d6d7e;border:1px solid #7f8c8d;border-radius:3px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:.7em;height:auto;line-height:1.1;min-height:20px;padding:2px 5px;position:relative;text-align:center;transition:background-color .2s ease,transform .2s ease;white-space:nowrap;width:42px}.import-submenu .submenu-button:hover{background-color:#3498db;transform:scale(1.05)}.import-submenu .submenu-button.disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}.tools-section.submenu-active .panel-symbols-grid>:not(.line-tool-container):not(.polyline-tool-container):not(.circle-tool-container):not(.arc-tool-container):not(.point-tool-container):not(.new-project-tool-container):not(.import-tool-container):not(.add-tool-container){filter:blur(.5px);opacity:.7;pointer-events:none;transition:filter .3s ease,opacity .3s ease}.tools-section.submenu-active .import-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.tool-submenu-container.import-tool-container{align-items:center;display:flex;height:28px!important;justify-content:center;margin:0!important;min-height:0!important;padding:0!important;width:28px!important}.tool-submenu-container.import-tool-container .panel-symbols-grid-label{align-items:center;box-sizing:border-box!important;display:flex;flex-direction:column;height:100%!important;justify-content:center;line-height:.7;margin:0!important;min-height:0!important;width:100%!important}.tool-submenu-container.add-tool-container{align-items:center;display:flex;height:28px!important;justify-content:center;margin:0!important;min-height:0!important;padding:0!important;position:relative;width:28px!important;z-index:20}.tool-submenu-container.add-tool-container.submenu-visible,.tool-submenu-container.add-tool-container:hover{z-index:100}.tool-submenu-container.add-tool-container .panel-symbols-grid-label{align-items:center;box-sizing:border-box!important;display:flex;flex-direction:column;height:100%!important;justify-content:center;line-height:.7;margin:0!important;min-height:0!important;width:100%!important}.tools-section.submenu-active .add-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.tool-submenu-container.export-tool-container{position:relative;z-index:20}.tool-submenu-container.export-tool-container.submenu-visible,.tool-submenu-container.export-tool-container:hover{z-index:100}.tools-section.submenu-active .export-tool-container{filter:none!important;opacity:1!important;pointer-events:auto!important;transform:scale(1.05);transition:transform .2s ease}.ai-chat-section{background-color:#fff;border-top:1px solid #bdc3c7;box-shadow:0 -2px 10px #00000008;display:flex;flex-direction:column;flex-shrink:0;height:210px;margin-top:auto;transition:height .3s ease}.ai-chat-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;color:#34495e;display:flex;font-size:.85em;font-weight:600;justify-content:space-between;letter-spacing:.5px;padding:6px 12px}.ai-chat-messages{background-color:#fcfcfc;display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:10px}.ai-message-bubble{word-wrap:break-word;border-radius:8px;box-shadow:0 1px 2px #0000000d;font-size:.8em;line-height:1.4;max-width:85%;overflow-wrap:break-word;padding:6px 10px;word-break:break-word}.ai-message-bubble.user{align-self:flex-end;background-color:#3498db;border-bottom-right-radius:2px;color:#fff}.ai-message-bubble.assistant{align-self:flex-start;background-color:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:2px;color:#2c3e50}.ai-message-bubble.assistant a{color:#3498db;font-weight:600;text-decoration:none}.ai-message-bubble.assistant a:hover{text-decoration:underline}.ai-typing-indicator{color:#7f8c8d;font-size:.75em;font-style:italic;padding-left:5px}.ai-chat-input-area{align-items:center;background-color:#fff;border-top:1px solid #e0e0e0;display:flex;gap:6px;min-width:0;padding:6px 8px}.ai-chat-input{background-color:#fdfefe;border:1px solid #bdc3c7;border-radius:16px;color:#2c3e50;flex:1 1;font-size:.8em;min-width:0;outline:none;padding:6px 12px;transition:border-color .2s ease,box-shadow .2s ease}.ai-chat-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.ai-chat-send-btn{align-items:center;background-color:#3498db;border:none;border-radius:50%;box-shadow:0 2px 4px #3498db4d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background-color .2s ease,transform .1s ease;width:28px}.ai-chat-send-btn svg{height:14px;width:14px}.ai-chat-send-btn:hover:not(:disabled){background-color:#2980b9;transform:scale(1.05)}.ai-chat-send-btn:disabled{background-color:#bdc3c7;box-shadow:none;cursor:not-allowed;opacity:.7}.light-bg .webgl-canvas{cursor:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27><line x1=%2720%27 y1=%270%27 x2=%2720%27 y2=%2740%27 stroke=%27%23000000%27 stroke-width=%270.7%27/><line x1=%270%27 y1=%2720%27 x2=%2740%27 y2=%2720%27 stroke=%27%23000000%27 stroke-width=%270.7%27/><circle cx=%2720%27 cy=%2720%27 r=%273%27 fill=%27%23000000%27/></svg>") 20 20,crosshair!important}.dark-bg .webgl-canvas{cursor:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27><line x1=%2720%27 y1=%270%27 x2=%2720%27 y2=%2740%27 stroke=%27%23FFFFFF%27 stroke-width=%270.7%27/><line x1=%270%27 y1=%2720%27 x2=%2740%27 y2=%2720%27 stroke=%27%23FFFFFF%27 stroke-width=%270.7%27/><circle cx=%2720%27 cy=%2720%27 r=%273%27 fill=%27%23FFFFFF%27/></svg>") 20 20,crosshair!important}.side-panel-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.side-panel-toggle-header{background:#2c2c2c;border-bottom:1px solid #444;display:flex;gap:5px;padding:5px}.toggle-tab{background:#0000;border:1px solid #555;border-radius:4px;color:#ccc;cursor:pointer;flex:1 1;font-size:1.2rem;padding:8px 0;transition:all .2s}.toggle-tab.active{background:#4a90e2;border-color:#4a90e2;color:#fff}.side-panel-content-wrapper{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.ai-chat-section,.layers-section-wrapper{display:flex;flex-direction:column;min-height:0}.tools-section{flex:0 0 auto;padding:4px 0}.top-ad-banner{align-items:center;background-color:#000;border-bottom:1px solid #000;display:flex;height:100px;justify-content:center;left:273px;overflow:hidden;position:absolute;right:0;top:0;z-index:90}.side-panel-logo img{transform:translate(6px,-1px)}
/*# sourceMappingURL=main.893ae09c.css.map*/