:root{--black: #000000;--white: #ffffff;--gray-dark: #1a1a1a;--gray-medium: #333333;--gray-light: #666666;--gray-lighter: #999999;--gray-lightest: #cccccc;--border: #333333;--shadow: 0 1px 3px rgba(0,0,0,.3);--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Monaco,Menlo,Consolas,Courier New,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--black);color:var(--white);line-height:1.5;font-size:16px}.app{min-height:100vh;background-color:var(--black)}.slim-header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid var(--border);background-color:var(--black);position:sticky;top:0;z-index:100}.header-left h1{font-size:22px;font-weight:400;color:var(--white);text-transform:uppercase;letter-spacing:1px}.header-right{display:flex;align-items:center}.wallet-section{display:flex;align-items:center;gap:15px}.connect-button{background:var(--white);color:var(--black);border:1px solid var(--white);padding:8px 15px;font-size:14px;font-weight:400;font-family:inherit;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px}.connect-button:hover:not(:disabled){background:var(--black);color:var(--white)}.connect-button:disabled{opacity:.5;cursor:not-allowed}.wallet-connected{display:flex;align-items:center;gap:15px;font-size:14px}.wallet-info{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.wallet-address{font-size:14px;color:var(--white);font-family:inherit}.network-info,.balance-info{font-size:12px;color:var(--gray-lighter)}.disconnect-button{background:transparent;color:var(--gray-lighter);border:1px solid var(--gray-medium);padding:5px 10px;font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition);text-transform:uppercase}.disconnect-button:hover{background:var(--gray-medium);color:var(--white)}.main-content{padding:25px;max-width:1750px;margin:0 auto}.contract-interaction{display:none}.token-display{background:var(--black)}.token-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:12px;border-bottom:1px solid var(--border)}.token-title{display:flex;align-items:center;gap:15px}.token-title h3{color:var(--white);font-size:20px;font-weight:400;text-transform:uppercase;letter-spacing:1px}.token-count{background:var(--white);color:var(--black);padding:3px 10px;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.token-header button{background:transparent;color:var(--gray-lighter);border:1px solid var(--border);padding:8px 15px;font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition);text-transform:uppercase}.token-header button:hover:not(:disabled){background:var(--white);color:var(--black)}.token-header button:disabled{opacity:.5;cursor:not-allowed}.token-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background-color:var(--border);border:1px solid var(--border)}.token-card{background:var(--black);aspect-ratio:1;position:relative;overflow:hidden;transition:var(--transition)}.token-card:hover{background:var(--gray-dark)}.token-image{width:100%;height:100%;position:relative}.token-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.token-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:10px;transform:translateY(100%);transition:var(--transition)}.token-card:hover .token-info{transform:translateY(0)}.token-info h4{font-size:12px;color:var(--white);font-weight:400;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info p{font-size:10px;color:var(--gray-lighter);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-id,.token-contract{font-family:inherit}.token-creator{margin-bottom:3px}.creator-info{display:flex;align-items:center;gap:5px}.creator-avatar{width:15px;height:15px;border-radius:50%;object-fit:cover}.verified-badge{color:var(--white);font-weight:400;margin-left:3px}.pagination-info{text-align:center;margin-bottom:25px;color:var(--gray-lighter);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:25px;padding:25px 0;border-top:1px solid var(--border)}.pagination-btn{background:transparent;color:var(--gray-lighter);border:1px solid var(--border);padding:8px 15px;font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition);text-transform:uppercase}.pagination-btn:hover:not(:disabled){background:var(--white);color:var(--black)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pagination-numbers{display:flex;gap:3px;align-items:center}.pagination-number{background:transparent;color:var(--gray-lighter);border:1px solid var(--border);padding:8px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition);min-width:40px}.pagination-number:hover:not(:disabled){background:var(--white);color:var(--black)}.pagination-number.active{background:var(--white);color:var(--black)}.pagination-number:disabled{opacity:.3;cursor:not-allowed}.pagination-ellipsis{color:var(--gray-lighter);padding:8px 10px;font-size:12px}.welcome-section{text-align:center;padding:100px 50px;max-width:800px;margin:0 auto}.welcome-section h2{font-size:32px;font-weight:400;color:var(--white);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}.welcome-section p{font-size:14px;color:var(--gray-lighter);text-transform:uppercase;letter-spacing:1px}.migration-tokens-section{margin-bottom:40px}.migration-header{margin-bottom:25px;padding-bottom:12px;border-bottom:1px solid var(--border)}.migration-header h3{color:var(--white);font-size:20px;font-weight:400;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.token-count-summary{display:flex;gap:10px;flex-wrap:wrap}.token-count-summary .token-count{background:var(--white);color:var(--black);padding:5px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.token-count-summary .token-count.limited{background:var(--gray-medium);color:var(--white)}.token-count-summary .token-count.open{background:var(--gray-light);color:var(--white)}.migration-token-card .token-info{position:relative;transform:none;background:var(--gray-dark);padding:12px}.migration-token-card .token-title{margin-bottom:8px}.token-details{display:flex;flex-direction:column;gap:5px}.edition-badge{display:inline-block;padding:3px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.edition-badge.limited-edition{background:var(--white);color:var(--black)}.edition-badge.open-edition{background:var(--gray-medium);color:var(--white)}.token-invite{font-size:11px;color:var(--gray-lighter)}.token-image-placeholder{width:100%;height:100%;background:var(--gray-dark);display:flex;align-items:center;justify-content:center}.placeholder-content{text-align:center;color:var(--gray-lighter);font-size:12px;text-transform:uppercase}.no-tokens-message{text-align:center;padding:80px 40px;background:var(--gray-dark);border:1px solid var(--border)}.no-tokens-message p{font-size:14px;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.no-tokens-message .hint{font-size:12px;color:var(--gray-lighter);max-width:600px;margin:0 auto}.migration-controls{background:var(--gray-dark);border:1px solid var(--border);padding:30px;margin-top:40px}.migration-info h4{font-size:16px;font-weight:400;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--black);border:1px solid var(--border)}.info-label{font-size:12px;color:var(--gray-lighter);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:var(--white);font-weight:400}.migration-action{text-align:center}.migrate-button{background:var(--white);color:var(--black);border:2px solid var(--white);padding:15px 40px;font-size:16px;font-weight:400;font-family:inherit;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:250px}.migrate-button:hover:not(:disabled){background:var(--black);color:var(--white)}.migrate-button:disabled{opacity:.5;cursor:not-allowed}.migration-warning{margin-top:20px;font-size:12px;color:var(--gray-lighter);text-align:center}.validation-status{text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:15px}.validation-error{text-align:center;padding:40px}.validation-error h4{font-size:16px;color:var(--white);text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}.validation-error p{font-size:12px;color:var(--gray-lighter)}.spinner,.button-spinner{border:2px solid var(--gray-medium);border-top:2px solid var(--white);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}.button-spinner{border-top-color:var(--black)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:var(--white);color:var(--black);padding:15px 25px;margin:0 25px 25px;font-size:14px;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--white)}.transaction-status{background:var(--gray-dark);color:var(--white);padding:15px 25px;margin:0 25px 25px;font-size:14px;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--border);text-align:center}.loading,.no-tokens{text-align:center;padding:50px;color:var(--gray-lighter);font-size:14px;text-transform:uppercase;letter-spacing:1px}@media (max-width: 1200px){.token-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1000px){.token-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.slim-header{padding:10px 15px}.header-left h1{font-size:16px}.main-content{padding:15px}.token-grid{grid-template-columns:repeat(3,1fr)}.wallet-connected{flex-direction:column;gap:6px}.wallet-info{align-items:center}.token-header{flex-direction:column;gap:10px;align-items:stretch}.token-title{justify-content:center}.pagination{flex-wrap:wrap;gap:4px}.pagination-numbers{flex-wrap:wrap;gap:1px}}@media (max-width: 480px){.token-grid{grid-template-columns:repeat(2,1fr)}.header-left h1{font-size:14px}.main-content{padding:10px}.pagination-btn{padding:4px 8px;font-size:9px}.pagination-number{padding:4px 6px;font-size:9px;min-width:24px}.connect-button{padding:4px 8px;font-size:10px}.wallet-address{font-size:10px}.network-info,.balance-info{font-size:9px}}
