:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}.container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem}.main-header{background:#1e293b;border:1px solid #334155;border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.title-section{align-items:center;gap:.75rem;display:flex}.title-section h1{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#f59e0b,#fbbf24);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.75rem;font-weight:800}.icon-gold{color:#f59e0b}.stats-bar{gap:1rem;display:flex}.stat-card{background:#0f172a;border:1px solid #334155;border-radius:8px;flex-direction:column;min-width:140px;padding:.5rem 1rem;display:flex}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.7rem}.stat-value{color:#f8fafc;font-size:1rem;font-weight:700}.demo-viewer-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;align-items:center;gap:.5rem;height:100%;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.demo-viewer-btn:hover{background:#2563eb;transform:translateY(-1px)}.controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.search-wrapper{flex:1;min-width:200px;position:relative}.search-icon{color:#64748b;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-wrapper input{color:#fff;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;width:100%;padding:.625rem .75rem .625rem 2.5rem;transition:all .2s}.search-wrapper input:focus{background:#1e293b;border-color:#3b82f6}.filters{flex-wrap:wrap;gap:.75rem;display:flex}.filter-group{color:#94a3b8;background:#0f172a;border:1px solid #334155;border-radius:8px;align-items:center;gap:.5rem;padding-left:.75rem;display:flex}select{color:#fff;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;padding:.625rem .75rem;transition:all .2s}select:hover{background:#1e293b;border-color:#475569}.filter-group select{border:none;padding-left:.25rem}.table-wrapper{background:#1e293b;border:1px solid #334155;border-radius:12px;overflow-x:auto;box-shadow:0 4px 6px -1px #0000001a}.maps-table{border-collapse:collapse;text-align:left;width:100%;min-width:800px}.maps-table th{color:#cbd5e1;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:10;background:#334155;padding:1rem;font-size:.8rem;font-weight:600;position:sticky;top:0}.maps-table th.sortable{cursor:pointer}.maps-table th.sortable:hover{color:#fff;background:#475569}.maps-table td{vertical-align:middle;border-bottom:1px solid #334155;padding:.75rem 1rem}.row-finished{background:#05966908}.font-bold{font-weight:700}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.text-dim{color:#64748b}.text-center{text-align:center}.map-cell{cursor:pointer;position:relative}.map-cell:hover{color:#3b82f6}.map-name-wrapper{justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:relative}.map-actions{align-items:center;gap:.5rem;display:flex}.preview-icon{opacity:0;color:#64748b;transition:opacity .2s}.download-map-btn{opacity:0;color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:all .2s;display:flex}.map-cell:hover .preview-icon,.map-cell:hover .download-map-btn{opacity:1}.download-map-btn:hover,.preview-icon:hover{color:#3b82f6;transform:translateY(-1px)}.map-row-preview{z-index:100;pointer-events:none;opacity:0;transition:opacity .3s ease-out;position:fixed;left:10px;transform:translateY(-50%)}.map-row-preview.visible{opacity:1}.map-row-preview .hover-preview{animation:none}@media (width>=2501px){.map-row-preview{left:calc(50% - 1240px)}}@media (width<=1200px){.map-row-preview{display:none}}.hover-preview{aspect-ratio:500/312;background:#0f172a;border:2px solid #3b82f6;border-radius:8px;justify-content:center;align-items:center;width:500px;max-width:100%;animation:.1s ease-out fadeIn;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #00000080}@keyframes fadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.hover-preview img{object-fit:cover;width:100%;height:100%;transition:opacity .15s ease-in-out}.hover-preview img.loading{opacity:.5}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;padding:3vh 3vw;display:flex;position:fixed;inset:0}.modal-content{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.modal-header{background:#0f172a;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.modal-header h3{color:#f8fafc;margin:0;font-size:1.1rem}.modal-actions{align-items:center;gap:.75rem;display:flex}.copied-message{color:#10b981;font-size:.85rem;font-weight:600;animation:2s ease-in-out fadeInOut}@keyframes fadeInOut{0%{opacity:0;transform:translate(5px)}15%{opacity:1;transform:translate(0)}85%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-5px)}}.share-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s}.share-button:hover{background:#2563eb;transform:translateY(-1px)}.share-button:active{transform:translateY(0)}.close-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.close-button:hover{color:#ef4444;background:#ef444422}.modal-body{background:#000;flex:1;position:relative;overflow:hidden}.modal-body iframe{border:none;width:100%;height:100%;display:block}.stars{color:#f59e0b;letter-spacing:.1em;white-space:nowrap;font-size:.9rem}.badge{text-transform:uppercase;text-align:center;border-radius:4px;min-width:60px;padding:.2rem .5rem;font-size:.7rem;font-weight:800;display:inline-block}.badge-easy{color:#10b981;background:#10b98122;border:1px solid #10b98144}.badge-main{color:#3b82f6;background:#3b82f622;border:1px solid #3b82f644}.badge-hard{color:#f59e0b;background:#f59e0b22;border:1px solid #f59e0b44}.badge-insane{color:#8b5cf6;background:#8b5cf622;border:1px solid #8b5cf644}.badge-extreme{color:#ef4444;background:#ef444422;border:1px solid #ef444444}.badge-mod{color:#ec4899;background:#ec489922;border:1px solid #ec489944}.badge-others{color:#94a3b8;background:#94a3b822;border:1px solid #94a3b844}.leaderboard{flex-direction:column;gap:.5rem;display:flex}.status-finished{border-bottom:1px solid #334155;align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex}.time-display{font-family:ui-monospace,monospace;font-size:.875rem;font-weight:700}.time-display.highlight{color:#10b981}.top-finishers{flex-wrap:wrap;gap:.4rem;display:flex}.finisher-tag{background:#0f172a;border:1px solid #334155;border-radius:4px;align-items:center;gap:.3rem;padding:.15rem .4rem;font-size:.75rem;display:flex}.finisher-name{color:#cbd5e1;font-weight:500}.finisher-time{color:#94a3b8;font-family:ui-monospace,monospace;font-size:.7rem}.play-demo-btn{color:#3b82f6;cursor:pointer;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:all .2s;display:flex}.play-demo-btn:hover{opacity:1;color:#60a5fa;transform:scale(1.1)}.more-count{color:#64748b;align-self:center;font-size:.7rem}.empty-state{text-align:center;color:#64748b;padding:4rem}@media (width<=1024px){.maps-table th:nth-child(5),.maps-table td:nth-child(5),.maps-table th:nth-child(6),.maps-table td:nth-child(6){display:none}}@media (width<=640px){.header-content{flex-direction:column;align-items:flex-start}.stats-bar{flex-direction:column;width:100%}.stat-card{min-width:0}}.text-blue{color:#3b82f6}.demo-viewer-content.fullscreen .demo-viewer-header{display:none}.demo-viewer-content.fullscreen{border:none;border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none}.play-pause-indicator{color:#fff;z-index:60;pointer-events:none;opacity:0;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-pause-indicator.animate{animation:.5s ease-out playPauseFade}@keyframes playPauseFade{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.2)}}.initial-play-overlay{z-index:70;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a4d;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.initial-play-overlay:hover{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a1a}.initial-play-button{color:#fff;cursor:pointer;background:#3b82f6e6;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 10px 25px -5px #00000080,0 0 20px #3b82f64d}.initial-play-button svg{filter:drop-shadow(0 2px 4px #0003);margin-left:4px}.initial-play-overlay:hover .initial-play-button{background:#3b82f6;border-color:#ffffff80;transform:scale(1.15);box-shadow:0 15px 35px -5px #0009,0 0 30px #3b82f680}.initial-play-button:active{transform:scale(.95)}.demo-viewer-header{background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.demo-viewer-header .header-info{align-items:center;gap:.5rem;display:flex}.demo-viewer-header h3{color:#f8fafc;margin:0;font-size:.95rem;font-weight:600}.demo-filename{color:#94a3b8;background:#0f172a;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,monospace;font-size:.7rem}.demo-viewer-body{background:#000;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.demo-viewer-body iframe{z-index:1;border:none;width:100%;height:100%;display:block}.demo-timeline-container{z-index:50;background:#0f172ae6;border-top:1px solid #334155;padding:.75rem 1rem;transition:opacity .3s,transform .3s;position:absolute;bottom:0;left:0;right:0}.demo-timeline-container.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.demo-scrubber-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;width:100%;height:32px;margin-bottom:.5rem;display:flex;position:relative}.demo-scrubber-track{background:#ffffff1a;border-radius:2px;width:100%;height:4px;transition:height .15s;position:relative}.demo-scrubber-wrapper:hover .demo-scrubber-track,.demo-viewer-body.dragging .demo-scrubber-track{height:6px}.scrubber-progress{z-index:5;pointer-events:none;background:#3b82f6;border-radius:2px;height:100%;transition:width .1s linear;position:absolute;top:0;left:0}.demo-viewer-body.dragging .scrubber-progress{transition:none}.scrubber-handle{z-index:10;pointer-events:none;background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),left .1s linear;position:absolute;top:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 2px 4px #0000004d}.demo-viewer-body.dragging .scrubber-handle{transition:transform .15s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)scale(1.2)}.demo-scrubber-wrapper:hover .scrubber-handle{transform:translate(-50%,-50%)scale(1)}.demo-scrubber-wrapper:active .scrubber-handle{background:#3b82f6;border:2px solid #fff;transform:translate(-50%,-50%)scale(1.2)}.demo-controls-bar{justify-content:space-between;align-items:center;display:flex}.controls-left,.controls-right{align-items:center;gap:1rem;display:flex}.demo-play-pause{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex}.demo-play-pause:hover{background:#334155}.demo-time-display{color:#94a3b8;align-items:center;gap:.3rem;font-family:ui-monospace,monospace;font-size:.85rem;display:flex}.demo-time-display .current{color:#f8fafc;font-weight:600}.demo-speed-selector{background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;display:flex;overflow:hidden}.skip-interval-selector{background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;gap:.4rem;height:26px;padding:0 .4rem;display:flex}.skip-interval-selector .label{color:#64748b;text-transform:uppercase;font-size:.7rem;font-weight:700}.skip-interval-selector select{color:#f8fafc;cursor:pointer;background:0 0;border:none;outline:none;padding:0;font-size:.8rem;font-weight:600}.skip-interval-selector select option{background:#1e293b}.speed-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;display:flex}.speed-btn:hover{color:#fff;background:#334155}.speed-value{color:#3b82f6;border-left:1px solid #334155;border-right:1px solid #334155;align-items:center;gap:.3rem;padding:0 .5rem;font-size:.75rem;font-weight:700;display:flex}.maximize-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.maximize-btn:hover{color:#fff;background:#334155}.demo-status-text{color:#3b82f6;font-size:.8rem;font-weight:600}.icon-success{color:#10b981}.ml-1{margin-left:.25rem}.rank-badge{color:#f59e0b;white-space:nowrap;background:#f59e0b22;border:1px solid #f59e0b44;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:700}.finisher-rank{color:#f59e0b;margin-left:2px;font-size:.7rem;font-weight:700}.text-xs{font-size:.75rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
