@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/VT323-Regular.woff2) format("woff2")}:root{color-scheme:dark;--bg-primary: #0a0d0a;--bg-secondary: #001300;--text-primary: #7cff7c;--text-secondary: #88ff88;--border-color: rgba(0, 255, 51, .25);--accent-color: #0f5;--glow-color: rgba(0, 255, 120, .35)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--bg-primary);font-family:VT323,monospace;color:var(--text-primary);overflow-x:hidden}.selector-container{min-height:100vh;display:flex;flex-direction:column;padding:20px;gap:24px;max-width:1200px;margin:0 auto}.selector-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0;margin-bottom:16px;position:relative}.selector-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent)}.header-logo{font-size:24px;font-weight:400;color:var(--text-secondary);text-decoration:none;letter-spacing:.05em;transition:color .2s ease}.header-logo:before{content:"< ";margin-right:4px}.header-logo:hover{color:var(--accent-color)}.header-title{position:absolute;left:50%;transform:translate(-50%);font-size:28px;font-weight:400;letter-spacing:.08em;margin:0;color:var(--text-primary)}.header-spacer{width:120px}.description-section{margin:0 auto 20px;max-width:900px}.description-text{font-size:16px;line-height:1.5;color:var(--text-secondary);text-align:center;opacity:.7;margin:0}.maps-section{width:100%}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%}.loading{text-align:center;font-size:20px;color:var(--text-secondary);padding:40px}.map-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 0 12px #00ff7826,0 4px 12px #00000080;max-width:400px;width:100%;justify-self:center}.map-card:hover{border-color:var(--accent-color);box-shadow:0 0 20px #00ff784d;transform:translateY(-4px)}.map-card.selected{border-color:var(--accent-color);border-width:2px;box-shadow:0 0 25px #00ff7880,inset 0 0 20px #00ff7833}.map-card.disabled{cursor:not-allowed;opacity:.6;filter:grayscale(.3)}.map-card.disabled:hover{border-color:var(--border-color);box-shadow:inset 0 0 12px #00ff7826,0 4px 12px #00000080;transform:none}.map-thumbnail-container{width:100%;aspect-ratio:16 / 9;background:linear-gradient(90deg,rgba(0,255,120,.03) 1px,transparent 1px),linear-gradient(rgba(0,255,120,.03) 1px,transparent 1px),#0013004d;background-size:20px 20px,20px 20px,100% 100%;background-position:0 0,0 0,0 0;position:relative;overflow:visible}.version-badge{position:absolute;top:12px;right:12px;padding:4px 12px;font-size:14px;font-weight:700;letter-spacing:.05em;border-radius:4px;z-index:10;pointer-events:none;background:#000c;color:var(--accent-color);border:1px solid var(--accent-color);box-shadow:0 0 8px #00ff784d}.version-badge.version-wip{position:absolute;top:0;left:0;right:0;width:100%;padding:8px 0;border-radius:0;border:none;background:#001300f2;color:var(--accent-color);font-size:16px;font-weight:700;letter-spacing:.15em;text-align:center;text-shadow:0 0 8px rgba(0,255,120,.6);box-shadow:0 2px 8px #00000080;overflow:hidden;image-rendering:pixelated;image-rendering:crisp-edges}.version-badge.version-coming-soon{position:absolute;top:0;left:0;right:0;width:100%;padding:8px 0;border-radius:0;border:none;background:#000000f2;color:#00ff78b3;font-size:16px;font-weight:700;letter-spacing:.15em;text-align:center;text-shadow:0 0 8px rgba(0,255,120,.4);box-shadow:0 2px 8px #00000080;overflow:hidden}.version-badge.version-wip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:60px;background:repeating-linear-gradient(-45deg,#00ff7866,#00ff7866 8px,#000000b3 8px 16px);border-right:1px solid rgba(0,255,120,.3)}.version-badge.version-wip:after{content:"";position:absolute;right:0;top:0;bottom:0;width:60px;background:repeating-linear-gradient(45deg,#00ff7866,#00ff7866 8px,#000000b3 8px 16px);border-left:1px solid rgba(0,255,120,.3)}.map-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.map-name{font-size:20px;color:var(--accent-color);padding:8px 12px;margin:0;background:var(--bg-secondary);position:relative}.map-info{padding:12px 12px 32px;background:var(--bg-secondary);position:relative;min-height:80px}.map-description{font-size:16px;line-height:1.4;color:#8f8c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.4em * 3)}.map-author{position:absolute;bottom:12px;right:12px;font-size:14px;color:#8f89}.credits-footer{display:flex;flex-direction:column;align-items:center;gap:24px;padding:48px 20px 32px;margin-top:auto}.credits-card{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.credits-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-secondary);transition:color .15s ease;position:relative}.credits-brand:before,.credits-brand:after{content:"";position:absolute;top:50%;width:300px;height:1px}.credits-brand:before{right:calc(100% + 16px);background:linear-gradient(to right,transparent,var(--border-color))}.credits-brand:after{left:calc(100% + 16px);background:linear-gradient(to left,transparent,var(--border-color))}.credits-brand:hover{color:var(--text-primary)}.credits-brand:hover .credits-logo{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}.credits-logo{width:32px;height:32px;border-radius:4px}.credits-text{font-size:14px;font-weight:400}.social-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.social-link{display:flex;align-items:center;justify-content:center;transition:all .15s ease}.social-link:hover{transform:translateY(-2px);opacity:.8}@media(max-width:768px){.selector-container{padding:15px;gap:20px}.selector-header{flex-direction:column;gap:12px;align-items:center}.header-logo{font-size:20px}.header-title{position:static;transform:none;font-size:24px}.header-map-name{font-size:18px}.header-spacer{display:none}.selector-title{font-size:36px}.selector-subtitle{font-size:18px}.section-title{font-size:24px}.map-grid{grid-template-columns:1fr}}@media(max-width:480px){.selector-title{font-size:28px}.map-name{font-size:20px}.map-description{font-size:14px}}
