*{box-sizing:border-box;}
body{margin:0;height:100vh;display:flex;flex-direction:column;background:#1e1e1e;color:#eee;}
header{position: fixed;
    bottom: 12%;
    left: 0;
    right: 0;
    width: fit-content;
    z-index: 100;
    height: 60px;
    background: #fff;
    padding: 20px;
    border-bottom: 0px solid #ccc;
    box-shadow: 0 10px 30px #00000010;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    border-radius: 100px;
    margin: 0 auto;}


@media (max-width: 1024px) {
  header {scrollbar-width: none !important; width:auto; overflow-x: scroll;}
}

.group{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.zoom {position: fixed;
    top: 80px;
    left: 10px;
    backdrop-filter: blur(11px);
    background: #ffffff00;
    padding: 14px 16px;
    border-radius: 20px;
    box-shadow: 0 10px 30px #00000030;}
.bgprew {position: fixed;
    top: 80px;
    right: 10px;
    backdrop-filter: blur(11px);
    background: #ffffff00;
    padding: 14px 16px;
    border-radius: 20px;
    box-shadow: 0 10px 30px #00000030;}
.tools {position: fixed;gap: 12px;
    top: 20%;
    left: 10px;
    backdrop-filter: blur(11px);
    background: #ffffff00;
    padding: 14px 16px;
    border-radius: 20px;
        flex-wrap: wrap;
    box-shadow: 0 10px 30px #00000030;width: 144px;}
.tools button {font-size: 26px; border: 2px solid #efefef; border-radius: 12px; background:#efefef;}
.tools button.on {font-size: 26px; border: 2px solid #000; background:#fff;}
.tools button.on:hover {font-size: 26px; border: 2px solid #000; background:#fff;}

.group.sep{padding-left:12px;border-left:1px solid #3a3a3a}
header label{font-size:13px;display:flex;gap:5px;align-items:center;white-space:nowrap;cursor:default}
header select,input[type=file]{background: #f2f2f2;color: #676767;border: 1px solid #e0e0e0;border-radius: 8px;padding: 5px 5px;font-size: 13px;cursor:pointer;}
header input[type=range]{width:70px; background: #efefef;border-radius: 100px;height: 8px;accent-color:#00b8cc;}
header input[type=checkbox]{accent-color:#00b8cc;margin:0}
header input[type=color] {width: 28px;height: 28px;border-radius: 100px;border: 1.1px solid #efefef;vertical-align: middle;cursor: pointer;padding: 0px 2px;}
input[type="color"]::-webkit-color-swatch-wrapper {border: 0px solid red;}
input[type="color"]::-webkit-color-swatch {border: 0px solid red;border-radius: 100px;}
button{padding:5px 9px;border:0;border-radius:4px;cursor:pointer;background:#efefef;color:#626262;font-size:13px}
button:hover:not(:disabled){background:#dedede;}
button:disabled{opacity:.4;cursor:default}
button.on{background:#2d8cff;}
button.on:hover{background:#2d8cff;}
button.primary{background: #00ce79;color: #ffffff;}
button.primary:hover {background: #00ce79;color: #ffffff;}
button.danger{background:#b100ea;color: #ffffff;}
button.danger:hover{background:#b100ea;color: #ffffff;}
#zoomVal{min-width:48px;text-align:center;font-size:13px}
#info{font-size:12px;color:#aaa;width:100%; display: none;}
main{flex:1;overflow:auto;display:flex;padding: 280px 50px 420px 50px;height: 100vh; background-image: conic-gradient(#ccc 25%, #fff 0 50%, #ccc 0 75%, #fff 0);
    background-size: 20px 20px;}
main::-webkit-scrollbar {width: 1px; height: 0px;}
#wrap{margin:auto;flex:none}
#empty{color:#888;font-size:18px;padding:20px 20px;border:0px dashed #44444450;border-radius:32px;text-align:center;background: #ffffffd9;box-shadow: 0 0 0px #00000050;}
#empty .empt {color:#888;font-size:18px;padding:80px;border:1px dashed #44444450;border-radius:18px;text-align:center;text-align: center;display: grid;gap: 20px;}
#stageBox{position:relative;display:inline-block;line-height:0}
#stage{display:block;background-size:20px 20px;box-shadow: 0 20px 40px 0px #00000030;
    cursor: crosshair;
    border-radius: 12px;
    border: 1px solid #818181;}
#ants{position:absolute;left:0;top:0;pointer-events:none}
body.space,body.space main,body.space #stage,body.space #ants{cursor:grab!important}
body.panning,body.panning main,body.panning #stage,body.panning #ants{cursor:grabbing!important}
[hidden]{display:none!important}
#brushCursor{position:fixed;left:0;top:0;pointer-events:none;border-radius:50%;border:2px solid #00e5ff;display:none;z-index:50;transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgba(0,0,0,.55)}
#drop{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(46,125,50,.25);border:4px dashed #4caf50;font-size:28px;pointer-events:none}
#drop.show{display:flex}
label span {width:30px;}