.guild-container {--guild-teal: #0ea5b7;--guild-teal-d: #0b7f8e;--guild-coral: #ff7a59;--guild-deep: #0f3a5f;--guild-grad: linear-gradient(120deg, #0ea5b7, #1391c9 55%, #3f6fd8);--guild-surf-line: #e3ecf2;max-width: 960px;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-hero-banner {position: relative;margin-bottom: 20px;padding: 30px clamp(20px, 5vw, 40px) 44px;border-radius: var(--radius-lg);overflow: hidden;color: #fff;background: var(--guild-grad);box-shadow: 0 20px 44px -22px rgba(14, 120, 150, 0.6)}
.guild-hero-banner-glow {position: absolute;right: -40px;top: -40px;width: 200px;height: 200px;border-radius: 50%;background: radial-gradient(circle, rgba(255, 255, 255, 0.22), transparent 65%);pointer-events: none}
.guild-hero-banner-eyebrow {display: inline-flex;align-items: center;gap: 8px;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.08em;background: rgba(255, 255, 255, 0.18);padding: 6px 13px;border-radius: 999px;margin-bottom: 14px}
.guild-hero-banner-title {font-size: clamp(1.5rem, 5vw, 2.25rem);font-weight: 900;line-height: 1.14;letter-spacing: -0.01em;margin: 0 0 12px;text-wrap: balance}
.guild-hero-banner-lead {max-width: 44ch;margin: 0 0 22px;font-size: 0.9375rem;line-height: 1.7;color: rgba(255, 255, 255, 0.94)}
.guild-hero-banner-actions {position: relative;z-index: 1;display: flex;gap: 16px;align-items: center;flex-wrap: wrap}
.guild-hero-banner-cta {display: inline-flex;align-items: center;gap: 8px;padding: 13px 22px;border-radius: var(--radius-md);font-size: 0.9375rem;font-weight: 800;text-decoration: none;white-space: nowrap;color: var(--guild-teal-d);background: #fff;box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.45);transition: transform 0.2s, box-shadow 0.2s}
.guild-hero-banner-cta:hover {transform: translateY(-1px);box-shadow: 0 16px 30px -14px rgba(0, 0, 0, 0.5)}
.guild-hero-banner-metrics {display: flex;gap: 24px;flex-wrap: wrap}
.guild-hero-banner-metric b {display: block;font-size: 1.4rem;font-weight: 900;line-height: 1;font-variant-numeric: tabular-nums}
.guild-hero-banner-metric span {font-size: 0.7rem;letter-spacing: 0.06em;opacity: 0.85}
.guild-hero-banner-waves {position: absolute;left: 0;bottom: -1px;width: 100%;height: 52px;display: block;fill: var(--color-bg, #fff)}
.guild-req-bar {display: flex;flex-wrap: wrap;align-items: center;gap: 10px;margin-bottom: 20px;padding: 14px 18px;background: #fff;border: 1px solid var(--guild-surf-line);border-radius: var(--radius-md);box-shadow: 0 4px 16px rgba(15, 58, 95, 0.05)}
.guild-req-bar-label {display: inline-flex;align-items: center;gap: 7px;font-size: 0.75rem;font-weight: 800;color: var(--guild-deep)}
.guild-req-bar-label i {color: var(--guild-teal)}
.guild-req-chip {display: inline-flex;align-items: center;gap: 7px;font-size: 0.75rem;font-weight: 700;color: #31576b;background: #effafb;border: 1px solid #cdeef1;border-radius: 999px;padding: 7px 13px}
.guild-req-chip i {color: var(--guild-teal-d);font-size: 0.75rem}
.guild-list-count {display: flex;align-items: center;gap: 8px}
.guild-list-count i {color: var(--guild-coral)}
.guild-list {display: grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));gap: 16px}
.guild-card {display: block;background: #fff;border: 1px solid var(--guild-surf-line);border-radius: var(--radius-lg);overflow: hidden;text-decoration: none;color: inherit;box-shadow: 0 4px 16px rgba(15, 58, 95, 0.06);transition: transform 0.2s, box-shadow 0.2s}
.guild-card:hover {transform: translateY(-5px);box-shadow: 0 26px 44px -22px rgba(15, 58, 95, 0.3)}
.guild-card:focus-visible {outline: 2px solid var(--guild-teal);outline-offset: 2px}
.guild-card-cover {position: relative;height: 74px}
.guild-card-rank {position: absolute;top: 12px;right: 12px;display: inline-flex;align-items: center;gap: 5px;font-size: 0.6875rem;font-weight: 900;color: #fff;background: rgba(0, 0, 0, 0.26);border-radius: 999px;padding: 4px 10px}
.guild-card-rank i {color: #ffd66b}
.guild-card-emblem {position: absolute;left: 16px;bottom: -24px;width: 62px;height: 62px;border-radius: var(--radius-md);overflow: hidden;border: 4px solid #fff;box-shadow: 0 8px 18px -8px rgba(0, 0, 0, 0.35)}
.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;color: #fff;font-size: 1.5rem}
.guild-card-body {padding: 32px 16px 16px}
.guild-card-name {font-size: 1.0625rem;font-weight: 800;color: var(--guild-deep);margin: 0 0 2px;overflow-wrap: anywhere;letter-spacing: -0.01em;line-height: 1.3}
.guild-card-leader {display: flex;align-items: center;gap: 6px;font-size: 0.75rem;color: var(--color-text-muted);margin: 0 0 10px}
.guild-card-leader i {color: var(--guild-coral);font-size: 0.75rem}
.guild-card-description {font-size: 0.8125rem;color: #42606f;margin: 0 0 12px;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;line-height: 1.55;min-height: 2.5em}
.guild-card-tags {display: flex;flex-wrap: wrap;gap: 6px;margin-bottom: 14px}
.guild-card-tag {display: inline-flex;align-items: center;gap: 5px;font-size: 0.7rem;font-weight: 700;padding: 5px 10px;border-radius: 8px}
.guild-card-tag--loc {color: #0b6b8e;background: #e5f5fb}
.guild-card-tag--fish {color: #b7481f;background: #fdeee7}
.guild-card-tag i {font-size: 0.7rem}
.guild-card-footer {display: flex;align-items: center;justify-content: space-between;gap: 10px;padding-top: 12px;border-top: 1px solid var(--color-border-light, #f1f5f9)}
.guild-card-members {display: inline-flex;align-items: center;gap: 6px;font-size: 0.7rem;color: var(--color-text-muted)}
.guild-card-members b {font-size: 0.875rem;font-weight: 900;color: var(--guild-deep);font-variant-numeric: tabular-nums}
.guild-card-members i {color: var(--guild-teal)}
.guild-card-enter {display: inline-flex;align-items: center;gap: 6px;font-size: 0.8125rem;font-weight: 800;color: #fff;background: linear-gradient(120deg, var(--guild-teal), var(--guild-teal-d));padding: 8px 14px;border-radius: 10px;transition: gap 0.18s}
.guild-card:hover .guild-card-enter {gap: 10px}
.guild-detail-hero {position: relative;border-radius: var(--radius-lg);overflow: hidden;color: #fff;background: var(--guild-grad);box-shadow: 0 20px 44px -22px rgba(14, 120, 150, 0.55);margin-bottom: 16px}
.guild-detail-hero-cover {position: relative;height: 74px}
.guild-detail-hero-glow {position: absolute;right: 8%;top: -30px;width: 170px;height: 170px;border-radius: 50%;background: radial-gradient(circle, rgba(255, 255, 255, 0.22), transparent 65%);pointer-events: none}
.guild-detail-hero-waves {position: absolute;left: 0;bottom: -1px;width: 120%;height: 34px;display: block;fill: rgba(255, 255, 255, 0.14)}
.guild-detail-hero-body {position: relative;padding: 0 clamp(18px, 4vw, 32px) clamp(16px, 3vw, 22px)}
.guild-detail-hero-emblem {width: 84px;height: 84px;margin-top: -42px;border-radius: var(--radius-md);overflow: hidden;border: 4px solid rgba(255, 255, 255, 0.9);box-shadow: 0 12px 26px -12px rgba(0, 0, 0, 0.5)}
.guild-detail-hero-emblem img {width: 100%;height: 100%;object-fit: cover}
.guild-detail-hero-emblem-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 2rem}
.guild-detail-hero-name {font-size: clamp(1.375rem, 4.4vw, 1.875rem);font-weight: 900;margin: 11px 0 9px;overflow-wrap: anywhere;letter-spacing: -0.01em;line-height: 1.25}
.guild-detail-hero-meta {display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 13px}
.guild-detail-hero-chip {display: inline-flex;align-items: center;gap: 6px;font-size: 0.75rem;font-weight: 700;background: rgba(255, 255, 255, 0.18);border: 1px solid rgba(255, 255, 255, 0.24);border-radius: 999px;padding: 6px 12px}
.guild-detail-hero-bottom {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px}
.guild-detail-hero-leader {display: inline-flex;align-items: center;gap: 8px;font-size: 0.875rem;font-weight: 600}
.guild-detail-hero-leader i {color: #ffd66b}
.guild-detail-hero-leader a {color: #fff;text-decoration: none;font-weight: 800}
.guild-detail-hero-leader a:hover {text-decoration: underline}
.guild-detail-hero-members {text-align: right;line-height: 1.1}
.guild-detail-hero-members b {font-size: 1.625rem;font-weight: 900;font-variant-numeric: tabular-nums}
.guild-detail-hero-members span {font-size: 0.7rem;opacity: 0.88;margin-left: 4px}
.guild-detail-layout {display: grid;grid-template-columns: 1fr 320px;gap: 18px;align-items: start}
.guild-detail-layout--single {grid-template-columns: 1fr}
.guild-detail-main {min-width: 0}
.guild-detail-side {display: flex;flex-direction: column;gap: 16px;position: sticky;top: 16px}
.guild-tabs {display: flex;gap: 6px;margin-bottom: 20px;padding: 6px;background: #fff;border: 1px solid var(--guild-surf-line, var(--color-border));border-radius: var(--radius-md);box-shadow: 0 4px 14px rgba(15, 58, 95, 0.05);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: 7px;padding: 10px 15px;border-radius: var(--radius-sm);font-size: 0.8125rem;font-weight: 700;text-decoration: none;color: var(--color-text-muted);transition: all 0.2s;white-space: nowrap;flex-shrink: 0}
.guild-tab:hover {color: var(--guild-deep);background: #f0f6f8}
.guild-tab.active {color: #fff;background: linear-gradient(120deg, var(--guild-teal), var(--guild-teal-d))}
.guild-tab.active:hover {color: #fff}
.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-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: #fff;border-radius: var(--radius-md);border: 1px solid var(--guild-surf-line, var(--color-border));box-shadow: 0 4px 16px rgba(15, 58, 95, 0.06)}
.guild-join-card h2 {font-size: 1rem;font-weight: 800;color: var(--guild-deep);margin: 0 0 6px;display: flex;align-items: center;gap: 8px}
.guild-join-card h2 i {color: var(--guild-teal);font-size: 0.9375rem}
.guild-join-card-sub {font-size: 0.78rem;color: var(--color-text-muted);line-height: 1.6;margin: 0 0 14px}
.guild-detail-side .guild-btn--primary {background: linear-gradient(120deg, var(--guild-teal), var(--guild-teal-d));box-shadow: 0 12px 24px -12px rgba(11, 127, 142, 0.6)}
.guild-detail-side .guild-btn--primary:hover {box-shadow: 0 16px 30px -14px rgba(11, 127, 142, 0.7)}
.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-feed-pagination {display: flex;align-items: center;justify-content: center;gap: 16px;padding: 16px 0;margin-top: 8px}
.guild-feed-pagination-link {display: inline-block;padding: 8px 16px;background: var(--color-primary);color: #fff;border-radius: var(--radius-md);text-decoration: none;font-size: 14px;font-weight: 600}
.guild-feed-pagination-info {font-size: 14px;color: var(--color-text-secondary)}
.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-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-hero-banner {padding: 26px 18px 40px}
.guild-hero-banner-actions {flex-direction: column;align-items: stretch}
.guild-hero-banner-cta {justify-content: center}
.guild-hero-banner-metrics {justify-content: space-between}
.guild-list {grid-template-columns: 1fr}
.guild-detail-hero-bottom {flex-direction: column;align-items: stretch}
.guild-detail-hero-members {text-align: left}
.guild-detail-layout {grid-template-columns: 1fr}
.guild-detail-side {position: static}
.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}}
@media (max-width: 820px) {.guild-detail-layout {grid-template-columns: 1fr}
.guild-detail-side {position: static}}