.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--dark {background: #111827;color: #fff;box-shadow: 0 2px 8px rgba(17, 24, 39, 0.25)}
.guild-btn--dark:not([aria-disabled="true"]):hover {background: #000;box-shadow: 0 4px 16px rgba(17, 24, 39, 0.35);transform: translateY(-1px)}
.guild-btn--dark:active {transform: translateY(0)}
.guild-btn[aria-disabled="true"] {opacity: 0.45;cursor: not-allowed;box-shadow: none;transform: none}
.guild-journey-locked > summary {list-style: none;opacity: 0.45;cursor: pointer;box-shadow: none}
.guild-journey-locked > summary::-webkit-details-marker { display: none; }
.guild-journey-locked > summary.guild-btn--dark:hover { background: #111827; box-shadow: none; transform: none; }
.guild-journey-locked-icon { margin-left: 2px; }
.guild-journey-locked-panel {display: flex;flex-direction: column;align-items: flex-start;gap: 8px;margin-top: 8px;padding: 12px 14px;border: 1px solid var(--color-border, #e5e7eb);border-radius: var(--radius-sm);background: #f9fafb;font-size: 0.875rem;line-height: 1.6}
.guild-journey-locked-panel p { margin: 0; }
.guild-journey-locked-count { color: #6b7280; font-size: 0.8125rem; }
.guild-journey-locked-count span { white-space: nowrap; }
.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-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: 18px;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: 4px}
.guild-compact-hero {position: relative;display: flex;align-items: center;gap: 14px;padding: 14px clamp(14px, 3vw, 22px);margin-bottom: 12px;border-radius: var(--radius-lg);overflow: hidden;color: #fff;text-decoration: none;background: var(--guild-grad);box-shadow: 0 14px 30px -20px rgba(14, 120, 150, 0.55);transition: box-shadow 0.2s}
.guild-compact-hero:hover {color: #fff;box-shadow: 0 16px 34px -18px rgba(14, 120, 150, 0.7)}
.guild-compact-hero:focus-visible {outline: 3px solid var(--color-primary);outline-offset: 2px}
.guild-compact-hero-glow {position: absolute;right: 6%;top: -60px;width: 150px;height: 150px;border-radius: 50%;background: radial-gradient(circle, rgba(255, 255, 255, 0.2), transparent 65%);pointer-events: none}
.guild-compact-hero-waves {position: absolute;left: 0;bottom: -1px;width: 120%;height: 22px;display: block;fill: rgba(255, 255, 255, 0.12);pointer-events: none}
.guild-compact-hero-emblem {position: relative;flex-shrink: 0;width: 56px;height: 56px;border-radius: var(--radius-md);overflow: hidden;border: 3px solid rgba(255, 255, 255, 0.9);box-shadow: 0 8px 18px -10px rgba(0, 0, 0, 0.5)}
.guild-compact-hero-emblem img {display: block;width: 100%;height: 100%;object-fit: cover}
.guild-compact-hero-emblem-placeholder {width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 1.375rem}
.guild-compact-hero-text {position: relative;display: flex;flex-direction: column;gap: 4px;min-width: 0;flex: 1}
.guild-compact-hero-name {font-size: 1.125rem;font-weight: 900;line-height: 1.3;letter-spacing: -0.01em;overflow-wrap: anywhere}
.guild-compact-hero-meta {display: flex;flex-wrap: wrap;gap: 4px 12px;font-size: 0.75rem;font-weight: 700;opacity: 0.92}
.guild-compact-hero-meta i {margin-right: 2px;font-size: 0.6875rem}
.guild-compact-hero-arrow {position: relative;flex-shrink: 0;font-size: 0.875rem;opacity: 0.8;transition: transform 0.2s}
.guild-compact-hero:hover .guild-compact-hero-arrow {transform: translateX(3px)}
.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;flex-wrap: wrap;align-items: center;gap: 8px 10px;margin-bottom: 16px}
.guild-sub-page-header .guild-sub-page-title {margin: 0}
.guild-sub-page-count {font-size: 0.75rem;color: var(--guild-teal-d);font-weight: 700;background: #e6f6f8;border-radius: 999px;padding: 3px 10px}
.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-disclosure-consent {margin: 0 0 12px;padding: 12px 14px;background: var(--color-status-pending-bg);border: 1px solid rgba(245, 158, 11, 0.3);border-radius: var(--radius-sm)}
.guild-disclosure-consent-title {display: flex;align-items: flex-start;gap: 8px;margin: 0 0 6px;font-size: 0.875rem;font-weight: 700;color: var(--color-text-primary);line-height: 1.5}
.guild-disclosure-consent-title i {color: var(--color-warning);margin-top: 3px}
.guild-disclosure-consent-list {margin: 0 0 10px;padding-left: 1.2em;font-size: 0.78rem;line-height: 1.6;color: var(--color-text-muted)}
.guild-disclosure-consent-check {display: flex;align-items: center;gap: 8px;font-size: 0.875rem;font-weight: 600;color: var(--color-text-primary);cursor: pointer}
.guild-disclosure-consent-check input {width: 18px;height: 18px;margin: 0;flex-shrink: 0}
.guild-offer-notice-actions:has(.guild-offer-accept-form) {flex-wrap: wrap}
.guild-offer-accept-form {flex: 1 1 100%;width: 100%}
.guild-disclosure-card {display: flex;flex-direction: column;gap: 10px;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-disclosure-card h2 {display: flex;align-items: center;gap: 8px;margin: 0;font-size: 1rem;font-weight: 800;color: var(--guild-deep)}
.guild-disclosure-card h2 i {color: var(--guild-teal)}
.guild-disclosure-card-sub,
.guild-disclosure-card-note {margin: 0;font-size: 0.78rem;line-height: 1.6;color: var(--color-text-muted)}
.guild-disclosure-card-state {display: flex;align-items: center;justify-content: space-between;gap: 8px;padding-top: 10px;border-top: 1px solid var(--color-border);font-size: 0.8125rem}
.guild-disclosure-card-badge {padding: 2px 10px;border-radius: 999px;background: var(--color-bg-muted);color: var(--color-text-muted);font-size: 0.75rem}
.guild-disclosure-card-badge--on {background: rgba(11, 127, 142, 0.12);color: var(--guild-teal-d)}
.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 {display: flex;flex-wrap: wrap;justify-content: flex-end;gap: 8px;flex-shrink: 0}
@media (max-width: 600px) {.guild-member-card {flex-wrap: wrap}
.guild-member-actions {width: 100%}}
.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-timeline {max-width: var(--layout-width-compact);margin: 0 auto}
.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-columns {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0 16px;align-items: start}
.guild-stats-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 12px}
.guild-stats-card {text-align: center;padding: 18px 12px;background: #f5fafb;border: 1px solid var(--guild-surf-line);border-radius: var(--radius-md)}
.guild-stats-card-value {font-size: 2rem;font-weight: 900;color: var(--guild-teal-d);font-variant-numeric: tabular-nums;line-height: 1.2}
.guild-stats-card-label {font-size: 0.8125rem;color: var(--color-text-muted);margin-top: 4px;font-weight: 600}
.guild-stats-empty {margin: 0;padding: 18px 0 6px;text-align: center;font-size: 0.875rem;color: var(--color-text-muted)}
.guild-ranking-list,
.guild-fish-stats {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 6px}
.guild-ranking-item {display: flex;align-items: center;gap: 12px;padding: 10px 12px;border: 1px solid var(--guild-surf-line);border-radius: var(--radius-sm)}
.guild-ranking-item--top1 {border-color: rgba(250, 204, 21, 0.4);background: linear-gradient(135deg, #fffbeb 0%, #fefce8 100%)}
.guild-ranking-position {flex-shrink: 0;width: 28px;text-align: center;font-weight: 800;font-size: 0.875rem;color: var(--color-text-muted)}
.guild-ranking-item--top1 .guild-ranking-position { color: #d4a514; }
.guild-ranking-item--top2 .guild-ranking-position { color: #9aa4ae; }
.guild-ranking-item--top3 .guild-ranking-position { color: #cd7f32; }
.guild-ranking-name {flex: 1;min-width: 0;overflow-wrap: anywhere}
.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.8125rem;font-weight: 700;color: var(--guild-teal-d);background: #e6f6f8;padding: 3px 10px;border-radius: 999px}
.guild-fish-stat-item {position: relative;display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 10px 12px;border: 1px solid var(--guild-surf-line);border-radius: var(--radius-sm);overflow: hidden}
.guild-fish-stat-bar {position: absolute;inset: 0 auto 0 0;background: #e6f6f8;pointer-events: none}
.guild-fish-stat-name {position: relative;min-width: 0;overflow-wrap: anywhere;font-size: 0.9375rem;color: var(--color-text-primary);font-weight: 600}
.guild-fish-stat-count {position: relative;flex-shrink: 0;font-size: 0.8125rem;font-weight: 700;color: var(--color-text-secondary)}
.guild-period-tabs {display: inline-flex;gap: 4px;padding: 4px;margin-bottom: 16px;background: #eef4f7;border: 1px solid var(--guild-surf-line);border-radius: 999px}
.guild-period-tab {padding: 6px 16px;border-radius: 999px;font-size: 0.875rem;font-weight: 700;color: var(--color-text-secondary);text-decoration: none;transition: background 0.15s ease, color 0.15s ease}
.guild-period-tab:hover {color: var(--guild-teal-d)}
.guild-period-tab.active {background: #fff;color: var(--guild-teal-d);box-shadow: var(--shadow-sm)}
.guild-section-note {margin-left: auto;font-size: 0.75rem;font-weight: 600;color: var(--color-text-muted)}
.guild-stats-grid--4 {grid-template-columns: repeat(4, minmax(0, 1fr))}
.guild-stats-card-value--date {font-size: 1.25rem;padding: 6px 0}
.guild-month-chart {list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(12, minmax(0, 1fr));gap: 4px;align-items: end;height: 180px}
.guild-month-bar {display: flex;flex-direction: column;align-items: center;justify-content: flex-end;height: 100%;min-width: 0}
.guild-month-bar-count {font-size: 0.6875rem;font-weight: 700;color: var(--guild-teal-d);font-variant-numeric: tabular-nums;line-height: 1.2;min-height: 0.8rem}
.guild-month-bar-fill {width: 100%;max-width: 28px;height: max(3px, calc((100% - 2.4rem) * var(--ratio)));background: linear-gradient(180deg, var(--guild-teal) 0%, var(--guild-teal-d) 100%);border-radius: 4px 4px 0 0;opacity: 0.9}
.guild-month-bar--empty .guild-month-bar-fill {background: var(--guild-surf-line)}
.guild-month-bar-label {margin-top: 6px;font-size: 0.6875rem;font-weight: 600;color: var(--color-text-muted);text-align: center;line-height: 1.2;white-space: nowrap}
.guild-month-bar-label small {display: block;font-size: 0.5625rem;font-weight: 500}
.guild-weekly-ranking {margin-bottom: 20px}
.guild-weekly-ranking-list {list-style: none;margin: 10px 0 0;padding: 0;display: flex;flex-direction: column;gap: 6px}
.guild-weekly-ranking-item {border: 1px solid var(--guild-surf-line);border-radius: var(--radius-sm);background: #fff}
.guild-weekly-ranking-item.guild-ranking-item--top1 {border-color: rgba(250, 204, 21, 0.4);background: linear-gradient(135deg, #fffbeb 0%, #fefce8 100%)}
.guild-weekly-ranking-link {display: flex;align-items: center;gap: 12px;padding: 10px 12px;color: inherit;text-decoration: none}
.guild-weekly-ranking-link:hover .guild-weekly-ranking-name {color: var(--color-primary);text-decoration: underline}
.guild-weekly-ranking-emblem {flex-shrink: 0;width: 40px;height: 40px;border-radius: 50%;overflow: hidden;display: flex;align-items: center;justify-content: center;color: rgba(255, 255, 255, 0.9);font-size: 1rem}
.guild-weekly-ranking-emblem img {width: 100%;height: 100%;object-fit: cover}
.guild-weekly-ranking-body {flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 2px}
.guild-weekly-ranking-name {font-weight: 700;font-size: 0.9375rem;color: var(--color-text-primary);overflow-wrap: anywhere}
.guild-weekly-ranking-meta {font-size: 0.75rem;color: var(--color-text-muted)}
.fish-book-container.guild-fish-book-container {max-width: none;padding: 0}
.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: center;gap: 20px}
.guild-emblem-frame {position: relative;flex-shrink: 0;width: 160px;height: 160px}
.guild-emblem-preview {position: absolute;inset: 0;z-index: 1;border-radius: var(--radius-md);overflow: hidden;border: 3px solid var(--color-border);box-shadow: var(--shadow-sm);cursor: pointer;transition: all 0.2s;box-sizing: border-box}
.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 {display: block;width: 100%;height: 100%;object-fit: cover}
.guild-emblem-frame .guild-emblem-dropzone {display: flex;margin: 0;align-items: center;justify-content: center;width: 100%;height: 100%;padding: 12px;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-guide {margin: 0;padding: 0;list-style: none;display: flex;flex-direction: column;gap: 4px;font-size: 0.75rem;line-height: 1.5;color: var(--color-text-muted)}
.guild-emblem-guide-size {font-size: 0.875rem;font-weight: 600;color: var(--color-text-primary)}
.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)}
.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 {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 2px;padding: 4px;margin-bottom: 14px;overflow: visible}
.guild-tab {flex-direction: column;justify-content: center;gap: 4px;min-width: 0;min-height: 52px;padding: 6px 0;font-size: 0.625rem;letter-spacing: -0.02em}
.guild-tab i {font-size: 0.9375rem}
.guild-compact-hero {gap: 12px;padding: 12px 14px;border-radius: var(--radius-md)}
.guild-compact-hero-emblem {width: 46px;height: 46px}
.guild-compact-hero-name {font-size: 1rem;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.guild-compact-hero-meta {flex-wrap: nowrap;white-space: nowrap;overflow: hidden}
.guild-sub-page-title {font-size: 1.0625rem}
.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-columns {grid-template-columns: 1fr}
.guild-stats-card-value {font-size: 1.75rem}
.guild-stats-grid--4 {grid-template-columns: repeat(2, minmax(0, 1fr))}
.guild-stats-card-value--date {font-size: 1.125rem;white-space: nowrap}
.guild-period-tabs {display: flex}
.guild-period-tab {flex: 1;text-align: center;padding-left: 8px;padding-right: 8px}
.guild-month-chart {height: 150px;gap: 2px}
.guild-month-bar-label {font-size: 0.5625rem}
.guild-month-bar-count {font-size: 0.5rem;letter-spacing: -0.02em;font-variant-numeric: tabular-nums}
.guild-weekly-ranking-meta {font-size: 0.6875rem}
.guild-map-container {margin-left: -12px;margin-right: -12px;margin-bottom: -24px}
.guild-map {height: calc(100dvh - 268px - 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-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-guide {align-items: center;text-align: center}}
@media (max-width: 820px) {.guild-detail-layout {grid-template-columns: 1fr}
.guild-detail-side {position: static}}
.guild-map-info-thumb:hover {transform: scale(1.05)}
.guild-map-info-detail-link {background: #f0f7ff}
.guild-map-info-detail-link:hover {background: #dbeafe}
.guild-board-new-btn {margin-left: auto}
.guild-board-topics {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 10px}
.guild-board-topic-link {display: flex;flex-direction: column;gap: 8px;padding: 14px 16px;background: #fff;border: 1px solid var(--color-border);border-left: 3px solid var(--guild-teal);border-radius: var(--radius-sm);text-decoration: none;color: inherit;transition: box-shadow 0.2s, transform 0.2s}
.guild-board-topic-link:hover {box-shadow: var(--shadow-sm);transform: translateY(-1px)}
.guild-board-topic-title {font-size: 1rem;font-weight: 700;color: var(--color-text-primary);overflow-wrap: anywhere}
.guild-board-topic-meta {display: flex;flex-wrap: wrap;gap: 4px 14px;font-size: 0.75rem;color: var(--color-text-muted)}
.guild-board-topic-meta i {margin-right: 3px;color: var(--color-text-light)}
.guild-board-topic-comments {font-weight: 700;color: var(--guild-teal-d)}
.guild-board-pagination {display: flex;justify-content: center;margin-top: 20px}
.guild-board-pagination .pagination {display: flex;flex-wrap: wrap;gap: 4px;list-style: none;padding: 0;margin: 0}
.guild-board-pagination .pagination a,
.guild-board-pagination .pagination span {display: inline-block;min-width: 36px;padding: 8px 10px;text-align: center;border: 1px solid var(--color-border);border-radius: var(--radius-sm);background: #fff;color: var(--color-text-secondary);font-size: 0.8125rem;text-decoration: none}
.guild-board-pagination .pagination .current {background: var(--guild-teal);border-color: var(--guild-teal);color: #fff;font-weight: 700}
.guild-board-breadcrumb {margin-bottom: 12px;font-size: 0.8125rem}
.guild-board-breadcrumb a {color: var(--guild-teal-d);text-decoration: none;font-weight: 600}
.guild-board-breadcrumb a:hover {text-decoration: underline}
.guild-board-topic-detail-title {font-size: 1.25rem;font-weight: 800;color: var(--color-text-primary);margin: 0 0 8px;letter-spacing: -0.01em;overflow-wrap: anywhere}
.guild-board-post-meta {display: flex;align-items: center;flex-wrap: wrap;gap: 4px 10px;margin-bottom: 8px;font-size: 0.75rem;color: var(--color-text-muted)}
.guild-board-post-author {font-weight: 600;font-size: 0.875rem;color: var(--color-text-primary)}
.guild-board-post-author i {margin-right: 3px;color: var(--color-text-light)}
.guild-board-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-board-delete:hover {color: var(--color-danger);background: #fef2f2}
.guild-board-post-body {font-size: 0.9375rem;color: var(--color-text-secondary);line-height: 1.7;overflow-wrap: anywhere}
.guild-board-post-body p {margin: 0 0 0.6em}
.guild-board-post-body p:last-child {margin-bottom: 0}
.guild-board-topic-detail .guild-board-post-meta {margin-bottom: 14px;padding-bottom: 12px;border-bottom: 1px solid var(--color-border)}
.guild-board-comments {list-style: none;margin: 0 0 16px;padding: 0;display: flex;flex-direction: column;gap: 10px}
.guild-board-comment {padding: 12px 14px;background: #f8fbfc;border: 1px solid var(--color-border);border-radius: var(--radius-sm)}
.guild-board-comment:target {border-color: var(--guild-teal);box-shadow: 0 0 0 3px rgba(20, 150, 160, 0.12)}
.guild-board-no-comments {margin: 0 0 16px;font-size: 0.875rem;color: var(--color-text-muted)}
.guild-board-form,
.guild-board-comment-form {display: flex;flex-direction: column;gap: 14px}
.guild-board-form-errors {margin: 0;padding: 10px 14px 10px 30px;background: #fef2f2;border: 1px solid #fecaca;border-radius: var(--radius-sm);color: var(--color-danger);font-size: 0.875rem}
.guild-board-form-field {display: flex;flex-direction: column;gap: 6px}
.guild-board-form-field label {font-size: 0.875rem;font-weight: 700;color: var(--color-text-primary)}
.guild-board-form input[type="text"],
.guild-board-form textarea,
.guild-board-comment-form textarea {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}
.guild-board-form textarea,
.guild-board-comment-form textarea {resize: vertical;min-height: 80px;line-height: 1.6}
.guild-board-form input[type="text"]:focus,
.guild-board-form textarea:focus,
.guild-board-comment-form textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)}
.guild-board-form-hint {font-size: 0.75rem;color: var(--color-text-muted)}
.guild-board-form-actions {display: flex;justify-content: flex-end;gap: 10px}
@media (max-width: 600px) {.guild-board-new-btn {margin-left: 0;width: 100%}
.guild-board-topic-link {padding: 12px 14px}
.guild-board-topic-title {font-size: 0.9375rem}
.guild-board-topic-detail-title {font-size: 1.125rem}
.guild-board-form-actions {flex-direction: column-reverse}
.guild-board-form-actions .guild-btn {width: 100%}}