@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.wallet-adapter-button{background-color:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;height:48px;line-height:48px;padding:0 24px;border-radius:4px}.wallet-adapter-button-trigger{background-color:#512da8}.wallet-adapter-button:not([disabled]):focus-visible{outline-color:#fff}.wallet-adapter-button:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-button[disabled]{background:#404144;color:#999;cursor:not-allowed}.wallet-adapter-button-end-icon,.wallet-adapter-button-start-icon,.wallet-adapter-button-end-icon img,.wallet-adapter-button-start-icon img{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.wallet-adapter-button-end-icon{margin-left:12px}.wallet-adapter-button-start-icon{margin-right:12px}.wallet-adapter-collapse{width:100%}.wallet-adapter-dropdown{position:relative;display:inline-block}.wallet-adapter-dropdown-list{position:absolute;z-index:99;display:grid;grid-template-rows:1fr;grid-row-gap:10px;padding:10px;top:100%;right:0;margin:0;list-style:none;background:#2c2d30;border-radius:10px;box-shadow:0 8px 20px #0009;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif}.wallet-adapter-dropdown-list-active{opacity:1;visibility:visible;transform:translateY(10px)}.wallet-adapter-dropdown-list-item{display:flex;flex-direction:row;justify-content:center;align-items:center;border:none;outline:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;padding:0 20px;width:100%;border-radius:6px;font-size:14px;font-weight:600;height:37px;color:#fff}.wallet-adapter-dropdown-list-item:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-modal-collapse-button svg{align-self:center;fill:#999}.wallet-adapter-modal-collapse-button.wallet-adapter-modal-collapse-button-active svg{transform:rotate(180deg);transition:transform ease-in .15s}.wallet-adapter-modal{position:fixed;inset:0;opacity:0;transition:opacity linear .15s;background:#00000080;z-index:1040;overflow-y:auto}.wallet-adapter-modal.wallet-adapter-modal-fade-in{opacity:1}.wallet-adapter-modal-button-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;padding:12px;cursor:pointer;background:#1a1f2e;border:none;border-radius:50%}.wallet-adapter-modal-button-close:focus-visible{outline-color:#fff}.wallet-adapter-modal-button-close svg{fill:#777;transition:fill .2s ease 0s}.wallet-adapter-modal-button-close:hover svg{fill:#fff}.wallet-adapter-modal-overlay{background:#00000080;position:fixed;inset:0}.wallet-adapter-modal-container{display:flex;margin:3rem;min-height:calc(100vh - 6rem);align-items:center;justify-content:center}@media (max-width: 480px){.wallet-adapter-modal-container{margin:1rem;min-height:calc(100vh - 2rem)}}.wallet-adapter-modal-wrapper{box-sizing:border-box;position:relative;display:flex;align-items:center;flex-direction:column;z-index:1050;max-width:400px;border-radius:10px;background:#10141f;box-shadow:0 8px 20px #0009;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;flex:1}.wallet-adapter-modal-wrapper .wallet-adapter-button{width:100%}.wallet-adapter-modal-title{font-weight:500;font-size:24px;line-height:36px;margin:0;padding:64px 48px 48px;text-align:center;color:#fff}@media (max-width: 374px){.wallet-adapter-modal-title{font-size:18px}}.wallet-adapter-modal-list{margin:0 0 12px;padding:0;width:100%;list-style:none}.wallet-adapter-modal-list .wallet-adapter-button{font-weight:400;border-radius:0;font-size:18px}.wallet-adapter-modal-list .wallet-adapter-button-end-icon,.wallet-adapter-modal-list .wallet-adapter-button-start-icon,.wallet-adapter-modal-list .wallet-adapter-button-end-icon img,.wallet-adapter-modal-list .wallet-adapter-button-start-icon img{width:28px;height:28px}.wallet-adapter-modal-list .wallet-adapter-button span{margin-left:auto;font-size:14px;opacity:.6}.wallet-adapter-modal-list-more{cursor:pointer;border:none;padding:12px 24px 24px 12px;align-self:flex-end;display:flex;align-items:center;background-color:transparent;color:#fff}.wallet-adapter-modal-list-more svg{transition:all .1s ease;fill:#fff;margin-left:.5rem}.wallet-adapter-modal-list-more-icon-rotate{transform:rotate(180deg)}.wallet-adapter-modal-middle{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 24px 24px;box-sizing:border-box}.wallet-adapter-modal-middle-button{display:block;cursor:pointer;margin-top:48px;width:100%;background-color:#512da8;padding:12px;font-size:18px;border:none;border-radius:8px;color:#fff}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;height:100vh;height:100dvh;overflow:hidden;position:fixed;width:100%}#root{height:100vh;height:100dvh;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Press Start 2P",monospace;background:#0a0a0a;color:#fff;overflow:hidden;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{background:#1a1a1a;border-bottom:2px solid #333333;position:relative;z-index:1000;box-shadow:0 2px 8px #0000004d;flex-shrink:0}.header-content{max-width:1200px;margin:0 auto;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.logo h2{color:#fff;font-size:.8rem;font-weight:400;letter-spacing:2px;text-shadow:2px 2px 0px #333333;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:2px 2px 0px #333333,0 0 10px rgba(255,255,255,.1)}to{text-shadow:2px 2px 0px #333333,0 0 20px rgba(255,255,255,.2)}}.desktop-nav{display:flex;gap:.5rem}.nav-link{color:#ccc;text-decoration:none;font-size:.6rem;transition:all .2s ease;padding:.5rem .75rem;border-radius:4px;border:1px solid transparent;text-transform:uppercase;letter-spacing:1px}.nav-link:hover{color:#fff;background:#333;border-color:#555;transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.x-icon-link{color:#ccc;text-decoration:none;font-size:.6rem;transition:all .2s ease;padding:.5rem .75rem;border-radius:4px;border:1px solid transparent;text-transform:uppercase;letter-spacing:1px;background:transparent!important}.x-icon-link:hover{color:#fff;background:transparent!important;border-color:transparent!important;transform:translateY(-1px)}.mobile-menu-btn{display:none;background:#333;border:2px solid #555555;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease}.mobile-menu-btn:hover{background:#444;border-color:#666;transform:translateY(-1px)}.mobile-menu-btn:active{transform:translateY(0)}.mobile-controls{display:none;gap:.5rem;align-items:center}.mobile-help-btn{display:none;background:#333;border:2px solid #555555;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;width:40px;height:40px;font-size:1rem;font-family:"Press Start 2P",monospace}.mobile-help-btn:hover{background:#444;border-color:#666;transform:translateY(-1px)}.mobile-help-btn:active{transform:translateY(0)}.mobile-x-icon{background:transparent!important;border:none!important;color:#ccc;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;width:40px;height:40px;font-size:1rem;font-family:"Press Start 2P",monospace}.mobile-x-icon:hover{color:#fff;background:transparent!important;transform:translateY(-1px)}.mobile-x-icon:active{transform:translateY(0)}.help-button{background:#333!important;border:2px solid #555555!important;border-radius:4px!important;padding:.75rem 1rem!important;transition:all .2s ease!important}.help-button:hover{background:#444!important;border-color:#666!important;transform:translateY(-1px)!important}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#1a1a1a;border:2px solid #333333;border-radius:8px;width:90%;max-width:500px;box-shadow:0 8px 24px #00000080;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #333333}.modal-header h3{font-size:.8rem;font-weight:400;color:#fff;letter-spacing:2px;text-shadow:2px 2px 0px #333333}.modal-close{background:#333;border:2px solid #555555;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#444;border-color:#666;transform:translateY(-1px)}.modal-close:active{transform:translateY(0)}.modal-body{padding:2rem 1.5rem;text-align:center}.modal-body p{font-size:.6rem;line-height:1.8;color:#ccc;margin-bottom:1rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.modal-body p:last-child{margin-bottom:0}.modal-footer{padding:1.5rem;border-top:2px solid #333333;text-align:center}.modal-paint-btn{background:#ef4444;border:2px solid #dc2626;color:#fff;cursor:pointer;padding:1rem 2rem;border-radius:4px;transition:all .2s ease;font-family:"Press Start 2P",monospace;font-size:.6rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000;box-shadow:0 4px 8px #0000004d}.modal-paint-btn:hover{background:#dc2626;border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.modal-paint-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000004d}.wallet-button{background:#8b5cf6;border:2px solid #7c3aed;color:#fff;cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:all .2s ease;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000;box-shadow:0 2px 4px #0000004d;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.wallet-button:hover:not(:disabled){background:#7c3aed;border-color:#6d28d9;transform:translateY(-1px);box-shadow:0 4px 8px #0006}.wallet-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000004d}.wallet-button:disabled{background:#374151;border-color:#4b5563;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0003}.wallet-button-simple{display:flex;align-items:center;gap:.5rem;background:#1a1a1a;border:2px solid #333333;border-radius:4px;padding:.5rem;box-shadow:0 2px 4px #0000004d;font-size:.5rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.wallet-action-btn{background:#ef4444;border:1px solid #dc2626;color:#fff;cursor:pointer;padding:.25rem;border-radius:2px;transition:all .2s ease;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.wallet-action-btn:hover{background:#dc2626;border-color:#b91c1c}.wallet-action-btn:not(.disconnect){background:#22c55e;border-color:#16a34a}.wallet-action-btn:not(.disconnect):hover{background:#16a34a;border-color:#15803d}.wallet-verifying{font-family:"Press Start 2P",monospace;font-size:.45rem;color:#eab308;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000;animation:pulse 1.5s ease-in-out infinite}.wallet-adapter-modal{font-family:"Press Start 2P",monospace!important}.wallet-adapter-modal-title{font-family:"Press Start 2P",monospace!important;font-size:.8rem!important;letter-spacing:2px!important;text-transform:uppercase!important}.wallet-adapter-modal-list{font-family:"Press Start 2P",monospace!important}.wallet-adapter-modal-list-more{font-family:"Press Start 2P",monospace!important;font-size:.6rem!important}.wallet-adapter-button{font-family:"Press Start 2P",monospace!important;font-size:.5rem!important;letter-spacing:1px!important;text-transform:uppercase!important}.mobile-dropdown{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border-bottom:2px solid #333333;padding:1rem 0;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{color:#ccc;text-decoration:none;font-size:.7rem;padding:.75rem 1.5rem;border-radius:4px;transition:all .2s ease;width:200px;text-align:center;border:1px solid transparent;text-transform:uppercase;letter-spacing:1px}.mobile-nav-link:hover{background:#333;color:#fff;border-color:#555}.main-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:.5rem;gap:.5rem}.toolbar{display:flex;gap:1rem;align-items:flex-end;width:100%;max-width:1200px;margin:0 auto;background:#1a1a1a;padding:.5rem;border-radius:8px;border:2px solid #333333;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.toolbar-section{display:flex;flex-direction:column;gap:.25rem;flex:1}.toolbar-label{font-size:.45rem;font-weight:400;color:#ccc;text-transform:uppercase;letter-spacing:.1em;text-shadow:1px 1px 0px #000000}.button-group{display:flex;gap:.2rem}.tool-button{width:32px;height:32px;background:#333;border:2px solid #555555;border-radius:4px;cursor:pointer;transition:all .15s ease;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.tool-button:hover{background:#444;border-color:#666;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.tool-button:active{background:#222;transform:translateY(0);box-shadow:0 1px 2px #0003}.color-white{background:#fff!important;border-color:#fff!important}.color-white:hover{background:#f0f0f0!important;border-color:#f0f0f0!important}.color-black{background:#000!important;border-color:#000!important}.color-black:hover{background:#1a1a1a!important;border-color:#1a1a1a!important}.color-red{background:#ef4444!important;border-color:#ef4444!important}.color-red:hover{background:#dc2626!important;border-color:#dc2626!important}.color-brown{background:#a16207!important;border-color:#a16207!important}.color-brown:hover{background:#92400e!important;border-color:#92400e!important}.brush-1x1:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background-color:#fff;border-radius:1px;box-shadow:1px 1px #000}.brush-2x2:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:#fff;border-radius:1px;box-shadow:1px 1px #000}.brush-3x3:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:#fff;border-radius:1px;box-shadow:1px 1px #000}.brush-5x5:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:#fff;border-radius:1px;box-shadow:1px 1px #000}.content-box{background:#1a1a1a;border:2px solid #333333;width:100%;max-width:1200px;margin:0 auto;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 4px 12px #0000004d;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-container{width:100%;height:100%;overflow:hidden;cursor:crosshair;position:relative;transition:transform .2s ease;display:flex;align-items:center;justify-content:center;touch-action:none}.canvas-container.hand-cursor{cursor:grab}.canvas-container.hand-cursor:active{cursor:grabbing}.canvas-grid{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;flex-shrink:0}.canvas-square{cursor:crosshair;image-rendering:pixelated;width:100%;height:100%;position:relative}.canvas-container.hand-cursor .canvas-square{cursor:grab}.canvas-container.hand-cursor:active .canvas-square{cursor:grabbing}.tool-button.active{border-color:#fff!important;background:#555!important;box-shadow:0 0 10px #fff3;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 10px #fff3}50%{box-shadow:0 0 15px #fff6}}.tool-button.color-white.active{background:#fff!important;border-color:#fff!important}.tool-button.color-black.active{background:#000!important;border-color:#fff!important}.tool-button.color-red.active{background:#ef4444!important;border-color:#fff!important}.tool-button.color-brown.active{background:#a16207!important;border-color:#fff!important}.color-blue{background:#3b82f6!important;border-color:#3b82f6!important}.color-blue:hover{background:#2563eb!important;border-color:#2563eb!important}.color-yellow{background:#eab308!important;border-color:#eab308!important}.color-yellow:hover{background:#ca8a04!important;border-color:#ca8a04!important}.color-green{background:#22c55e!important;border-color:#22c55e!important}.color-green:hover{background:#16a34a!important;border-color:#16a34a!important}.tool-button.color-blue.active{background:#3b82f6!important;border-color:#fff!important}.tool-button.color-yellow.active{background:#eab308!important;border-color:#fff!important}.tool-button.color-green.active{background:#22c55e!important;border-color:#fff!important}.tool-button svg{color:#fff;filter:drop-shadow(1px 1px 0px #000000)}.error-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease-out}.error-notification{background:#1a1a1a;border:2px solid #ef4444;border-radius:8px;width:90%;max-width:600px;position:relative;box-shadow:0 8px 24px #ef44444d;animation:slideInError .3s ease-out}@keyframes slideInError{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.error-close{position:absolute;top:.75rem;right:.75rem;background:#333;border:2px solid #555555;color:#fff;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;width:28px;height:28px;display:flex;align-items:center;justify-content:center;z-index:1}.error-close:hover{background:#444;border-color:#666;transform:translateY(-1px)}.error-close:active{transform:translateY(0)}.error-content{padding:2rem 1.5rem 1.5rem;text-align:center}.error-title{font-size:.8rem;font-weight:400;color:#ef4444;letter-spacing:2px;text-shadow:2px 2px 0px #000000;margin-bottom:1rem;text-transform:uppercase}.error-message{font-size:.6rem;line-height:1.6;color:#ccc;letter-spacing:1px;text-shadow:1px 1px 0px #000000;word-wrap:break-word}@media (max-width: 768px){.toolbar{flex-direction:row;flex-wrap:wrap;gap:.5rem;align-items:flex-end;padding:.75rem}.toolbar-section{align-items:flex-start;gap:.25rem}.toolbar-section:first-child{flex:0 0 auto;order:2}.toolbar-section:nth-child(2){flex:1;order:1;width:100%}.toolbar-section:nth-child(3){flex:0 0 auto;order:3}.button-group{justify-content:center;gap:.125rem}.tool-button{width:28px;height:28px}.desktop-nav{display:none}.mobile-controls{display:block;display:flex}.mobile-help-btn{display:block}.content-box{width:90vw;height:90vw;max-width:400px;max-height:400px}.header-content,.main-content{padding:.5rem}.logo h2{font-size:.7rem}.toolbar-label{font-size:.45rem}.nav-link,.mobile-nav-link{font-size:.6rem}}.status-bar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;background:#1a1a1a;padding:.4rem .75rem;border-radius:8px;border:2px solid #333333;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.status-info{display:flex;gap:1.5rem;align-items:center}.status-token-group{display:flex;align-items:center;gap:.5rem}.status-refresh-btn{background:#22c55e;border:1px solid #16a34a;color:#fff;cursor:pointer;padding:.25rem;border-radius:2px;transition:all .2s ease;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.status-refresh-btn:hover{background:#16a34a;border-color:#15803d;transform:translateY(-1px)}.status-refresh-btn:active{transform:translateY(0)}.status-refresh-btn .spinning{animation:spin 1s linear infinite}.status-tooltip-container{position:relative;display:inline-block}.status-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000;color:#fff;padding:.5rem .75rem;border-radius:4px;border:1px solid #333333;font-family:"Press Start 2P",monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;z-index:1000;box-shadow:0 4px 8px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;margin-bottom:.5rem}.status-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000}.status-tooltip-container:hover .status-tooltip{opacity:1;visibility:visible}.tool-tooltip-container{position:relative;display:inline-block}.tool-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000;color:#fff;padding:.5rem .75rem;border-radius:4px;border:1px solid #333333;font-family:"Press Start 2P",monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;z-index:1000;box-shadow:0 4px 8px #00000080;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;margin-bottom:.5rem}.tool-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000}.tool-tooltip-container:hover .tool-tooltip{opacity:1;visibility:visible}.status-text{font-size:.55rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.save-button{background:#22c55e;border:2px solid #16a34a;color:#fff;cursor:pointer;padding:.4rem .8rem;border-radius:4px;transition:all .2s ease;font-family:"Press Start 2P",monospace;font-size:.5rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000;box-shadow:0 4px 8px #0000004d;text-transform:uppercase}.save-button:hover:not(.disabled){background:#16a34a;border-color:#15803d;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.save-button:active:not(.disabled){transform:translateY(0);box-shadow:0 2px 4px #0000004d}.save-button.disabled{background:#374151;border-color:#4b5563;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0003}.save-button.over-limit{background:#ef4444!important;border-color:#dc2626!important;color:#fff!important;cursor:pointer!important;animation:pulse-red 1.5s ease-in-out infinite}.save-button.over-limit:hover{background:#dc2626!important;border-color:#b91c1c!important;transform:translateY(-2px);box-shadow:0 6px 12px #ef444466}@keyframes pulse-red{0%,to{box-shadow:0 4px 8px #ef44444d}50%{box-shadow:0 6px 12px #ef444499}}@media (max-width: 768px){.main-content{padding:.25rem;gap:.25rem}.toolbar{padding:.5rem}.content-box{width:100%;max-width:none}.status-bar{flex-direction:column;gap:.75rem;padding:.5rem;margin-bottom:env(safe-area-inset-bottom,0px);width:100%;max-width:none}.status-info{gap:1rem;justify-content:center}.status-text{font-size:.5rem}.save-button{width:100%;padding:.75rem;font-size:.5rem}.wallet-info{width:100%;margin-bottom:.5rem}.wallet-balance{flex-direction:column;gap:.25rem}}@media (min-width: 769px) and (max-width: 1024px){.main-content{padding:.375rem;gap:.375rem}.toolbar{padding:.75rem}.status-bar{padding:.5rem 1rem}}@media (min-width: 1025px){.main-content{padding:.75rem;gap:.75rem}.toolbar{padding:1rem}.status-bar{padding:.75rem 1rem}.toolbar-label{font-size:.6rem}.status-text{font-size:.7rem}.save-button{font-size:.65rem;padding:.6rem 1rem}.error-title{font-size:.9rem}.error-message{font-size:.7rem}}@media (min-width: 1440px){.main-content{padding:1rem;gap:1rem}.content-box,.toolbar,.status-bar{max-width:1400px}.toolbar-label{font-size:.7rem}.status-text{font-size:.8rem}.save-button{font-size:.75rem;padding:.75rem 1.25rem}.error-title{font-size:1rem}.error-message{font-size:.8rem}}.gallery-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.gallery-stats{display:flex;justify-content:center;align-items:center;padding:1rem;background:#1a1a1a;border:2px solid #333333;border-radius:8px;margin-bottom:1rem;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.6rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.gallery-content{flex:1;overflow-y:auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.gallery-item{background:#1a1a1a;border:2px solid #333333;border-radius:8px;overflow:hidden;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.gallery-item:hover{border-color:#555;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.gallery-image-container{position:relative;aspect-ratio:3 / 1;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;transition:transform .2s ease;cursor:pointer}.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:1rem;opacity:0;transition:opacity .2s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-info{display:flex;justify-content:center;align-items:center}.gallery-date{display:flex;align-items:center;gap:.5rem;font-size:.5rem;color:#fff;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.gallery-load-more{display:flex;justify-content:center;padding:2rem 0}.load-more-button{background:#22c55e;border:2px solid #16a34a;color:#fff;cursor:pointer;padding:1rem 2rem;border-radius:4px;transition:all .2s ease;font-family:"Press Start 2P",monospace;font-size:.6rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000;box-shadow:0 4px 8px #0000004d;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.load-more-button:hover:not(:disabled){background:#16a34a;border-color:#15803d;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.load-more-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000004d}.load-more-button:disabled{background:#374151;border-color:#4b5563;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0003}.gallery-loading,.gallery-error,.gallery-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.gallery-loading p,.gallery-error p,.gallery-empty p{font-size:.7rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button{background:#ef4444;border:2px solid #dc2626;color:#fff;cursor:pointer;padding:.75rem 1.5rem;border-radius:4px;transition:all .2s ease;font-family:"Press Start 2P",monospace;font-size:.6rem;letter-spacing:1px;text-shadow:1px 1px 0px #000000;box-shadow:0 4px 8px #0000004d;text-transform:uppercase}.retry-button:hover{background:#dc2626;border-color:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.retry-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000004d}@media (max-width: 768px){.gallery-stats{margin-bottom:.5rem}.gallery-grid{grid-template-columns:1fr;gap:.75rem}.gallery-overlay{opacity:1;background:linear-gradient(transparent,#000000e6)}.gallery-info{justify-content:center}.gallery-date{font-size:.5rem}.load-more-button{font-size:.5rem;padding:.75rem 1.5rem}}.image-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease-out;cursor:pointer}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;cursor:default}.image-modal-close{position:absolute;top:-50px;right:0;background:#333;border:2px solid #555555;color:#fff;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s ease;z-index:1}.image-modal-close:hover{background:#444;border-color:#666;transform:translateY(-1px)}.image-modal-close:active{transform:translateY(0)}.image-modal-image{max-width:100%;max-height:calc(90vh - 80px);object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;border:2px solid #333333;border-radius:8px;box-shadow:0 8px 32px #00000080}.image-modal-info{margin-top:1rem;text-align:center}.image-modal-date{font-size:.7rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 0px #000000}@media (max-width: 768px){.image-modal-content{max-width:95vw;max-height:95vh}.image-modal-close{top:-40px;right:0;padding:.4rem}.image-modal-image{max-height:calc(95vh - 60px)}.image-modal-date{font-size:.6rem}}
