/* MC Skin Creator - Copyright (C) 2026 clixmods - Licence AGPL-3.0 (voir LICENSE) */
:root{--gui:#2e2e34;--gui-hi:#53535e;--gui-lo:#131317;--gui-mid:#4a4a54;--gui-head:#26262b;--gui-sub:#34343b;--slot:#1b1b20;--slot-hi:#4a4a54;--slot-lo:#0b0b0e;--slot-hover:#272730;--btn:#63636b;--btn-hi:#95959f;--btn-lo:#33333a;--btn-hover:#767688;--btn-hover-hi:#a9a9bd;--btn-hover-lo:#3d3d4a;--green:#3c8527;--green-hi:#5aa838;--green-lo:#23511a;--red:#a03b31;--red-hi:#c45a4d;--red-lo:#5e1f19;--dark:#26262b;--dark2:#18181c;--void:#101014;--edge:#000000;--txt:#ffffff;--txt-dim:#c9c9c9;--txt-dim2:#9a9a9a;--txt-dim3:#7c7c84;--gold:#fcfc54;--lime:#7ec850;--sky:#8ab6f0;--sh:2px 2px 0 rgba(0,0,0,.55);--font:ui-monospace,"Cascadia Mono","Segoe UI Mono","SF Mono",Consolas,"DejaVu Sans Mono",monospace;color-scheme:dark}*{box-sizing:border-box;border-radius:0}html,body{height:100%}body{margin:0;color:var(--txt);background:#0b0b0e var(--tex-dirt) repeat;background-size:var(--tex-dirt-size) var(--tex-dirt-size);font:12px/1.5 var(--font);overflow:hidden;display:flex;flex-direction:column}h1,h2,h3{margin:0;font-weight:700}button,input,select{font:inherit;color:inherit}button{letter-spacing:.2px}canvas,img{image-rendering:pixelated}*{scrollbar-color:var(--btn) #000;scrollbar-width:thin}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:var(--btn);box-shadow:inset 2px 2px 0 var(--btn-hi),inset -2px -2px 0 var(--btn-lo)}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}::-webkit-scrollbar-corner{background:#000}.btn,.seg button,.tool,select,.exp-card{font-family:var(--font);background:var(--btn);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--btn-hi),inset -2px -2px 0 var(--btn-lo);color:var(--txt);text-shadow:var(--sh);padding:5px 10px;cursor:pointer;white-space:nowrap}.btn:hover,.seg button:not(.on):hover,.tool:not(.on):hover,select:hover,.exp-card:hover{background:var(--btn-hover);color:var(--gold);box-shadow:inset 2px 2px 0 var(--btn-hover-hi),inset -2px -2px 0 var(--btn-hover-lo)}.btn:active,.seg button:active,.tool:active{box-shadow:inset 2px 2px 0 var(--btn-lo),inset -2px -2px 0 var(--btn-hi);padding-top:6px;padding-bottom:4px}.btn:focus-visible,.tool:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.btn.primary{background:var(--green);box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo)}.btn.primary:hover{background:#4a9c30;color:var(--gold);box-shadow:inset 2px 2px 0 #6bbf47,inset -2px -2px 0 var(--green-lo)}.btn.danger{background:var(--red);box-shadow:inset 2px 2px 0 var(--red-hi),inset -2px -2px 0 var(--red-lo)}.btn.danger:hover{background:#b8473b;color:#ffd0c8;box-shadow:inset 2px 2px 0 #d46a5c,inset -2px -2px 0 var(--red-lo)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--txt-dim2);text-shadow:var(--sh)}.btn.ghost:hover{background:transparent;box-shadow:none;color:var(--gold)}.btn.icon{padding:5px 8px;font-size:14px;line-height:1}.btn:disabled{opacity:.4;pointer-events:none}.seg{display:flex;gap:3px}.seg button{padding:5px 9px}.seg button.on{background:var(--green);color:var(--txt);font-weight:700;text-shadow:var(--sh);box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo)}.sep{width:2px;height:20px;background:var(--edge);box-shadow:2px 0 0 #4a4a52;margin:0 5px 0 3px}input[type=search],input[type=text],input[type=number]{font-family:var(--font);background:#0a0a0c;border:2px solid #a0a0a0;color:var(--txt);text-shadow:var(--sh);padding:5px 8px}input[type=search]:focus,input[type=text]:focus,input[type=number]:focus{outline:none;border-color:var(--gold)}input::placeholder{color:#6a6a6a;text-shadow:none}select{appearance:none;-webkit-appearance:none;padding:4px 22px 4px 8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' shape-rendering='crispEdges'%3E%3Cpath d='M1 2h6v1H1zM2 3h4v1H2zM3 4h2v1H3z' fill='%23ffffff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 8px}select option{background:#2b2b30;color:#fff}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:18px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:14px;background:#0a0a0c;border:2px solid var(--edge);box-shadow:inset 2px 2px 0 #2e2e34,inset -2px -2px 0 #52525c}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:18px;margin-top:-2px;background:var(--btn);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--btn-hi),inset -2px -2px 0 var(--btn-lo)}input[type=range]:hover::-webkit-slider-thumb{background:var(--btn-hover);box-shadow:inset 2px 2px 0 var(--btn-hover-hi),inset -2px -2px 0 var(--btn-hover-lo)}input[type=range]::-moz-range-track{height:14px;background:#0a0a0c;border:2px solid var(--edge)}input[type=range]::-moz-range-thumb{width:8px;height:16px;border:2px solid var(--edge);background:var(--btn);box-shadow:inset 2px 2px 0 var(--btn-hi),inset -2px -2px 0 var(--btn-lo)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;cursor:pointer;background:#0a0a0c;border:2px solid var(--edge);box-shadow:inset 2px 2px 0 #2e2e34,inset -2px -2px 0 #52525c}input[type=checkbox]:checked{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' shape-rendering='crispEdges'%3E%3Cpath d='M6 1h2v1H6zM5 2h2v1H5zM4 3h2v1H4zM1 4h1v1H1zM3 4h2v1H3zM2 5h3v1H2zM3 6h1v1H3z' fill='%23ffffff'/%3E%3C/svg%3E") center/12px 12px no-repeat;box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo)}input[type=checkbox]:hover{border-color:#4a4a52}input[type=color]{appearance:none;-webkit-appearance:none;width:30px;height:22px;padding:2px;cursor:pointer;background:var(--slot);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--slot-lo),inset -2px -2px 0 var(--slot-hi)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:1px solid #000}input[type=color]::-moz-color-swatch{border:1px solid #000}.topbar{flex:none;display:flex;align-items:center;gap:10px;padding:6px 10px;min-height:46px;background:var(--dark) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);border-bottom:2px solid var(--edge);box-shadow:0 2px 0 #4a4a52;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:inherit;margin:0}.brand-txt{font-size:14px;font-weight:700;color:var(--txt);text-shadow:var(--sh);letter-spacing:.5px}.brand-sub{font-size:10.5px;font-weight:400;color:var(--txt-dim2);text-shadow:var(--sh);border-left:2px solid #4a4a52;padding-left:8px}@media (max-width:1360px){.brand-sub{display:none}}.logo{width:24px;height:24px;display:block;border:2px solid var(--edge);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' shape-rendering='crispEdges'%3E%3Crect width='8' height='8' fill='%23f2c9a0'/%3E%3Crect width='8' height='2' fill='%234a2f1b'/%3E%3Crect y='2' width='1' height='2' fill='%234a2f1b'/%3E%3Crect x='7' y='2' width='1' height='2' fill='%234a2f1b'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%233a6ea5'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%233a6ea5'/%3E%3Crect x='3' y='5' width='2' height='1' fill='%238a5c46'/%3E%3C/svg%3E") center/100% 100% no-repeat}.toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr) 318px}.panel{background:var(--gui) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);color:var(--txt-dim);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-lib{border-right:2px solid var(--edge);box-shadow:inset 2px 0 0 var(--gui-hi)}.panel-layers{border-left:2px solid var(--edge);box-shadow:inset -2px 0 0 var(--gui-hi)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;background:var(--gui-head);border-bottom:2px solid var(--edge);box-shadow:0 2px 0 var(--gui-mid)}.panel-head h2{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--txt-dim);text-shadow:var(--sh)}.head-actions{display:flex;align-items:center;gap:5px}select.mini{padding:3px 20px 3px 6px;font-size:11px}.panel.collapsed>*:not(.panel-head){display:none}.panel.collapsed .panel-head{padding:7px 2px;justify-content:center}.panel.collapsed .panel-head h2{display:none}.workspace.lib-collapsed{grid-template-columns:40px minmax(0,1fr) 318px}.workspace.layers-collapsed{grid-template-columns:300px minmax(0,1fr) 40px}.workspace.lib-collapsed.layers-collapsed{grid-template-columns:40px minmax(0,1fr) 40px}.regions{display:flex;flex-wrap:wrap;gap:4px;padding:7px 8px;background:var(--gui-head);border-bottom:2px solid var(--edge);box-shadow:0 2px 0 var(--gui-mid)}.regions button{font-family:var(--font);font-size:11px;padding:4px 10px;cursor:pointer;background:var(--btn);border:2px solid var(--edge);color:var(--txt);text-shadow:var(--sh);box-shadow:inset 2px 2px 0 var(--btn-hi),inset -2px -2px 0 var(--btn-lo)}.regions button:not(.on):hover{background:var(--btn-hover);color:var(--gold);box-shadow:inset 2px 2px 0 var(--btn-hover-hi),inset -2px -2px 0 var(--btn-hover-lo)}.regions button.on{background:var(--green);color:var(--txt);text-shadow:var(--sh);font-weight:700;box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo)}.lib-search{padding:8px 8px 4px}.lib-search input{width:100%}.lib-body{flex:1;overflow-y:auto;padding:6px 8px 30px}.cat{margin-bottom:9px;background:var(--gui-sub);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo)}.cat-head{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;user-select:none;color:var(--txt-dim);text-shadow:var(--sh);border-bottom:2px solid transparent}.cat.open .cat-head{border-bottom-color:var(--gui-lo);box-shadow:0 2px 0 var(--gui-mid)}.cat-head:hover{background:#3f3f48;color:var(--gold)}.cat-head .ico{font-size:14px;width:18px;text-align:center}.cat-head .nm{flex:1;font-weight:700;font-size:11.5px;letter-spacing:.2px}.cat-head .cnt{font-size:10px;color:var(--txt-dim2);background:#111114;border:2px solid var(--edge);padding:0 5px}.cat-head .arrow{color:var(--txt-dim3);font-size:10px}.cat.open .cat-head .arrow{transform:rotate(90deg)}.cat-body{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px}.cat.open .cat-body{display:grid}.thumb{position:relative;padding:3px 2px 2px;cursor:pointer;text-align:center;min-width:0;background:var(--slot);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--slot-lo),inset -2px -2px 0 var(--slot-hi)}.thumb:hover{background:var(--slot-hover)}.thumb:active{box-shadow:inset 2px 2px 0 var(--slot-hi),inset -2px -2px 0 var(--slot-lo)}.thumb canvas{display:block;width:100%;height:58px;object-fit:contain;background:linear-gradient(45deg,#232329 25%,transparent 25%,transparent 75%,#232329 75%),linear-gradient(45deg,#232329 25%,#161619 25%,#161619 75%,#232329 75%);background-size:8px 8px;background-position:0 0,4px 4px}.thumb .lbl{display:block;font-size:10px;color:var(--txt-dim2);text-shadow:var(--sh);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb:hover .lbl{color:var(--gold)}.thumb.used::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;background:var(--lime);box-shadow:0 0 0 2px #000}.libfoot{border-top:2px solid var(--edge);box-shadow:0 -2px 0 var(--gui-mid) inset;background:var(--gui-head);padding:7px 9px;font-size:10px;line-height:1.6;color:var(--txt-dim3);text-shadow:var(--sh)}.libfoot a{color:var(--sky);text-decoration:none}.libfoot a:hover{color:var(--gold);text-decoration:underline}.libfoot .disclaimer{display:block;margin-top:3px}.stage{display:flex;flex-direction:column;min-width:0;background:var(--void)}.stage-head,.etoolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;background:var(--dark) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);border-bottom:2px solid var(--edge);box-shadow:0 2px 0 #4a4a52}.stage-opts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.fld{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--txt-dim);text-shadow:var(--sh)}.fld input[type=range]{width:82px}.chk{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--txt-dim);text-shadow:var(--sh);cursor:pointer;user-select:none}.chk:hover{color:var(--gold)}.stage-body{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden;margin-top:2px}.stage-body.both{grid-template-columns:1fr 1fr}.view{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}.view.hide{display:none}.view3d{background:var(--void)}.view3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.view3d canvas:active{cursor:grabbing}.view3d.painting canvas{cursor:crosshair}.fp-only{display:none}.stage.fp .no-fp{display:none}.stage.fp .fld.fp-only{display:flex}.stage.fp .chk.fp-only{display:flex}.stage.fp .btn.fp-only,.stage.fp .hint3d.fp-only{display:block}.hint3d{position:absolute;left:10px;bottom:10px;font-size:10.5px;color:var(--txt-dim);background:var(--dark) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo);padding:4px 8px;pointer-events:none;text-shadow:var(--sh)}.paint3d-badge{position:absolute;right:10px;top:10px;font-size:10.5px;font-weight:700;background:var(--green);border:2px solid var(--edge);color:var(--txt);text-shadow:var(--sh);box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo);padding:4px 9px;pointer-events:none}.preview-tag{position:absolute;left:10px;top:10px;font-size:10.5px;font-weight:700;background:var(--dark) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo);color:var(--gold);text-shadow:var(--sh);padding:4px 9px;pointer-events:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-tag[hidden]{display:none}.view2d{background:var(--void);border-left:2px solid var(--edge)}.stage-body:not(.both) .view2d{border-left:0}.tool-group{display:flex;gap:3px}.tool{width:30px;height:28px;padding:0;font-size:14px;line-height:1;display:grid;place-items:center}.tool.on{background:var(--green);color:var(--txt);text-shadow:var(--sh);box-shadow:inset 2px 2px 0 var(--green-hi),inset -2px -2px 0 var(--green-lo)}#brushVal{width:12px;color:var(--txt);text-shadow:var(--sh)}.palette{display:flex;flex-wrap:wrap;gap:3px;padding:6px 10px;background:var(--dark2);border-bottom:2px solid var(--edge);box-shadow:0 2px 0 #3a3a42}.sw{width:18px;height:18px;cursor:pointer;border:2px solid var(--edge);box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),inset -1px -1px 0 rgba(0,0,0,.4)}.sw:hover{box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.sw.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px #000}.ecanvas{flex:1;overflow:auto;display:grid;place-items:center;padding:16px;min-height:0}#tex{cursor:crosshair;background:linear-gradient(45deg,#26262b 25%,transparent 25%,transparent 75%,#26262b 75%),linear-gradient(45deg,#26262b 25%,#1a1a1e 25%,#1a1a1e 75%,#26262b 75%);background-size:16px 16px;background-position:0 0,8px 8px;border:2px solid var(--edge);box-shadow:0 0 0 2px #4a4a52}.ehint{padding:5px 10px;font-size:10.5px;color:var(--txt-dim2);text-shadow:var(--sh);border-top:2px solid var(--edge);background:var(--dark2)}.ehint b{color:var(--gold);font-weight:700}.layers-body{flex:1;overflow-y:auto;padding:8px}.lgroup{margin-bottom:10px}.lgroup-head{display:flex;align-items:center;gap:7px;padding:2px 2px 4px;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--txt-dim3);text-shadow:var(--sh)}.lgroup-head .bar{flex:1;height:2px;background:var(--gui-lo);box-shadow:0 2px 0 var(--gui-mid)}.layer{display:flex;align-items:center;gap:7px;padding:5px 6px;margin-bottom:4px;cursor:pointer;background:var(--slot);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--slot-lo),inset -2px -2px 0 var(--slot-hi);color:var(--txt);text-shadow:var(--sh)}.layer:hover{background:var(--slot-hover)}.layer.sel{background:#1f3320;border-color:var(--lime);box-shadow:inset 2px 2px 0 #14210f,inset -2px -2px 0 #4e7a3c}.layer.sel .nm{color:var(--lime)}.layer.off{opacity:.5}.layer .eye{width:22px;height:22px;border:0;background:none;cursor:pointer;color:var(--txt-dim2);font-size:12px;line-height:1;flex:none;text-shadow:var(--sh)}.layer .eye:hover{color:var(--gold)}.layer .mini-prev{width:26px;height:26px;flex:none;background:#0d0d10;border:2px solid var(--edge);box-shadow:inset 1px 1px 0 #000}.layer .meta{flex:1;min-width:0}.layer .nm{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer .sub{display:block;font-size:10px;color:var(--txt-dim3)}.layer .ops{display:flex;gap:1px;opacity:0}.layer:hover .ops,.layer.sel .ops{opacity:1}.layer .ops button{width:20px;height:20px;border:0;background:none;color:var(--txt-dim3);cursor:pointer;font-size:11px;text-shadow:var(--sh)}.layer .ops button:hover{color:var(--gold)}.empty{padding:22px 12px;text-align:center;color:var(--txt-dim3);font-size:11px;line-height:1.9;text-shadow:var(--sh)}.layer-inspect{border-top:2px solid var(--edge);box-shadow:0 2px 0 var(--gui-mid) inset;background:var(--gui-head);padding:9px;max-height:46%;overflow-y:auto;color:var(--txt-dim);text-shadow:var(--sh)}.layer-inspect h3{font-size:11.5px;margin-bottom:9px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt)}.insp-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:11px;color:var(--txt-dim2)}.insp-row>span:first-child{width:74px;flex:none}.insp-row input[type=range]{flex:1}.insp-row .val{width:38px;text-align:right;color:var(--txt);font-weight:700}.insp-actions{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap}.insp-actions .btn{font-size:11px;padding:5px 8px}.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.74);display:grid;place-items:center;z-index:100;padding:20px}.modal-wrap[hidden]{display:none}.toast[hidden]{display:none}.modal{background:var(--gui) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);color:var(--txt-dim);text-shadow:var(--sh);border:2px solid var(--edge);box-shadow:inset 3px 3px 0 var(--gui-hi),inset -3px -3px 0 var(--gui-lo),0 0 0 4px rgba(0,0,0,.5);width:min(600px,100%);max-height:88vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:2px solid var(--gui-lo);box-shadow:0 2px 0 var(--gui-mid)}.modal-head h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--txt)}.modal-body{padding:14px}.modal-foot{display:flex;justify-content:flex-end;gap:6px;padding:11px 14px;border-top:2px solid var(--gui-lo);box-shadow:0 -2px 0 var(--gui-mid) inset}.mrow{display:flex;align-items:center;gap:10px;margin-bottom:11px}.mrow>label:first-child{width:130px;flex:none;color:var(--txt-dim2);font-size:11.5px}.mrow select,.mrow input[type=number],.mrow input[type=text]{flex:1}.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exp-card{padding:11px;text-align:left;white-space:normal}.exp-card b{display:block;margin-bottom:4px;font-size:12.5px;color:var(--txt)}.exp-card span{font-size:10.5px;color:var(--txt-dim);line-height:1.5;display:block}.exp-card:hover b{color:var(--gold)}.proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.proj-grid .thumb canvas{height:104px}.progress{height:12px;background:#0a0a0c;border:2px solid var(--edge);overflow:hidden;margin-top:10px;box-shadow:inset 2px 2px 0 #2e2e34}.progress>i{display:block;height:100%;background:var(--green);box-shadow:inset 0 2px 0 var(--green-hi);width:0;transition:width .1s}.prev-box{display:grid;place-items:center;padding:10px;margin-bottom:12px;background:var(--slot);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--slot-lo),inset -2px -2px 0 var(--slot-hi)}.prev-box img,.prev-box canvas{max-width:100%;border:2px solid var(--edge)}.note{font-size:10.5px;color:var(--txt-dim3);line-height:1.7}.toast{position:fixed;left:50%;bottom:48px;transform:translateX(-50%);z-index:200;background:var(--gui) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);border:2px solid var(--edge);box-shadow:inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo),0 4px 0 rgba(0,0,0,.5);padding:9px 16px;font-size:12px;color:var(--txt);text-shadow:var(--sh)}.toast.ok{box-shadow:inset 6px 0 0 var(--green),inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo),0 4px 0 rgba(0,0,0,.5);padding-left:20px}.toast.err{box-shadow:inset 6px 0 0 var(--red),inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo),0 4px 0 rgba(0,0,0,.5);padding-left:20px;color:#ff9d8f}.boot{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0b0b0e var(--tex-dirt) repeat;background-size:calc(var(--tex-dirt-size) * 2) calc(var(--tex-dirt-size) * 2);transition:opacity .25s ease}.boot.done{opacity:0;pointer-events:none}.boot[hidden]{display:none}.boot-box{width:min(420px,86vw);text-align:center;padding:22px 20px;background:var(--gui) var(--tex-stone) repeat;background-size:var(--tex-stone-size) var(--tex-stone-size);color:var(--txt-dim);text-shadow:var(--sh);border:2px solid var(--edge);box-shadow:inset 3px 3px 0 var(--gui-hi),inset -3px -3px 0 var(--gui-lo),0 0 0 4px rgba(0,0,0,.45)}.boot-title{font-size:17px;font-weight:700;letter-spacing:1.5px;margin-bottom:10px;text-transform:uppercase;color:var(--txt)}.boot-msg{font-size:11.5px;color:var(--txt-dim2);margin-bottom:14px;line-height:1.7}.boot-msg code{background:#0a0a0c;border:2px solid var(--edge);color:var(--gold);padding:1px 5px}.boot-bar{height:14px;background:#0a0a0c;border:2px solid var(--edge);overflow:hidden;box-shadow:inset 2px 2px 0 #2e2e34}.boot-bar i{display:block;height:100%;width:0;background:var(--green);box-shadow:inset 0 2px 0 var(--green-hi);transition:width .12s linear}.boot.error .boot-bar{display:none}.boot.error .boot-msg{color:#ff8a7a;font-weight:700}@media (max-width:1180px){.workspace{grid-template-columns:262px minmax(0,1fr) 284px}}@media (max-width:900px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.panel{max-height:34vh}.panel-lib{border-right:0;border-bottom:2px solid var(--edge)}.panel-layers{border-left:0;border-top:2px solid var(--edge)}.brand-txt{display:none}}
