*{box-sizing:border-box}:root{--hairline: rgba(0, 0, 0, .12);--safe-top: calc( max(env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px)) + var(--tg-content-safe-area-inset-top, 0px) )}html,body,#root{height:100%;margin:0}:root[data-theme=dark]{--hairline: rgba(255, 255, 255, .16)}body{font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #1c1e21);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text;-webkit-user-select:text}.center-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;padding-top:calc(24px + var(--safe-top))}.app{display:flex;flex-direction:column;height:100%;padding-top:var(--safe-top)}.consent{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:calc(20px + var(--safe-top))}.consent-card{width:100%;max-width:360px;background:var(--tg-theme-secondary-bg-color, #f7f7f8);border-radius:16px;padding:24px 20px 20px;text-align:center}.consent-logo{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--tg-theme-button-color, #2563eb);color:var(--tg-theme-button-text-color, #fff);font-weight:600;font-size:20px;display:flex;align-items:center;justify-content:center}.consent-card h2{margin:0 0 12px;font-size:18px}.consent-text{font-size:14px;line-height:1.5;margin:0 0 18px;color:var(--tg-theme-text-color, #1c1e21)}.consent-text a{color:var(--tg-theme-link-color, #2563eb)}.consent-error{color:#dc2626;font-size:13px;margin:0 0 12px}.consent-buttons{display:flex;gap:10px}.consent-btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:15px;cursor:pointer}.consent-btn.primary{background:var(--tg-theme-button-color, #2563eb);color:var(--tg-theme-button-text-color, #fff);font-weight:500}.consent-btn.secondary{background:transparent;color:var(--tg-theme-link-color, #2563eb)}.consent-btn:disabled{opacity:.6}.map-tabs{display:flex;gap:6px;padding:8px;overflow-x:auto;border-bottom:1px solid var(--hairline)}.tab{border:none;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #1c1e21);padding:6px 12px;border-radius:16px;font-size:13px;white-space:nowrap;cursor:pointer}.tab.active{background:var(--tg-theme-button-color, #2563eb);color:var(--tg-theme-button-text-color, #fff)}.layers{display:flex;gap:6px;padding:8px;overflow-x:auto;flex-shrink:0;border-bottom:1px solid var(--hairline);scrollbar-width:none}.layers::-webkit-scrollbar{display:none}.layer{display:flex;align-items:center;gap:6px;border:1px solid var(--hairline);background:var(--tg-theme-secondary-bg-color, #f4f5f7);color:var(--tg-theme-text-color, #1c1e21);border-radius:16px;padding:6px 12px;font-size:13px;font-family:inherit;white-space:nowrap;cursor:pointer;transition:opacity .15s ease,background .15s ease}.layer:active{opacity:.6}.layer.poi{margin-left:4px}.poi-dot{background:transparent;font-size:15px}.layer.off{opacity:.4}.layer-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:#fff}.map-container{flex:1;position:relative}.quick-links{display:flex;gap:6px;padding:6px 10px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));overflow-x:auto;flex-shrink:0;background:var(--tg-theme-secondary-bg-color, #f7f7f8);border-top:1px solid var(--hairline);-webkit-overflow-scrolling:touch;scrollbar-width:none}.quick-links::-webkit-scrollbar{display:none}.quick-links,.quick-link{user-select:none;-webkit-user-select:none}.quick-links.dragging,.quick-links.dragging .quick-link{cursor:grabbing}@media (pointer: fine){.quick-links,.layers{scrollbar-width:thin;cursor:grab}.quick-links{padding-bottom:6px}.quick-links::-webkit-scrollbar,.layers::-webkit-scrollbar{display:block;height:6px}.quick-links::-webkit-scrollbar-thumb,.layers::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}}.layers.dragging,.layers.dragging .layer{cursor:grabbing}.layers,.layer{user-select:none;-webkit-user-select:none}.quick-link{border:1px solid var(--hairline);border-radius:14px;padding:6px 10px;font-size:12px;font-family:inherit;white-space:nowrap;cursor:pointer;background:transparent;color:var(--tg-theme-hint-color, #6b7280);transition:opacity .15s ease}.quick-link:active{opacity:.55}.quick-link.join{width:100%;font-size:15px;padding:13px 14px;border:none;background:var(--tg-theme-button-color, #2563eb);color:var(--tg-theme-button-text-color, #fff)}.point-detail{position:absolute;left:0;right:0;bottom:0;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #1c1e21);border-radius:16px 16px 0 0;padding:16px;max-height:45%;overflow-y:auto;box-shadow:0 -4px 20px #00000059}.point-detail h3{margin:0 32px 8px 0;font-size:17px;color:var(--tg-theme-text-color, #1c1e21)}.point-detail p{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--tg-theme-text-color, #1c1e21)}.point-detail .close-btn{position:absolute;right:12px;top:12px;border:none;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-hint-color, #6b7280);border-radius:50%;width:28px;height:28px;font-size:14px;line-height:1;cursor:pointer}.facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.point-detail .category,.point-detail .fact{display:inline-block;background:var(--tg-theme-secondary-bg-color, #eef2ff);color:var(--tg-theme-text-color, #3730a3);font-size:12px;padding:3px 9px;border-radius:10px}.point-detail .fact.rating{color:#b45309;background:#fef3c7;font-weight:600}.point-detail .fact .dim{font-weight:400;opacity:.7}.point-detail .hours,.point-detail .address{font-size:13px;color:var(--tg-theme-hint-color, #6b7280);margin-top:4px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.action{border:1px solid var(--hairline);background:transparent;color:var(--tg-theme-link-color, #2563eb);border-radius:14px;padding:8px 14px;font-size:14px;font-family:inherit;cursor:pointer;transition:opacity .15s ease}.action.primary{border:none;background:var(--tg-theme-button-color, #2563eb);color:var(--tg-theme-button-text-color, #fff);font-weight:500}.action:active{opacity:.6}.media-row{display:flex;gap:8px;overflow-x:auto;margin-top:10px}.media-row img,.media-row video{height:120px;border-radius:8px}
