.DotMatrix-module-scss-module__VGBRfq__dotMatrix{gap:var(--dot-gap,4px);padding:var(--matrix-padding,16px);background:var(--matrix-bg,transparent);text-align:center;margin:0 auto;display:inline-grid}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot{width:var(--dot-size,6px);height:var(--dot-size,6px);background:var(--dot-off-color,#333);cursor:default;border-radius:50%;transition:background .15s,box-shadow .15s,transform .15s}[data-theme=light] .DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot{background:var(--dot-off-color-light,#e6e6e6)}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__lit{background:var(--dot-on-color,#f97316);opacity:var(--dot-brightness,1);box-shadow:0 0 calc(var(--dot-size,6px)*.8) var(--dot-on-color,#f97316)}[data-theme=light] .DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__lit{background:var(--dot-on-color-light,#f97316)}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__lit:hover{box-shadow:0 0 calc(var(--dot-size,6px)*2.5) var(--dot-on-color,#f97316),0 0 calc(var(--dot-size,6px)*5) #f97316b3;transform:scale(1.5)}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__lit.DotMatrix-module-scss-module__VGBRfq__animating,.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__animating{animation:1s ease-in-out infinite DotMatrix-module-scss-module__VGBRfq__pulseDot}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__animating{background:var(--dot-on-color,#f97316)!important}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__interactive{cursor:pointer}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__interactive:hover{background:var(--dot-on-color,#f97316);box-shadow:0 0 calc(var(--dot-size,6px)*2) var(--dot-on-color,#f97316),0 0 calc(var(--dot-size,6px)*4) #f9731699;transform:scale(1.4)}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__lit.DotMatrix-module-scss-module__VGBRfq__interactive:hover{box-shadow:0 0 calc(var(--dot-size,6px)*2.5) var(--dot-on-color,#f97316),0 0 calc(var(--dot-size,6px)*5) #f97316b3;transform:scale(1.5)}.DotMatrix-module-scss-module__VGBRfq__dotMatrix .DotMatrix-module-scss-module__VGBRfq__dot.DotMatrix-module-scss-module__VGBRfq__reveal{animation:.3s ease-out forwards DotMatrix-module-scss-module__VGBRfq__revealAnim;animation-delay:var(--dot-delay,0s)}@keyframes DotMatrix-module-scss-module__VGBRfq__pulseDot{0%{opacity:.3;transform:scale(.7);box-shadow:0 0 2px #f973164d}20%{opacity:.6;transform:scale(.85);box-shadow:0 0 4px #f9731680}40%{opacity:.9;transform:scale(.95);box-shadow:0 0 6px #f97316b3}60%{opacity:1;transform:scale(1.1);box-shadow:0 0 10px #f97316}80%{opacity:.9;transform:scale(.95);box-shadow:0 0 6px #f97316b3}to{opacity:.3;transform:scale(.7);box-shadow:0 0 2px #f973164d}}@keyframes DotMatrix-module-scss-module__VGBRfq__dotPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes DotMatrix-module-scss-module__VGBRfq__revealAnim{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.DotMatrix-module-scss-module__VGBRfq__sizeTiny{--dot-size:4px;--dot-gap:2px}.DotMatrix-module-scss-module__VGBRfq__sizeSmall{--dot-size:6px;--dot-gap:3px}.DotMatrix-module-scss-module__VGBRfq__sizeMedium{--dot-size:8px;--dot-gap:4px}.DotMatrix-module-scss-module__VGBRfq__sizeLarge{--dot-size:10px;--dot-gap:5px}.DotMatrix-module-scss-module__VGBRfq__colorOrange{--dot-on-color:#f97316;--dot-off-color:#333;--dot-on-color-light:#f97316;--dot-off-color-light:#e6e6e6}.DotMatrix-module-scss-module__VGBRfq__colorWhite{--dot-on-color:#fff;--dot-off-color:#888;--dot-on-color-light:#333;--dot-off-color-light:#ccc}.DotMatrix-module-scss-module__VGBRfq__colorGreen{--dot-on-color:#22c55e;--dot-off-color:#333;--dot-on-color-light:#16a34a;--dot-off-color-light:#e6e6e6}.DotMatrix-module-scss-module__VGBRfq__colorRed{--dot-on-color:#ef4444;--dot-off-color:#333;--dot-on-color-light:#dc2626;--dot-off-color-light:#e6e6e6}.DotMatrix-module-scss-module__VGBRfq__colorBlack{--dot-on-color:#1a1a1a;--dot-off-color:#333;--dot-on-color-light:#000;--dot-off-color-light:#ccc}.DotMatrix-module-scss-module__VGBRfq__colorNeonGreen{--dot-on-color:#4bff00;--dot-off-color:#1a3d00;--dot-on-color-light:#4bff00;--dot-off-color-light:#2d5a00}.DotMatrix-module-scss-module__VGBRfq__colorPurple{--dot-on-color:#992efe;--dot-off-color:#2d0a3d;--dot-on-color-light:#992efe;--dot-off-color-light:#4d1a5c}.DotMatrix-module-scss-module__VGBRfq__colorPink{--dot-on-color:#ff9cea;--dot-off-color:#3d1a2d;--dot-on-color-light:#ff9cea;--dot-off-color-light:#5c2a4d}.DotMatrix-module-scss-module__VGBRfq__forceBlack.DotMatrix-module-scss-module__VGBRfq__lit{box-shadow:none!important;background:#1a1a1a!important}.DotMatrix-module-scss-module__VGBRfq__forceOrange.DotMatrix-module-scss-module__VGBRfq__lit{box-shadow:0 0 calc(var(--dot-size,6px)*.8) #f97316!important;background:#f97316!important}.DotMatrix-module-scss-module__VGBRfq__interactive{position:relative}.DotMatrix-module-scss-module__VGBRfq__interactive:before{content:"";cursor:crosshair;position:absolute;inset:-8px}
.DotMatrixEditor-module-scss-module__a8n5tG__editor{--dot-bg-dark:#333;--dot-bg-light:#f1f1f1;--dot-hover-dark:#555;--dot-hover-light:#d1d1d1;flex-direction:column;align-items:center;gap:24px;display:flex}@media (max-width:640px){.DotMatrixEditor-module-scss-module__a8n5tG__editor{display:none}}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar{border:1px solid var(--foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;width:100%;padding:16px 24px;display:flex}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar label{color:var(--foreground);align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;display:flex}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar label select{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:0;min-width:90px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:14px}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar label select:focus{border-color:#f97316;outline:none}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar label select option{background:var(--background);color:var(--foreground)}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar button{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:0;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;transition:all .15s}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar button:hover,.DotMatrixEditor-module-scss-module__a8n5tG__toolbar button:last-child{color:var(--background);background:#f97316;border-color:#f97316}.DotMatrixEditor-module-scss-module__a8n5tG__toolbar button:last-child:hover{color:#f97316;background:0 0}.DotMatrixEditor-module-scss-module__a8n5tG__grid{grid-template-columns:repeat(var(--cols), var(--dot-size));grid-template-rows:repeat(var(--rows), var(--dot-size));gap:var(--dot-gap);cursor:crosshair;-webkit-user-select:none;user-select:none;padding:16px;display:grid}.DotMatrixEditor-module-scss-module__a8n5tG__dot{width:var(--dot-size);height:var(--dot-size);background:var(--dot-bg-dark);border-radius:50%;transition:all .15s}.DotMatrixEditor-module-scss-module__a8n5tG__dot:hover{box-shadow:0 0 calc(var(--dot-size)*1.5) #f9731680,0 0 calc(var(--dot-size)*2.5) #f973164d;transform:scale(1.2);background:#f97316!important}.DotMatrixEditor-module-scss-module__a8n5tG__dot.DotMatrixEditor-module-scss-module__a8n5tG__lit{box-shadow:0 0 calc(var(--dot-size)*.8) #f97316;background:#f97316!important}.DotMatrixEditor-module-scss-module__a8n5tG__dot.DotMatrixEditor-module-scss-module__a8n5tG__lit:hover{box-shadow:0 0 calc(var(--dot-size)*2) #f97316cc,0 0 calc(var(--dot-size)*4) #f9731680;transform:scale(1.3)}[data-theme=light] .DotMatrixEditor-module-scss-module__a8n5tG__grid .DotMatrixEditor-module-scss-module__a8n5tG__dot{background:var(--dot-bg-light)}[data-theme=light] .DotMatrixEditor-module-scss-module__a8n5tG__grid .DotMatrixEditor-module-scss-module__a8n5tG__dot:hover{box-shadow:0 0 calc(var(--dot-size)*1.5) #f9731680,0 0 calc(var(--dot-size)*2.5) #f973164d;background:#f97316!important}[data-theme=light] .DotMatrixEditor-module-scss-module__a8n5tG__grid .DotMatrixEditor-module-scss-module__a8n5tG__dot.DotMatrixEditor-module-scss-module__a8n5tG__lit:hover{box-shadow:0 0 calc(var(--dot-size)*2) #f97316cc,0 0 calc(var(--dot-size)*4) #f9731680}
.dotmatrix-module-scss-module__8MHESa__title{color:#f97316;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:32px;font-weight:700}.dotmatrix-module-scss-module__8MHESa__subtitle{color:var(--foreground);opacity:.6;margin-bottom:48px;font-family:JetBrains Mono,monospace;font-size:16px}.dotmatrix-module-scss-module__8MHESa__presetGrid{flex-wrap:wrap;gap:24px;margin-bottom:48px;display:flex}.dotmatrix-module-scss-module__8MHESa__presetExample{flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.dotmatrix-module-scss-module__8MHESa__presetLabel{color:var(--foreground);opacity:.5;font-family:JetBrains Mono,monospace;font-size:12px}.dotmatrix-module-scss-module__8MHESa__customSection{padding-bottom:32px}.dotmatrix-module-scss-module__8MHESa__customSection h2{color:var(--foreground);border-bottom:1px solid var(--foreground);margin-bottom:24px;padding-bottom:16px;font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600}.dotmatrix-module-scss-module__8MHESa__customSection:last-child{display:none}.dotmatrix-module-scss-module__8MHESa__controls{flex-direction:column;gap:20px;display:flex}@media (max-width:640px){.dotmatrix-module-scss-module__8MHESa__controls .dotmatrix-module-scss-module__8MHESa__gridSizeLabel,.dotmatrix-module-scss-module__8MHESa__controls .dotmatrix-module-scss-module__8MHESa__dotSizeLabel{display:none}}.dotmatrix-module-scss-module__8MHESa__controls label{color:var(--foreground);justify-content:space-between;align-items:center;gap:16px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;display:flex}.dotmatrix-module-scss-module__8MHESa__controls label select{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:0;min-width:100px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:14px}.dotmatrix-module-scss-module__8MHESa__controls label select:focus{border-color:#f97316;outline:none}.dotmatrix-module-scss-module__8MHESa__controls label select option{background:var(--background);color:var(--foreground)}.dotmatrix-module-scss-module__8MHESa__controls label input[type=checkbox]{accent-color:#f97316;cursor:pointer;width:20px;height:20px}.dotmatrix-module-scss-module__8MHESa__controls label input[type=range]{accent-color:#f97316;cursor:pointer;width:120px}.dotmatrix-module-scss-module__8MHESa__editorLayout{grid-template-columns:300px 1fr;gap:24px;display:grid}@media (max-width:900px){.dotmatrix-module-scss-module__8MHESa__editorLayout{grid-template-columns:250px 1fr}}@media (max-width:768px){.dotmatrix-module-scss-module__8MHESa__editorLayout{grid-template-columns:1fr}}.dotmatrix-module-scss-module__8MHESa__controlsColumn{border-right:1px solid var(--foreground);flex-direction:column;min-width:0;padding-right:24px;display:flex}@media (max-width:768px){.dotmatrix-module-scss-module__8MHESa__controlsColumn{border-right:none;border-bottom:1px solid var(--foreground);padding-bottom:24px;padding-right:0}}.dotmatrix-module-scss-module__8MHESa__editorColumn{justify-content:center;align-items:center;max-width:100%;min-height:400px;display:flex;overflow:auto}.dotmatrix-module-scss-module__8MHESa__uploadRow{flex-direction:column;gap:8px;display:flex}.dotmatrix-module-scss-module__8MHESa__uploadLabel{color:var(--foreground);align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;display:flex}.dotmatrix-module-scss-module__8MHESa__fileInput{display:none}.dotmatrix-module-scss-module__8MHESa__fileUploadBtn{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:0;max-width:180px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:14px;transition:all .15s;display:inline-block;overflow:hidden}.dotmatrix-module-scss-module__8MHESa__fileUploadBtn:hover{color:var(--background);background:#f97316;border-color:#f97316}.dotmatrix-module-scss-module__8MHESa__buttonRow{gap:16px;margin-top:8px;display:flex}.dotmatrix-module-scss-module__8MHESa__buttonRow button{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:0;padding:8px 24px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;transition:all .15s}.dotmatrix-module-scss-module__8MHESa__buttonRow button:hover:not(:disabled){color:var(--background);background:#f97316;border-color:#f97316}.dotmatrix-module-scss-module__8MHESa__buttonRow button:disabled{opacity:.5;cursor:not-allowed}.dotmatrix-module-scss-module__8MHESa__buttonRow .dotmatrix-module-scss-module__8MHESa__primaryButton{color:var(--background);background:#f97316;border-color:#f97316}.dotmatrix-module-scss-module__8MHESa__buttonRow .dotmatrix-module-scss-module__8MHESa__primaryButton:hover:not(:disabled){color:#f97316;background:0 0}.dotmatrix-module-scss-module__8MHESa__previewSection h3{color:var(--foreground);opacity:.8;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:16px}.dotmatrix-module-scss-module__8MHESa__imagePreview{flex-direction:column;align-items:center;gap:12px;max-width:100%;display:flex;overflow:auto}.dotmatrix-module-scss-module__8MHESa__gridInfo{color:var(--foreground);opacity:.6;font-family:JetBrains Mono,monospace;font-size:12px}.dotmatrix-module-scss-module__8MHESa__progressContainer{align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.dotmatrix-module-scss-module__8MHESa__progressBar{background:#f97316;border-radius:4px;min-width:0;height:8px;transition:width .3s}.dotmatrix-module-scss-module__8MHESa__progressLabel{color:var(--foreground);min-width:60px;font-family:JetBrains Mono,monospace;font-size:12px}.dotmatrix-module-scss-module__8MHESa__loader{opacity:0;align-items:center;gap:8px;margin-left:8px;transition:opacity .2s;display:flex}.dotmatrix-module-scss-module__8MHESa__loader.dotmatrix-module-scss-module__8MHESa__visible{opacity:1}.dotmatrix-module-scss-module__8MHESa__loaderBar{background:var(--code-bg);width:100px;height:8px;overflow:hidden}.dotmatrix-module-scss-module__8MHESa__loaderBar:after{content:"";background:#f97316;width:30%;height:100%;animation:1s ease-in-out infinite dotmatrix-module-scss-module__8MHESa__loading;display:block}@keyframes dotmatrix-module-scss-module__8MHESa__loading{0%{transform:translate(-100%)}to{transform:translate(400%)}}.dotmatrix-module-scss-module__8MHESa__loaderRow{align-items:center;gap:12px;padding:12px 0;display:flex}.dotmatrix-module-scss-module__8MHESa__loaderLabel{color:var(--foreground);opacity:.7;font-family:JetBrains Mono,monospace;font-size:14px}.dotmatrix-module-scss-module__8MHESa__startButton{color:var(--background);cursor:pointer;background:#f97316;border:1px solid #f97316;border-radius:0;padding:12px 24px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;transition:all .15s}.dotmatrix-module-scss-module__8MHESa__startButton:hover{color:#f97316;background:0 0}.dotmatrix-module-scss-module__8MHESa__stopButton{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:0;padding:12px 24px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;transition:all .15s}.dotmatrix-module-scss-module__8MHESa__stopButton:hover{background:var(--foreground);color:var(--background)}.dotmatrix-module-scss-module__8MHESa__presetButtons{gap:4px;margin-top:8px;display:flex}.dotmatrix-module-scss-module__8MHESa__presetButtons button{border:1px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;padding:4px 8px;font-size:12px}.dotmatrix-module-scss-module__8MHESa__presetButtons button:hover{background:var(--foreground);color:var(--background)}.dotmatrix-module-scss-module__8MHESa__presetButtons .dotmatrix-module-scss-module__8MHESa__presetActive{color:#fff;background:#f97316;border-color:#f97316}.dotmatrix-module-scss-module__8MHESa__presetButtons .dotmatrix-module-scss-module__8MHESa__presetActive:hover{color:#fff;background:#f97316}.dotmatrix-module-scss-module__8MHESa__colorPickerWrapper{align-items:center;gap:8px;display:flex}.dotmatrix-module-scss-module__8MHESa__colorPickerWrapper select{flex:1}.dotmatrix-module-scss-module__8MHESa__colorSwatch{border:1px solid var(--foreground);border-radius:4px;width:24px;height:24px}
