.city-section{position:relative;height:100vh;width:100%;display:flex;align-items:center;justify-content:center;color:#fff;scroll-snap-align:start;overflow:hidden}.city-frame{position:relative;width:90%;max-width:500px;height:85vh;display:flex;flex-direction:column;align-items:center}.city-section__poster{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;box-shadow:0 20px 50px #0006}.city-section__poster .poster-image{width:100%;height:100%;object-fit:fill;transition:transform var(--transition-slow)}.city-section:hover .poster-image{transform:scale(1.05)}.city-content{position:relative;padding:var(--spacing-lg);width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;text-align:center;z-index:2}.poster-placeholder{width:100%;height:100%;background:#0003;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;opacity:.5}.poster-caption{position:absolute;bottom:0;left:0;width:100%;margin-top:var(--spacing-xl);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 50%,transparent 100%)}.poster-caption__department{margin-bottom:var(--spacing-xs);display:block;font-size:.9rem;text-transform:capitalize;letter-spacing:2px;opacity:.8}.poster-caption__name{margin-bottom:var(--spacing-sm);font-family:var(--font-title);font-size:4rem;text-shadow:2px 2px 10px rgba(0,0,0,.5);line-height:1}.poster-caption__description{max-width:600px;font-size:1.2rem;opacity:.9}.poster-caption__actions{margin-top:var(--spacing-sm)}.poster-caption__actions .btn-buy{padding:var(--spacing-xs) var(--spacing-sm);display:inline-block;background-color:#fff;color:#000;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all var(--transition-fast)}.poster-caption__actions .btn-buy:hover{background-color:#000;color:#fff;transform:translateY(-2px)}.city-meta{margin-block:var(--spacing-sm);padding:var(--spacing-sm);width:fit-content;display:flex;justify-content:center;gap:var(--spacing-lg);background:#0003;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.meta-item{display:flex;flex-direction:column}.meta-label{margin-bottom:var(--spacing-xs);font-size:.875rem;text-transform:uppercase;opacity:.7}.meta-value{font-weight:700;font-size:.95}@media(max-width:768px){.city-frame{width:95%;max-width:none}.poster-caption__name{font-size:2.5rem}.city-meta{flex-direction:column;gap:var(--spacing-sm)}}.counter-widget{position:fixed;bottom:var(--spacing-xl);left:var(--spacing-md);z-index:var(--z-counter);display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.counter-toggle{width:100px;display:flex;align-items:center;justify-content:center;font-size:.9rem;background-color:#fffffff2;border:none;border-radius:50px;box-shadow:0 4px 15px #0003;transition:transform .2s;cursor:pointer}.counter-toggle:hover{transform:scale(1.1)}.counter-total{position:absolute;bottom:25%;right:2px;padding:2px 4px;border-radius:10px;font-size:1rem;font-weight:700;background:#333;color:#fff}.counter-panel{width:250px;max-width:300px;padding:var(--spacing-md);border-radius:12px;background:#fffffff2;box-shadow:0 10px 30px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;animation:slideUp .3s ease}.counter-panel h4{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);color:#555;border-bottom:1px solid #afafaf;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.counter-item{display:flex;align-items:center;margin-bottom:var(--spacing-xs);font-size:.85rem}.item-name{width:100px;font-weight:600}.item__bar-container{margin:0 8px;height:6px;flex:1;background:#eee;border-radius:3px;overflow:hidden}.item__bar-fill{height:100%;transition:width .3s ease}.item-count{width:20px;text-align:right;color:#666}@keyframes slideUp{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translateY(0)}}.footer{position:fixed;bottom:0;left:0;width:100%;padding:var(--spacing-xs) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#fffc;background:#0003;z-index:var(--z-counter)}.footer-content{max-width:180px;display:flex;flex-direction:column;gap:var(--spacing-xs)}.footer-privacy{margin-left:var(--spacing-xs)}@media(max-width:768px){.footer{flex-direction:column;gap:5px;text-align:center}}.header{position:fixed;top:0;left:0;width:100%;height:80px;padding:var(--spacing-xs) var(--spacing-md);display:flex;justify-content:space-between;align-items:center;color:#141414;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.header-logo{display:flex;align-items:center;gap:var(--spacing-xs)}.header-city{font-family:var(--font-title);font-size:1.8rem}.loading{font-family:monospace}.loader{position:fixed;inset:0;background:linear-gradient(135deg,#00c4b4,#00a896);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.loader__content{text-align:center;color:#fff}.loader__title{font-size:3rem;font-weight:700;letter-spacing:.5rem;margin-bottom:.5rem;animation:fadeInDown .8s ease}.loader__subtitle{font-size:1rem;opacity:.9;margin-bottom:3rem;animation:fadeInUp .8s ease .2s backwards}.loader__progress-bar{width:200px;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden;margin:0 auto 1rem}.loader__progress{height:100%;background:#fff;border-radius:2px;transition:width .1s linear}.loader__percentage{font-size:.875rem;opacity:.8}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sidebar{position:fixed;top:80%;right:var(--spacing-md);transform:translateY(-50%);z-index:var(--z-header)}.sidebar-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-item a{color:#ffffff80;font-weight:700;font-size:.9rem;transition:color var(--transition-fast)}.active{display:inline-block;background-color:#fff;border-radius:var(--spacing-xs);transform:scale(1.2)}@media(max-width:768px){.sidebar{display:none}}:root{--font-title: "New Rocker", cursive;--font-base: "Gotu", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--transition-fast: .2s ease;--transition-normal: .4s ease;--transition-slow: .8s ease;--z-loader: 9999;--z-header: 100;--z-counter: 50}@font-face{font-family:New Rocker;src:url(/fonts/NewRocker.woff2) format("woff2"),url(/fonts/NewRocker.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gotu;src:url(/fonts/Gotu.woff2) format("woff2"),url(/fonts/Gotu.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);font-synthesis:none;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit;text-align:right}a:hover{text-decoration:underline}ul{list-style:none}.app-container{height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700}.logo-img{max-width:60px;height:auto;object-fit:cover}
