:root{color:#181a20;font-synthesis:none;--blue:#153dff;--line:#dadde4;background:#fff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:10px 13px;font-size:13px;font-weight:600}button:hover{background:#f1f3f9}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #8b9eff}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#0026db}.active{color:#1234d6;background:#e5eaff!important;border-color:#153dff!important}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:74px;padding:0 26px;display:flex}.brand{letter-spacing:-1.5px;white-space:nowrap;font-size:29px;font-weight:900}.headeractions{align-items:center;gap:8px;display:flex}.iconbutton{width:42px;padding:10px}.iconbutton svg,button svg{vertical-align:middle;width:20px;height:20px}.app{grid-template-columns:246px minmax(0,1fr) 254px;height:calc(100dvh - 74px);display:grid}aside{scrollbar-width:thin;background:#fff;padding:24px 20px;overflow:auto}aside.left{border-right:1px solid var(--line)}aside.right{border-left:1px solid var(--line)}h1,h2{letter-spacing:-.8px;margin:0 0 20px;font-size:25px;line-height:1.1}h3{letter-spacing:-.3px;margin:0 0 14px;font-size:17px}section{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:22px}section:last-child{border:0;margin-bottom:0}.tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool{flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:75px;font-size:12px;display:flex}.tool svg{width:25px;height:25px}.range{margin:19px 0 0;display:block}.range span{justify-content:space-between;gap:5px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.range output{color:#717785;font-variant-numeric:tabular-nums;font-weight:400}input[type=range]{width:100%;accent-color:var(--blue);min-height:22px;margin:0}input[type=text],input[type=number],select{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;min-height:42px;padding:10px;font-size:14px}input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px}.check{align-items:center;gap:8px;margin:10px 0;font-size:12px;display:flex}.full{width:100%;margin-top:9px}.small{color:#6e7481;font-size:11px;line-height:1.5}.stage{background:radial-gradient(at 45% 42%,#f4f5fa,#dfe2eb);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.viewport{touch-action:none;position:absolute;inset:0}.viewport canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.views{z-index:2;background:#ffffff80;border:1px solid #ffffffd0;border-radius:13px;gap:3px;padding:4px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.views button{background:0 0;border:0;border-radius:9px;min-width:65px;padding:8px 14px}.views button.chosen{background:#fff;box-shadow:0 1px 5px #0001}.canvaslabel{letter-spacing:1px;color:#747b8c;pointer-events:none;font-size:10px;position:absolute;top:28px;left:22px}.bottom{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdf;border:1px solid #fff;border-radius:12px;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.bottom button{background:0 0;border:0}.bottom .hint{color:#6a7080;padding-left:8px;font-size:11px;line-height:1.5}.status{text-align:center;color:#4e566b;pointer-events:none;font-size:12px;position:absolute;bottom:89px;left:22px;right:22px}.materialgrid{grid-template-columns:repeat(4,1fr);gap:9px 6px;display:grid}.mat{aspect-ratio:1;background:0 0;border:2px solid #0000;border-radius:50%;width:100%;min-height:0;padding:3px}.mat:hover{background:#edf0f8}.mat.active{background:0 0!important}.sphere{background:radial-gradient(circle at 32% 23%,#fff 0%,var(--c) 23%,var(--c) 45%,#1c2033 100%);border-radius:50%;width:100%;height:100%;display:block;box-shadow:inset -6px -6px 9px #0004,inset 3px 3px 5px #fff9,0 3px 4px #0001}.materialname{color:#6e7481;margin:12px 0 0;font-size:11px}.colorrow{align-items:center;gap:9px;display:flex}.colorrow input[type=color]{cursor:pointer;background:0 0;border:0;width:48px;height:44px;padding:0}.colorrow input[type=text]{font-size:13px}.objects{flex-direction:column;gap:5px;display:flex}.object{background:#f5f6fa;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:2px;display:flex}.object.selected{background:#e1e7ff;border-color:#bdcaff}.object button{background:0 0;border:0;min-height:38px;padding:7px}.object .name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.object .dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.triple{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.triple label{color:#717785;font-size:10px}.triple input{padding:7px;font-size:12px}.inline{align-items:center;gap:6px;display:flex}details summary{cursor:pointer;margin:10px 0;font-size:12px}details p,details li{color:#61697a;font-size:12px;line-height:1.55}details ul{padding-left:16px}dialog{border:1px solid var(--line);border-radius:14px;width:min(460px,100vw - 28px);max-height:90dvh;padding:26px;overflow:auto;box-shadow:0 20px 90px #0003}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#20283d66}dialog h2{margin:0}dialog .dialoghead{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}dialog label{margin:14px 0 7px;font-size:12px;display:block}dialog .check{display:flex}dialog .pair button{margin-top:8px}.error{color:#a82234}.empty{color:#767c89;padding:12px 0;font-size:12px}.mobiletitle{display:none}@media (width>=1600px){.app{grid-template-columns:270px minmax(0,1fr) 280px}aside{padding:28px 24px}}@media (width<=1100px){header{padding:0 17px}.brand{font-size:25px}.app{grid-template-columns:213px minmax(0,1fr) 216px}aside{padding:20px 14px}.bottom .hint,.canvaslabel{display:none}h1,h2{font-size:23px}.tools{gap:6px}.tool{min-height:68px}}@media (width<=900px){header{height:64px;padding:0 12px}.brand{font-size:22px}.headeractions{gap:4px}.headeractions .saveword{display:none}.headeractions button{min-height:40px;padding:9px}.app{grid-template-columns:1fr 1fr;height:auto;display:grid}.stage{grid-area:1/1/auto/-1;height:57dvh;min-height:360px}.left,.right{overflow:visible;max-height:none!important}.left{border-right:1px solid var(--line)}aside.right{border-left:0}.views{top:12px}.bottom{gap:1px;padding:5px;bottom:10px;left:10px;right:auto}.bottom button{min-height:36px;padding:7px}.status{font-size:11px;bottom:65px}aside{padding:20px 12px}h1,h2{font-size:21px}.tool{min-height:66px;font-size:11px}.materialgrid{gap:7px 3px}.headeractions .openword{display:none}.range span{font-size:11px}section{margin-bottom:18px;padding-bottom:18px}.colorrow{gap:4px}.colorrow input[type=text]{width:100%;padding:6px;font-size:11px}.colorrow input[type=color]{width:35px}.object .name{max-width:95px}.triple{grid-template-columns:1fr}.mobiletitle{display:block}}.pair>*{min-width:0}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.object{min-width:0}.object .name{min-width:0;max-width:none}.pair button{padding:8px 4px}.pair button svg{width:16px;height:16px}}@media (width<=480px){header{gap:8px}.brand{letter-spacing:-1px;font-size:19px}.headeractions{gap:3px}.headeractions .iconbutton{width:34px}.headeractions>button{flex-shrink:0;min-height:36px;padding:7px}.headeractions .primary svg{display:none}.headeractions .primary{font-size:12px}}.object .layerdelete{color:#7c5260;flex:0 0 32px;width:32px;padding:6px}.object .layerdelete:hover{color:#a4213c;background:#fce9ed}.layerdelete svg{width:17px;height:17px}.object .name{min-width:0}.object{gap:2px}.object>button{flex-shrink:0;width:30px;padding:6px}.object>button svg{width:17px;height:17px}.layercheck{cursor:pointer;flex:0 0 24px;justify-content:center;align-items:center;min-height:40px;display:flex}.layercheck input{width:16px;height:16px;margin:0}.object .layername{background:0 0;border-color:#0000;flex:1;width:0;min-width:0;min-height:38px;padding:7px 3px;font-size:12px}.object .layername:focus{outline-offset:0;background:#fff;outline:2px solid #8b9eff}.object.current{border-color:#153dff}.object .layerdelete{flex-basis:28px;width:28px;padding:5px}@media (width<=480px){.object{flex-wrap:wrap}.object .layername{flex-basis:calc(100% - 35px);order:4;margin-left:3px}.object .layerdelete{order:5}.layercheck{flex-basis:28px}.object>button{width:32px}}.png-preview{background:conic-gradient(#e0e3ea 25%,#f5f6f9 0 50%,#e0e3ea 0 75%,#f5f6f9 0) 0 0/20px 20px;border:1px solid #dadde4;justify-content:center;margin-top:15px;display:flex;overflow:hidden}.png-preview canvas{width:auto;max-width:100%;height:auto;max-height:280px;display:block}.check input[type=color]{background:0 0;border:0;width:40px;height:28px;padding:0}.png-preview{background:0 0;border:0}.png-preview canvas{background:conic-gradient(#e0e3ea 25%,#f5f6f9 0 50%,#e0e3ea 0 75%,#f5f6f9 0) 0 0/20px 20px;border:1px solid #bdc4d2}.object.cutter{background:#fff1e5;border-color:#dfac83}.object.cutter.current{border-color:#c65d22}.object.cutter .layername{color:#9b4519}.object.cutter .layercheck input{accent-color:#c65d22}.canvasclear{z-index:3;color:#714652;background:#fffffff0;min-height:42px;font-size:12px;position:absolute;top:18px;right:18px;box-shadow:0 2px 10px #18223b0a}.canvasclear svg{width:17px;height:17px}@media (width<=900px){.canvasclear{min-height:40px;padding:8px 10px;top:62px;right:12px}}.selection-actions{margin-bottom:12px}.selection-actions button{padding:8px 4px;font-size:11px}.object .layerpick{flex:0 0 26px;width:26px;padding:3px;font-size:20px}.object .layerpick[aria-pressed=true]{color:#1234d6;background:#e5eaff}.export-settings{border:0;min-width:0;margin:0;padding:0}.export-scope{border:1px solid #dadde4;border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.export-result{min-height:32px}.tool{transition:background-color .14s,border-color .14s}.canvaslabel{max-width:calc(100% - 180px)}@media (prefers-reduced-motion:reduce){.tool{transition:none}}
