:root{--font-mono: "JetBrains Mono", "Fira Code", "Source Code Pro", "Menlo", "Monaco", "Consolas", monospace;--primary: #0088CC;--primary-hover: #0066aa;--error: #c00;--success: #28a745;--warning: #ffc107;--bg-light: #f8f9fa;--bg-gray: #e9ecef;--text: #333;--text-muted: #666;--radius: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .05);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 4px 24px rgba(0, 0, 0, .2);--transition: all .2s ease;--transition-colors: background-color .2s, color .2s;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 24px;--alert-info-bg: #d1ecf1;--alert-info-text: #0c5460;--alert-error-bg: #f8d7da;--alert-error-text: #721c24;--alert-success-bg: #d4edda;--alert-warning-bg: #fff3cd;--alert-primary-bg: #cce5ff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-mono);line-height:1.6;background:var(--bg-light);color:var(--text);font-size:var(--text-base)}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md)}.header{background:#fff;padding:var(--spacing-sm) 0;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.nav-link{color:var(--primary);text-decoration:none;padding:var(--spacing-sm);border-radius:var(--radius);transition:var(--transition)}.nav-link:hover{background:var(--bg-light)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.nft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);padding:var(--spacing-md) 0}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.card,.section{background:#fff;border-radius:var(--radius);padding:var(--spacing-md);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md)}.collection-card,.nft-preview-card,.nft-card,.auction-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);transition:var(--transition)}.collection-card:hover,.nft-preview-card:hover,.nft-card:hover,.auction-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.collection-card{text-decoration:none;color:inherit;display:block;position:relative;overflow:hidden;aspect-ratio:4 / 3}.collection-media{position:relative}.collection-cover{width:100%;height:180px;object-fit:cover;display:block}.collection-cover:not(img){display:block;overflow:hidden;flex-shrink:0}.optimized-placeholder.collection-cover{position:absolute;top:0;left:0;width:100%;height:100%}.collection-avatar{position:absolute;bottom:-24px;left:var(--spacing-md);width:56px;height:56px;border:2px solid white}.collection-info{margin-top:calc(var(--spacing-xl) + var(--spacing-xs));margin-left:var(--spacing-md);padding-bottom:var(--spacing-md)}.collection-info h3{font-size:var(--text-lg);font-weight:600}.collection-header{padding:var(--spacing-lg);background:#fff;border-radius:var(--radius)}.collection-logo,.collection-avatar{border-radius:var(--radius);box-shadow:var(--shadow-sm);object-fit:cover;background:#fff}.collection-logo{width:100px;height:100px;flex-shrink:0}.collection-hero{height:250px;border-radius:var(--radius);overflow:hidden;margin-bottom:var(--spacing-md)}.collection-hero-img{width:100%;height:100%;object-fit:cover}.nft-preview-card,.nft-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;aspect-ratio:1 / 1.2}.nft-preview-info{padding:var(--spacing-sm);flex-grow:1;display:flex;flex-direction:column;justify-content:space-between}.nft-preview-info h3,.nft-title{font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nft-details{background:#fff;border-radius:var(--radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.nft-image-container{flex:0 0 400px;max-width:100%}.nft-preview{width:100%;aspect-ratio:1;border-radius:var(--radius);object-fit:cover}.nft-info{flex:1;min-width:0}.auction-card{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.btn{font-family:var(--font-mono);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius);cursor:pointer;background:var(--bg-gray);color:var(--text);transition:var(--transition);box-shadow:var(--shadow-sm);font-size:var(--text-base);white-space:nowrap}.btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-warning{background:var(--warning);color:#333}.btn-outline{background:transparent;box-shadow:0 0 0 2px var(--bg-gray) inset}.btn-outline:hover:not(:disabled){background:var(--bg-light)}.btn-secondary{background:var(--bg-gray);color:var(--text)}.form-label{display:block;margin-bottom:var(--spacing-xs);color:var(--text-muted);font-size:var(--text-sm);font-weight:500}.form-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--bg-gray);border-radius:var(--radius);font-size:var(--text-base);background:var(--bg-light);transition:var(--transition);font-family:var(--font-mono)}.form-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0088cc1a}textarea.form-input{min-height:120px;resize:vertical}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text)}h1{font-size:var(--text-3xl)}h2,h3{font-size:var(--text-xl)}.section-title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-md)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-primary{color:var(--primary)}.text-error{color:var(--error)}.text-white{color:#fff}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-mono{font-family:var(--font-mono)}.bg-gray-50{background:var(--bg-light)}.bg-gray-100{background:var(--bg-gray)}.bg-success-light{background:var(--alert-success-bg)}.bg-warning-light{background:var(--alert-warning-bg)}.bg-primary-light{background:var(--alert-primary-bg)}.bg-info-light{background:var(--alert-info-bg)}.bg-success{background:var(--success)}.bg-warning{background:var(--warning)}.bg-white{background:#fff}.bg-gray-50:hover{background:var(--bg-gray)}.bg-gray-100:hover{background:#dee2e6}.history-item{cursor:pointer}.history-item:hover{background:var(--bg-gray)}.m-0{margin:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb{margin-bottom:var(--spacing-md)}.ml-sm{margin-left:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.flex{display:flex}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.w-full{width:100%}.max-w-3xl{max-width:48rem}.mx-auto{margin-left:auto;margin-right:auto}.block{display:block}.rounded{border-radius:var(--radius)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.max-h-96{max-height:24rem}.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.divider{height:1px;background:var(--bg-gray);margin:var(--spacing-md) 0}.transition-colors{transition:var(--transition-colors)}.link{color:var(--primary);text-decoration:none;transition:opacity .2s}.link:hover{opacity:.8}.social-links{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.social-link{color:var(--primary);text-decoration:none}.social-link:hover{text-decoration:underline}.alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);font-size:var(--text-base)}.alert-info{background:var(--alert-info-bg);color:var(--alert-info-text)}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-text)}.spinner{width:40px;height:40px;margin:0 auto;border:4px solid var(--bg-light);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.claim-bell-button{background:none;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius);transition:var(--transition);position:relative;display:flex;align-items:center;justify-content:center}.claim-bell-button:hover{background:var(--bg-gray);transform:scale(1.05)}.bell-icon{font-size:var(--text-2xl);position:relative;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}.notification-badge{position:absolute;top:-6px;right:-6px;background:var(--error);color:#fff;border-radius:50%;font-size:var(--text-xs);font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-xs);box-shadow:var(--shadow-sm);animation:bell-pulse 2s infinite}@keyframes bell-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.nft-selection-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nft-selection-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);border:1px solid var(--bg-gray);border-radius:var(--radius);background:#fff;cursor:pointer;transition:var(--transition);gap:var(--spacing-sm)}.nft-selection-item:hover{border-color:var(--primary);background:var(--bg-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.nft-selection-item-disabled{cursor:default!important;opacity:.6}.nft-selection-item-disabled:hover{border-color:var(--bg-gray)!important;background:#fff!important;transform:none!important;box-shadow:none!important}.nft-selection-item-disabled .nft-selection-action{cursor:pointer!important;opacity:1!important}.nft-selection-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);flex:1;min-width:0}.nft-selection-info strong{font-size:var(--text-lg);color:var(--text)}.nft-selection-info small{font-size:var(--text-xs);color:var(--text-muted)}.nft-selection-action{padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.nft-selection-action:hover{background:var(--primary-hover)}.img-cover{width:100%;height:100%;object-fit:cover}.img-rounded{border-radius:var(--radius)}.optimized-placeholder{position:relative;overflow:hidden;width:100%;height:100%;background:linear-gradient(90deg,var(--bg-light) 0%,#e0e0e0 25%,var(--bg-light) 50%,#e0e0e0 75%,var(--bg-light) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:inherit}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.optimized-unloader{position:relative;width:100%;height:100%;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:var(--text-base);font-weight:500;border-radius:inherit}.optimized-unloader--nft{background:linear-gradient(135deg,#667eea,#764ba2)}.optimized-unloader--collection{background:linear-gradient(135deg,#f093fb,#f5576c)}.optimized-unloader--default{background:linear-gradient(90deg,var(--bg-light) 0%,var(--bg-gray) 50%,var(--bg-light) 100%);color:var(--text-muted)}.optimized-unloader-icon{font-size:var(--text-3xl);margin-bottom:var(--spacing-sm);opacity:.8;line-height:1}.space-y-sm>*+*{margin-top:var(--spacing-sm)}.break-all{word-break:break-all}.min-w-0{min-width:0}.w-12{width:3rem}.h-12{height:3rem}@media(max-width:768px){.container{padding:var(--spacing-sm)}.header{padding:var(--spacing-sm) 0}.header h1{font-size:var(--text-xl)}.nav-link{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.nft-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.nft-details{display:block;padding:var(--spacing-md)}.nft-image-container{flex:1;max-width:100%;margin-bottom:var(--spacing-md)}.nft-preview-info{padding:var(--spacing-sm)}.collection-hero{height:200px}.collection-logo{width:80px;height:80px}.collection-card{aspect-ratio:auto;display:flex;flex-direction:column}.collection-cover{height:160px}.collection-info{margin-top:var(--spacing-md);margin-left:var(--spacing-sm);padding-bottom:var(--spacing-sm);flex:1}.nft-preview-card,.nft-card{aspect-ratio:auto}.nft-preview-card .img-cover,.nft-card .img-cover{height:auto;aspect-ratio:1;flex-shrink:0}.collection-avatar{width:48px;height:48px;bottom:-20px;left:var(--spacing-sm)}.card,.section{padding:var(--spacing-sm)}.btn{padding:var(--spacing-sm);font-size:var(--text-sm)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs)}.section-title{font-size:var(--text-lg);margin-bottom:var(--spacing-sm)}h1,h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.grid-cols-2{grid-template-columns:1fr}.auction-card{padding:var(--spacing-sm)}.auction-card .flex{flex-wrap:wrap;gap:var(--spacing-sm)}.nft-selection-item{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.nft-selection-action{width:100%}}@media(max-width:480px){.nft-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.collection-cover{height:140px}.collection-avatar{width:40px;height:40px;bottom:-16px}.nft-preview-card .img-cover,.nft-card .img-cover{height:auto;aspect-ratio:1;flex-shrink:0}.collection-hero{height:180px}.nft-preview-info h3{font-size:var(--text-sm)}.collection-logo{width:64px;height:64px}.btn{font-size:var(--text-xs)}.section-title{font-size:var(--text-lg)}h1{font-size:var(--text-xl)}h2,h3{font-size:var(--text-lg)}}@media(min-width:769px){.nft-details{display:flex;gap:var(--spacing-lg)}.nft-image-container{flex:0 0 400px;max-width:400px}}@media(min-width:1200px){.nft-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg)}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}}
