@import"https://fonts.googleapis.com/css2?family=Londrina+Solid:wght@100;300;400;900&display=swap";@import"https://fonts.googleapis.com/css2?family=PT+Root+UI:wght@400;500;700&display=swap";.navbar{background:var(--nouns-white);border-bottom:3px solid var(--nouns-border);padding:1rem 0;position:sticky;top:0;z-index:1000}.navbar-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.navbar-brand h1{font-family:var(--font-primary);font-size:2rem;color:var(--nouns-dark);display:flex;align-items:center;gap:.5rem}.navbar-brand h1:before{content:"⌐◨-◨";font-size:1.5rem}.navbar-links{display:flex;gap:.5rem;align-items:center}.navbar-links a{text-decoration:none;color:var(--nouns-dark);font-family:var(--font-primary);font-size:1.1rem;padding:.5rem 1rem;border:3px solid transparent;border-radius:12px;transition:all .15s ease}.navbar-links a:hover{background:var(--nouns-yellow);border-color:var(--nouns-border);box-shadow:var(--nouns-shadow-sm)}.navbar-links a.active{background:var(--nouns-red);color:var(--nouns-white);border-color:var(--nouns-border);box-shadow:var(--nouns-shadow-sm)}.navbar-wallet{display:flex;align-items:center}.wallet-info{display:flex;align-items:center;gap:1rem}.wallet-address{background:var(--nouns-warm-bg);padding:.5rem 1rem;border:2px solid var(--nouns-border);border-radius:8px;font-family:Fira Code,monospace;font-size:.85rem;font-weight:500}.btn-connect,.btn-disconnect{padding:.6rem 1.5rem;border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1.1rem;font-weight:400;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-connect{background:var(--nouns-green);color:var(--nouns-white)}.btn-connect:hover{background:var(--nouns-teal);transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow)}.btn-connect:active{transform:translate(0);box-shadow:none}.btn-disconnect{background:var(--nouns-red);color:var(--nouns-white)}.btn-disconnect:hover{background:#b82e4a;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow)}.btn-disconnect:active{transform:translate(0);box-shadow:none}@media (max-width: 768px){.navbar-container{flex-direction:column;padding:0 1rem}.navbar-links{flex-wrap:wrap;justify-content:center}.navbar-brand h1{font-size:1.5rem}}.home{text-align:center}.hero{padding:4rem 2rem;color:var(--nouns-dark)}.hero h1{font-family:var(--font-primary);font-size:4rem;margin-bottom:1rem;color:var(--nouns-dark);display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.hero h1:before{content:"⌐◨-◨";font-size:3rem}.subtitle{font-family:var(--font-secondary);font-size:1.5rem;margin-bottom:2rem;color:var(--nouns-text-secondary);max-width:600px;margin-left:auto;margin-right:auto}.connect-prompt{margin-bottom:1rem;font-size:1.2rem;color:var(--nouns-text-secondary);font-family:var(--font-primary)}.hero-actions{margin-top:2rem}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2.5rem;border:3px solid var(--nouns-border);border-radius:16px;font-family:var(--font-primary);font-size:1.3rem;font-weight:400;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .15s ease;box-shadow:var(--nouns-shadow)}.btn-primary{background:var(--nouns-red);color:var(--nouns-white)}.btn-primary:hover{background:#b82e4a;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow-hover)}.btn-primary:active{transform:translate(2px,2px);box-shadow:none}.btn-secondary{background:var(--nouns-yellow);color:var(--nouns-dark)}.btn-secondary:hover{background:#e5b740;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow-hover)}.btn-secondary:active{transform:translate(2px,2px);box-shadow:none}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:4rem;padding:2rem}.feature-card{background:var(--nouns-white);padding:2rem;border:3px solid var(--nouns-border);border-radius:20px;box-shadow:var(--nouns-shadow);transition:all .15s ease}.feature-card:hover{transform:translate(-4px,-4px);box-shadow:var(--nouns-shadow-hover)}.feature-card:nth-child(1){border-color:var(--nouns-red)}.feature-card:nth-child(2){border-color:var(--nouns-blue)}.feature-card:nth-child(3){border-color:var(--nouns-green)}.feature-card:nth-child(4){border-color:var(--nouns-yellow)}.feature-icon{font-size:3.5rem;margin-bottom:1rem}.feature-card h3{font-family:var(--font-primary);color:var(--nouns-dark);font-size:1.5rem;margin-bottom:.75rem}.feature-card p{color:var(--nouns-text-secondary);line-height:1.6;font-size:1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero h1:before{animation:float 3s ease-in-out infinite}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero h1:before{font-size:2rem}.features{grid-template-columns:1fr}.btn{width:100%;justify-content:center}}.upload-page{max-width:800px;margin:0 auto}.card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;padding:2.5rem;box-shadow:var(--nouns-shadow)}.card h2{font-family:var(--font-primary);font-size:2rem;margin-bottom:2rem;color:var(--nouns-dark);display:flex;align-items:center;gap:.5rem}.card h2:before{content:"🎨"}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-family:var(--font-primary);font-size:1.2rem;color:var(--nouns-dark)}.form-group input,.form-group textarea{width:100%;padding:.85rem 1rem;border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-secondary);font-size:1rem;transition:all .15s ease;background:var(--nouns-white)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--nouns-blue);box-shadow:0 0 0 4px #5b8ee633}.form-group input[type=file]{padding:1rem;background:var(--nouns-warm-bg);cursor:pointer}.form-group input[type=file]:hover{background:var(--nouns-warm-bg-dark)}.form-group input[type=file]::file-selector-button{padding:.5rem 1rem;background:var(--nouns-blue);color:var(--nouns-white);border:2px solid var(--nouns-border);border-radius:8px;font-family:var(--font-primary);font-size:.95rem;cursor:pointer;margin-right:1rem;transition:all .15s ease}.form-group input[type=file]::file-selector-button:hover{background:#4a7ed4}.form-group textarea{min-height:120px;resize:vertical}.form-group small{display:block;margin-top:.5rem;color:var(--nouns-text-secondary);font-size:.9rem}.preview-container{margin-top:1rem;text-align:center}.preview-image{max-width:100%;max-height:400px;border:3px solid var(--nouns-border);border-radius:16px;box-shadow:var(--nouns-shadow);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.alert{padding:1rem 1.25rem;border:3px solid var(--nouns-border);border-radius:12px;margin-bottom:1.5rem;font-family:var(--font-primary);font-size:1rem}.alert-error{background:#fee2e2;border-color:var(--nouns-red);color:var(--nouns-red)}.alert-success{background:#d1fae5;border-color:var(--nouns-green);color:#065f46}.btn-submit{width:100%;padding:1.1rem;background:var(--nouns-red);color:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:16px;font-family:var(--font-primary);font-size:1.3rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-submit:before{content:"⌐◨-◨";font-size:1.1rem}.btn-submit:hover:not(:disabled){background:#b82e4a;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow-hover)}.btn-submit:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.btn-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:var(--nouns-shadow-sm)}.btn-submit:disabled:after{content:"";display:inline-block;width:20px;height:20px;border:3px solid transparent;border-top-color:var(--nouns-white);border-radius:50%;animation:spin 1s linear infinite;margin-left:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.form-group input[type=range]{-webkit-appearance:none;width:100%;height:12px;background:var(--nouns-warm-bg);border:2px solid var(--nouns-border);border-radius:6px;outline:none}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;background:var(--nouns-yellow);border:3px solid var(--nouns-border);border-radius:50%;cursor:pointer;box-shadow:var(--nouns-shadow-sm)}.form-group input[type=range]::-webkit-slider-thumb:hover{background:var(--nouns-orange)}.gallery-page{color:var(--nouns-dark)}.gallery-page h2{font-family:var(--font-primary);font-size:2.5rem;margin-bottom:2rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.gallery-page h2:before{content:"🖼️"}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.nft-card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;overflow:hidden;box-shadow:var(--nouns-shadow);transition:all .15s ease}.nft-card:hover{transform:translate(-4px,-4px);box-shadow:var(--nouns-shadow-hover)}.nft-card img{width:100%;height:300px;object-fit:cover;border-bottom:3px solid var(--nouns-border);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.nft-info{padding:1.5rem}.nft-info h3{font-family:var(--font-primary);color:var(--nouns-dark);font-size:1.4rem;margin-bottom:.5rem}.nft-description{color:var(--nouns-text-secondary);font-size:.95rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.nft-details{display:flex;justify-content:space-between;padding-top:1rem;border-top:2px dashed var(--nouns-warm-bg-dark)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination button{padding:.75rem 1.5rem;background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1.1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.pagination button:hover:not(:disabled){background:var(--nouns-yellow);transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow)}.pagination button:active:not(:disabled){transform:translate(0);box-shadow:none}.pagination button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pagination span{font-family:var(--font-primary);color:var(--nouns-dark);font-size:1.1rem}.marketplace-page{color:var(--nouns-dark)}.marketplace-page h2{font-family:var(--font-primary);font-size:2.5rem;margin-bottom:2rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.marketplace-page h2:before{content:"🏪"}.empty-state p{font-family:var(--font-primary);font-size:1.3rem;color:var(--nouns-text-secondary)}.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.listing-card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;overflow:hidden;box-shadow:var(--nouns-shadow);transition:all .15s ease}.listing-card:hover{transform:translate(-4px,-4px);box-shadow:var(--nouns-shadow-hover)}.listing-card img{width:100%;height:300px;object-fit:cover;border-bottom:3px solid var(--nouns-border);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.listing-info{padding:1.5rem}.listing-info h3{font-family:var(--font-primary);color:var(--nouns-dark);font-size:1.4rem;margin-bottom:1rem}.price{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:var(--nouns-warm-bg);border:2px solid var(--nouns-border);border-radius:12px}.price-label{font-family:var(--font-primary);color:var(--nouns-text-secondary);font-size:1rem}.price-value{font-family:var(--font-primary);color:var(--nouns-green);font-size:1.6rem}.btn-buy,.btn-bid{width:100%;padding:.85rem;background:var(--nouns-green);color:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1.1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm);margin-bottom:.75rem}.btn-buy:hover:not(:disabled),.btn-bid:hover:not(:disabled){background:#56a066;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow)}.btn-buy:active:not(:disabled),.btn-bid:active:not(:disabled){transform:translate(0);box-shadow:none}.btn-buy:disabled,.btn-bid:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-bid{background:var(--nouns-purple)}.btn-bid:hover:not(:disabled){background:#7c3aed}.bid-section{margin-bottom:1rem}.bid-form{display:flex;flex-direction:column;gap:.5rem}.bid-form input{padding:.75rem;border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-secondary);font-size:1rem;transition:all .15s ease}.bid-form input:focus{outline:none;border-color:var(--nouns-purple);box-shadow:0 0 0 3px #8b5cf633}.bid-actions{display:flex;gap:.5rem}.btn-bid-submit{flex:1;padding:.75rem;background:var(--nouns-purple);color:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-bid-submit:hover{background:#7c3aed;transform:translate(-1px,-1px)}.btn-bid-cancel{flex:1;padding:.75rem;background:var(--nouns-warm-bg);color:var(--nouns-dark);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-bid-cancel:hover{background:var(--nouns-warm-bg-dark);transform:translate(-1px,-1px)}.listing-details{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:2px dashed var(--nouns-warm-bg-dark)}.listing-details small{color:var(--nouns-text-secondary);font-size:.85rem;font-weight:500}.my-nfts-page{color:var(--nouns-dark)}.my-nfts-page h2{font-family:var(--font-primary);font-size:2.5rem;margin-bottom:2rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.my-nfts-page h2:before{content:"⌐◨-◨"}.empty-state{text-align:center;padding:4rem;background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;box-shadow:var(--nouns-shadow)}.empty-state p{font-family:var(--font-primary);font-size:1.3rem;color:var(--nouns-text-secondary);margin-bottom:.5rem}.empty-state p:first-child{font-size:1.5rem;color:var(--nouns-dark)}.my-nfts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.my-nft-card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;overflow:hidden;box-shadow:var(--nouns-shadow);transition:all .15s ease}.my-nft-card:hover{transform:translate(-4px,-4px);box-shadow:var(--nouns-shadow-hover)}.my-nft-card img{width:100%;height:300px;object-fit:cover;border-bottom:3px solid var(--nouns-border);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.nft-placeholder{width:100%;height:300px;display:flex;align-items:center;justify-content:center;background:var(--nouns-warm-bg);color:var(--nouns-text-secondary);font-family:var(--font-primary);font-size:1.2rem;border-bottom:3px solid var(--nouns-border)}.my-nft-info{padding:1.5rem}.my-nft-info h3{font-family:var(--font-primary);color:var(--nouns-dark);font-size:1.4rem;margin-bottom:1rem}.nft-details{display:flex;justify-content:space-between;padding-bottom:1rem;margin-bottom:1rem;border-bottom:2px dashed var(--nouns-warm-bg-dark)}.nft-details small{color:var(--nouns-text-secondary);font-size:.85rem;font-weight:500}.btn-list{width:100%;padding:.85rem;background:var(--nouns-blue);color:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1.1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-list:hover{background:#4a7ed4;transform:translate(-2px,-2px);box-shadow:var(--nouns-shadow)}.btn-list:active{transform:translate(0);box-shadow:none}.list-form{display:flex;flex-direction:column;gap:.75rem}.list-form .form-group{display:flex;gap:1rem;flex-wrap:wrap}.list-form .form-group label{display:flex;align-items:center;gap:.5rem;color:var(--nouns-dark);font-family:var(--font-primary);font-size:1rem;cursor:pointer}.list-form .form-group label:hover{color:var(--nouns-blue)}.list-form input[type=radio]{width:18px;height:18px;accent-color:var(--nouns-blue)}.list-form input[type=number]{padding:.75rem;border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-secondary);font-size:1rem;transition:all .15s ease}.list-form input[type=number]:focus{outline:none;border-color:var(--nouns-blue);box-shadow:0 0 0 3px #5b8ee633}.form-actions{display:flex;gap:.5rem}.btn-submit{flex:1;padding:.75rem;background:var(--nouns-green);color:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-submit:hover{background:#56a066;transform:translate(-1px,-1px)}.btn-cancel{flex:1;padding:.75rem;background:var(--nouns-warm-bg);color:var(--nouns-dark);border:3px solid var(--nouns-border);border-radius:12px;font-family:var(--font-primary);font-size:1rem;cursor:pointer;transition:all .15s ease;box-shadow:var(--nouns-shadow-sm)}.btn-cancel:hover{background:var(--nouns-warm-bg-dark);transform:translate(-1px,-1px)}.loading,.error{text-align:center;padding:3rem;background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;box-shadow:var(--nouns-shadow);font-family:var(--font-primary);font-size:1.3rem;color:var(--nouns-dark)}.error{border-color:var(--nouns-red);color:var(--nouns-red)}.card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:20px;padding:2rem;box-shadow:var(--nouns-shadow);text-align:center}.card h2{font-family:var(--font-primary);margin-bottom:1rem}.card p{color:var(--nouns-text-secondary)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--nouns-warm-bg)}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.nouns-glasses{display:inline-block;font-size:1.5em;margin-right:.25em}.pixel-bg{background-image:linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px}@media (max-width: 768px){.main-content{padding:1rem}}:root{--nouns-warm-bg: #E1D7D5;--nouns-warm-bg-dark: #D5CDCA;--nouns-red: #D63C5E;--nouns-yellow: #F0C14B;--nouns-green: #63B375;--nouns-blue: #5B8EE6;--nouns-purple: #8B5CF6;--nouns-teal: #2DD4BF;--nouns-orange: #F59E0B;--nouns-pink: #EC4899;--nouns-dark: #212529;--nouns-text: #14161A;--nouns-text-secondary: #6C757D;--nouns-white: #FFFFFF;--nouns-border: #000000;--font-primary: "Londrina Solid", cursive;--font-secondary: "PT Root UI", -apple-system, BlinkMacSystemFont, sans-serif;--nouns-shadow: 4px 4px 0px var(--nouns-border);--nouns-shadow-hover: 6px 6px 0px var(--nouns-border);--nouns-shadow-sm: 2px 2px 0px var(--nouns-border)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--nouns-warm-bg);min-height:100vh;color:var(--nouns-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:400;letter-spacing:.5px}code{font-family:Fira Code,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}button,.btn{font-family:var(--font-primary);cursor:pointer;transition:all .15s ease}button:active,.btn:active{transform:translate(2px,2px)}.nouns-card{background:var(--nouns-white);border:3px solid var(--nouns-border);border-radius:16px;box-shadow:var(--nouns-shadow);transition:all .15s ease}.nouns-card:hover{box-shadow:var(--nouns-shadow-hover);transform:translate(-2px,-2px)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--nouns-warm-bg-dark)}::-webkit-scrollbar-thumb{background:var(--nouns-dark);border-radius:6px;border:3px solid var(--nouns-warm-bg-dark)}::-webkit-scrollbar-thumb:hover{background:var(--nouns-red)}::selection{background:var(--nouns-yellow);color:var(--nouns-dark)}
