@import url(https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap);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}.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:35px;top:100px;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{align-items:flex-end;background-color:#2c3e50d9;border-radius:3px;bottom:42px;box-shadow:0 1px 3px #0000004d;box-sizing:border-box;color:#fff;display:flex;font-size:.75em;height:25px;left:120px;padding:5px 10px 5px 25px;position:absolute;right:30%;transition:height .2s ease-in-out;z-index:10}.status-messages.expanded{align-items:flex-start;height:75px}.message-expand-arrow{background:none;border:none;bottom:5px;color:#bdc3c7;cursor:pointer;font-size:1em;left:5px;line-height:1;padding:0;position:absolute;transition:transform .3s ease}.message-expand-arrow.expanded{bottom:auto;top:6px;transform:rotate(180deg)}.message-expand-arrow:hover{color:#fff}.status-messages-content{display:flex;flex-direction:column;height:100%;justify-content:flex-end;width:100%}.status-messages.expanded .status-messages-content{justify-content:flex-start;overflow-y:auto}.status-messages:not(.expanded) .status-message{display:none}.status-messages:not(.expanded) .status-message:last-child{display:block}.status-messages.expanded .status-message{border-bottom:1px solid #ffffff1a;display:block;padding:2px 0}.status-messages.expanded .status-message:last-child{border-bottom:none}.status-message{flex-shrink:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.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}.status-messages-content::-webkit-scrollbar{width:6px}.status-messages-content::-webkit-scrollbar-thumb{background:#7f8c8d;border-radius:3px}.warning-list{display:none}.coordinate-panel{background-color:#2c3e50bf;border-radius:3px;bottom:42px;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:35px;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:42px;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: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 .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: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 .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:0;padding:4px 8px;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: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 .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: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 .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}.tool-submenu-container.map-tool-container{position:relative;z-index:20}.tool-submenu-container.map-tool-container.submenu-visible,.tool-submenu-container.map-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}.top-ad-banner.welcome-active{z-index:10000!important}.side-panel-logo img{transform:translate(6px,-1px)}.object-editor-tabs-container{background-color:#2c2c2e;border-bottom:none;display:flex;padding:8px 12px 0}.object-editor-tabs{background-color:#1c1c1e;border-radius:8px;box-shadow:inset 0 1px 3px #0000004d;display:inline-flex;gap:4px;padding:4px}.object-editor-tab{background:#0000;border:none;border-radius:5px;color:#9a9a9c;cursor:pointer;font-size:.8rem;font-weight:500;letter-spacing:.3px;padding:6px 20px;transition:all .2s ease}.object-editor-tab:hover{color:#fff}.object-editor-tab.active{background-color:#3a3a3c;box-shadow:0 1px 4px #0006;color:#fff}.object-editor-unified-header{align-items:center;background-color:#2c2c2e;border-bottom:1px solid #1c1c1e;border-radius:6px 6px 0 0;cursor:move;display:flex;gap:15px;justify-content:space-between;padding:6px 12px}.unified-header-left h3{color:#e0e0e0;font-size:.95rem;font-weight:600;margin:0;white-space:nowrap}.unified-header-center{display:flex;flex:1 1;justify-content:center}.modern-segmented-control{background-color:#1c1c1e;border-radius:6px;box-shadow:inset 0 1px 3px #0000004d;display:inline-flex;padding:3px}.segmented-btn{background:#0000;border:none;border-radius:4px;color:#8e8e93;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 16px;transition:all .2s ease;white-space:nowrap}.segmented-btn:hover{color:#fff}.segmented-btn.active{background-color:#3a3a3c;box-shadow:0 1px 3px #0006;color:#fff}.unified-header-left{align-items:center;display:flex;gap:8px}.unified-header-right{align-items:center;display:flex;justify-content:flex-end}.editor-title{color:#636366;font-size:.75rem;font-weight:700;letter-spacing:1.2px;margin:0;padding-right:4px;-webkit-user-select:none;user-select:none}.modern-icon-btn{align-items:center;background-color:#3a3a3c;border:1px solid #48484a;border-radius:6px;box-shadow:0 1px 2px #0000004d;color:#e0e0e0;cursor:pointer;display:flex;height:32px;justify-content:center;position:relative;transition:all .2s ease;width:32px}.modern-icon-btn:hover{background-color:#4a4a4c;border-color:#5a5a5c;color:#fff}.modern-icon-btn.active{background-color:#0a84ff;border-color:#0a84ff;box-shadow:0 0 4px #0a84ff80;color:#fff}.modern-icon-btn .badge{background-color:#ff453a;border-radius:10px;box-shadow:0 0 0 2px #2c2c2e;box-sizing:border-box;color:#fff;font-size:.65rem;font-weight:700;line-height:1;min-width:16px;padding:2px 5px;position:absolute;right:-5px;text-align:center;top:-5px}.header-divider{background-color:#444;height:18px;margin:0 6px;width:1px}.modern-close-btn{align-items:center;background:none;border:none;color:#a1a1a6;cursor:pointer;display:flex;font-size:1.4rem;justify-content:center;line-height:1;padding:0 4px;transition:color .2s ease}.modern-close-btn:hover{color:#ff453a}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:200}.loading-spinner{animation:spin 1.5s linear infinite}.loading-text{color:#e2e8f0;font-size:.95rem;font-weight:500;letter-spacing:.3px;margin-top:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-overlay{background-color:#0f172a;bottom:0;flex-direction:column;left:0;padding:32px;position:fixed;right:0;text-align:center;top:0;z-index:10000}.mobile-overlay,.mobile-overlay-icon{align-items:center;display:flex;justify-content:center}.mobile-overlay-icon{background:#3b82f61a;border:1px solid #3b82f633;border-radius:20px;height:80px;margin-bottom:24px;width:80px}.mobile-overlay h2{color:#f8fafc;font-size:1.5rem;font-weight:700;margin:0 0 12px}.mobile-overlay p{color:#94a3b8;font-size:1rem;line-height:1.6;margin:0 0 32px;max-width:360px}.mobile-overlay-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 32px;text-decoration:none}.mobile-overlay-dismiss{background:none;border:none;color:#64748b;cursor:pointer;font-size:.85rem;margin-top:16px;text-decoration:underline}.welcome-overlay{align-items:center;background-color:#00000040;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.welcome-card{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 15px 35px -12px #00000080;max-width:560px;padding:20px;text-align:center;width:90%}.welcome-card h2{color:#f8fafc;font-size:1.6rem;font-weight:700;margin:0 0 8px}.welcome-card .welcome-subtitle{color:#94a3b8;font-size:1rem;line-height:1.5;margin:0 0 28px}.welcome-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;text-align:left}.welcome-step{align-items:flex-start;background:#ffffff08;border:1px solid #334155;border-radius:10px;display:flex;gap:12px;padding:12px 16px}.welcome-step-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.welcome-step-text{color:#cbd5e1;font-size:.9rem;line-height:1.5}.welcome-step-text strong{color:#f8fafc}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.welcome-btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:background-color .2s}.welcome-btn-primary:hover{background:#2563eb}.welcome-btn-secondary{background:#0000;border:1px solid #334155;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;text-decoration:none;transition:all .2s}.welcome-btn-secondary:hover{border-color:#475569;color:#e2e8f0}.mobile-hamburger{align-items:center;background:#2563eb;border:none;border-radius:8px;box-shadow:0 2px 8px #0006;color:#fff;cursor:pointer;display:none;height:36px;justify-content:center;left:8px;padding:0;position:fixed;top:8px;transition:background .15s;width:36px;z-index:1300}.mobile-hamburger:active{background:#1d4ed8}.mobile-drawer-backdrop{display:none}.mobile-panel-close{align-items:center;background:#00000014;border:1px solid #0000001f;border-radius:6px;color:#444;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;transition:background .15s;width:28px;z-index:2}.mobile-panel-close:hover{background:#00000029}.mobile-action-bar{align-items:center;background:#0f172af5;border-top:1px solid #ffffff14;border-top-left-radius:10px;bottom:0;box-shadow:0 -2px 16px #0006;display:none;flex-direction:row;gap:6px;justify-content:space-around;padding:6px 8px max(6px,env(safe-area-inset-bottom));position:fixed;right:0;width:65%;z-index:1500}.mobile-action-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:7px;color:#cbd5e1;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:7px;font-weight:600;gap:2px;justify-content:center;letter-spacing:.06em;min-height:36px;padding:6px 3px 4px;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s}.mobile-action-btn:active{background:#ffffff26;border-color:#ffffff4d;color:#fff}.mobile-action-btn--dim{opacity:.35;pointer-events:none}.snap-toolbar-wrapper{align-items:center;display:flex;flex-direction:column;gap:4px;left:93%;position:absolute;top:10px;transform:translateX(-50%);z-index:20}.snap-collapse-toggle{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1e293be0;border:1px solid #ffffff2e;border-radius:20px;box-shadow:0 1px 6px #0000004d;color:#e2e8f0;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.05em;padding:6px 14px;white-space:nowrap}.snap-toolbar-wrapper .snap-toolbar-container{left:auto;opacity:1;position:static;top:auto;transform:none}@media (max-width:1024px) and (pointer:coarse),(max-width:768px){.mobile-action-bar,.mobile-hamburger{display:flex}.status-messages{background-color:#2c3e508c;border-radius:6px;bottom:calc(55px + env(safe-area-inset-bottom));box-shadow:none;font-size:.65em;left:50%;line-height:1.2;max-height:45px;max-width:80vw;overflow:hidden;padding:4px 10px;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%);width:-webkit-max-content;width:max-content;z-index:1400}.left-sidebar.mobile-drawer-open~.canvas-container .status-messages{display:none!important}.mobile-drawer-backdrop{background:#00000080;display:block;inset:0;position:fixed;z-index:1100}.left-sidebar.mobile-drawer{bottom:calc(48px + env(safe-area-inset-bottom))!important;box-shadow:4px 0 24px #00000080!important;height:auto!important;left:-280px!important;overflow-y:auto!important;position:fixed!important;top:0!important;transition:left .25s ease!important;width:268px!important;z-index:1200!important}.left-sidebar.mobile-drawer.mobile-drawer-open{left:0!important}.snap-button{font-size:.95em!important;height:20px!important;width:30px!important}.snap-toolbar-container{flex-wrap:wrap!important;max-width:88vw!important}.advanced-selection-dialog,.layer-properties-dialog,.measure-style-dialog,.object-editor-dialog,.object-properties-dialog,.precise-input-dialog,.precise-mtext-dialog,.precise-text-dialog,.print-dialog,.project-settings-dialog,.settings-dialog{box-sizing:border-box!important;height:auto!important;max-height:52vh!important;max-width:min(88vw,320px)!important;min-height:0!important;min-height:auto!important;overflow-y:auto!important}.measure-style-dialog .measure-style-content{flex-direction:column!important;flex-wrap:nowrap!important;gap:8px!important;padding:8px 10px!important}.measure-style-dialog .form-group-horizontal{flex-wrap:wrap!important}.advanced-selection-dialog>div:first-child,.measure-style-dialog>div:first-child,.object-editor-dialog>div:first-child,.settings-dialog>div:first-child{cursor:grab!important;touch-action:none}input,select,textarea{font-size:16px!important}.top-ad-banner{height:100px!important;left:0!important;max-height:100px!important;min-height:100px!important;overflow:hidden!important;right:0!important;top:0!important;z-index:500!important}.top-ad-banner .ad-container,.top-ad-banner iframe,.top-ad-banner ins.adsbygoogle{align-items:center!important;display:flex!important;height:100px!important;justify-content:center!important;margin:0!important;max-height:100px!important;min-height:100px!important;padding:0!important}.mobile-hamburger{left:8px!important}.canvas-controls-top-right,.mobile-hamburger,.snap-toolbar-wrapper{top:108px!important}.arc-submenu .submenu-button,.circle-submenu .submenu-button,.export-submenu .submenu-button,.import-submenu .submenu-button,.line-submenu .submenu-button,.new-project-submenu .submenu-button,.point-submenu .submenu-button,.polygon-submenu .submenu-button,.polyline-submenu .submenu-button{font-size:.7em!important;min-height:28px!important;min-width:0!important;padding:3px 4px!important;width:42px!important}.left-sidebar.mobile-drawer:has(.submenu-visible){overflow:visible!important}.context-menu,.tool-context-menu{border-radius:10px!important;bottom:72px!important;left:50%!important;max-height:45vh!important;max-width:90vw!important;overflow-y:auto!important;position:fixed!important;right:auto!important;top:auto!important;transform:translateX(-50%)!important;z-index:2000!important}}.layout-tab-bar{align-items:flex-end;background:#161e2a;border-top:1px solid #2a3448;bottom:0;display:flex;flex-shrink:0;gap:2px;height:32px;left:0;overflow-x:auto;overflow-y:hidden;padding:0 4px;position:absolute;right:0;scrollbar-width:none;-webkit-user-select:none;user-select:none;z-index:1000}.layout-tab-bar::-webkit-scrollbar{display:none}.layout-tab{align-items:center;background:#1e2a3a;border:1px solid #2a3448;border-bottom:none;border-radius:5px 5px 0 0;color:#8a97a8;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:11px;gap:5px;height:26px;outline:none;padding:0 10px;position:relative;transition:background .12s,color .12s;white-space:nowrap}.layout-tab:hover{background:#253347;color:#c0cad5}.layout-tab.active{background:#2c3e50;border-color:#3d8ac8 #3d8ac8 #2c3e50;color:#ecf0f1;font-weight:600;height:28px;z-index:2}.layout-tab.model-tab{padding-left:8px}.layout-tab-icon{flex-shrink:0;font-size:10px;opacity:.6}.layout-tab.active .layout-tab-icon{opacity:.85}.layout-tab-close{border-radius:3px;color:#8a97a8;cursor:pointer;font-size:10px;line-height:1;margin-left:1px;opacity:0;padding:1px 2px;transition:opacity .12s,background .12s,color .12s}.layout-tab:hover .layout-tab-close{opacity:.6}.layout-tab-close:hover{background:#e74c3c26;color:#e74c3c;opacity:1!important}.layout-tab-add{align-items:center;align-self:center;background:#0000;border:1px solid #2a3448;border-radius:4px;color:#8a97a8;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:16px;height:22px;justify-content:center;line-height:1;margin-left:4px;padding:0;transition:background .12s,color .12s;width:22px}.layout-tab-add:hover{background:#253347;border-color:#3d8ac8;color:#ecf0f1}.layout-tab-rename-input{background:#0d1520;border:1px solid #3d8ac8;border-radius:2px;color:#ecf0f1;font-size:11px;outline:none;padding:1px 4px;width:80px}.tab-context-menu{background:#1e2a3a;border:1px solid #2a3448;border-radius:5px;box-shadow:0 6px 20px #0000008c;font-size:12px;min-width:150px;padding:4px 0;position:fixed;z-index:10001}.tab-context-menu button{background:none;border:none;color:#c0cad5;cursor:pointer;display:block;font-family:inherit;font-size:12px;padding:7px 14px;text-align:left;width:100%}.tab-context-menu button:hover{background:#3d8ac833;color:#ecf0f1}.tab-context-menu .separator{background:#2a3448;height:1px;margin:4px 0}.paper-space-toolbar{align-items:center;background:#161e2ae6;border:1px solid #2a3448;border-radius:6px;box-shadow:0 2px 10px #0006;color:#c0cad5;display:flex;font-size:12px;gap:6px;left:50%;padding:5px 10px;pointer-events:all;position:absolute;top:10px;transform:translateX(-50%);z-index:500}.paper-space-toolbar button{align-items:center;background:#253347;border:1px solid #2a3448;border-radius:4px;color:#c0cad5;cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;gap:4px;padding:4px 10px;transition:background .1s,border-color .1s}.paper-space-toolbar button.active,.paper-space-toolbar button:hover{background:#3d8ac8;border-color:#3d8ac8;color:#fff}.viewport-hover-hint{border:2px dashed #3d8ac899;pointer-events:none;position:absolute;z-index:200}.vp-add-btn-wrap{pointer-events:all;position:absolute;right:10px;top:10px;z-index:600}.vp-add-btn{align-items:center;background:#161e2aeb;border:1px solid #3d8ac8;border-radius:5px;box-shadow:0 2px 8px #0006;color:#c0cad5;cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:5px;padding:5px 12px;transition:background .12s,color .12s}.vp-add-btn.active,.vp-add-btn:hover{background:#3d8ac8;color:#fff}.vp-add-btn.active{border-color:#3d8ac8}.vp-active-toolbar{align-items:center;background:#161e2af2;border:1px solid #f39c12;border-radius:6px;box-shadow:0 2px 12px #f39c1240;color:#c0cad5;display:flex;font-size:12px;gap:4px;left:50%;padding:4px 10px;pointer-events:all;position:absolute;top:10px;transform:translateX(-50%);z-index:600}.vp-active-label{align-items:center;color:#f39c12;display:inline-flex;font-size:11px;font-weight:600;gap:4px}.vp-active-sep{background:#2a3448;height:16px;margin:0 4px;width:1px}.vp-tool-btn{align-items:center;background:#253347;border:1px solid #2a3448;border-radius:4px;color:#c0cad5;cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;gap:4px;padding:4px 9px;transition:background .1s,border-color .1s}.vp-tool-btn.active,.vp-tool-btn:hover{background:#3d8ac8;border-color:#3d8ac8;color:#fff}.vp-exit-btn{align-items:center;background:#e74c3c26;border:1px solid #e74c3c66;border-radius:4px;color:#e74c3c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:11px;gap:4px;padding:4px 9px;transition:background .1s}.vp-exit-btn:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.tab-delete-confirm{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:10002}.tab-delete-confirm-box{background:#1e2a3a;border:1px solid #2a3448;border-radius:8px;box-shadow:0 8px 32px #0009;color:#ecf0f1;min-width:290px;padding:24px}.tab-delete-confirm-box p{font-size:13px;margin:0 0 18px}.tab-delete-confirm-box .actions{display:flex;gap:8px;justify-content:flex-end}.tab-delete-confirm-box .actions button{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;padding:6px 16px}.tab-delete-confirm-box .btn-cancel{background:#253347;border:1px solid #2a3448!important;color:#c0cad5}.tab-delete-confirm-box .btn-delete{background:#c0392b;color:#fff}@media (max-height:500px) and (orientation:landscape),(max-width:1024px) and (pointer:coarse) and (orientation:landscape){.mobile-vertical-toolbar{top:8px!important}.top-ad-banner{left:50px!important}.top-ad-banner,.top-ad-banner .ad-container,.top-ad-banner iframe,.top-ad-banner ins.adsbygoogle{height:60px!important;max-height:60px!important;min-height:60px!important}.mobile-hamburger{top:8px!important}.canvas-controls-top-right{top:68px!important}.snap-toolbar-wrapper{top:8px!important}.mobile-action-bar{border-radius:10px 10px 0 0!important;gap:8px!important;left:50%!important;min-width:50%!important;padding:4px 8px!important;right:auto!important;transform:translateX(-50%)!important;width:-webkit-max-content!important;width:max-content!important}.mobile-action-btn{flex-direction:row!important;gap:4px!important;min-height:26px!important;padding:0 4px!important}.mobile-action-btn svg{height:13px!important;width:13px!important}.mobile-action-btn span{font-size:8px!important;margin-top:0!important}.status-messages{bottom:38px!important;left:30%!important;max-width:60vw!important;text-align:center!important;transform:translateX(-50%)!important}.coordinate-panel{bottom:75px!important;right:10px!important}}:root,:root[data-theme=dark]{--bg-page:#05070b;--bg-surface:#0b0f17;--bg-subtle:#111827;--bg-glass:#0b0f17d6;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--border-hairline:#ffffff14;--border-strong:#ffffff2e;--accent-primary:#38bdf8;--accent-secondary:#f8fafc;--accent-gold:#e2c275;--accent-emerald:#10b981;--shadow-elevated:0 25px 60px -15px #000000bf,0 0 0 1px #ffffff14;--grid-line:hsla(0,0%,100%,.025)}:root[data-theme=light]{--bg-page:#f8fafc;--bg-surface:#fff;--bg-subtle:#f1f5f9;--bg-glass:#ffffffdb;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-hairline:#e2e8f0;--border-strong:#cbd5e1;--accent-primary:#0284c7;--accent-secondary:#0f172a;--accent-gold:#b45309;--accent-emerald:#059669;--shadow-elevated:0 20px 50px -12px #0f172a14,0 0 0 1px #0f172a0d;--grid-line:rgba(15,23,42,.035)}.aicad-landing-wrapper{-webkit-font-smoothing:antialiased;background-color:#05070b;background-color:var(--bg-page);background-image:linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(180deg,hsla(0,0%,100%,.025) 1px,#0000 0);background-image:linear-gradient(to right,var(--grid-line) 1px,#0000 1px),linear-gradient(to bottom,var(--grid-line) 1px,#0000 1px);background-size:64px 64px;color:#f8fafc;color:var(--text-primary);flex:1 1;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;line-height:1.6;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;transition:background-color .25s ease,color .25s ease}.aicad-landing-wrapper *{box-sizing:border-box}.aicad-container{margin:0 auto;max-width:1340px;padding:0 36px}.top-telemetry{align-items:center;background:#0b0f17;background:var(--bg-surface);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);color:#64748b;color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11px;gap:8px;justify-content:space-between;padding:8px 36px}.top-telemetry strong{color:#f8fafc;color:var(--text-primary);font-weight:600}.live-dot{background:#10b981;background:var(--accent-emerald);border-radius:50%;box-shadow:0 0 8px #10b981;box-shadow:0 0 8px var(--accent-emerald);display:inline-block;height:7px;margin-right:6px;width:7px}.navbar-wrap{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0b0f17d6;background:var(--bg-glass);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar{justify-content:space-between;margin:0 auto;max-width:1340px;padding:16px 36px}.brand,.navbar{align-items:center;display:flex}.brand{color:#f8fafc;color:var(--text-primary);gap:12px;text-decoration:none}.brand-logo-img{border-radius:8px;display:block;height:36px;object-fit:contain;width:36px}.brand-name{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.brand-tag{color:#38bdf8;color:var(--accent-primary);display:block;font-family:JetBrains Mono,monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}.aicad-nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}.aicad-nav-links a{color:#94a3b8;color:var(--text-secondary);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s}.aicad-nav-links a:hover{color:#f8fafc;color:var(--text-primary)}.nav-actions{gap:14px}.nav-actions,.theme-slider{align-items:center;display:flex}.theme-slider{background:#111827;background:var(--bg-subtle);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:100px;cursor:pointer;height:28px;justify-content:space-between;padding:0 6px;position:relative;transition:border-color .2s,background-color .2s;width:56px}.theme-slider:hover{border-color:#38bdf8;border-color:var(--accent-primary)}.slider-icon{font-size:12px;line-height:1;-webkit-user-select:none;user-select:none;z-index:1}.slider-thumb{background:#38bdf8;background:var(--accent-primary);border-radius:50%;box-shadow:0 2px 6px #00000059;height:20px;left:3px;position:absolute;top:3px;transition:transform .25s cubic-bezier(.4,0,.2,1);width:20px}:root[data-theme=light] .slider-thumb{transform:translateX(28px)}.btn-launch{background:#f8fafc;background:var(--text-primary);border-radius:8px;color:#05070b;color:var(--bg-page);font-size:.85rem;font-weight:700;padding:10px 20px;text-decoration:none;transition:transform .15s,opacity .15s}.btn-launch:hover{opacity:.92;transform:translateY(-1px)}.aicad-hero{grid-gap:48px;align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);display:grid;gap:48px;grid-template-columns:1.05fr .95fr;padding:64px 0 72px}.eyebrow-pill{align-items:center;background:#111827;background:var(--bg-subtle);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:6px;color:#38bdf8;color:var(--accent-primary);display:inline-flex;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;gap:8px;margin-bottom:20px;padding:5px 12px}.aicad-hero h1{font-size:clamp(2.5rem,4vw,3.75rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:0 0 20px}.aicad-hero h1 em{color:#38bdf8;color:var(--accent-primary);font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;padding-right:4px}.hero-lead{color:#94a3b8;color:var(--text-secondary);font-size:1.05rem;line-height:1.65;margin:0 0 28px;max-width:610px}.launchpad-card{background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 25px 60px -15px #000000bf,0 0 0 1px #ffffff14;box-shadow:var(--shadow-elevated);padding:18px}.launchpad-top{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;margin-bottom:10px}.dropzone-area,.launchpad-top{display:flex;justify-content:space-between}.dropzone-area{align-items:center;background:#111827;background:var(--bg-subtle);border:1.5px dashed #38bdf8;border:1.5px dashed var(--accent-primary);border-radius:10px;cursor:pointer;gap:12px;margin-bottom:12px;padding:18px 20px;transition:all .2s}.dropzone-area.dragging,.dropzone-area:hover{background:#38bdf814;transform:translateY(-1px)}.dropzone-area h4{color:#f8fafc;color:var(--text-primary);font-size:.94rem;font-weight:700;margin:0 0 3px}.dropzone-area p{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.72rem;margin:0}.btn-browse{background:#38bdf8;background:var(--accent-primary);border-radius:6px;color:#05070b;font-size:.78rem;font-weight:700;padding:9px 16px;white-space:nowrap}:root[data-theme=light] .btn-browse{color:#fff}.quick-generators{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.q-btn{background:#05070b;background:var(--bg-page);border:1px solid #ffffff14;border:1px solid var(--border-hairline);border-radius:7px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:600;overflow:hidden;padding:9px 6px;text-align:center;text-overflow:ellipsis;transition:all .15s;white-space:nowrap}.q-btn:hover{border-color:#38bdf8;border-color:var(--accent-primary);color:#f8fafc;color:var(--text-primary)}.q-btn.highlight-dem{border-color:#10b98166;color:#10b981;color:var(--accent-emerald)}.q-btn.highlight-dem:hover{background:#10b9811a;border-color:#10b981;border-color:var(--accent-emerald)}.workstation-stage{background:#070b12;border:1px solid #1e293b;border-radius:16px;box-shadow:0 30px 70px -15px #02061773;color:#f8fafc;overflow:hidden}.stage-header{background:#0b111e;border-bottom:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;padding:12px 18px}.stage-header,.stage-title{align-items:center;display:flex;gap:8px}.stage-title{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:11px}.stage-tabs{display:flex;gap:6px}.stage-tab{background:#ffffff0a;border:1px solid #1e293b;border-radius:5px;color:#94a3b8;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:10.5px;padding:4px 10px}.stage-tab.active{background:#38bdf826;border-color:#38bdf8;color:#fff}.stage-canvas-box{background:#05080e;cursor:crosshair;height:440px;position:relative}.stage-canvas-box canvas{display:block;height:100%;width:100%}.stage-telemetry-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070b12e0;border:1px solid #1e293b;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:11px;left:14px;padding:10px 14px;pointer-events:none;position:absolute;top:14px}.t-row{color:#64748b;display:flex;gap:18px;justify-content:space-between;margin-bottom:3px}.t-row span:last-child{color:#f8fafc}.stage-footer{background:#0b111e;border-top:1px solid #1e293b;color:#94a3b8;display:flex;font-family:JetBrains Mono,monospace;font-size:10.5px;justify-content:space-between;padding:10px 18px}.trust-bar{background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff14;border:1px solid var(--border-hairline);border-radius:14px;box-shadow:0 25px 60px -15px #000000bf,0 0 0 1px #ffffff14;box-shadow:var(--shadow-elevated);display:grid;grid-template-columns:repeat(4,1fr);margin:48px 0}.trust-item{border-right:1px solid #ffffff14;border-right:1px solid var(--border-hairline);padding:28px 30px}.trust-item:last-child{border-right:none}.trust-num{color:#f8fafc;color:var(--text-primary);font-family:"Instrument Serif",Georgia,serif;font-size:2.5rem;line-height:1;margin-bottom:6px}.trust-num span{color:#38bdf8;color:var(--accent-primary)}.trust-title{color:#f8fafc;color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:3px}.trust-desc{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.72rem}.aicad-section{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);padding:84px 0}.aicad-section-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:44px}.sec-eyebrow{color:#38bdf8;color:var(--accent-primary);display:block;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.sec-title{color:#f8fafc;color:var(--text-primary);font-size:clamp(1.9rem,3.1vw,2.65rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:0;max-width:680px}.sec-desc{color:#94a3b8;color:var(--text-secondary);font-size:.95rem;margin:0;max-width:440px}.ba-workbench{align-items:start;background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 25px 60px -15px #000000bf,0 0 0 1px #ffffff14;box-shadow:var(--shadow-elevated);display:grid;grid-template-columns:330px 1fr;overflow:hidden}.ba-sidebar{background:#111827;background:var(--bg-subtle);border-right:1px solid #ffffff14;border-right:1px solid var(--border-hairline);display:flex;flex-direction:column;gap:8px;height:100%;max-height:490px;overflow-y:auto;padding:20px}.ba-module-btn{background:#0000;border:1px solid #0000;border-radius:10px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;padding:13px 16px;text-align:left;transition:all .15s}.ba-module-btn.active{background:#0b0f17;background:var(--bg-surface);border-color:#ffffff2e;border-color:var(--border-strong);box-shadow:0 4px 12px #00000014;color:#f8fafc;color:var(--text-primary)}.ba-mod-code{color:#38bdf8;color:var(--accent-primary);display:block;font-family:JetBrains Mono,monospace;font-size:10px;margin-bottom:3px}.ba-mod-name{font-size:.9rem;font-weight:700}.ba-stage{display:flex;flex-direction:column;justify-content:space-between;padding:32px}.ba-slider-container{background:#070b12;border:1px solid #1e293b;border-radius:12px;cursor:ew-resize;height:300px;margin-bottom:24px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.ba-layer{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ba-before{background:#06090f;z-index:1}.ba-after{background:#09101d;z-index:2}.ba-handle{bottom:0;cursor:ew-resize;pointer-events:none;top:0;width:2px;z-index:3}.ba-handle,.ba-handle-knob{background:#38bdf8;position:absolute}.ba-handle-knob{border-radius:50%;box-shadow:0 0 20px #38bdf899;color:#05080e;display:grid;font-size:12px;font-weight:800;height:36px;left:50%;place-items:center;top:50%;transform:translate(-50%,-50%);width:36px}.ba-badge-left,.ba-badge-right{border-radius:4px;font-family:JetBrains Mono,monospace;font-size:10.5px;padding:4px 10px;pointer-events:none;position:absolute;top:14px;z-index:4}.ba-badge-left{background:#0f172ad9;border:1px solid #334155;color:#94a3b8;left:14px}.ba-badge-right{background:#0284c740;border:1px solid #38bdf8;color:#7dd3fc;right:14px}.ba-specs-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.ba-spec-box{background:#111827;background:var(--bg-subtle);border:1px solid #ffffff14;border:1px solid var(--border-hairline);border-radius:8px;padding:14px}.ba-spec-box h5{color:#38bdf8;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:11px;margin:0 0 4px}.ba-spec-box p{color:#94a3b8;color:var(--text-secondary);font-size:.82rem;margin:0}.brief-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.brief-card{background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 25px 60px -15px #000000bf,0 0 0 1px #ffffff14;box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;justify-content:space-between;padding:32px}.brief-audience{color:#38bdf8;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.brief-card h3{color:#f8fafc;color:var(--text-primary);font-size:1.35rem;font-weight:800;margin:0 0 12px}.brief-card p{font-size:.9rem;margin:0 0 20px}.brief-card p,.citation-box{color:#94a3b8;color:var(--text-secondary)}.citation-box{align-items:center;background:#111827;background:var(--bg-subtle);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:8px;display:flex;font-size:11px;gap:8px;justify-content:space-between;padding:12px}.citation-box,.copy-cite-btn{font-family:JetBrains Mono,monospace}.copy-cite-btn{background:#f8fafc;background:var(--text-primary);border:none;border-radius:4px;color:#05070b;color:var(--bg-page);cursor:pointer;font-size:10px;font-weight:600;padding:5px 10px;white-space:nowrap}.matrix-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{align-items:center;background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:100px;color:#94a3b8;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s}.filter-btn:hover{border-color:#38bdf8;border-color:var(--accent-primary);color:#f8fafc;color:var(--text-primary)}.filter-btn.active{background:#f8fafc;background:var(--text-primary);border-color:#f8fafc;border-color:var(--text-primary);color:#05070b;color:var(--bg-page)}.filter-count{font-family:JetBrains Mono,monospace;font-size:10px;opacity:.75}.matrix-search-input{background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff2e;border:1px solid var(--border-strong);border-radius:100px;color:#f8fafc;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.84rem;min-width:260px;outline:none;padding:9px 16px;transition:border-color .2s}.matrix-search-input:focus{border-color:#38bdf8;border-color:var(--accent-primary)}.pipeline-matrix{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));padding-bottom:32px}.pipeline-chip{align-items:center;background:#0b0f17;background:var(--bg-surface);border:1px solid #ffffff14;border:1px solid var(--border-hairline);border-radius:8px;color:#f8fafc;color:var(--text-primary);display:flex;font-size:.82rem;font-weight:600;gap:8px;justify-content:space-between;padding:11px 14px;text-decoration:none;transition:all .15s}.pipeline-chip:hover{border-color:#38bdf8;border-color:var(--accent-primary);transform:translateY(-1px)}.pipeline-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-chip span:last-child{color:#38bdf8;color:var(--accent-primary);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px}.aicad-footer{background:#0b0f17;background:var(--bg-surface);border-top:1px solid #ffffff14;border-top:1px solid var(--border-hairline);margin-top:32px;padding:48px 0 32px}.aicad-footer-grid{grid-gap:32px;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);display:grid;gap:32px;grid-template-columns:2fr 1fr 1fr 1fr;padding-bottom:32px}.aicad-footer-col h4{color:#38bdf8;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.aicad-footer-col a{color:#94a3b8;color:var(--text-secondary);display:block;font-size:.86rem;margin-bottom:8px;text-decoration:none;transition:color .15s}.aicad-footer-col a:hover{color:#f8fafc;color:var(--text-primary)}.aicad-footer-bottom{align-items:center;color:#64748b;color:var(--text-muted);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11px;gap:12px;justify-content:space-between;padding-top:24px}@media (max-width:1024px){.aicad-footer-grid,.aicad-hero,.ba-specs-grid,.ba-workbench,.brief-grid,.trust-bar{grid-template-columns:1fr}.trust-item{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-hairline);border-right:none}.trust-item:last-child{border-bottom:none}.aicad-section-header{align-items:flex-start;flex-direction:column;gap:12px}.aicad-nav-links{display:none}.quick-generators{grid-template-columns:repeat(2,1fr)}.aicad-container{padding:0 20px}.navbar,.top-telemetry{padding-left:20px;padding-right:20px}}.aicad-about-scroll-wrapper{-webkit-font-smoothing:antialiased;background-color:var(--bg-page);background-image:linear-gradient(to right,var(--grid-line) 1px,#0000 1px),linear-gradient(to bottom,var(--grid-line) 1px,#0000 1px);background-size:64px 64px;color:var(--text-primary);flex:1 1;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;line-height:1.65;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;transition:background-color .25s ease,color .25s ease}.aicad-about-scroll-wrapper *{box-sizing:border-box}.about-hero{background:linear-gradient(180deg,#38bdf80a,#0000);border-bottom:1px solid var(--border-hairline);padding:60px 0 52px}.about-hero-grid{grid-gap:44px;align-items:center;display:grid;gap:44px;grid-template-columns:1.2fr .8fr}.about-hero h1{font-size:clamp(2.2rem,3.6vw,3.35rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:0 0 18px}.about-hero h1 em{color:var(--accent-primary);font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}.about-hero-lead{color:var(--text-secondary);font-size:1.04rem;margin:0 0 24px;max-width:660px}.about-cta-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.about-btn-primary{align-items:center;background:var(--text-primary);border-radius:8px;color:var(--bg-page);display:inline-flex;font-size:.86rem;font-weight:700;gap:8px;padding:11px 22px;text-decoration:none;transition:transform .15s,opacity .15s}.about-btn-primary:hover{opacity:.92;transform:translateY(-1px)}.about-btn-secondary{align-items:center;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);display:inline-flex;font-size:.86rem;font-weight:700;gap:8px;padding:11px 20px;text-decoration:none;transition:border-color .15s,transform .15s}.about-btn-secondary:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.about-spec-panel{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-elevated);padding:24px}.spec-panel-header{align-items:center;border-bottom:1px solid var(--border-hairline);color:var(--accent-primary);display:flex;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.spec-kv-list{display:flex;flex-direction:column;gap:10px}.spec-kv-row{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-hairline);border-radius:8px;display:flex;font-size:.83rem;justify-content:space-between;padding:9px 12px}.spec-kv-row span:first-child{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.spec-kv-row span:last-child{color:var(--text-primary);font-weight:700}.about-arch-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.about-arch-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;justify-content:space-between;padding:28px;transition:border-color .2s,transform .2s}.about-arch-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.arch-card-code{color:var(--accent-primary);display:block;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;margin-bottom:10px}.about-arch-card h3{color:var(--text-primary);font-size:1.2rem;font-weight:800;margin:0 0 10px}.about-arch-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0 0 18px}.arch-tag-row{border-top:1px solid var(--border-hairline);display:flex;flex-wrap:wrap;gap:6px;padding-top:14px}.arch-mini-tag{background:var(--bg-subtle);border:1px solid var(--border-hairline);border-radius:5px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 8px}.sovereignty-banner{grid-gap:36px;align-items:center;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-elevated);display:grid;gap:36px;grid-template-columns:1.15fr .85fr;padding:38px}.sovereignty-points{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-top:22px}.sov-point-box{background:var(--bg-subtle);border:1px solid var(--border-hairline);border-radius:10px;padding:14px 16px}.sov-point-box h4{align-items:center;color:var(--accent-emerald);display:flex;font-size:.9rem;font-weight:700;gap:6px;margin:0 0 4px}.sov-point-box p{color:var(--text-secondary);font-size:.81rem;margin:0}.about-contact-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.about-contact-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;justify-content:space-between;padding:28px}.about-contact-card h3{color:var(--text-primary);font-size:1.18rem;font-weight:800;margin:6px 0 10px}.about-contact-card p{color:var(--text-secondary);font-size:.88rem;margin:0 0 20px}.about-ext-link-btn{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.84rem;font-weight:700;justify-content:space-between;padding:11px 16px;text-decoration:none;transition:all .15s ease;width:100%}.about-ext-link-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}@media (max-width:1024px){.about-arch-grid,.about-contact-grid,.about-hero-grid,.sovereignty-banner,.sovereignty-points{grid-template-columns:1fr}.sovereignty-banner{padding:24px 20px}}.aicad-encyclo-scroll-wrapper{-webkit-font-smoothing:antialiased;background-color:var(--bg-page);background-image:linear-gradient(to right,var(--grid-line) 1px,#0000 1px),linear-gradient(to bottom,var(--grid-line) 1px,#0000 1px);background-size:64px 64px;color:var(--text-primary);flex:1 1;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;line-height:1.65;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;transition:background-color .25s ease,color .25s ease}.aicad-encyclo-scroll-wrapper *{box-sizing:border-box}.encyclo-hero{background:linear-gradient(180deg,#38bdf80a,#0000);border-bottom:1px solid var(--border-hairline);padding:44px 0 36px}.encyclo-hero-inner{align-items:flex-end;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;margin:0 auto;max-width:1380px;padding:0 36px}.encyclo-hero h1{font-size:clamp(2rem,3.2vw,2.85rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 12px}.encyclo-hero h1 em{color:var(--accent-primary);font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}.encyclo-hero p{color:var(--text-secondary);font-size:.96rem;margin:0;max-width:720px}.encyclo-search-box{display:flex;flex-direction:column;gap:6px;min-width:340px}.encyclo-search-label{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase}.encyclo-search-input{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-elevated);color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;outline:none;padding:11px 16px;transition:border-color .2s}.encyclo-search-input:focus{border-color:var(--accent-primary)}.encyclo-layout{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:320px 1fr;margin:0 auto;max-width:1380px;padding:36px 36px 80px}.encyclo-sidebar{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-elevated);max-height:calc(100vh - 105px);overflow-y:auto;padding:16px;position:-webkit-sticky;position:sticky;top:84px}.sidebar-header{border-bottom:1px solid var(--border-hairline);color:var(--accent-primary);display:flex;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;margin-bottom:10px;padding-bottom:10px;text-transform:uppercase}.toc-list{display:flex;flex-direction:column;gap:4px}.toc-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:8px 10px;text-align:left;transition:all .15s}.toc-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.toc-btn.active{background:#38bdf824;border-color:var(--accent-primary);border-left:3px solid var(--accent-primary);color:var(--text-primary);transform:translateX(2px)}.toc-btn.active .toc-num{background:var(--accent-primary);color:#05070b;font-weight:700}.toc-num{background:var(--bg-subtle);border-radius:4px;color:var(--accent-primary);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;padding:2px 6px;transition:all .15s ease}.sidebar-quick-actions{border-top:1px solid var(--border-hairline);display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px}.sidebar-actions-label{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;margin-bottom:2px}.sidebar-action-btn{align-items:center;border-radius:8px;box-shadow:0 2px 6px #0003;cursor:pointer;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.8rem;font-weight:700;justify-content:space-between;padding:10px 14px;text-decoration:none;transition:all .18s ease;width:100%}.sidebar-action-btn .btn-arrow{font-family:JetBrains Mono,monospace;font-size:.85rem;transition:transform .18s ease}.sidebar-action-btn:hover{transform:translateY(-1px)}.sidebar-action-btn:hover .btn-arrow{transform:translateX(3px)}.sidebar-action-btn.btn-emerald-tint{background:linear-gradient(135deg,#10b98129,#10b9810f);border:1px solid #10b98173;color:var(--text-primary)}.sidebar-action-btn.btn-emerald-tint:hover{background:#10b9813d;border-color:var(--accent-emerald)}.sidebar-action-btn.btn-cyan-tint{background:linear-gradient(135deg,#38bdf829,#38bdf80f);border:1px solid #38bdf873;color:var(--text-primary)}.sidebar-action-btn.btn-cyan-tint:hover{background:#38bdf83d;border-color:var(--accent-primary)}.sidebar-action-btn.btn-primary-solid{background:var(--text-primary);border:1px solid var(--text-primary);color:var(--bg-page)}.sidebar-action-btn.btn-primary-solid:hover{opacity:.92}.encyclo-content{display:flex;flex-direction:column;gap:36px}.encyclo-chapter-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-elevated);padding:34px;scroll-margin-top:90px}.chapter-top-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.chapter-code{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:6px;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;padding:4px 10px}.chapter-try-btn{align-items:center;background:var(--text-primary);border:none;border-radius:6px;color:var(--bg-page);cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-size:.78rem;font-weight:700;gap:6px;padding:7px 14px;text-decoration:none;transition:opacity .15s}.chapter-try-btn:hover{opacity:.9}.encyclo-chapter-card h2{color:var(--text-primary);font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}.chapter-lead{color:var(--text-secondary);font-size:.94rem;margin:0 0 24px}.tool-manual-list{display:flex;flex-direction:column;gap:16px}.tool-manual-item{background:var(--bg-subtle);border:1px solid var(--border-hairline);border-radius:12px;padding:20px 22px;transition:border-color .15s}.tool-manual-item:hover{border-color:var(--border-strong)}.tool-item-header{border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.tool-item-header,.tool-item-title-group{align-items:center;display:flex;gap:10px}.tool-order-badge{background:#38bdf826;border:1px solid #38bdf859;border-radius:5px;color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;padding:3px 8px}.tool-item-title-group h3{color:var(--text-primary);font-size:1.05rem;font-weight:800;margin:0}.tool-ui-location{background:#10b9811a;border:1px solid #10b9814d;border-radius:5px;color:var(--accent-emerald);font-family:JetBrains Mono,monospace;font-size:10.5px;padding:3px 9px}.tool-summary{color:var(--text-secondary);font-size:.88rem;margin:0 0 12px}.step-by-step-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.step-by-step-list li{align-items:flex-start;background:var(--bg-page);border:1px solid var(--border-hairline);border-radius:8px;color:var(--text-primary);display:flex;font-size:.85rem;gap:10px;padding:9px 12px}.step-num-pill{background:var(--accent-primary);border-radius:4px;color:#05070b;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;margin-top:2px;padding:2px 7px}:root[data-theme=light] .step-num-pill{color:#fff}.step-text strong{color:var(--accent-primary)}.tech-callout{background:var(--bg-page);border:1px solid var(--border-hairline);border-left:3px solid var(--accent-primary);border-radius:0 10px 10px 0;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.78rem;margin-top:20px;padding:14px 18px}.tech-callout strong{color:var(--text-primary);display:block;margin-bottom:4px}@media (max-width:1024px){.encyclo-layout{grid-template-columns:1fr;padding:24px 20px 60px}.encyclo-sidebar{max-height:none;position:static}.encyclo-hero-inner{padding:0 20px}.encyclo-chapter-card{padding:22px 18px}.encyclo-search-box{min-width:100%}}:host,:root{--ol-background-color:#fff;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{background-color:#ffffffbf;background-color:var(--ol-partial-background-color);border:1.5px solid #fff;border:1.5px solid var(--ol-background-color);border-radius:2px;box-sizing:border-box}.ol-mouse-position{position:absolute;right:8px;top:8px}.ol-scale-line{background:#ffffffbf;background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:#333;color:var(--ol-foreground-color);font-size:10px;margin:1px;text-align:center;transition:all .25s;will-change:contents,width}.ol-scale-bar{bottom:8px;left:8px;position:absolute}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:#333;background-color:var(--ol-foreground-color);float:right;height:15px;width:1px;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{color:#333;color:var(--ol-foreground-color);position:absolute;text-shadow:-1.5px 0 #ffffffbf,0 1.5px #ffffffbf,1.5px 0 #ffffffbf,0 -1.5px #ffffffbf;text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{bottom:25px;font-size:12px;text-align:center}.ol-scale-singlebar{border:1px solid #333;border:1px solid var(--ol-foreground-color);box-sizing:border-box;height:10px;position:relative;z-index:9}.ol-scale-singlebar-even{background-color:#666;background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:#fff;background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:grabbing}.ol-grab{cursor:move;cursor:grab}.ol-control{background-color:#80808040;background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{left:.5em;top:.5em}.ol-rotate{right:.5em;top:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;transition:opacity .25s linear,visibility 0s linear .25s;visibility:hidden}.ol-zoom-extent{left:.5em;top:4.643em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{background-color:#fff;background-color:var(--ol-background-color);border:none;border-radius:2px;color:#666;color:var(--ol-subtle-foreground-color);display:block;font-size:inherit;font-weight:700;height:1.375em;line-height:.4em;margin:1px;padding:0;text-align:center;text-decoration:none;width:1.375em}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{color:#333;color:var(--ol-foreground-color);outline:1px solid #666;outline:1px solid var(--ol-subtle-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{align-items:center;bottom:.5em;display:flex;flex-flow:row-reverse;max-width:calc(100% - 1.3em);right:.5em;text-align:right}.ol-attribution a{color:#666;color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:#333;color:var(--ol-foreground-color);font-size:12px;margin:0;padding:1px .5em;text-shadow:0 0 2px #fff;text-shadow:0 0 2px var(--ol-background-color)}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:#ffffffbf;background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;left:.5em;top:4.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #666;border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:#80808040;background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted #666;border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}
/*# sourceMappingURL=main.6ffb8c64.css.map*/