.guild-container {max-width: 800px;margin: 0 auto;padding: 20px 16px 32px}
.guild-page-header {display: flex;align-items: center;justify-content: space-between;margin-bottom: 24px;gap: 12px}
.guild-page-header h1 {font-size: 1.375rem;font-weight: 800;color: var(--color-text-primary);margin: 0;min-width: 0;overflow-wrap: anywhere;letter-spacing: -0.02em}
.guild-page-header h1 i {margin-right: 8px;color: var(--color-primary)}
.guild-back-link {display: inline-flex;align-items: center;gap: 4px;padding: 6px 0;margin-bottom: 12px;font-size: 0.8125rem;font-weight: 500;text-decoration: none;color: var(--color-text-muted);transition: color 0.2s;white-space: nowrap}
.guild-back-link i {font-size: 0.6875rem;transition: transform 0.2s}
.guild-back-link:hover {color: var(--color-primary)}
.guild-back-link:hover i {transform: translateX(-3px)}
.guild-back-link:focus {outline: 2px solid var(--color-primary);outline-offset: 2px}
.guild-btn {display: inline-flex;align-items: center;justify-content: center;gap: 6px;padding: 10px 20px;border-radius: var(--radius-sm);font-size: 0.875rem;font-weight: 600;text-decoration: none;border: none;cursor: pointer;white-space: nowrap;transition: all 0.2s;line-height: 1.4}
.guild-btn--primary {background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: #fff;box-shadow: 0 2px 8px rgba(59, 130, 246, 0.25)}
.guild-btn--primary:hover {box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35);transform: translateY(-1px)}
.guild-btn--primary:active {transform: translateY(0);box-shadow: 0 1px 4px rgba(59, 130, 246, 0.2)}
.guild-btn--secondary {background: var(--color-bg-secondary);color: var(--color-text-primary);border: 1px solid var(--color-border)}
.guild-btn--secondary:hover {background: var(--color-border);border-color: #cbd5e1}
.guild-btn--danger {background: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);color: #fff;box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2)}
.guild-btn--danger:hover {box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);transform: translateY(-1px)}
.guild-btn--danger:active {transform: translateY(0)}
.guild-btn:focus {outline: 2px solid var(--color-primary);outline-offset: 2px}
.guild-btn--sm {padding: 6px 14px;font-size: 0.8125rem}
.guild-btn--full {width: 100%}
.guild-create-btn {display: inline-flex;align-items: center;gap: 6px;padding: 10px 20px;border-radius: var(--radius-sm);font-size: 0.875rem;font-weight: 600;text-decoration: none;white-space: nowrap;background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color: #fff;box-shadow: 0 2px 8px rgba(59, 130, 246, 0.25);transition: all 0.2s}
.guild-create-btn:hover {box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35);transform: translateY(-1px)}
.guild-search-form {display: flex;align-items: center;gap: 8px;margin-bottom: 16px}
.guild-search-input-wrapper {flex: 1;position: relative;display: flex;align-items: center}
.guild-search-icon {position: absolute;left: 12px;font-size: 0.8rem;color: var(--color-text-muted);pointer-events: none}
.guild-search-input {width: 100%;padding: 10px 12px 10px 34px;border: 1px solid var(--color-border);border-radius: var(--radius-md);font-size: 0.875rem;background: #fff;transition: border-color 0.2s, box-shadow 0.2s;box-sizing: border-box;max-width: 100%}
.guild-search-input:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15)}
.guild-search-input::placeholder {color: #999}
.guild-search-btn {flex-shrink: 0;padding: 10px 16px;border: none;border-radius: var(--radius-md);background: var(--color-primary);color: #fff;font-size: 0.875rem;font-weight: 500;cursor: pointer;transition: background 0.2s;white-space: nowrap}
.guild-search-btn:hover {background: var(--color-primary-dark)}
.guild-search-clear {flex-shrink: 0;display: inline-flex;align-items: center;gap: 4px;padding: 10px 12px;border-radius: var(--radius-md);font-size: 0.8rem;color: var(--color-text-muted);text-decoration: none;background: var(--color-bg-muted);transition: background 0.2s;white-space: nowrap}
.guild-search-clear:hover {background: #e4e6eb;color: var(--color-text-primary)}
.guild-list-count {font-size: 0.8125rem;font-weight: 500;color: var(--color-text-muted);margin-bottom: 12px}
.guild-info-section {margin-bottom: 20px;padding: 16px;background: linear-gradient(135deg, #f0f7ff 0%, #f5f0ff 100%);border-radius: var(--radius-md);border: 1px solid rgba(99, 102, 241, 0.12)}
.guild-info-main {display: flex;gap: 16px;align-items: flex-start}
.guild-info-text {flex: 1;min-width: 0}
.guild-info-section .guild-section-title {font-size: 0.875rem;font-weight: 700;margin: 0 0 4px;display: flex;align-items: center;gap: 6px}
.guild-info-section .guild-section-title i {color: #6366f1}
.guild-info-section .guild-section-description {font-size: 0.8rem;line-height: 1.5;color: var(--color-text-secondary);margin: 0}
.guild-info-conditions {flex-shrink: 0;padding: 10px 14px;background: rgba(255, 255, 255, 0.8);border-radius: var(--radius-sm)}
.guild-info-conditions-title {font-size: 0.75rem;font-weight: 600;margin: 0 0 6px;display: flex;align-items: center;gap: 4px;color: var(--color-text-secondary)}
.guild-info-conditions-list {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 3px}
.guild-info-conditions-list li {font-size: 0.7rem;color: var(--color-text-muted);display: flex;align-items: center;gap: 5px}
.guild-info-conditions-list li i {font-size: 0.6rem;width: 12px;text-align: center;opacity: 0.7}
.guild-list {display: flex;flex-direction: column;gap: 12px}
.guild-card {display: flex;gap: 14px;padding: 14px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);transition: all 0.2s;overflow: hidden;text-decoration: none;color: inherit}
.guild-card:hover {border-color: rgba(59, 130, 246, 0.3);box-shadow: var(--shadow-md);transform: translateY(-1px)}
.guild-card-emblem {flex-shrink: 0;width: 72px;height: 72px;border-radius: var(--radius-md);overflow: hidden}
.guild-card-emblem img {width: 100%;height: 100%;object-fit: cover}
.guild-card-emblem-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);color: #6366f1;font-size: 1.75rem}
.guild-card-body {flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 4px}
.guild-card-name {font-size: 1rem;font-weight: 700;color: var(--color-text-primary);margin: 0;overflow-wrap: anywhere;letter-spacing: -0.01em;line-height: 1.3}
.guild-card-description {font-size: 0.8rem;color: var(--color-text-secondary);margin: 0;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;line-height: 1.4}
.guild-card-tags {display: flex;flex-wrap: wrap;gap: 6px;margin-top: 2px}
.guild-card-tag {display: inline-flex;align-items: center;gap: 4px;font-size: 0.7rem;color: var(--color-text-muted);padding: 2px 8px;background: var(--color-bg-muted);border-radius: 10px}
.guild-card-tag i {font-size: 0.6rem;opacity: 0.7}
.guild-card-footer {display: flex;align-items: center;gap: 12px;margin-top: auto;padding-top: 2px}
.guild-card-members,
.guild-card-leader {display: inline-flex;align-items: center;gap: 4px;font-size: 0.7rem;color: var(--color-text-muted)}
.guild-card-members i,
.guild-card-leader i {font-size: 0.6rem;opacity: 0.7}
.guild-hero {display: flex;gap: 20px;padding: 24px;background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fe 50%, #f5f0ff 100%);border-radius: var(--radius-lg);margin-bottom: 24px;border: 1px solid rgba(59, 130, 246, 0.08)}
.guild-hero-emblem {flex-shrink: 0;width: 96px;height: 96px;border-radius: var(--radius-md);overflow: hidden;box-shadow: var(--shadow-md);border: 3px solid #fff}
.guild-hero-emblem img {width: 100%;height: 100%;object-fit: cover}
.guild-hero-emblem-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);color: #fff;font-size: 2.25rem}
.guild-hero-info {flex: 1;min-width: 0}
.guild-hero-name {font-size: 1.5rem;font-weight: 800;color: var(--color-text-primary);margin: 0 0 8px;overflow-wrap: anywhere;letter-spacing: -0.02em;line-height: 1.3}
.guild-hero-meta {display: flex;flex-wrap: wrap;gap: 6px 16px;font-size: 0.8125rem;color: var(--color-text-muted);margin-bottom: 8px}
.guild-hero-meta i {margin-right: 4px;opacity: 0.7}
.guild-hero-leader {font-size: 0.875rem;color: var(--color-text-secondary)}
.guild-hero-leader a {color: var(--color-primary);text-decoration: none;font-weight: 600}
.guild-hero-leader a:hover {text-decoration: underline}
.guild-tabs {display: flex;gap: 4px;margin-bottom: 24px;padding: 4px;background: var(--color-bg-secondary);border-radius: var(--radius-sm);overflow-x: auto;-webkit-overflow-scrolling: touch;scrollbar-width: thin;scrollbar-color: var(--color-border) transparent}
.guild-tabs::-webkit-scrollbar {height: 4px}
.guild-tabs::-webkit-scrollbar-thumb {background: var(--color-border);border-radius: 2px}
.guild-tab {display: inline-flex;align-items: center;gap: 6px;padding: 10px 16px;border-radius: 6px;font-size: 0.8125rem;font-weight: 600;text-decoration: none;color: var(--color-text-muted);transition: all 0.2s;white-space: nowrap;flex-shrink: 0}
.guild-tab:hover {color: var(--color-text-primary);background: rgba(255, 255, 255, 0.6)}
.guild-tab.active {color: var(--color-primary);background: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08)}
.guild-tab i {font-size: 0.75rem}
.guild-tab:focus {outline: 2px solid var(--color-primary);outline-offset: 2px}
.guild-sub-header {margin-bottom: 8px}
.guild-sub-header-identity {margin-bottom: 12px}
.guild-sub-header-link {display: inline-flex;align-items: center;gap: 10px;text-decoration: none;color: var(--color-text-primary);transition: opacity 0.2s}
.guild-sub-header-link:hover {opacity: 0.8}
.guild-sub-header-emblem {flex-shrink: 0;width: 36px;height: 36px;border-radius: var(--radius-sm);overflow: hidden;border: 2px solid var(--color-border)}
.guild-sub-header-emblem img {width: 100%;height: 100%;object-fit: cover}
.guild-sub-header-emblem-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);color: #fff;font-size: 1rem}
.guild-sub-header-name {font-size: 0.9375rem;font-weight: 700;overflow-wrap: anywhere;min-width: 0}
.guild-sub-page-title {font-size: 1.25rem;font-weight: 800;color: var(--color-text-primary);margin: 0 0 20px;letter-spacing: -0.02em}
.guild-sub-page-title i {margin-right: 8px;color: var(--color-primary)}
.guild-content-card {background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 20px;margin-bottom: 16px}
.guild-sub-page-header {display: flex;align-items: center;gap: 10px;margin-bottom: 20px}
.guild-sub-page-header .guild-sub-page-title {margin: 0}
.guild-sub-page-count {font-size: 0.8125rem;color: var(--color-text-muted);font-weight: 500}
.guild-section {margin-bottom: 24px}
.guild-section-title {font-size: 1.0625rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 14px;display: flex;align-items: center;gap: 8px;letter-spacing: -0.01em}
.guild-section-title i {color: var(--color-primary);font-size: 0.9375rem}
.guild-section-description {font-size: 0.9375rem;color: var(--color-text-secondary);line-height: 1.7;overflow-wrap: anywhere}
.guild-section-description p {margin: 0}
.guild-info-conditions {margin-top: 16px;padding: 16px;background: var(--color-bg-muted);border-radius: var(--radius-sm);border: 1px solid var(--color-border)}
.guild-info-conditions-title {font-size: 0.9375rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 10px;display: flex;align-items: center;gap: 8px}
.guild-info-conditions-title i {color: var(--color-primary);font-size: 0.875rem}
.guild-info-conditions-list {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 8px}
.guild-info-conditions-list li {display: flex;align-items: center;gap: 8px;font-size: 0.875rem;color: var(--color-text-secondary);line-height: 1.5}
.guild-info-conditions-list li i {color: var(--color-text-muted);font-size: 0.8125rem;width: 16px;text-align: center;flex-shrink: 0}
.guild-announcement {padding: 14px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);margin-bottom: 10px;border-left: 3px solid var(--color-primary);transition: box-shadow 0.2s}
.guild-announcement:hover {box-shadow: var(--shadow-sm)}
.guild-announcement-header {display: flex;align-items: center;gap: 10px;margin-bottom: 8px}
.guild-announcement-author {font-weight: 600;font-size: 0.875rem;color: var(--color-text-primary)}
.guild-announcement-date {font-size: 0.75rem;color: var(--color-text-muted)}
.guild-announcement-delete {margin-left: auto;background: none;border: none;color: var(--color-text-light);cursor: pointer;padding: 6px;border-radius: 6px;font-size: 0.8125rem;transition: all 0.15s}
.guild-announcement-delete:hover {color: var(--color-danger);background: #fef2f2}
.guild-announcement-content {font-size: 0.9375rem;color: var(--color-text-secondary);line-height: 1.6;overflow-wrap: anywhere}
.guild-announcement-content p {margin: 0}
.guild-announcement-form {margin-bottom: 16px;display: flex;flex-direction: column;gap: 10px}
.guild-announcement-form textarea {width: 100%;max-width: 100%;min-height: 80px;padding: 12px 14px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.9375rem;resize: vertical;box-sizing: border-box;transition: border-color 0.2s, box-shadow 0.2s}
.guild-announcement-form textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-join-card {padding: 20px;background: linear-gradient(135deg, #f0f7ff 0%, #eff6ff 100%);border-radius: var(--radius-md);border: 1px solid rgba(59, 130, 246, 0.12)}
.guild-join-card h2 {font-size: 1.0625rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 12px}
.guild-join-card textarea {width: 100%;max-width: 100%;min-height: 70px;padding: 12px 14px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.875rem;resize: vertical;margin-bottom: 12px;box-sizing: border-box;background: #fff;transition: border-color 0.2s, box-shadow 0.2s}
.guild-join-card textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-pending-notice {font-size: 0.9375rem;color: var(--color-text-muted);display: flex;align-items: center;gap: 10px;padding: 14px 16px;background: var(--color-status-pending-bg);border-radius: var(--radius-sm);border: 1px solid rgba(245, 158, 11, 0.15)}
.guild-pending-notice i {color: var(--color-warning);font-size: 1rem}
.guild-admin-card {padding: 20px;background: var(--color-bg-muted);border-radius: var(--radius-md);border: 1px solid var(--color-border)}
.guild-admin-card h2 {font-size: 1.0625rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 14px;display: flex;align-items: center;gap: 8px}
.guild-admin-card h2 i {color: var(--color-text-muted)}
.guild-admin-actions {display: flex;flex-wrap: wrap;gap: 8px}
.guild-member-list {display: flex;flex-direction: column;gap: 8px}
.guild-member-card {display: flex;align-items: center;gap: 14px;padding: 14px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);transition: all 0.15s}
.guild-member-card:hover {border-color: rgba(59, 130, 246, 0.2);box-shadow: var(--shadow-sm)}
.guild-member-icon {flex-shrink: 0;width: 48px;height: 48px;border-radius: 50%;overflow: hidden}
.guild-member-icon img {width: 100%;height: 100%;object-fit: cover}
.guild-member-icon-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, var(--color-bg-secondary) 0%, var(--color-border) 100%);color: var(--color-text-muted);font-size: 1.125rem}
.guild-member-info {flex: 1;min-width: 0}
.guild-member-name {font-weight: 600;font-size: 0.9375rem;color: var(--color-text-primary);text-decoration: none}
.guild-member-name:hover {color: var(--color-primary);text-decoration: underline}
.guild-member-role {display: inline-flex;align-items: center;gap: 4px;font-size: 0.6875rem;font-weight: 700;padding: 3px 10px;border-radius: 20px;margin-left: 8px;letter-spacing: 0.02em;vertical-align: middle}
.guild-member-role--leader {background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);color: #92400e}
.guild-member-role--sub_leader {background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);color: #3730a3}
.guild-member-role--member {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.guild-member-actions {flex-shrink: 0}
.guild-request-list {display: flex;flex-direction: column;gap: 10px}
.guild-request-card {display: flex;align-items: flex-start;gap: 14px;padding: 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);transition: box-shadow 0.15s}
.guild-request-card:hover {box-shadow: var(--shadow-sm)}
.guild-request-user {display: flex;gap: 12px;flex: 1;min-width: 0}
.guild-request-info {flex: 1;min-width: 0}
.guild-request-date {font-size: 0.75rem;color: var(--color-text-light);margin-left: 8px}
.guild-request-message {font-size: 0.875rem;color: var(--color-text-secondary);margin: 8px 0 0;overflow-wrap: anywhere;padding: 8px 12px;background: var(--color-bg-muted);border-radius: 6px;line-height: 1.5}
.guild-request-actions {display: flex;gap: 6px;flex-shrink: 0}
.guild-feed-list {display: flex;flex-direction: column;gap: 14px}
.guild-feed-card {background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);overflow: hidden;transition: all 0.2s}
.guild-feed-card:hover {box-shadow: var(--shadow-md);transform: translateY(-2px)}
.guild-feed-card-link {display: block;text-decoration: none;color: inherit}
.guild-feed-card-image {width: 100%;aspect-ratio: 16 / 9;overflow: hidden;background: var(--color-bg-secondary)}
.guild-feed-card-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s}
.guild-feed-card:hover .guild-feed-card-image img {transform: scale(1.03)}
.guild-feed-card-info {padding: 14px 16px}
.guild-feed-card-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 8px}
.guild-feed-card-user {font-weight: 600;font-size: 0.875rem;color: var(--color-text-primary)}
.guild-feed-card-date {font-size: 0.75rem;color: var(--color-text-light)}
.guild-feed-card-fish {font-size: 1.0625rem;font-weight: 700;color: var(--color-text-primary);margin-bottom: 4px;letter-spacing: -0.01em}
.guild-feed-card-comment {font-size: 0.875rem;color: var(--color-text-secondary);margin: 0;overflow-wrap: anywhere;line-height: 1.5}
.guild-feed-card-footer {padding: 0;border-top: 1px solid var(--color-border-light)}
.guild-feed-card-footer .fish-reaction {margin-top: 0;border-radius: 0 0 var(--radius-md) var(--radius-md)}
.guild-share-section {padding: 20px;background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);border-radius: var(--radius-md);margin-bottom: 20px;border: 1px solid rgba(34, 197, 94, 0.12)}
.guild-share-section h2 {font-size: 1rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 10px}
.guild-map-container {margin-bottom: 20px}
.guild-map {width: 100%;height: 450px;border-radius: var(--radius-md);overflow: hidden;background: var(--color-bg-secondary);box-shadow: var(--shadow-sm);border: 1px solid var(--color-border)}
.guild-stats-section {margin-bottom: 28px}
.guild-stats-section h2 {font-size: 1.0625rem;font-weight: 700;color: var(--color-text-primary);margin: 0 0 14px;letter-spacing: -0.01em;display: flex;align-items: center;gap: 8px}
.guild-stats-section h2 i {color: var(--color-primary);font-size: 0.9375rem}
.guild-stats-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));gap: 12px}
.guild-stats-card {text-align: center;padding: 20px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);transition: all 0.2s}
.guild-stats-card:hover {border-color: rgba(59, 130, 246, 0.2);box-shadow: var(--shadow-sm)}
.guild-stats-card-value {font-size: 2rem;font-weight: 800;background: linear-gradient(135deg, var(--color-primary) 0%, #6366f1 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;line-height: 1.2}
.guild-stats-card-label {font-size: 0.8125rem;color: var(--color-text-muted);margin-top: 4px;font-weight: 500}
.guild-ranking-list {display: flex;flex-direction: column;gap: 6px}
.guild-ranking-item {display: flex;align-items: center;gap: 14px;padding: 12px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);transition: all 0.15s}
.guild-ranking-item:hover {border-color: rgba(59, 130, 246, 0.2);box-shadow: var(--shadow-sm)}
.guild-ranking-item:first-child {border-color: rgba(250, 204, 21, 0.3);background: linear-gradient(135deg, #fffbeb 0%, #fefce8 100%)}
.guild-ranking-position {flex-shrink: 0;width: 32px;text-align: center;font-weight: 800;font-size: 0.875rem;color: var(--color-text-muted)}
.guild-ranking-name {flex: 1;min-width: 0}
.guild-ranking-name a {color: var(--color-text-primary);text-decoration: none;font-weight: 600;font-size: 0.9375rem}
.guild-ranking-name a:hover {color: var(--color-primary);text-decoration: underline}
.guild-ranking-count {flex-shrink: 0;font-size: 0.875rem;font-weight: 700;color: var(--color-primary);background: rgba(59, 130, 246, 0.08);padding: 4px 12px;border-radius: 20px}
.guild-fish-stats {display: flex;flex-direction: column;gap: 6px}
.guild-fish-stat-item {display: flex;align-items: center;justify-content: space-between;padding: 10px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);transition: all 0.15s}
.guild-fish-stat-item:hover {box-shadow: var(--shadow-sm);background: var(--color-bg-muted)}
.guild-fish-stat-name {font-size: 0.9375rem;color: var(--color-text-primary);font-weight: 500}
.guild-fish-stat-name i {margin-right: 8px;color: var(--color-primary)}
.guild-fish-stat-count {font-size: 0.875rem;font-weight: 700;color: var(--color-text-secondary)}
.guild-empty {text-align: center;padding: 56px 24px;color: var(--color-text-muted)}
.guild-empty-icon {width: 64px;height: 64px;margin: 0 auto 16px;display: flex;align-items: center;justify-content: center;background: var(--color-bg-secondary);border-radius: 50%}
.guild-empty-icon i {font-size: 1.75rem;color: var(--color-text-light)}
.guild-empty p {font-size: 0.9375rem;margin: 0 0 4px;line-height: 1.5}
.guild-empty a {color: var(--color-primary);text-decoration: none;font-weight: 600}
.guild-empty a:hover {text-decoration: underline}
.guild-form {max-width: 560px}
.guild-form-errors {padding: 14px 18px;margin-bottom: 20px;background: #fef2f2;border: 1px solid #fecaca;border-radius: var(--radius-sm);color: #991b1b;border-left: 3px solid var(--color-danger)}
.guild-form-errors h3 {font-size: 0.875rem;font-weight: 700;margin: 0 0 8px}
.guild-form-errors ul {margin: 0;padding-left: 20px;font-size: 0.8125rem;line-height: 1.7}
.guild-form-group {margin-bottom: 20px}
.guild-form-group label {display: block;font-size: 0.875rem;font-weight: 600;color: var(--color-text-primary);margin-bottom: 6px}
.guild-form-group input[type="text"],
.guild-form-group textarea,
.guild-form-group select {width: 100%;max-width: 100%;padding: 12px 14px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.9375rem;box-sizing: border-box;transition: border-color 0.2s, box-shadow 0.2s;background: #fff}
.guild-form-group select {text-overflow: ellipsis}
.guild-form-group textarea {min-height: 100px;resize: vertical}
.guild-form-group input:focus,
.guild-form-group textarea:focus,
.guild-form-group select:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-form-hint {display: block;font-size: 0.75rem;color: var(--color-text-muted);margin-top: 6px;line-height: 1.4}
.guild-form-row {display: flex;gap: 16px}
.guild-form-group--half {flex: 1;min-width: 0}
.guild-form-actions {display: flex;flex-direction: column;gap: 10px;margin-top: 28px}
.guild-danger-zone {margin-top: 40px;border: 1px solid var(--color-danger);border-radius: var(--radius-md);overflow: hidden}
.guild-danger-zone-title {font-size: 1rem;font-weight: 700;color: var(--color-danger);margin: 0;padding: 12px 16px;background: rgba(239, 68, 68, 0.06);border-bottom: 1px solid var(--color-danger)}
.guild-danger-zone-title i {margin-right: 8px}
.guild-danger-zone-body {padding: 16px}
.guild-danger-zone-item {display: flex;align-items: center;justify-content: space-between;gap: 16px}
.guild-danger-zone-description {min-width: 0}
.guild-danger-zone-description strong {display: block;font-size: 0.9375rem;color: var(--color-text-primary);margin-bottom: 4px}
.guild-danger-zone-description p {margin: 0;font-size: 0.8125rem;color: var(--color-text-secondary);line-height: 1.5}
.guild-danger-zone-item .guild-btn--danger {flex-shrink: 0;white-space: nowrap}
@media (max-width: 600px) {.guild-danger-zone-item {flex-direction: column;align-items: stretch}
.guild-danger-zone-item .guild-btn--danger {width: 100%;justify-content: center}}
.guild-emblem-upload {display: flex;align-items: flex-start;gap: 20px}
.guild-emblem-preview {flex-shrink: 0;width: 120px;height: 120px;border-radius: var(--radius-md);overflow: hidden;border: 3px solid var(--color-border);box-shadow: var(--shadow-sm);cursor: pointer;transition: all 0.2s}
.guild-emblem-preview:hover {border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-emblem-preview img {width: 100%;height: 100%;object-fit: cover}
.guild-emblem-dropzone {flex: 1;display: flex;align-items: center;justify-content: center;min-height: 120px;padding: 20px;border: 2px dashed var(--color-border);border-radius: var(--radius-md);cursor: pointer;transition: all 0.2s;background: var(--color-bg-muted);box-sizing: border-box}
.guild-emblem-dropzone:hover {border-color: var(--color-primary);background: rgba(59, 130, 246, 0.03)}
.guild-emblem-dropzone.has-image {border-style: solid;border-color: var(--color-border);min-height: auto;padding: 14px}
.guild-emblem-input {position: absolute;width: 0;height: 0;opacity: 0;overflow: hidden}
.guild-emblem-dropzone-content {display: flex;flex-direction: column;align-items: center;gap: 8px;text-align: center}
.guild-emblem-dropzone-icon {width: 44px;height: 44px;display: flex;align-items: center;justify-content: center;border-radius: 50%;background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);color: #6366f1;font-size: 1.125rem}
.guild-emblem-dropzone-text {font-size: 0.875rem;font-weight: 600;color: var(--color-text-primary)}
.guild-emblem-dropzone-sub {font-size: 0.75rem;color: var(--color-text-muted)}
.user-guild-badge {margin-bottom: 8px}
.user-guild-cta-card {background: linear-gradient(135deg, #f0f7ff 0%, #eff6ff 100%);border: 1px solid rgba(59, 130, 246, 0.12);border-radius: 12px;padding: 16px 20px;margin-bottom: 20px;text-align: center}
.user-guild-cta-header {display: flex;align-items: center;justify-content: center;gap: 8px;font-size: 0.9375rem;font-weight: 700;color: var(--color-text-primary);margin-bottom: 4px}
.user-guild-cta-header i {color: #6366f1;font-size: 1rem}
.user-guild-cta-description {font-size: 0.8125rem;color: var(--color-text-secondary);margin: 0 0 12px}
.user-guild-cta-actions {display: flex;gap: 10px;justify-content: center}
.user-guild-cta-btn {display: inline-flex;align-items: center;gap: 6px;padding: 8px 18px;border-radius: 8px;font-size: 0.8125rem;font-weight: 600;text-decoration: none;transition: all 0.2s}
.user-guild-cta-btn--primary {background: var(--color-primary);color: #fff}
.user-guild-cta-btn--primary:hover {background: var(--color-primary-dark);box-shadow: 0 2px 8px rgba(59, 130, 246, 0.25)}
.user-guild-cta-btn--secondary {background: #fff;color: var(--color-primary);border: 1px solid rgba(59, 130, 246, 0.3)}
.user-guild-cta-btn--secondary:hover {background: #f0f7ff;border-color: rgba(59, 130, 246, 0.5)}
.user-guild-badge-link {display: inline-flex;align-items: center;gap: 8px;padding: 5px 14px 5px 5px;background: linear-gradient(135deg, #f0f7ff 0%, #eff6ff 100%);border: 1px solid rgba(59, 130, 246, 0.1);border-radius: 24px;text-decoration: none;color: var(--color-text-primary);font-size: 0.8125rem;font-weight: 600;transition: all 0.2s}
.user-guild-badge-link:hover {background: linear-gradient(135deg, #e0f0ff 0%, #dbeafe 100%);border-color: rgba(59, 130, 246, 0.2);box-shadow: 0 1px 4px rgba(59, 130, 246, 0.12)}
.user-guild-emblem {width: 26px;height: 26px;border-radius: 50%;object-fit: cover;border: 1.5px solid rgba(59, 130, 246, 0.15)}
.user-guild-emblem-placeholder {display: flex;align-items: center;justify-content: center;width: 26px;height: 26px;border-radius: 50%;background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);color: #fff;font-size: 0.625rem}
.user-guild-name {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%}
.guild-activity-section {margin-bottom: 24px}
.guild-activity-legend {display: flex;align-items: center;gap: 16px;margin-bottom: 16px;flex-wrap: wrap;font-size: 0.8125rem;color: var(--color-text-secondary, var(--color-text-muted))}
.guild-activity-legend-item {display: flex;align-items: center;gap: 6px}
.guild-activity-scroll-wrapper {overflow-x: auto;-webkit-overflow-scrolling: touch;border: 1px solid var(--color-border);border-radius: var(--radius-md, 8px);background: var(--color-bg-primary, #fff)}
.guild-activity-table {border-collapse: collapse;white-space: nowrap}
.guild-activity-table th,
.guild-activity-table td {padding: 4px;text-align: center;vertical-align: middle}
.guild-activity-member-header,
.guild-activity-member-cell {position: sticky;left: 0;z-index: 2;background: var(--color-bg-primary, #fff);text-align: left;padding-left: 12px;padding-right: 12px;min-width: 140px;max-width: 180px;border-right: 1px solid var(--color-border)}
.guild-activity-member-header {font-size: 0.75rem;font-weight: 700;color: var(--color-text-secondary, var(--color-text-muted));z-index: 3}
.guild-activity-member-info {display: flex;align-items: center;gap: 8px;min-width: 0}
.guild-activity-member-name {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 0.8125rem;font-weight: 600;min-width: 0}
.guild-activity-member-name a {color: var(--color-text-primary);text-decoration: none}
.guild-activity-member-name a:hover {color: var(--color-primary)}
.guild-activity-date-header {font-size: 0.625rem;color: var(--color-text-secondary, var(--color-text-muted));font-weight: 600;line-height: 1.2;padding: 6px 2px}
.guild-activity-date-day {display: block}
.guild-activity-date-month {display: block;font-size: 0.5625rem;color: var(--color-text-tertiary, var(--color-text-light))}
.guild-activity-cell {padding: 2px}
.guild-activity-block {width: 16px;height: 16px;border-radius: 3px;margin: 0 auto}
.guild-activity-level-0 {background-color: #ebedf0}
.guild-activity-level-1 {background-color: #cce7f5}
.guild-activity-level-2 {background-color: #80bde3}
.guild-activity-level-3 {background-color: #4d92c2}
.guild-activity-level-4 {background-color: #2b6794}
.guild-activity-bouzu {background-color: #fee2e2;position: relative}
.guild-activity-bouzu::before,
.guild-activity-bouzu::after {content: "";position: absolute;top: 50%;left: 50%;width: 10px;height: 2px;background-color: var(--color-danger);border-radius: 1px}
.guild-activity-bouzu::before {transform: translate(-50%, -50%) rotate(45deg)}
.guild-activity-bouzu::after {transform: translate(-50%, -50%) rotate(-45deg)}
.guild-offer-search {margin-bottom: 16px}
.guild-offer-search-input {width: 100%;max-width: 100%;padding: 12px 14px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.9375rem;box-sizing: border-box;transition: border-color 0.2s, box-shadow 0.2s;background: #fff}
.guild-offer-search-input:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-offer-search-results {margin-top: 8px;display: flex;flex-direction: column;gap: 4px}
.guild-offer-search-item {display: flex;align-items: center;gap: 12px;padding: 10px 14px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);cursor: pointer;transition: all 0.15s}
.guild-offer-search-item:hover {background: var(--color-bg-muted);border-color: var(--color-primary)}
.guild-offer-search-avatar {width: 36px;height: 36px;border-radius: 50%;object-fit: cover;flex-shrink: 0}
.guild-offer-search-avatar-placeholder {width: 36px;height: 36px;border-radius: 50%;display: flex;align-items: center;justify-content: center;background: var(--color-bg-secondary);color: var(--color-text-muted);font-size: 0.875rem;flex-shrink: 0}
.guild-offer-search-item-name {font-size: 0.9375rem;font-weight: 600;color: var(--color-text-primary);min-width: 0;overflow-wrap: anywhere}
.guild-offer-search-empty {padding: 16px;text-align: center;font-size: 0.875rem;color: var(--color-text-muted)}
.guild-offer-send-form {margin-top: 16px;padding: 16px;background: linear-gradient(135deg, #f0f7ff 0%, #eff6ff 100%);border-radius: var(--radius-md);border: 1px solid rgba(59, 130, 246, 0.12)}
.guild-offer-form-inline {display: flex;flex-direction: column;gap: 12px}
.guild-offer-selected-user {font-size: 0.9375rem;font-weight: 600;color: var(--color-text-primary);display: flex;align-items: center;gap: 8px}
.guild-offer-selected-user i {color: var(--color-primary)}
.guild-offer-message-input {width: 100%;max-width: 100%;min-height: 60px;padding: 10px 12px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);font-size: 0.875rem;resize: vertical;box-sizing: border-box;background: #fff}
.guild-offer-message-input:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-offer-form-actions {display: flex;gap: 8px}
.guild-offer-list {display: flex;flex-direction: column;gap: 8px}
.guild-offer-card {display: flex;align-items: center;gap: 14px;padding: 14px 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);transition: box-shadow 0.15s}
.guild-offer-card:hover {box-shadow: var(--shadow-sm)}
.guild-offer-card--history {opacity: 0.8}
.guild-offer-card-user {display: flex;gap: 12px;flex: 1;min-width: 0;align-items: center}
.guild-offer-card-info {flex: 1;min-width: 0}
.guild-offer-card-date {font-size: 0.75rem;color: var(--color-text-light);margin-top: 2px}
.guild-offer-card-message {font-size: 0.8125rem;color: var(--color-text-secondary);margin-top: 4px;overflow-wrap: anywhere}
.guild-offer-card-actions {flex-shrink: 0}
.guild-offer-card-status {flex-shrink: 0}
.guild-offer-status {display: inline-flex;align-items: center;gap: 4px;font-size: 0.75rem;font-weight: 700;padding: 4px 10px;border-radius: 20px}
.guild-offer-status--accepted {background: #dcfce7;color: #166534}
.guild-offer-status--declined {background: #fef2f2;color: #991b1b}
.guild-offer-status--cancelled {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.guild-offer-notice {padding: 16px 20px;background: linear-gradient(135deg, #eff6ff 0%, #f0f7ff 100%);border-radius: var(--radius-md);border: 1px solid rgba(59, 130, 246, 0.15);border-left: 4px solid var(--color-primary)}
.guild-offer-notice-header {display: flex;align-items: center;gap: 10px;font-size: 0.9375rem;color: var(--color-text-primary);margin-bottom: 8px}
.guild-offer-notice-header i {color: var(--color-primary)}
.guild-offer-notice-message {font-size: 0.875rem;color: var(--color-text-secondary);padding: 8px 12px;background: rgba(255, 255, 255, 0.6);border-radius: 6px;margin-bottom: 12px;overflow-wrap: anywhere;line-height: 1.5}
.guild-offer-notice-actions {display: flex;gap: 8px}
.guild-offer-profile-action {margin-bottom: 8px}
.guild-offer-profile-form {display: inline}
@media (max-width: 600px) {.guild-container {padding: 14px 12px 24px}
.guild-page-header {flex-wrap: wrap}
.guild-page-header h1 {font-size: 1.1875rem}
.guild-content-card {padding: 16px}
.guild-content-card .guild-section-title {margin-bottom: 12px}
.guild-hero {flex-direction: column;align-items: center;text-align: center;padding: 20px 16px}
.guild-hero-emblem {width: 80px;height: 80px}
.guild-hero-meta {justify-content: center;text-align: center}
.guild-hero-leader {text-align: center}
.guild-tabs {margin-bottom: 20px}
.guild-tab {padding: 8px 14px;font-size: 0.75rem}
.guild-sub-header-emblem {width: 32px;height: 32px}
.guild-sub-header-name {font-size: 0.875rem}
.guild-sub-page-title {font-size: 1.0625rem;margin-bottom: 16px}
.guild-card {gap: 12px;padding: 12px}
.guild-card-emblem {width: 60px;height: 60px}
.guild-info-main {flex-direction: column;gap: 10px}
.guild-info-conditions {width: 100%;box-sizing: border-box}
.guild-info-conditions-list {flex-direction: row;flex-wrap: wrap;gap: 4px 10px}
.guild-request-card {flex-direction: column}
.guild-request-actions {width: 100%;flex-direction: row}
.guild-request-actions .guild-btn {flex: 1}
.guild-stats-grid {grid-template-columns: repeat(2, 1fr)}
.guild-map-container {margin-left: -12px;margin-right: -12px;margin-bottom: -24px}
.guild-map {height: calc(100dvh - 160px - 60px - env(safe-area-inset-bottom, 0px));border-radius: 0;border: none;box-shadow: none}
.guild-admin-actions {flex-direction: column}
.guild-admin-actions .guild-btn {justify-content: center}
.guild-feed-card-image {aspect-ratio: 3 / 2}
.guild-activity-block {width: 14px;height: 14px}
.guild-activity-member-cell {min-width: 120px;padding-left: 8px;padding-right: 8px}
.guild-activity-legend {gap: 10px;font-size: 0.75rem}
.guild-offer-card {flex-direction: column;align-items: flex-start}
.guild-offer-card-actions,
.guild-offer-card-status {width: 100%;display: flex;justify-content: flex-end}
.guild-offer-notice-actions {flex-direction: column}
.guild-offer-notice-actions .guild-btn {justify-content: center}
.guild-offer-form-actions {flex-direction: column}
.guild-offer-form-actions .guild-btn {justify-content: center}
.guild-form-row {flex-direction: column;gap: 0}
.guild-emblem-upload {flex-direction: column;align-items: center}
.guild-emblem-preview {width: 100px;height: 100px}
.guild-emblem-dropzone {min-height: 110px;width: 100%;max-width: 100%;box-sizing: border-box}}