@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323:wght@400&display=swap";:root{--color-bg: #000000;--color-fg: #ffffff;--color-accent: #ffffff;--color-muted: #666666;--color-border: #ffffff;--color-hover: #222222;--font-pixel: "Press Start 2P", monospace;--font-mono: "VT323", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 32px;--space-xl: 64px;--border: 2px solid var(--color-border);--radius: 0px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-mono);font-size:18px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:none;font-smooth:never}a{color:var(--color-fg);text-decoration:underline}a:hover{color:var(--color-muted)}img{display:block;max-width:100%}ul,ol{list-style:none}.pixel-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.falling-pixel{box-sizing:border-box}@media(prefers-reduced-motion:reduce){.falling-pixel{animation:none!important}}#root{display:flex;flex-direction:column;min-height:100vh}#nav{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:var(--border)}#app{flex:1;padding:var(--space-lg) var(--space-md);max-width:1280px;margin:0 auto;width:100%}#app[data-loading]{opacity:.5;pointer-events:none}.pixel-text{font-family:var(--font-pixel)}h1{font-family:var(--font-pixel);font-size:clamp(1rem,4vw,2.5rem)}h2{font-family:var(--font-pixel);font-size:clamp(.8rem,3vw,1.5rem)}h3{font-family:var(--font-pixel);font-size:clamp(.7rem,2vw,1rem)}code{font-family:var(--font-mono);font-size:1em;background:var(--color-hover);padding:2px 6px}.nav{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md);position:relative}.nav-logo{font-family:var(--font-pixel);font-size:1.2rem;text-decoration:none;letter-spacing:4px;flex-shrink:0}.nav-logo:hover{color:var(--color-fg);opacity:.7}.nav-links{display:flex;gap:var(--space-lg);flex:1}.nav-link{font-family:var(--font-pixel);font-size:.55rem;text-decoration:none;letter-spacing:1px;opacity:.6;transition:opacity .1s}.nav-link:hover,.nav-link.is-active{opacity:1}.nav-link.is-active{text-decoration:underline}.nav-wallet{margin-left:auto;flex-shrink:0;position:relative}.nav-hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:var(--space-sm);margin-left:auto}.nav-hamburger span{display:block;width:20px;height:2px;background:var(--color-fg)}.nav-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:var(--border);padding:var(--space-md);z-index:99}.nav-mobile-menu.is-open{display:block}.nav-mobile-menu ul{display:flex;flex-direction:column;gap:var(--space-md)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-pixel);font-size:.55rem;padding:var(--space-sm) var(--space-md);border:var(--border);background:var(--color-bg);color:var(--color-fg);cursor:pointer;text-decoration:none;letter-spacing:1px;transition:background .1s,color .1s;image-rendering:pixelated}.btn:hover{background:var(--color-fg);color:var(--color-bg)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-fg);color:var(--color-bg)}.btn-primary:hover{opacity:.85}.btn-wallet{border:var(--border);min-width:140px;justify-content:center}.btn-wallet.is-connected{border-color:var(--color-fg)}.btn-wallet img{image-rendering:pixelated}.btn-disconnect{width:100%;border:none;border-top:var(--border)}.wallet-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-bg);border:var(--border);min-width:200px;z-index:200}.wallet-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:var(--border);font-family:var(--font-mono);font-size:1rem}.wallet-address{font-size:.85rem;color:var(--color-muted)}.wallet-choose{padding:var(--space-sm) var(--space-md);font-family:var(--font-pixel);font-size:.5rem;color:var(--color-muted);border-bottom:var(--border)}.wallet-list{display:flex;flex-direction:column}.wallet-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);background:none;border:none;border-bottom:1px solid var(--color-hover);color:var(--color-fg);font-family:var(--font-mono);font-size:1rem;cursor:pointer;text-align:left}.wallet-option:hover{background:var(--color-hover)}.wallet-option img{image-rendering:pixelated}.wallet-none{padding:var(--space-md);font-family:var(--font-mono);font-size:.9rem;color:var(--color-muted);line-height:1.8}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:70vh;gap:var(--space-xl);padding:var(--space-xl) var(--space-md)}.hero-title{font-size:clamp(2rem,8vw,5rem);letter-spacing:12px}.hero-sub{font-family:var(--font-mono);font-size:clamp(1rem,2.5vw,1.3rem);color:var(--color-muted);max-width:500px;line-height:2}.hero-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.hero-stats{display:flex;gap:var(--space-md);font-size:.5rem;color:var(--color-muted);flex-wrap:wrap;justify-content:center}.page-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-xl);text-align:center}.error-page{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-xl);text-align:center;color:var(--color-muted)}@media(max-width:768px){.nav-links,.nav-wallet{display:none}.nav-hamburger{display:flex}#app{padding:var(--space-md)}.hero-title{letter-spacing:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.gallery-page{display:grid;grid-template-columns:220px 1fr;gap:var(--space-lg);align-items:start}.gallery-filters{position:sticky;top:calc(60px + var(--space-md));max-height:calc(100vh - 80px);overflow-y:auto;border:var(--border);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.filter-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-md);border-bottom:var(--border)}.filter-header h2{font-size:.55rem}.filter-group{display:flex;flex-direction:column;gap:var(--space-xs)}.filter-label{font-size:.45rem;color:var(--color-muted)}.filter-select{background:var(--color-bg);color:var(--color-fg);border:var(--border);padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:.9rem;cursor:pointer;width:100%}.filter-select:hover{background:var(--color-hover)}.gallery-toolbar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:var(--border)}.toolbar-search{flex:1;background:var(--color-bg);color:var(--color-fg);border:var(--border);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:1rem}.toolbar-search::placeholder{color:var(--color-muted)}.toolbar-count{font-size:.5rem;color:var(--color-muted);white-space:nowrap}.toolbar-right{flex-shrink:0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.gallery-empty{grid-column:1 / -1;text-align:center;padding:var(--space-xl);color:var(--color-muted);font-size:.55rem}.nft-card{border:var(--border);cursor:pointer;transition:background .1s,transform .1s;overflow:hidden}.nft-card:hover{background:var(--color-hover);transform:translateY(-2px)}.nft-card:active{transform:none}.nft-card-img{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}.nft-svg{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.nft-svg.lazy{opacity:.2}.nft-card-info{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm);border-top:1px solid #222}.nft-id{font-size:.4rem}.nft-rarity{font-size:.35rem}.rarity-master{color:gold}.rarity-legendary{color:#f60}.rarity-rare{color:#a78bfa}.rarity-uncommon{color:#60a5fa}.rarity-common{color:var(--color-muted)}.nft-card.skeleton{pointer-events:none;border-color:#222}.skeleton-img{aspect-ratio:1;background:linear-gradient(90deg,#111 25%,#1a1a1a,#111 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{display:block;width:60%;height:8px;background:#222;border-radius:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-img{animation:none}}.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap}.pag-btn{min-width:36px;justify-content:center}.pag-btn.is-active{background:var(--color-fg);color:var(--color-bg)}.pag-btn:disabled{opacity:.3;cursor:not-allowed}.pag-ellipsis{padding:0 var(--space-xs);color:var(--color-muted)}@media(max-width:900px){.gallery-page{grid-template-columns:1fr}.gallery-filters{position:static;max-height:none;display:grid;grid-template-columns:repeat(2,1fr)}.filter-header{grid-column:1 / -1}}@media(max-width:500px){.gallery-filters{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.gallery-toolbar{flex-wrap:wrap}}.nft-detail{display:grid;grid-template-columns:340px 1fr;gap:var(--space-lg);max-width:1100px;margin:var(--space-lg) auto;padding:0 var(--space-md)}.nft-detail-visual{display:flex;flex-direction:column;gap:var(--space-md)}.nft-detail-img-wrap{border:var(--border);background:#0a0a0a;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.nft-detail-svg{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.nft-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.nft-detail-nav-id{font-size:.65rem;color:var(--color-muted)}.nft-nav-disabled{font-size:.6rem;color:var(--color-muted);opacity:.4}.nft-detail-info{display:flex;flex-direction:column;gap:var(--space-lg)}.nft-detail-title{font-size:1rem;line-height:1.6;word-break:break-word}.nft-detail-rarity{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.rarity-badge{padding:var(--space-xs) var(--space-sm);border:var(--border);font-size:.55rem;text-transform:uppercase}.rarity-score{font-size:.6rem;color:var(--color-muted)}.nft-detail-traits h2{font-size:.65rem;margin-bottom:var(--space-md);color:var(--color-muted)}.trait-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.trait-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm);border:1px solid #333;gap:var(--space-sm)}.trait-type{font-size:.5rem;color:var(--color-muted);text-transform:uppercase;flex-shrink:0}.trait-value{font-size:.6rem;text-align:right}.nft-detail-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.btn-action{flex:1;min-width:120px}.nft-detail-hint{font-size:.5rem;color:var(--color-muted);margin-top:calc(-1 * var(--space-md))}.nft-time-machine{border:var(--border);padding:var(--space-md)}.nft-time-machine h2{font-size:.65rem;margin-bottom:var(--space-md)}.nft-tm-placeholder{font-size:.55rem;color:var(--color-muted)}@media(max-width:860px){.nft-detail{grid-template-columns:1fr;max-width:480px}}.nft-detail--skeleton .nft-detail-img-wrap{aspect-ratio:1}.skeleton-img{width:100%;aspect-ratio:1;background:linear-gradient(90deg,#111 25%,#222,#111 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md);animation:modalFadeIn .15s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--color-bg);border:var(--border);display:grid;grid-template-columns:420px 1fr;grid-template-rows:auto 1fr;max-width:960px;width:100%;max-height:90vh;overflow:hidden;position:relative;animation:modalSlideUp .15s ease}@keyframes modalSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:10;min-width:32px;padding:var(--space-xs) var(--space-sm);font-size:.7rem}.modal-visual{grid-column:1;grid-row:1 / -1;display:flex;flex-direction:column;border-right:var(--border)}.modal-img-wrap{flex:1;display:flex;align-items:center;justify-content:center;background:#0a0a0a;padding:var(--space-md);overflow:hidden}.modal-svg{width:100%;height:auto;max-width:380px;image-rendering:pixelated;object-fit:contain}.modal-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-top:var(--border);gap:var(--space-sm)}.modal-nav-counter{font-size:.5rem;color:var(--color-muted)}.modal-info{grid-column:2;padding:var(--space-md);padding-top:calc(var(--space-md) + 36px);display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto}.modal-title{font-size:.8rem}.modal-rarity{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.modal-traits{flex:1}.modal-tm{display:flex;align-items:center;justify-content:space-between;border:1px solid #333;padding:var(--space-xs) var(--space-sm)}.modal-tm-label{font-size:.5rem;color:var(--color-muted)}.modal-tm-soon{font-size:.45rem;color:#444;text-transform:uppercase}.modal-full-link{align-self:flex-start;font-size:.55rem;padding:var(--space-xs) var(--space-sm);text-decoration:none}@media(max-width:600px){.modal-box{grid-template-columns:1fr;grid-template-rows:auto auto;max-height:95vh}.modal-visual{grid-column:1;grid-row:1;border-right:none;border-bottom:var(--border)}.modal-img-wrap{padding:var(--space-sm);max-height:240px}.modal-info{grid-column:1;grid-row:2;padding-top:var(--space-md);overflow-y:auto}.modal-close{top:var(--space-xs);right:var(--space-xs)}}.modal-img-wrap{position:relative;overflow:hidden}.modal-tm-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:1px solid rgba(255,255,255,.15);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);transform:translateY(100%);transition:transform .25s ease;pointer-events:none}.modal-img-wrap:hover .modal-tm-overlay{transform:translateY(0);pointer-events:auto}.modal-tm-overlay-label{font-size:.45rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.modal-tm-versions{display:flex;gap:var(--space-xs);flex-wrap:wrap}.tm-ver-btn{font-size:.45rem;padding:2px var(--space-xs);opacity:.55;cursor:pointer;border-color:#555;color:#aaa;transition:opacity .15s,border-color .15s,color .15s}.tm-ver-btn:hover:not(:disabled){opacity:1;border-color:#fff;color:#fff}.tm-ver-btn:disabled{opacity:.25;cursor:not-allowed}.tm-ver-btn.tm-ver-active{border-color:#fff;color:#fff;opacity:1}.modal-tm-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs)}.modal-tm-hint{font-size:.4rem;color:#fff6;flex:1}.modal-tm-fullpage{font-size:.4rem;padding:2px var(--space-xs);border-color:#ffffff4d;color:#fff9;white-space:nowrap}.modal-tm-fullpage:hover{border-color:#fff;color:#fff}.nft-page-wrap{display:flex;justify-content:center;padding:var(--space-lg) var(--space-md)}.nft-page-wrap .modal-box{width:100%;max-height:none;animation:none}.home{display:flex;flex-direction:column;gap:var(--space-xl)}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) 0;gap:var(--space-lg)}.home-title{font-size:clamp(3rem,12vw,7rem);letter-spacing:.15em;line-height:1;text-shadow:2px 2px 0 #333,-1px -1px 0 #555}.home-tagline{font-size:clamp(.5rem,1.5vw,.7rem);line-height:2.2;color:var(--color-muted);max-width:480px}.home-cta{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.home-cta .btn{font-size:.65rem;padding:var(--space-md) var(--space-lg);min-width:140px;justify-content:center}.home-stats{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);flex-wrap:wrap;border-top:var(--border);border-bottom:var(--border);padding:var(--space-md) 0}.home-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.home-stat-value{font-family:var(--font-pixel);font-size:.65rem}.home-stat-label{font-family:var(--font-pixel);font-size:.4rem;color:var(--color-muted);text-transform:uppercase}.home-stat-sep{font-family:var(--font-pixel);color:var(--color-muted);font-size:.8rem}.home-section-title{font-size:.7rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg)}.home-featured{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.home-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-sm);width:100%}.home-gallery-link{font-size:.55rem;margin-top:var(--space-sm)}.home-concept{border-top:var(--border);padding-top:var(--space-lg)}.home-concept-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:start}.home-concept-text{display:flex;flex-direction:column;gap:var(--space-md)}.home-concept-text p{font-size:.55rem;line-height:2.2;color:var(--color-muted)}.home-concept-features{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.home-feature{display:flex;flex-direction:column;gap:var(--space-xs);border:var(--border);padding:var(--space-md)}.home-feature-icon{font-size:1.2rem;line-height:1}.home-feature-label{font-size:.5rem}.home-feature-desc{font-size:.45rem;color:var(--color-muted);line-height:2}@media(max-width:700px){.home-concept-body{grid-template-columns:1fr}.home-concept-features{grid-template-columns:1fr 1fr}.home-stats{gap:var(--space-md)}.home-stat-sep{display:none}}@media(max-width:420px){.home-concept-features{grid-template-columns:1fr}}#app:has(.home){padding-top:0}.mycol{display:flex;flex-direction:column;gap:var(--space-lg)}.mycol-title{font-size:clamp(.7rem,2vw,1.2rem);letter-spacing:.1em}.mycol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-sm)}.mycol-count{font-size:.5rem;color:var(--color-muted);margin-bottom:var(--space-sm)}.mycol-badges{display:flex;flex-wrap:wrap;gap:2px;padding:2px var(--space-xs);border-top:1px solid #222}.mycol-badge{font-size:.35rem;padding:1px 4px;letter-spacing:.05em}.mycol-badge-sacred{color:gold}.mycol-badge-frozen{color:#8cf}.mycol-badge-edited{color:var(--color-muted)}.mycol-card{position:relative}.mycol-edit-btn{position:absolute;top:4px;right:4px;background:#000;color:#fff;border:1px solid #fff;padding:2px 5px;font-size:.5rem;cursor:pointer;opacity:0;transition:opacity .15s;z-index:2;font-family:var(--font-pixel)}.mycol-card:hover .mycol-edit-btn,.mycol-card:focus-within .mycol-edit-btn{opacity:1}.mycol-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);min-height:40vh;text-align:center}.mycol-state-icon{font-size:2rem;opacity:.3}.mycol-state-msg{font-size:.6rem;line-height:2.2;color:var(--color-muted)}.mycol-state-hint{font-size:.45rem;color:var(--color-muted);opacity:.6}.mycol-state-error{color:#f66;max-width:400px}.tmpage{max-width:1100px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.tmpage-header{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.tmpage-title{font-size:clamp(.6rem,2vw,1rem);flex:1}.tmpage-nft-id{font-size:clamp(.7rem,2.5vw,1.2rem);color:#fff;opacity:.6}.tmpage-back{font-size:.5rem}.tmpage-count{font-size:.5rem;color:#fff6;margin-bottom:var(--space-md)}.tmpage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.tmpage-card{border:1px solid #333;background:#0a0a0a;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);cursor:default;transition:border-color .2s}.tmpage-card:hover{border-color:#666}.tmpage-card-latest{border-color:#fff}.tmpage-card-img{width:120px;height:120px;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden;image-rendering:pixelated}.tmpage-card-img img{width:120px;height:120px;image-rendering:pixelated;display:block}.tmpage-card-spinner{width:16px;height:16px;border:2px solid #333;border-top-color:#fff;border-radius:50%;animation:tmpage-spin .8s linear infinite}@keyframes tmpage-spin{to{transform:rotate(360deg)}}.tmpage-card-err-icon{font-size:1.5rem;opacity:.25}.tmpage-card-meta{display:flex;flex-direction:column;gap:2px}.tmpage-card-label{font-size:.45rem;color:#fff}.tmpage-card-badge,.tmpage-card-hint{font-size:.38rem;color:#ffffff59}.tmpage-card-pending .tmpage-card-label,.tmpage-card-loading .tmpage-card-label{opacity:.4}.tmpage-loading{padding:var(--space-xl);text-align:center;color:#ffffff4d;font-size:.5rem}.tmpage-error{color:#f66;font-size:.5rem;padding:var(--space-lg)}.ed-wrap{display:flex;flex-direction:column;height:calc(100vh - 64px);background:#000;color:#fff;position:relative;z-index:1;overflow:hidden}.ed-status{flex-shrink:0;background:#000;color:#fff;font-family:var(--font-pixel);font-size:8px;padding:5px 14px;display:flex;gap:18px;align-items:center;border-bottom:2px solid #333;letter-spacing:1px;min-height:26px}.ed-status span{color:#555;margin-right:3px}.ed-status-spacer{flex:1}.ed-body{display:flex;flex:1;overflow:hidden;min-height:0}.ed-sidebar{width:272px;flex-shrink:0;background:#f5f5f5;border-right:3px solid #000;display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,border-width .18s ease}.ed-sidebar.hidden{width:0;border-right-width:0}.ed-sidebar-inner{width:272px;display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden}.ed-sec{flex-shrink:0;border-bottom:2px solid #000;padding:10px 12px}.ed-sec-title{font-family:var(--font-pixel);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#000;margin-bottom:10px;display:flex;align-items:center;gap:6px}.ed-sec-title:after{content:"";flex:1;height:2px;background:#000}.ed-btn{font-family:var(--font-pixel);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:2px solid #000;cursor:pointer;transition:all .08s;padding:8px 10px;white-space:nowrap}.ed-btn-dark{background:#000;color:#fff;box-shadow:3px 3px #0003}.ed-btn-light{background:#fff;color:#000;box-shadow:3px 3px #0000001f}.ed-btn-green{background:#22c55e;color:#000;box-shadow:3px 3px #00000026}.ed-btn:hover{opacity:.88}.ed-btn:active{transform:translate(2px,2px);box-shadow:none}.ed-btn-full{display:block;width:100%;text-align:center;box-sizing:border-box;margin-top:6px}.ed-btn-row{display:flex;gap:6px}.ed-btn-row .ed-btn{flex:1;text-align:center}.ed-grid-row{display:flex;align-items:center;gap:6px}.ed-grid-lbl{flex:1;text-align:center;font-family:var(--font-pixel);font-size:9px;font-weight:700;background:#000;color:#fff;padding:6px 4px;letter-spacing:1px}.ed-drop-zone{border:2px dashed #aaa;padding:10px 8px;text-align:center;cursor:pointer;position:relative;margin-bottom:8px;transition:border-color .15s,background .15s}.ed-drop-zone:hover,.ed-drop-zone.over{border-color:#000;background:#eee}.ed-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.ed-drop-txt{font-family:var(--font-pixel);font-size:7px;color:#999;pointer-events:none}.ed-label{font-family:var(--font-pixel);font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#444;margin-bottom:5px}.ed-id-row{display:flex;gap:6px;align-items:stretch}.ed-input{flex:1;padding:6px 8px;border:2px solid #000;background:#fff;font-family:var(--font-pixel);font-size:10px;color:#000;outline:none;min-width:0}.ed-input:focus{border-color:#555}.ed-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.ed-tool-btn{font-family:var(--font-pixel);font-size:9px;padding:8px 4px;text-align:center;border:2px solid #000;cursor:pointer;background:#fff;transition:all .08s;text-transform:uppercase;letter-spacing:.5px}.ed-tool-btn:hover{background:#eee}.ed-tool-btn.active{background:#000;color:#fff}.ed-color-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.ed-color-box{width:34px;height:34px;flex-shrink:0;border:2px solid #000;position:relative;cursor:pointer}.ed-color-box input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.ed-color-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ed-color-lbl{font-family:var(--font-pixel);font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#555}.ed-hex-inp{padding:4px 6px;border:2px solid #000;background:#fff;font-family:Courier New,monospace;font-size:11px;color:#000;outline:none;text-transform:uppercase;width:100%;box-sizing:border-box}.ed-hex-inp:focus{border-color:#555}.ed-split-palette{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.ed-swatch-group{display:flex;flex-direction:column;align-items:center}.ed-swatch{width:22px;height:22px;border:2px solid #000;cursor:pointer;flex-shrink:0;transition:transform .08s;position:relative}.ed-swatch:hover{transform:scale(1.25);z-index:2}.ed-swatch.active{outline:2px solid #000;outline-offset:2px}.ed-swatch-label{font-family:var(--font-pixel);font-size:6px;color:#444;text-align:center;margin-top:2px}.ed-onchain-box{border:2px solid #000;background:#fff;padding:8px;font-family:Courier New,monospace;font-size:11px;color:#333;line-height:1.4;margin-bottom:6px}.ed-onchain-ok{background:#eaffef;border-color:#15803d;color:#14532d}.ed-onchain-warn{background:#fff7ed;border-color:#c2410c;color:#7c2d12}.ed-onchain-err{background:#fef2f2;border-color:#dc2626;color:#7f1d1d}.ed-onchain-meta{font-family:Courier New,monospace;font-size:10px;color:#555;word-break:break-all;margin-bottom:6px}.ed-canvas-zone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;padding:20px;position:relative;min-width:0;background:#111}.ed-sidebar-toggle{position:absolute;top:10px;left:10px;z-index:20;width:30px;height:30px;background:#000;color:#fff;border:2px solid #fff;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #ffffff1a;transition:background .1s}.ed-sidebar-toggle:hover{background:#222}.ed-mob-btn{display:none;position:absolute;top:10px;right:10px;z-index:100;width:44px;height:44px;background:#000;color:#fff;border:3px solid #fff;cursor:pointer;font-family:var(--font-pixel);font-size:11px;align-items:center;justify-content:center;box-shadow:4px 4px #ffffff26}.ed-canvas-wrap{position:relative;display:inline-block}#ed-canvas{display:block;image-rendering:pixelated;cursor:crosshair;border:4px solid #fff;box-shadow:8px 8px #ffffff1a}#grid-overlay{position:absolute;inset:4px;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}.ed-hint{font-family:var(--font-pixel);font-size:7px;color:#555;text-align:center;margin-top:14px;letter-spacing:1px}.ed-empty{text-align:center;padding:40px 20px}.ed-empty-sq{width:64px;height:64px;background:#fff;margin:0 auto 20px;clip-path:polygon(0% 25%,25% 25%,25% 0%,75% 0%,75% 25%,100% 25%,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0% 75%)}.ed-empty-title{font-family:var(--font-pixel);font-size:11px;color:#fff;margin-bottom:8px}.ed-empty-desc{font-family:var(--font-pixel);font-size:8px;color:#666}.ed-infobar{width:190px;flex-shrink:0;background:#f5f5f5;border-left:3px solid #000;padding:12px;overflow-y:auto;display:none}.ed-infobar.visible{display:block}.ed-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 0;border-bottom:1px solid #ddd;gap:4px}.ed-info-key{font-family:var(--font-pixel);font-size:6px;text-transform:uppercase;letter-spacing:1px;color:#666;flex-shrink:0}.ed-info-val{font-size:11px;font-weight:700;color:#000;font-family:Courier New,monospace;text-align:right;word-break:break-all}.ed-trait-row{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px solid #ddd;gap:2px}.ed-trait-key{font-family:var(--font-pixel);font-size:6px;text-transform:uppercase;letter-spacing:1px;color:#666}.ed-trait-input{font-family:Courier New,monospace;font-size:10px;font-weight:700;color:#000;background:#fff;border:1px solid #aaa;padding:2px 4px;width:100%;box-sizing:border-box;outline:none}.ed-trait-input:focus{border-color:#000;background:#fffde7}.ed-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(80px);background:#fff;color:#000;font-family:var(--font-pixel);font-size:8px;padding:10px 20px;letter-spacing:1px;text-transform:uppercase;transition:transform .18s ease;z-index:9999;pointer-events:none;border:2px solid #000}.ed-toast.show{transform:translate(-50%) translateY(0)}.mob-drag-handle{display:none;width:40px;height:4px;background:#ccc;border-radius:2px;margin:8px auto 4px;flex-shrink:0}@media(max-width:768px){.ed-wrap{height:calc(100vh - 56px)}.ed-sidebar{position:fixed!important;inset:0;width:100%!important;height:100%;z-index:200;background:#0000;border:none!important;pointer-events:none;display:flex!important;flex-direction:column;justify-content:flex-end;transition:none}.ed-sidebar:before{content:"";position:absolute;inset:0;background:#0000;transition:background .2s;pointer-events:none}.ed-sidebar.mob-open:before{background:#00000080;pointer-events:all}.ed-sidebar-inner{width:100%!important;max-height:70vh;background:#f5f5f5;border-top:3px solid #000;transform:translateY(100%);transition:transform .25s ease;pointer-events:all;box-shadow:0 -8px 24px #0000004d;position:relative;z-index:201;overflow-y:auto;overflow-x:hidden}.ed-sidebar.mob-open .ed-sidebar-inner{transform:translateY(0)}.ed-sidebar.hidden .ed-sidebar-inner{transform:translateY(100%)}.ed-infobar{display:none!important}.ed-mob-btn{display:flex}.ed-body{flex-direction:row!important}.ed-canvas-zone{padding:10px}.ed-sidebar-toggle{display:none!important}.mob-drag-handle{display:block}}.admin-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;text-align:center}.admin-gate-icon{font-size:2.5rem}.admin-gate-title{font-size:1rem;margin:0}.admin-gate-msg{color:var(--color-muted);font-size:.65rem}.admin-gate-hint{font-size:.55rem;color:var(--color-muted)}.admin-wrap{max-width:860px;margin:0 auto;padding:24px 16px 48px}.admin-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #fff;padding-bottom:12px;margin-bottom:20px}.admin-title{font-size:.85rem;margin:0}.admin-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.admin-wallet{font-size:.5rem;color:var(--color-muted)}.admin-role-badge{font-size:.5rem;color:gold}.admin-nav{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px}.admin-nav-btn{background:#000;color:#fff;border:1px solid #555;padding:6px 10px;font-family:var(--font-pixel);font-size:.5rem;cursor:pointer;transition:border-color .15s}.admin-nav-btn:hover{border-color:#fff}.admin-nav-active{border-color:#fff!important;background:#fff;color:#000}.admin-checklist{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px}.admin-check{display:grid;grid-template-columns:20px 90px 1fr;align-items:center;gap:10px;padding:6px 10px;border:1px solid #333}.admin-check-ok{border-color:#4f4}.admin-check-error{border-color:#f44}.admin-check-warn{border-color:gold}.admin-check-pending{border-color:#555}.chk-icon{font-size:.65rem;text-align:center}.chk-key{font-size:.5rem;color:var(--color-muted)}.chk-label{font-size:.5rem}.admin-card{border:1px solid #444;padding:16px;margin-bottom:16px}.admin-card-title{font-size:.6rem;margin-bottom:10px}.admin-hint{font-size:.5rem;color:var(--color-muted);margin-bottom:12px}.admin-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.admin-row label{font-size:.5rem;min-width:140px}.admin-input{background:#111;color:#fff;border:1px solid #666;padding:5px 8px;font-family:var(--font-pixel);font-size:.5rem;flex:1}.admin-input-sm{max-width:100px;flex:none}.admin-textarea{width:100%;background:#111;color:#fff;border:1px solid #666;padding:8px;font-family:var(--font-pixel);font-size:.5rem;resize:vertical;margin-bottom:10px;box-sizing:border-box}.admin-checkbox{display:flex;align-items:center;gap:8px;font-size:.5rem}.admin-btn{font-family:var(--font-pixel);font-size:.5rem;cursor:pointer}.admin-btn-primary{background:#fff;color:#000;border:none;padding:8px 14px;font-family:var(--font-pixel);font-size:.5rem;cursor:pointer;margin-top:4px}.admin-btn-primary:hover{background:#ddd}.admin-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.admin-meta-bar-wrap{margin-bottom:16px}.admin-meta-bar-bg{background:#222;border:1px solid #555;height:12px}.admin-meta-bar{background:#fff;height:100%;transition:width .3s}.admin-meta-count{font-size:.5rem;color:var(--color-muted);display:block;margin-top:6px}.admin-sec-title{font-size:.7rem;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid #333}.admin-log{margin-top:16px;max-height:200px;overflow-y:auto;border:1px solid #333;padding:8px;background:#0a0a0a}.admin-log-line{font-size:.45rem;padding:2px 0;line-height:1.6}.admin-log-error{color:#f88}.admin-log-info{color:#ccc}.admin-phases-table{border-collapse:collapse;font-size:.45rem}.admin-phases-table th,.admin-phases-table td{padding:4px 8px;border:1px solid #333;text-align:left;white-space:nowrap}.admin-phases-table th{color:#888;border-bottom:1px solid #555}.admin-btn-sm{font-size:.4rem;padding:3px 8px;background:#000;border:1px solid #555;color:#ccc;cursor:pointer;font-family:var(--font-pixel)}.admin-btn-sm:hover{border-color:#fff;color:#fff}.admin-btn-sm-start{border-color:#4a4;color:#4a4}.admin-btn-sm-start:hover{border-color:#6f6;color:#6f6}.admin-btn-sm-pause{border-color:#a44;color:#a44}.admin-btn-sm-pause:hover{border-color:#f66;color:#f66}.admin-btn-sm-del{border-color:#a44;color:#a44}.admin-btn-sm-del:hover{border-color:#f66;color:#f66}.admin-stepper{display:flex;flex-direction:column;gap:0}.admin-step-arrow{text-align:center;color:#555;font-size:.5rem;margin:2px 0}.admin-step{border:1px solid #333;background:#000;transition:border-color .2s}.admin-step-done{border-color:#4a4}.admin-step-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #222;cursor:default}.admin-step-num{width:20px;height:20px;border:1px solid #666;display:flex;align-items:center;justify-content:center;font-size:.5rem;flex-shrink:0}.admin-step-done .admin-step-num{border-color:#4a4;color:#4a4}.admin-step-title{flex:1;font-size:.45rem}.admin-step-badge{font-size:.38rem;color:#888;white-space:nowrap}.admin-step-body{padding:10px 12px}.admin-mint-status{border-color:#444}.admin-mint-status-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:4px}.admin-mint-stat{font-size:.6rem;color:#fff}.admin-mint-stat-label{font-size:.35rem;color:#666}.admin-modal-overlay{position:fixed;inset:0;z-index:1000;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:16px}.admin-modal{background:#000;border:2px solid #fff;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.admin-modal-sm{max-width:380px}.admin-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #333;flex-shrink:0}.admin-modal-hdr .pixel-text{font-size:.45rem}.admin-modal-close{background:none;border:none;color:#888;cursor:pointer;font-family:var(--font-pixel);font-size:.5rem;padding:2px 6px}.admin-modal-close:hover{color:#fff}.admin-modal-body{padding:12px;overflow-y:auto;flex:1}.admin-modal-ftr{padding:8px 12px;border-top:1px solid #333;display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}@media(max-width:640px){.admin-row{flex-direction:column;align-items:flex-start}.admin-row label{min-width:0}.admin-input{width:100%;box-sizing:border-box}}.mint-wrap{max-width:520px;margin:0 auto;padding:32px 16px 64px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.mint-box-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.mint-mystery-box{width:280px;height:280px;border:2px solid #fff;image-rendering:pixelated;position:relative;overflow:hidden}.mint-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.mint-box-label{font-size:.55rem;color:var(--color-muted);letter-spacing:2px}.mint-progress-wrap{width:100%;max-width:400px}.mint-progress-bar{height:8px;background:#222;border:1px solid #555;margin-bottom:8px}.mint-progress-fill{height:100%;background:#fff;transition:width .4s;width:0}.mint-progress-txt{font-size:.5rem;color:var(--color-muted)}.mint-phases-list{width:100%;max-width:480px;display:flex;flex-direction:column;gap:6px}.mint-hint{font-size:.5rem;color:var(--color-muted)}.mint-phase-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #333;padding:10px 14px;transition:border-color .2s}.mint-phase-card-active{border-color:#fff}.mint-phase-card-past{border-color:#4f4;opacity:.75}.mint-phase-info{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mint-phase-num{font-size:.5rem;color:#fff;min-width:72px}.mint-phase-price{font-size:.5rem;color:gold}.mint-phase-type{font-size:.45rem;color:var(--color-muted)}.mint-phase-btn{font-size:.5rem!important;padding:6px 12px!important;white-space:nowrap;flex-shrink:0}.mint-phase-btn:disabled{opacity:.45;cursor:default}.mint-btn-active{background:#fff!important;color:#000!important}.mint-btn-ineligible{border-color:#f66!important;color:#f66!important}.mint-btn-done{border-color:#4f4!important;color:#4f4!important}.mint-status{font-size:.5rem;color:var(--color-muted);min-height:1.5em}.mint-status-ok{color:#4f4}.mint-status-error{color:#f66}.mint-status-warn{color:gold}.mint-reveal-section{width:100%;border-top:1px solid #333;padding-top:28px;display:flex;flex-direction:column;align-items:center;gap:16px}.mint-reveal-box{width:200px;height:200px;border:2px solid #fff;overflow:hidden}.mint-reveal-img-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;image-rendering:pixelated}.mint-reveal-img-wrap img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.mint-reveal-img-wrap.revealing{animation:mintRevealScan .6s steps(1,end) forwards}@keyframes mintRevealScan{0%{filter:brightness(0) contrast(0)}20%{filter:brightness(3) contrast(2) blur(1px)}40%{filter:brightness(1.5) contrast(1.5)}60%{filter:brightness(2) contrast(1.8) blur(.5px)}80%{filter:brightness(1.2) contrast(1.1)}to{filter:brightness(1) contrast(1)}}.mint-reveal-name{font-size:.8rem}.mint-traits{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.mint-trait{font-size:.45rem;padding:3px 8px;border:1px solid #555;color:#ccc}.mint-loading{font-size:.5rem;color:#666}.mint-reveal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}@media(max-width:480px){.mint-mystery-box{width:220px;height:220px}.mint-reveal-box{width:160px;height:160px}}
