body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{color:#222;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:auto;max-width:900px;padding:24px}.app-title{font-weight:700;margin-bottom:16px;text-align:center}.file-input-section{display:flex;justify-content:center;margin-bottom:12px}.file-input{border:2px dashed #bbb;border-radius:8px;cursor:pointer;padding:12px;width:280px}.clear-image-button{background-color:#e55353;border:none;border-radius:6px;box-shadow:0 2px 6px #e5535399;color:#fff;cursor:pointer;font-weight:600;padding:8px 20px;transition:background-color .2s}.clear-image-button:hover{background-color:#d84343}.mode-buttons-section{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}.mode-button{background-color:#fff;border:2px solid;border-radius:8px;box-shadow:none;color:#333;cursor:pointer;flex:0 0 140px;font-weight:600;line-height:1.2;padding:12px 16px;text-align:center;transition:background-color .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.mode-button:hover{background-color:#f0f8ff}.mode-button.active{background-color:#e1f0ff;box-shadow:0 2px 8px #0078d44d;color:#0078d4}.mode-button>.name{font-size:18px}.mode-button>.label{font-size:13px;font-style:italic;margin-top:4px;opacity:.65}.strength-section{margin:20px auto;max-width:400px;text-align:center}.strength-label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.strength-label>.strength-value{color:#0078d4}.strength-range{cursor:pointer;width:100%}.color-grid-wrapper{display:flex;justify-content:center;margin-top:30px}.color-grid{background-color:#fff;border-radius:8px;box-shadow:0 0 15px #ddd;display:grid;grid-template-columns:repeat(24,30px);grid-template-rows:repeat(12,30px);padding:12px;-webkit-user-select:none;user-select:none}.color-cell{border:none;border-radius:0;height:30px;width:30px}.simulated-image-section{margin-top:40px;position:relative;text-align:center}.simulated-image-title{color:#0078d4;font-weight:600;margin-bottom:16px}.simulated-image-container{border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 16px #00000026;display:inline-block;max-width:80vw;overflow:hidden;position:relative}.simulated-image-canvas{display:block;height:auto;width:100%}.spinner-overlay{align-items:center;background:#ffffffb3;display:flex;inset:0;justify-content:center;position:absolute}.spinner{animation:spin 1s linear infinite;border:4px solid #ccc;border-radius:50%;border-top-color:#0078d4;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.algorithm-buttons-section{align-items:center;display:flex;flex-wrap:wrap;gap:12px;height:32px;justify-content:center;margin-top:32px}.algorithm-label{align-self:center;font-weight:600}.algorithm-button{background-color:#e1e5ea;border:none;border-radius:24px;color:#555;cursor:pointer;font-weight:600;padding:8px 18px;text-transform:capitalize;transition:background-color .2s}.algorithm-button.active{background-color:#0078d4;color:#fff}.algorithm-button:hover:not(.active){background-color:#c5d9ff}.error-message{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#d32f2f;font-size:14px;margin-left:auto;margin-right:auto;margin-top:8px;max-width:280px;padding:8px 12px;text-align:center}@media (max-width:768px){.app-container{padding:16px}.mode-buttons-section{gap:8px}.mode-button{flex:0 0 120px;padding:10px 12px}.color-grid{grid-template-columns:repeat(12,25px);grid-template-rows:repeat(6,25px)}.color-cell{height:25px;width:25px}}.algorithm-button:focus,.clear-image-button:focus,.mode-button:focus,.strength-range:focus{outline:2px solid #0078d4;outline-offset:2px}@media (prefers-color-scheme:dark){.app-container{background-color:#1a1a1a;color:#fff}.mode-button{background-color:#2d2d2d;border-color:#555;color:#fff}.mode-button:hover{background-color:#3d3d3d}.mode-button.active{background-color:#1e3a5f;color:#fff}.color-grid{background-color:#2d2d2d;box-shadow:0 0 15px #444}.simulated-image-container{border-color:#555}.algorithm-button{background-color:#3d3d3d;color:#fff}.algorithm-button.active{background-color:#0078d4}}
/*# sourceMappingURL=main.07d0fd07.css.map*/