.header{align-items:stretch;background-color:#06f;background:linear-gradient(135deg,#06f,#039);color:#fff;display:flex;flex-direction:row;justify-content:space-between;min-height:2rem;padding:.25rem .5rem;text-align:left}.header-info{align-items:center;display:flex;justify-content:flex-start}.header-info>.app-title{color:#fff;cursor:default;font-weight:500;-webkit-user-select:none;user-select:none}.header-info>.doc-title{cursor:pointer;justify-self:flex-start;margin-left:.5rem}.header-info>.doc-title:hover{text-decoration:underline}.header-buttons{align-items:stretch;display:flex;font-size:.8rem;justify-content:flex-start}.header-buttons>*,.header-buttons>a{margin:0 .25rem}.editor{display:flex;flex:1 0;flex-direction:row;justify-content:space-between;padding:.5rem}.panel{align-items:stretch;background-color:#eee;border-radius:.2rem;display:flex;flex-direction:column;font-size:92%;justify-content:flex-start;margin:.5em;padding:.5em}.panel>.btn,.panel>button{align-self:stretch}.fade-in{-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease;visibility:visible}.hidden{visibility:hidden}@-webkit-keyframes fadeIn{0%{opacity:.25;-webkit-transform:translateY(5px);transform:translateY(5px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:.25;-webkit-transform:translateY(5px);transform:translateY(5px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.panel>h1,.panel>h2,.panel>h3{margin:.5em auto;text-align:center}.panel h4{color:#666}.panel .btn-info{font-size:120%}.panel>.section-header{align-items:center;display:flex;justify-content:space-between;margin:.5rem 0;text-align:left;width:100%}.panel>.section-header>*{display:inline-flex}.panel>.row{display:flex;justify-content:space-between;margin:.5rem 0;text-align:left}.panel>.row-shrink{display:flex;justify-content:flex-start}.panel>input[type=date],.panel>input[type=text],.panel>select,.panel>textarea{margin:0 auto;resize:vertical;width:90%}.flex-bottom{margin-top:auto}.canvas-table{align-items:stretch;border:2px solid transparent;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;position:relative}.canvas-table.import-dragging{-webkit-animation:import-dragging-highlight 1s ease infinite;animation:import-dragging-highlight 1s ease infinite;border:2px dashed #06f}.canvas-table.import-dragging .import-dragging-message{align-self:center;background-color:#06f;color:#fff;font-size:150%;font-weight:500;margin:2rem;opacity:.6;padding:1rem;position:absolute;z-index:999}@-webkit-keyframes import-dragging-highlight{0%{border-color:#06f0}80%{border-color:#06f}to{border-color:#06f0}}@keyframes import-dragging-highlight{0%{border-color:#06f0}80%{border-color:#06f}to{border-color:#06f0}}.canvas-table>*{background-color:#fff;border-radius:.2rem;display:block;max-width:100%}.footer{align-items:center;background-color:#eee;display:flex;flex-direction:row;font-size:80%;justify-content:space-between;padding:.5rem}.footer>*{color:#666}.feature-highlight{background-color:#f36;box-sizing:border-box}.feature-highlight:hover{background-color:#f03}.feature-highlight:active{background-color:#e02}@-webkit-keyframes beacon{0%{box-shadow:0 0 0 2px #f03;-webkit-transform:translateY(-2px);transform:translateY(-2px)}60%{box-shadow:0 0 5px 10px #f030;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes beacon{0%{box-shadow:0 0 0 2px #f03;-webkit-transform:translateY(-2px);transform:translateY(-2px)}60%{box-shadow:0 0 5px 10px #f030;-webkit-transform:translateY(0);transform:translateY(0)}}div.editor-view-error{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;margin-bottom:.5rem;padding:1rem}.button-option-container{display:flex}.button-option-container>button{border-radius:0;flex:1 1;font-size:92%;margin:1px;opacity:.75;padding:.2rem}.button-option-container>button:hover{opacity:1}.button-option-container>button:first-child{border-bottom-left-radius:100vmax;border-top-left-radius:100vmax}.button-option-container>button:last-child{border-bottom-right-radius:100vmax;border-top-right-radius:100vmax}.button-option-container>button.active{background-color:#f60;font-weight:500;opacity:1;pointer-events:none}.settings-panel{background-color:var(--panel-bg-color);border-radius:.25rem;padding:.5rem}.setting{align-items:center;display:flex;font-size:.8rem;font-weight:500;justify-content:flex-start;padding:.25rem 0}.setting>*{cursor:pointer;width:auto}.setting>input{margin:0 .5rem 0 0}.modal-container{align-content:center;align-items:stretch;border-radius:.2rem;display:flex;flex-direction:column;font-family:Roboto;justify-content:space-between;margin:0;overflow:hidden;padding:1rem}.modal-container>h2{color:#06f}.file-modal>div.prev-docs{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:0 auto;width:80%}.plot-modal{justify-content:flex-start;overflow:auto}.plot-modal .canvas-container{align-self:center;border:2px solid #bbb;display:flex;flex-direction:row;margin:0;padding:0}.plot-modal canvas{align-self:center;background-color:#bbb;background:linear-gradient(0deg,#bbb,#ccc);border-radius:0;height:720px;width:1336px}.flex-row{align-items:stretch;display:flex;flex-direction:row;justify-content:space-between;justify-items:stretch;padding:.5rem}.flex-row>*{border:2px solid #ddd;font-size:1em;margin:.5rem}.import-surface-panels-container{align-items:flex-start;display:flex;flex:1 1;flex-direction:row;justify-content:space-between;margin-bottom:1rem;overflow-x:hidden;overflow-y:auto}.import-surface-panels-container>*{border:2px solid #ddd;font-size:1em;margin:.5rem;overflow-y:hidden;resize:vertical;width:45%}.import-surface-panels-container>.import-dragging{outline:2px dashed #06f}.import-surface-panels-container thead{border-bottom:2px solid #ddd}.import-surface-panels-container .errors{border:2px solid #f007;color:red;resize:none}.flex-row-spaced{display:flex;flex-direction:row;justify-content:space-between;width:100%}.modal-input{align-self:center;font-size:1.2rem;width:100%}.modal-controls{display:flex;flex-direction:row;justify-content:space-between;padding:0 .5rem}.modal-controls>*{flex-basis:12rem}.notification-modal>.title{margin-bottom:1rem}.notification-modal li{margin:1rem 0}.notification-modal img{border-radius:3px;box-shadow:0 4px 8px #0003;height:auto;max-height:50vh;object-fit:contain;width:100%}.notification-modal>.content{margin:1rem;text-align:left}.confirm-modal>.content,.message-modal>.content{line-height:1.5rem;margin:1rem 0}.surface-generation-modal{justify-content:flex-start;overflow:auto}.surface-generation-modal .canvas-container{align-self:center;border:2px solid #bbb;display:flex;flex-direction:row;margin:0;padding:0}.surface-generation-modal canvas{align-self:center;background-color:#fff;border-radius:0;height:400px;width:1000px}.surface-generation-modal .canvas-table table{font-size:92%}.surface-generation-modal .panel .displace-control{display:flex;justify-content:center}.surface-generation-modal .panel .displace-control>*{margin:1rem}@media only screen and (min-width:2560px){.plot-modal canvas{height:900px;width:1800px}}@media only screen and (max-width:1600px){.plot-modal canvas{height:600px;width:1200px}}@media only screen and (max-width:1536px){.plot-modal canvas{height:664px;width:1024px}}.badge-container{padding:0;position:relative}.badge{background-color:#f03;border-radius:.2rem;color:#fff;cursor:inherit;font-size:.6rem;font-weight:500;margin-right:-1rem;margin-top:-.5rem;padding:.2rem;position:absolute;right:0;top:0}.canvas-container-existing{border:3px solid #0607}.canvas-container-design{border:3px solid #0397}.canvas-debug{align-items:center;background-color:#eee;color:#666;display:flex;font-size:80%;justify-content:space-between;padding:.2rem}.canvas-debug>span{margin:0 .5rem}.canvas-debug>.warning{background-color:#f60;color:#fff;padding:.25rem .5rem}.canvas-debug>.btn,.canvas-debug>button{opacity:.75;padding:.2rem}.canvas-debug>.btn:hover,.canvas-debug>button:hover{opacity:1}div.header{align-items:center;align-self:stretch;background-color:#282c34;color:#fff;display:flex;flex-direction:row;justify-content:space-between;padding:0 .5rem}svg.viewport{shape-rendering:geometricPrecision;background-image:linear-gradient(0deg,#eee 1px,transparent 0),linear-gradient(90deg,#eee 1px,transparent 0);background-size:20px 20px;border:2px solid #999;cursor:grab}svg.viewport:active{cursor:grabbing}svg text{-webkit-user-select:none;user-select:none}svg text::selection{background:none}.msg{align-self:center;background-color:#666;border-radius:.2rem;color:#fff;font-family:Consolas,Courier New,Courier,monospace;font-weight:700;padding:0 .5rem}.msg-warning{background-color:#f93;color:#222;position:fixed;top:.2rem}.msg-warning:after,.msg-warning:before{content:" ⚠ ";font-size:120%}:root{--panel-bg-color:#eee}body,html{color:#333;margin:0}#root,body,html{height:100%}.App,.AppContainer{display:flex;flex-direction:column;font-family:Roboto,sans-serif;font-size:100%;height:100%;justify-content:flex-start;text-align:center}h1,h2,h3,h4,h5,h6{font-weight:500;margin:.5rem 0}a{color:#06f}a:hover{color:#039;text-decoration:none}strong{font-weight:500}canvas{border-radius:.2rem;cursor:grab;height:600px;width:1400px}@media only screen and (min-width:2560px){canvas{height:900px;width:1800px}}@media only screen and (max-width:1600px){canvas{height:600px;width:1200px}}@media only screen and (max-width:1536px){canvas{height:512px;width:1024px}}canvas:active{cursor:grabbing;cursor:-webkit-grabbing}canvas.point-select{cursor:pointer}table{border-collapse:collapse;font-size:1rem}tr{transition:background-color 60ms}th{font-weight:400;text-align:center}td{border-left:1px solid #ccc;border-right:1px solid #ccc;cursor:default;margin:0;padding:0}td.add-btn{padding:2px}td.controls>*{font-size:80%;margin:0;width:100%}td.row-header{border:none;font-weight:700;font-weight:500;padding:.25rem .25rem .25rem 1rem;text-align:right}td.row-cell{min-width:5rem}td.focus{background-color:#6cf;border-bottom:1px solid #fff;border-top:1px solid #fff}td.focus-col{-webkit-animation:pointer-highlight .6s ease-in-out .6s infinite;animation:pointer-highlight .6s ease-in-out .6s infinite;color:#f60;font-size:150%}@-webkit-keyframes pointer-highlight{0%{text-shadow:0 0 0 red}to{text-shadow:0 0 25px #06f0}}@keyframes pointer-highlight{0%{text-shadow:0 0 0 red}to{text-shadow:0 0 25px #06f0}}input,select,textarea{background-color:initial;border:none;border-bottom:2px solid #39f;font-family:Roboto;font-size:.8rem;padding:.2rem;text-align:center}input{width:4em}textarea{text-align:left;width:10em}select{font-size:1rem;width:6em}input[type=file]{background-color:initial;border:none;font-family:Roboto;font-size:.8rem;padding:.2rem;text-align:center;width:4rem}input:hover,select:hover,textarea:hover{border-bottom-color:#06f}input:focus,select:focus,textarea:focus{background-color:#eee}input[type=radio]{cursor:pointer}blockquote{text-align:left}span.emoji{font-size:90%}.flex-container-row{display:flex;justify-content:stretch}.flex-grow{flex-grow:1}.flex-shrink{flex:0 1}.push-left{margin-right:auto}.push-right{margin-left:auto}.border-pill{border-radius:100vmax}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.templates-list{display:flex;flex-direction:column}.InfoModal{border-radius:.2rem;font-family:Roboto;margin:0;padding:1rem}.InfoModal .title{font-size:1.5rem;margin:1rem 0}.InfoModal .content{line-height:150%;text-align:left}.btn,button,input[type=file].btn{background-color:#39f;border:2px solid transparent;border-radius:3px;color:#fff;cursor:pointer;font-family:Roboto;font-size:100%;margin:.2rem;padding:.2rem .3rem;position:relative;text-decoration:none;transition:background-color 80ms ease}.btn:hover,button:hover,input[type=file].btn:hover{background-color:#06f;color:#fff}.btn:active,button:active,input[type=file].btn:active{background-color:#05f;color:#fff}.btn-ctrl{background-color:initial;color:#39f;padding:0}.btn-ctrl:hover{background-color:initial;color:#039}.btn-ctrl:active{background-color:initial;color:#006}.btn-default,.btn-info{background-color:initial;color:#39f;height:auto;margin:0;padding:0;transition:all 80ms ease;width:auto}.btn-default:hover,.btn-info:hover{background-color:initial;color:#039}.btn-default:active,.btn-info:active{color:#006}.btn-active-left:active{-webkit-transform:translateX(-1px);transform:translateX(-1px)}.btn-active-right:active{-webkit-transform:translateX(1px);transform:translateX(1px)}.btn-active-up:active{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-active-down:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.btn-active{background-color:#06c;border-color:#06c;pointer-events:none}.btn-cancel{background-color:#69c}.btn-cancel:hover{background-color:#47c}.btn-danger{background-color:#f44}.btn-danger:hover{background-color:red}.btn-warning{background-color:#f84}.btn-warning:hover{background-color:#f60}.btn-accept,a.btn-accept{background-color:#2baf77}.btn-accept:hover,a.btn-accept:hover{background-color:#1b9f67}.btn-accept:active,a.btn-accept:active{background-color:#0b8f57}.btn-special,a.btn-special{align-items:center;background-color:#39f;background:linear-gradient(45deg,#06f,#3cf);background-position:-100% 0;background-size:200% 200%;border:none;display:flex}.btn-special:hover,a.btn-special:hover{-webkit-animation:special 2.5s ease infinite;animation:special 2.5s ease infinite;background-color:#06f;background:linear-gradient(0deg,#06f,#3cf);background-size:200% 200%}.btn-lg{align-items:center;border-width:2px;display:inline-flex;font-size:125%;font-weight:500;margin:0;padding:.5rem 1rem}@-webkit-keyframes special{0%{background-position:-100% 0}25%{background-position:0 100%}40%{background-position:100% 0}to{background-position:100% 0}}@keyframes special{0%{background-position:-100% 0}25%{background-position:0 100%}40%{background-position:100% 0}to{background-position:100% 0}}.btn-delete{background-color:initial;color:#f66}.btn-delete:hover{background-color:initial;color:red}.btn-accept:hover:disabled,.btn-delete:hover:disabled,a.btn:disabled,button:disabled,input[type=file].disabled{background-color:#666;color:#aaa;cursor:not-allowed}button.btn-sm{font-size:84%;padding:.1rem .2rem}.access-blocked-page{display:flex;flex:1 1;flex-direction:column}.access-blocked-container{align-items:center;display:flex;flex:1 0;flex-direction:column;justify-content:center;margin:2rem;padding:.5rem;position:relative}.loader-container{height:120px;width:120px}.loader{-webkit-animation:spin 1.2s ease infinite;animation:spin 1.2s ease infinite;border-color:#06f transparent;border-radius:50%;border-style:solid;border-width:8px;height:100%;width:100%}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{border-left-color:#06f7;border-right-color:#06f7}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{border-left-color:#06f7;border-right-color:#06f7}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.login-page{flex:1 1}.login-form-container,.login-page{display:flex;flex-direction:column}.login-form-container{align-items:center;flex:1 0;justify-content:center;margin:2rem;padding:.5rem;position:relative}.login-form{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between;width:25em}.login-form>*{font-size:125%;margin:1em 0;position:relative}.login-form input{flex:1 1;font-size:100%;width:auto}.login-form .login-button{height:2.5rem}.login-form .input-sticky-button{-webkit-filter:sepia(1) saturate(250%) hue-rotate(160deg);filter:sepia(1) saturate(250%) hue-rotate(160deg);margin:auto 0;position:absolute;right:0}.login-error{color:#f33;font-weight:500}main.simulation-v2-opt-in{align-items:center;display:flex;flex-direction:column;justify-content:center}.simulation-v2-opt-in article{color:#000;display:flex;flex:1 0;flex-direction:column;line-height:180%;max-width:900px;padding:3rem;text-align:left;width:60%}.simulation-v2-opt-in section{margin:1rem 0}.simulation-v2-opt-in .row-buttons{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.simulation-v2-opt-in img{border:2px solid #000;width:100%}.VehicleTemplatesPage{flex:1 1;padding:1rem;text-align:left}.VehicleTemplatesPage .template-section{align-items:flex-start;background-color:#eee;border-radius:1rem;display:flex;flex-direction:column;margin:1rem 0;padding:1rem}.VehicleTemplatesPage .template-content{align-self:stretch;font-family:monospace;width:100%}