.gm-style-iw-chr {position: absolute !important;top: 8px !important;right: 8px !important;z-index: 10 !important;height: auto !important}
.gm-style-iw-chr button.gm-ui-hover-effect {width: 32px !important;height: 32px !important;background: rgba(255, 255, 255, 0.95) !important;border-radius: 50% !important;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;opacity: 1 !important;transition: all 0.2s ease !important}
.gm-style-iw-chr button.gm-ui-hover-effect:hover {background: #ffffff !important;transform: scale(1.1) !important;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important}
.gm-style-iw-chr button.gm-ui-hover-effect > span {width: 18px !important;height: 18px !important;margin: 7px !important}
.gm-style .gm-style-iw-c {padding: 0 !important;border-radius: 16px !important;box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35), 0 4px 16px rgba(0, 0, 0, 0.2) !important}
.gm-style .gm-style-iw-d {overflow: hidden !important;max-height: none !important}
.gm-style .gm-style-iw-tc::after {background: #ffffff !important}
.marker-info-window {font-family: var(--font-family-base);width: 280px;color: #333;border-radius: 16px;overflow: hidden;background: #ffffff}
.marker-info-image {position: relative;width: 100%;height: 180px;overflow: hidden;background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%)}
.marker-info-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease}
.marker-info-image:hover img {transform: scale(1.05)}
.marker-info-image-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%)}
.marker-info-image-placeholder svg {width: 64px;height: 64px;color: #0ea5e9;opacity: 0.6}
.marker-info-fish-badge {position: absolute;bottom: 12px;left: 12px;right: 12px;display: flex;align-items: center;gap: 8px}
.marker-info-fish-name {background: linear-gradient(135deg, rgba(59, 130, 246, 0.95) 0%, rgba(37, 99, 235, 0.95) 100%);backdrop-filter: blur(8px);color: #fff;padding: 8px 14px;border-radius: 24px;font-size: 1em;font-weight: 700;letter-spacing: 0.5px;box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);max-width: calc(100% - 16px);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;text-decoration: none}
a.marker-info-fish-name:hover {filter: brightness(1.1)}
.marker-info-content {padding: 16px}
.marker-info-stats {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-bottom: 14px}
.marker-info-stat {background: linear-gradient(135deg, var(--color-bg-muted) 0%, var(--color-bg-secondary) 100%);border-radius: 12px;padding: 12px;text-align: center;border: 1px solid var(--color-border);transition: all 0.2s ease}
.marker-info-stat:hover {background: linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-border) 100%);border-color: #cbd5e1}
.marker-info-stat-icon {display: flex;align-items: center;justify-content: center;margin-bottom: 4px}
.marker-info-stat-icon svg {width: 16px;height: 16px;color: var(--color-text-muted)}
.marker-info-stat-label {font-size: 0.65em;color: var(--color-text-light);text-transform: uppercase;letter-spacing: 0.5px;margin-bottom: 2px}
.marker-info-stat-value {font-size: 1.1em;font-weight: 700;color: var(--color-text-primary)}
.marker-info-stat-value.has-value {color: #0284c7}
.marker-info-comment {background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);border-radius: 12px;padding: 12px;margin-bottom: 14px;border-left: 3px solid var(--color-warning)}
.marker-info-comment-text {margin: 0;font-size: 0.9em;line-height: 1.5;color: #78350f;word-wrap: break-word;overflow-wrap: break-word}
.marker-info-footer {display: flex;justify-content: space-between;align-items: center;padding-top: 12px;border-top: 1px solid var(--color-border-light)}
.marker-info-user {display: flex;align-items: center;gap: 8px;min-width: 0;flex: 1}
.marker-info-user-avatar {width: 28px;height: 28px;border-radius: 50%;background: #ffffff;border: 2px solid var(--color-border);display: flex;align-items: center;justify-content: center;flex-shrink: 0;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);overflow: hidden}
.marker-info-user-avatar svg {width: 18px;height: 18px}
.marker-info-user-avatar-img {width: 100%;height: 100%;object-fit: cover;border-radius: 50%}
.marker-info-user-avatar-fallback {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center}
.marker-info-user-avatar-fallback svg {width: 18px;height: 18px}
.marker-info-user-name {color: var(--color-text-primary);text-decoration: none;font-weight: 600;font-size: 0.85em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;transition: color 0.2s ease}
.marker-info-user-name:hover {color: var(--color-primary-dark)}
.marker-info-time {display: flex;align-items: center;gap: 4px;color: var(--color-text-light);font-size: 0.75em;flex-shrink: 0}
.marker-info-time svg {width: 12px;height: 12px}
@media (max-width: 480px) {.marker-info-window {width: 260px;border-radius: 14px}
.marker-info-image {height: 150px}
.marker-info-fish-name {font-size: 0.9em;padding: 6px 12px}
.marker-info-content {padding: 12px}
.marker-info-stats {gap: 8px;margin-bottom: 12px}
.marker-info-stat {padding: 10px 8px;border-radius: 10px}
.marker-info-stat-value {font-size: 1em}
.marker-info-comment {padding: 10px;margin-bottom: 12px}
.marker-info-comment-text {font-size: 0.85em}
.marker-info-footer {padding-top: 10px}
.marker-info-user-avatar {width: 24px;height: 24px}
.marker-info-user-avatar svg,
.marker-info-user-avatar-fallback svg {width: 16px;height: 16px}}
.marker-info-image-placeholder.article-placeholder {background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%)}
.marker-info-image-placeholder.article-placeholder svg {color: #8b5cf6;opacity: 0.5;width: 48px;height: 48px}
.marker-info-image-placeholder.violation-hidden-image {flex-direction: column;gap: 8px;background: #f0f0f0;color: #aaa;text-align: center}
.marker-info-image-placeholder.violation-hidden-image svg {width: 24px;height: 24px;color: #aaa;opacity: 0.5}
.marker-info-fish-name.article-genre-badge {background: linear-gradient(135deg, rgba(139, 92, 246, 0.95) 0%, rgba(109, 40, 217, 0.95) 100%);box-shadow: 0 4px 12px rgba(109, 40, 217, 0.3)}
.article-info-title {margin-bottom: 10px}
.article-info-title a {color: var(--color-text-primary);text-decoration: none;font-size: 0.95em;font-weight: 700;line-height: 1.4;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;transition: color 0.2s ease}
.article-info-title a:hover {color: #7c3aed}
.article-info-meta {display: flex;flex-wrap: wrap;gap: 12px;margin-bottom: 12px;padding-bottom: 12px;border-bottom: 1px solid var(--color-border-light)}
.article-info-meta-item {display: flex;align-items: center;gap: 4px;font-size: 0.75em;color: var(--color-text-light)}
.article-info-meta-item svg {flex-shrink: 0;color: var(--color-text-muted)}
.article-info-actions {margin-top: 12px;display: flex}
.article-info-detail-link {display: flex;align-items: center;justify-content: center;gap: 6px;flex: 1;padding: 10px;background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);color: #fff;border-radius: 10px;font-size: 0.85em;font-weight: 600;text-decoration: none;transition: all 0.2s ease;box-shadow: 0 2px 8px rgba(124, 58, 237, 0.25);box-sizing: border-box}
.article-info-detail-link:hover {background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);box-shadow: 0 4px 12px rgba(124, 58, 237, 0.35);transform: translateY(-1px)}
.article-info-detail-link svg {flex-shrink: 0}
@media (max-width: 480px) {.article-info-meta {gap: 8px;margin-bottom: 10px;padding-bottom: 10px}
.article-info-detail-link {padding: 8px;font-size: 0.8em;border-radius: 8px}}
.check-in-info-header {display: flex;align-items: center;gap: 6px;margin-bottom: 12px;flex-wrap: wrap}
.check-in-info-badge {display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 999px;font-size: 0.7em;font-weight: 700;color: #fff;background: #0d9488}
.check-in-info-badge.is-fishing {background: #2563eb}
.check-in-info-badge.is-bouzu {background: #64748b}
.check-in-info-date {margin-left: auto;font-size: 0.75em;color: #6b7280}
.check-in-info-actions {margin-top: 12px;display: flex}
.check-in-info-detail-link {display: flex;align-items: center;justify-content: center;gap: 6px;flex: 1;padding: 10px;background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%);color: #fff;border-radius: 10px;font-size: 0.85em;font-weight: 600;text-decoration: none;transition: all 0.2s ease;box-shadow: 0 2px 8px rgba(13, 148, 136, 0.25);box-sizing: border-box}
.check-in-info-detail-link:hover {background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35);transform: translateY(-1px)}
.check-in-info-detail-link svg {flex-shrink: 0}