*{box-sizing:border-box}html,body{display:flex;flex-direction:column;height:100vh;width:100vw;margin:0;padding:0;overflow:hidden;font-family:monospace}#canvas{position:absolute;top:0;left:0;display:block;width:100vw;height:100vh;z-index:0}ul li:not(:last-child){list-style:none;margin:0;padding:0;background-color:#fff;border-bottom:1px dashed rgb(210,210,210)}button{border:none}.preload-state{display:none!important}.toggle-sidebar-btn{position:absolute;display:flex;bottom:2%;width:40px;height:40px;font-size:large;background-color:#fff;border:1px solid black;cursor:pointer;z-index:1000;align-items:center;justify-content:center;text-align:center;margin:0;padding:0}.toggle-sidebar-btn:hover{background-color:#d2d2d2}#menu{position:fixed;top:0;left:0;width:60px;height:100dvh;display:flex;flex-direction:column;z-index:1000;border-right:1px solid black;background-color:#fff;pointer-events:auto;overflow:hidden;padding:0;margin:0}#toggle-menu-btn{left:59px}#toggle-menu-btn.collapsed{transform:translate(-59px)}#menu.collapsed{width:0}#menu.collapsed ul{opacity:0;visibility:hidden;pointer-events:none}#menu ul{flex:1;visibility:visible;display:flex;flex-direction:column;margin:0;padding:0}#menu li{flex:1;position:relative;height:auto;margin:0;padding:0}#menu li button{display:flex;width:100%;height:100%;font:inherit;background:#fff;border:none;cursor:pointer;align-items:center;justify-content:center;margin:0}#menu li button:hover{background-color:#d2d2d2}#menu .dropdown{display:none;position:absolute;top:0;left:100%;height:auto;text-wrap:nowrap;flex-direction:column;background-color:#fff;border:1px solid black;margin:0;padding:0;pointer-events:auto;z-index:1001}.dropdown-toggle{padding:0}#menu .dropdown .dropdown{top:0;transform:translateY(-1px)}#menu li.open>.dropdown{display:flex;margin:0;padding:0;pointer-events:auto}#menu li.open>.dropdown button{margin:0;height:30px}#view-menu #camera-controls{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:8px}#view-menu #camera-controls:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;border-left:1px dashed rgb(210,210,210);transform:translate(-50%);z-index:1}#view-menu #camera-controls button{width:40px;height:40px;justify-content:center;cursor:pointer;color:#000}#camera-controls .button-label{background-color:#fff;padding:4px}#view-menu #camera-controls button:hover{border:1px solid black}#view-menu #xyCamera-btn{background:#ff0000b3}#view-menu #zyCamera-btn{background:#ffff00b3}#view-menu #xzCamera-btn{background:#0000ffb3}#view-menu #abCamera-btn{background:#ff5cffb3}#view-menu #cbCamera-btn{background:#008000b3}#view-menu #acCamera-btn{background:#ffa700b3}#state-menu{position:fixed;display:flex;justify-content:space-between;top:0;left:calc(50% - 200px);width:400px;height:4rem;gap:4rem;background-color:transparent}.state-btn{width:40px;height:100%;padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;border:1px solid black}.state-btn:hover{background-color:#c8c8c8}.state-btn img{display:block;object-fit:contain;width:100%;height:100%}#inspector{position:fixed;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;top:0;right:0;width:150px;height:100dvh;z-index:1000;overflow-y:auto;overflow-x:hidden;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;background-color:#fff;border-left:1px solid black}#inspector::-webkit-scrollbar{display:none}#inspector.collapsed{width:0}#inspector.collapsed ul{opacity:0;visibility:hidden;pointer-events:none}#toggle-inspector-btn{right:149px}#toggle-inspector-btn.collapsed{transform:translate(150px)}#inspector ul{opacity:1;flex:1;visibility:visible;display:flex;flex-direction:column;list-style:none;margin:0;padding:0;border-top:1px solid black}#inspector li{flex:1;position:relative;height:100%;overflow:visible}#inspector .tab.collapsed .tab-content{display:none}.tab-header{display:flex;height:30px;align-content:center;justify-content:center;text-align:center;color:#fff;cursor:grab;background-color:#616161;border:1px solid black}.tab-label{flex:1}.toggle-tab-btn{display:flex;width:100%;height:100%;align-items:center;justify-content:space-between;text-align:center;color:#fff;border:none;cursor:pointer;background-color:transparent}.tab{flex-shrink:1;min-width:0}.tab-content{list-style:none;border:none;margin:0;padding:0;cursor:default;border-bottom:1px solid black}.tab-content li{display:flex;overflow-x:hidden;flex-wrap:wrap;padding:.25rem;max-width:100%;height:100%;align-items:center}.tab-content button,select,select option{padding:0;width:100%;height:100%;text-align:center;text-align-last:center;cursor:pointer}input[type=checkbox]{width:15px;height:15px;cursor:pointer}#toggles{display:flex;flex-direction:column}#toggles label{display:flex;align-items:center;gap:.5rem;height:3rem;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}#toggles label:not(:last-child){border-bottom:1px dashed rgb(210,210,210)}.scroll-wrapper{height:50px;overflow-x:scroll;overflow-y:hidden;scrollbar-width:thin;background:#ddd}.tool-carousel{display:flex;overflow-x:scroll;overflow-y:hidden;gap:12px;padding:10px;border:1px solid #ccc;background-color:#f8f8f8;white-space:nowrap}.tool-carousel::-webkit-scrollbar{height:12px;display:block}.tool-carousel button{flex:0 0 auto;width:28px;height:28px;justify-content:center;border:1px solid #999;border-radius:4px;cursor:pointer}.tool-btn:hover{background-color:#e0e0e0}.tool-btn.active{border:3px solid #000}#drawPlane-menu{margin:0;background:#ececec}#drawPlane-menu-label{display:flex;align-items:center;justify-content:center;text-align:center;margin:0;color:#fff;font-weight:700;font-size:14px;border:none;background-color:#969696}.drawPlane-label{display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:0}#drawPlane-menu div{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem;overflow-x:hidden}#drawPlane-menu div>div{flex:1 0 100%}#drawPlane-menu div div{border:none!important}#drawPlane-menu div:not(:last-child){border-bottom:1px dashed grey}#drawPlane-menu span,input{white-space:nowrap;flex-shrink:0;text-align:center}#drawPlane-menu input{flex:1 1;min-width:1rem;height:30px}#drawPlane-menu #boolean-options select{background-color:#d7d7d7;border:1px solid rgb(100,100,100);border-radius:4px}#drawPlane-menu #boolean-options select:hover{background-color:#fafafa;border:1px solid rgb(100,100,100);border-radius:4px}#drawPlane-menu #create-btn-wrap{display:flex;align-items:center;justify-content:center;padding:1rem 2rem}#create-btn{padding:0;height:5rem;border-radius:4px;border:1px solid rgb(75,75,75);background-color:#d7d7d7}#create-btn:hover{background-color:#fafafa}#layer-menu-wrap{width:100%;height:4rem;padding:.5rem;background-color:#969696}#layer-menu{display:flex;width:100%;height:3rem;gap:1rem;text-align:center}#layer-menu button{flex-shrink:1;min-width:0;height:100%;border-radius:0;font-size:24px;border:2px solid rgb(175,175,175)}#layers-list{flex:1;overflow-y:auto;min-height:0;background:#ececec}#layers-list li{padding:0;margin:0}#layers-container{min-height:150px;border:none}#layers li{height:2rem;width:100%;padding:0;margin:0;border:none;border-top:1px solid rgb(70,70,70);border-bottom:1px solid rgb(70,70,70)}#layers li{display:flex;flex-direction:column}#layers>li:not(:last-child){margin-bottom:4px;padding:0}.layer-content{display:flex;align-items:center;width:100%;height:100%;background:#fff;cursor:grab;border-top:1px solid rgb(70,70,70);border-bottom:1px solid rgb(70,70,70)}.layer.selected .layer-content{background-color:#bdbdbd}.layer.dragging{opacity:.4}.eye{position:relative;flex:0 0 34px;max-width:34px;border-right:1px solid black;z-index:3;pointer-events:auto}.eye img{width:24px;height:24px;display:block;margin:auto}.layer-name{flex:1;text-align:center;padding-left:8px;white-space:nowrap}#home-icon{position:absolute;align-items:flex-start;top:10px;left:10px;max-width:40px!important;height:auto;object-fit:contain;overflow:hidden;border:none;cursor:pointer;background-color:transparent;opacity:.6;padding:4px}#about-section-header{margin:0;padding:20px;font-size:18px}.modal{display:none;position:fixed;top:0;left:0;width:100dvw;height:100dvh;background:#00000080;z-index:2000;justify-content:center;align-items:center}.modal-content{position:relative;padding:12px;max-width:500px;width:80%;overflow-y:scroll;border:1px solid black;box-shadow:0 4px 20px #0006;text-align:center;background:#fff}.close-btn{position:absolute;top:4px;right:8px;font-size:28px;background:none;border:none;cursor:pointer}
