@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons";:root{--color-primary: #64748B;--color-primary-dark: #475569;--color-secondary: #94A3B8;--color-accent: #F97316;--color-bg: #F1F5F9;--color-bg-secondary: #E2E8F0;--color-text: #0F172A;--color-text-light: #475569;--color-border: #334155;--color-white: #FFFFFF;--color-concrete: #CBD5E1;--color-grid: #94A3B8;--tg-theme-bg-color: var(--color-bg);--tg-theme-text-color: var(--color-text);--tg-theme-button-color: var(--color-accent);--tg-theme-button-text-color: var(--color-white);--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Courier New", "Courier", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--shadow-sm: 3px 3px 0 rgba(15, 23, 42, .15);--shadow-md: 5px 5px 0 rgba(15, 23, 42, .2);--shadow-lg: 8px 8px 0 rgba(15, 23, 42, .25);--shadow-xl: 12px 12px 0 rgba(15, 23, 42, .3);--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-xl: 0px;--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;line-height:1.2;letter-spacing:-.02em;text-transform:uppercase}button{font-family:inherit;border:none;background:none;cursor:pointer;transition:all var(--transition-normal)}.app-container{min-height:100vh;background:var(--color-bg)}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-screen{padding-bottom:var(--space-2xl)}.hero-section{background:linear-gradient(90deg,var(--color-border) 1px,transparent 1px),linear-gradient(0deg,var(--color-border) 1px,transparent 1px),linear-gradient(180deg,#1e293b,#334155);background-size:40px 40px,40px 40px,100% 100%;background-position:0 0,0 0,0 0;color:#fff;padding:var(--space-2xl) var(--space-lg);border-radius:0;border:3px solid var(--color-border);border-top:0;box-shadow:none;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(100,116,139,.03) 2px,rgba(100,116,139,.03) 4px);pointer-events:none;opacity:.5}.hero-content{position:relative;z-index:2;text-align:center}.hero-title{font-size:2rem;font-weight:700;margin-bottom:var(--space-sm);text-shadow:0 2px 4px rgba(0,0,0,.2)}.hero-subtitle{font-size:1.1rem;opacity:.95;font-weight:400}.city-facade{margin-top:var(--space-xl);position:relative;height:120px;display:flex;justify-content:center;align-items:flex-end}.building{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:var(--space-sm);max-width:400px;width:100%}.building-window{aspect-ratio:1;background:#ffffff26;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden;animation:windowGlow 2s ease-in-out infinite}.window-light{position:absolute;inset:8px;background:#fff8f04d;border-radius:4px}@keyframes windowGlow{0%,to{opacity:.6}50%{opacity:1}}.categories-section{padding:var(--space-2xl) var(--space-lg)}.section-title{font-size:1.5rem;color:var(--color-text);margin-bottom:var(--space-lg);text-align:center}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md)}.category-card{background:#fff;padding:var(--space-lg);border-radius:0;box-shadow:none;border:3px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);transition:none;cursor:pointer}.category-card:hover{border-color:var(--color-accent);background:var(--color-bg-secondary)}.category-icon{font-size:2.5rem;color:var(--color-primary);transition:transform var(--transition-normal)}.category-card:hover .category-icon{transform:scale(1.1)}.category-name{font-weight:600;color:var(--color-text);text-align:center;font-size:1rem}.category-list{padding:var(--space-lg)}.category-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-border)}.back-button{width:48px;height:48px;border-radius:0;background:#fff;box-shadow:none;border:3px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:none;cursor:pointer}.back-button:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.category-title{font-size:1.5rem;color:var(--color-text);flex:1}.advertisers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-light)}.empty-icon{font-size:4rem;color:var(--color-border);margin-bottom:var(--space-md)}.advertiser-card{background:#fff;border-radius:0;overflow:hidden;box-shadow:var(--shadow-md);border:3px solid var(--color-border);transition:none;cursor:pointer;display:flex;flex-direction:column}.advertiser-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg)}.card-image-container{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--color-bg-secondary)}.card-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.advertiser-card:hover .card-image{transform:scale(1.05)}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-border))}.card-image-placeholder .material-icons{font-size:4rem;color:var(--color-text-light)}.card-content{padding:var(--space-lg);flex:1}.card-title{font-size:1.25rem;color:var(--color-text);margin-bottom:var(--space-sm)}.card-description{color:var(--color-text-light);font-size:.95rem;line-height:1.5;margin-bottom:var(--space-md)}.promo-badge{display:inline-flex;align-items:center;gap:var(--space-xs);background:linear-gradient(135deg,var(--color-accent),var(--color-secondary));color:#fff;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-weight:600;font-size:.9rem;margin-bottom:var(--space-sm)}.promo-icon{font-size:1.2rem}.promo-code{letter-spacing:.5px}.promo-uses{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-light);font-size:.85rem;margin-top:var(--space-sm)}.uses-icon{font-size:1rem}.card-footer{padding:0 var(--space-lg) var(--space-lg)}.card-action-hint{width:100%;background:var(--color-primary);color:#fff;padding:var(--space-md);border-radius:var(--radius-sm);font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all var(--transition-normal);cursor:pointer}.card-action-hint:hover{background:var(--color-primary-dark)}.advertiser-detail{min-height:100vh;background:var(--color-bg)}.detail-header{padding:var(--space-md) var(--space-lg);background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.detail-image-container{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-secondary)}.detail-image{width:100%;height:100%;object-fit:cover}.detail-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-border))}.detail-image-placeholder .material-icons{font-size:6rem;color:var(--color-text-light)}.detail-content{padding:var(--space-xl) var(--space-lg)}.detail-title{font-size:2rem;color:var(--color-text);margin-bottom:var(--space-md)}.detail-description{font-size:1.1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--space-xl)}.promo-section{background:#fff;padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);border:2px solid var(--color-accent)}.promo-label{font-size:.9rem;color:var(--color-text-light);font-weight:600;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.promo-code-container{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.promo-code-text{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--color-accent);letter-spacing:2px;padding:var(--space-sm) var(--space-lg);background:var(--color-border);border-radius:0;border:3px solid var(--color-accent);color:var(--color-white)}.copy-button{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-accent);color:#fff;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-weight:600;transition:all var(--transition-normal);cursor:pointer}.copy-button:hover{background:var(--color-secondary);transform:translateY(-2px)}.copy-button.copied{background:#10b981}.social-proof{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-light);font-size:.95rem;padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-sm)}.social-proof .material-icons{color:var(--color-primary)}.contact-info{background:#fff;padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl)}.info-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);color:var(--color-text)}.info-item:last-child{border-bottom:none}.info-item .material-icons{color:var(--color-primary);font-size:1.5rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md)}.action-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all var(--transition-normal);cursor:pointer}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md);border:3px solid var(--color-border)}.btn-primary:hover{background:var(--color-primary);box-shadow:var(--shadow-lg)}.btn-secondary{background:#fff;color:var(--color-text);border:3px solid var(--color-border);box-shadow:none}.btn-secondary:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-outline{background:#fff;color:var(--color-text-light);border:3px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-secondary)}.btn-outline.favorited{background:#fee;border-color:#e11d48;color:#e11d48}@media(max-width:768px){.hero-title{font-size:1.75rem}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.advertisers-grid,.action-buttons{grid-template-columns:1fr}.detail-title{font-size:1.5rem}}@media(max-width:375px){html{font-size:14px}.hero-section,.categories-section{padding:var(--space-lg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,.category-card:focus-visible,.advertiser-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #FF6600;--color-secondary: #FF8533;--color-background: #2D2D2D;--color-card: #1A1A1A;--color-text: #FFFFFF;--color-text-secondary: #CCCCCC;--color-border: #FF6600;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--shadow-sm: 2px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 4px 4px 0 rgba(0, 0, 0, .5);--shadow-lg: 8px 8px 0 rgba(0, 0, 0, .7);--shadow-xl: 12px 12px 0 rgba(0, 0, 0, .8);--font-heading: "Roboto Condensed", "Arial Narrow", sans-serif;--font-body: "Roboto", "Arial", sans-serif;--border-width: 6px;--border-thin: 2px;--transition-fast: .15s ease;--transition-normal: .3s ease}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:900;line-height:1.1;color:var(--color-primary);text-transform:uppercase;letter-spacing:2px}h1{font-size:clamp(24px,5vw,32px)}h2{font-size:clamp(20px,4vw,28px)}h3{font-size:clamp(16px,3.5vw,20px)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}#root{min-height:100vh;display:flex;flex-direction:column}.app{flex:1;padding:var(--space-lg) 0}.header{background:var(--color-card);border-left:8px solid var(--color-primary);padding:var(--space-lg) 0;position:sticky;top:0;z-index:100;margin-bottom:var(--space-xl);box-shadow:var(--shadow-md)}.header-content{display:flex;align-items:center;justify-content:space-between}.header-title{font-size:clamp(18px,4vw,24px);color:var(--color-primary);margin:0;letter-spacing:3px}.back-button{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-family:var(--font-heading);font-weight:600;font-size:16px;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--space-sm)}.back-button:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}.back-button:active{transform:translateY(0)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);padding:var(--space-md)}.category-card{background:var(--color-card);border-left:var(--border-width) solid var(--color-primary);padding:var(--space-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-normal);text-align:center;border-radius:0}.category-card:hover{border-left-width:10px;transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-icon{font-size:48px;margin-bottom:var(--space-md);display:block;filter:grayscale(30%)}.category-name{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:2px}.category-count{display:inline-block;background:var(--color-primary);color:#000;padding:6px 16px;font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.advertisers-list{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.advertiser-card{background:var(--color-card);border-radius:0;padding:var(--space-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-normal);border-left:var(--border-width) solid var(--color-primary)}.advertiser-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-left-width:10px}.advertiser-name{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:1px}.advertiser-promo{font-size:14px;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-card);border-radius:0;border-top:4px solid var(--color-primary);padding:var(--space-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);background:transparent;border:2px solid var(--color-primary);font-size:20px;cursor:pointer;color:var(--color-primary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:0;transition:all var(--transition-fast);font-weight:700}.modal-close:hover{background:var(--color-primary);color:#000}.modal-title{font-family:var(--font-heading);font-size:20px;font-weight:900;color:var(--color-text);margin-bottom:var(--space-lg);padding-right:var(--space-xl);text-transform:uppercase;letter-spacing:1px}.modal-section{margin-bottom:var(--space-lg)}.modal-label{font-family:var(--font-heading);font-size:12px;font-weight:900;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm)}.modal-text{font-size:14px;color:var(--color-text-secondary);line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 24px;border-radius:0;font-family:var(--font-heading);font-weight:700;font-size:14px;cursor:pointer;transition:all var(--transition-normal);border:none;text-decoration:none;width:100%;text-transform:uppercase;letter-spacing:1px}.btn-primary{background:var(--color-primary);color:#000;border:2px solid var(--color-primary)}.btn-primary:hover{background:var(--color-secondary);border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:#000;transform:translateY(-2px)}.btn-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}.icon{width:20px;height:20px;display:inline-block}.text-center{text-align:center}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}@media(max-width:768px){.categories-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md)}.category-card{padding:var(--space-lg)}.category-icon{font-size:48px}.category-name{font-size:16px}.modal{padding:var(--space-lg);max-height:95vh}}@media(max-width:375px){.categories-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*:focus-visible{outline:3px solid var(--color-cta);outline-offset:2px}button:focus-visible{outline:3px solid var(--color-cta);outline-offset:2px}
