.tc-page {max-width: 760px;margin: 0 auto;padding: 0 0 48px;box-sizing: border-box;color: var(--color-text-primary)}
.tc-hero {position: relative;margin: 0 12px;padding: 40px 20px 56px;border-radius: var(--radius-lg) var(--radius-lg) 0 0;background: linear-gradient(150deg, #0891b2 0%, #2563eb 60%, #1d4ed8 100%);color: #fff;overflow: hidden;text-align: center}
.tc-hero-inner {position: relative;z-index: 1;max-width: 560px;margin: 0 auto}
.tc-hero-badge {display: inline-flex;align-items: center;gap: 6px;padding: 6px 13px;border-radius: 999px;background: rgba(255, 255, 255, 0.18);color: #fff;font-size: 12px;font-weight: 700;backdrop-filter: blur(4px)}
.tc-hero-title {margin: 16px 0 12px;font-size: 27px;font-weight: 800;line-height: 1.34;letter-spacing: 0.01em;word-break: keep-all;overflow-wrap: anywhere}
.tc-hero-lead {margin: 0 auto;max-width: 480px;font-size: 15px;line-height: 1.75;color: rgba(255, 255, 255, 0.92)}
.tc-hero-lead strong {color: #fff;font-weight: 800}
.tc-steps {display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 8px 10px;margin: 24px 0 0;padding: 0;list-style: none}
.tc-step {display: inline-flex;align-items: center;gap: 7px;padding: 7px 13px 7px 8px;border-radius: 999px;background: rgba(255, 255, 255, 0.14);font-size: 12.5px;font-weight: 700}
.tc-step-num {display: inline-flex;align-items: center;justify-content: center;width: 20px;height: 20px;border-radius: 50%;background: #fff;color: var(--color-primary-dark);font-size: 12px;font-weight: 800}
.tc-step-arrow {display: inline-flex;color: rgba(255, 255, 255, 0.6)}
.tc-hero-wave {position: absolute;left: 0;right: 0;bottom: -1px;line-height: 0;color: var(--color-bg-muted)}
.tc-hero-wave svg {display: block;width: 100%;height: 44px}
.tc-body {margin: 0 12px;padding: 20px 16px 8px;background: var(--color-bg-muted);border-radius: 0 0 var(--radius-lg) var(--radius-lg)}
.tc-card {padding: 22px 20px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);box-sizing: border-box}
.tc-card-header {display: flex;align-items: center;gap: 12px;margin-bottom: 20px}
.tc-card-icon {flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 42px;height: 42px;border-radius: 12px;background: var(--color-aqua-100);color: var(--color-aqua-700)}
.tc-card-title {margin: 0;font-size: 17px;font-weight: 800;color: var(--color-text-primary)}
.tc-card-subtitle {margin: 2px 0 0;font-size: 12.5px;color: var(--color-text-muted)}
.tc-field {margin-bottom: 18px}
.tc-form-label {display: flex;align-items: center;gap: 6px;margin-bottom: 7px;font-size: 13px;font-weight: 700;color: var(--color-text-secondary)}
.tc-label-icon {color: var(--color-text-light)}
.tc-form-label-optional {margin-left: auto;font-size: 11px;font-weight: 600;color: var(--color-text-light)}
.tc-form-label-required {margin-left: auto;padding: 2px 8px;border-radius: 999px;background: var(--color-status-cancelled-bg);color: var(--color-status-cancelled-text);font-size: 10.5px;font-weight: 700}
.tc-input,
.tc-select {display: block;width: 100%;max-width: 100%;box-sizing: border-box;padding: 12px 13px;border: 1.5px solid var(--color-border);border-radius: var(--radius-sm);background: var(--color-bg-muted);font-size: 15px;color: var(--color-text-primary);font-family: var(--font-family-base);transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease}
.tc-input:focus,
.tc-select:focus {outline: none;border-color: var(--color-primary);background: #fff;box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16)}
.tc-segment {display: flex;gap: 6px;padding: 4px;background: var(--color-bg-secondary);border-radius: var(--radius-sm)}
.tc-segment-option {flex: 1;min-width: 0}
.tc-segment-input {position: absolute;opacity: 0;width: 1px;height: 1px;pointer-events: none}
.tc-segment-label {display: flex;align-items: center;justify-content: center;min-height: 40px;padding: 8px 6px;border-radius: calc(var(--radius-sm) - 2px);font-size: 13.5px;font-weight: 700;color: var(--color-text-secondary);cursor: pointer;white-space: nowrap;transition: background 0.14s ease, color 0.14s ease, box-shadow 0.14s ease}
.tc-segment-input:checked + .tc-segment-label {background: #fff;color: var(--color-primary-dark);box-shadow: var(--shadow-sm)}
.tc-segment-input:focus-visible + .tc-segment-label {outline: 2px solid var(--color-primary);outline-offset: 1px}
.tc-segment-option:hover .tc-segment-label {color: var(--color-text-primary)}
.tc-privacy-note {display: flex;align-items: flex-start;gap: 9px;margin: 0 0 18px;padding: 11px 13px;border-radius: var(--radius-sm);background: var(--color-status-pending-bg);color: var(--color-status-pending-text);font-size: 12.5px;line-height: 1.65}
.tc-privacy-note svg {flex-shrink: 0;margin-top: 1px}
.tc-suggest-wrap {position: relative}
.tc-suggest-list {position: absolute;z-index: 20;top: calc(100% + 6px);left: 0;right: 0;margin: 0;padding: 6px;list-style: none;max-height: 264px;overflow-y: auto;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-sm);box-shadow: var(--shadow-md)}
.tc-suggest-item {display: flex;align-items: center;gap: 8px;padding: 9px 10px;border-radius: 8px;cursor: pointer;min-width: 0}
.tc-suggest-item.is-active,
.tc-suggest-item:hover {background: var(--color-aqua-50)}
.tc-suggest-name {flex: 1;min-width: 0;font-size: 14px;font-weight: 700;color: var(--color-text-primary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.tc-suggest-maker {flex-shrink: 0;font-size: 11.5px;color: var(--color-text-muted)}
.tc-suggest-type {flex-shrink: 0;padding: 2px 8px;border-radius: 999px;background: var(--color-aqua-100);color: var(--color-aqua-700);font-size: 10.5px;font-weight: 700}
.tc-suggest-status {margin: 7px 0 0;font-size: 12px;line-height: 1.5;color: var(--color-text-muted);min-height: 0}
.tc-suggest-status:empty {display: none}
.tc-field-hint {margin: 6px 0 0;font-size: 11.5px;color: var(--color-text-light)}
.tc-hp {position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden}
.tc-submit-button {display: flex;align-items: center;justify-content: center;width: 100%;max-width: 100%;box-sizing: border-box;min-height: 50px;margin-top: 6px;padding: 14px 16px;border: none;border-radius: var(--radius-sm);background: var(--gradient-aqua);color: #fff;font-size: 15.5px;font-weight: 800;cursor: pointer;box-shadow: 0 6px 16px rgba(37, 99, 235, 0.24);transition: opacity 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease}
.tc-submit-button:hover {opacity: 0.95}
.tc-submit-button:active {transform: translateY(1px)}
.tc-submit-button:disabled {background: var(--color-text-light);box-shadow: none;cursor: not-allowed;opacity: 0.75}
.tc-result {margin-bottom: 20px;padding: 22px 20px;border-radius: var(--radius-lg);box-sizing: border-box;box-shadow: var(--shadow-sm)}
.tc-result--matched {background: linear-gradient(160deg, #f0fdf4, #dcfce7);border: 1px solid #bbf7d0}
.tc-result--unregistered {background: linear-gradient(160deg, #fffbeb, #fef3c7);border: 1px solid #fde68a}
.tc-result-head {margin-bottom: 14px}
.tc-result-badge {display: inline-flex;align-items: center;gap: 6px;padding: 6px 13px;border-radius: 999px;font-size: 12.5px;font-weight: 800}
.tc-result-badge--ok {background: var(--color-success-dark);color: #fff}
.tc-result-badge--pending {background: #b45309;color: #fff}
.tc-result-tackle {margin: 12px 0 0;display: flex;flex-wrap: wrap;align-items: baseline;gap: 8px;overflow-wrap: anywhere}
.tc-result-tackle-maker {min-width: 0;font-size: 13px;font-weight: 700;color: var(--color-text-secondary)}
.tc-result-tackle-name {min-width: 0;font-size: 19px;font-weight: 800;color: var(--color-text-primary)}
.tc-result-tackle-type {padding: 2px 9px;border-radius: 999px;background: rgba(0, 0, 0, 0.06);font-size: 11px;font-weight: 700;color: var(--color-text-muted)}
.tc-result-detail-link {display: inline-flex;align-items: center;gap: 4px;min-height: 44px;padding: 6px 0;margin-bottom: 4px;font-size: 13px;font-weight: 700;color: var(--color-success-dark);text-decoration: none}
.tc-result-detail-link:hover {text-decoration: underline}
.tc-result-reports-head {margin: 16px 0 12px}
.tc-result-reports-title {margin: 0;font-size: 15px;font-weight: 800;color: var(--color-text-primary)}
.tc-result-reports-note {margin: 6px 0 0;font-size: 12.5px;line-height: 1.6;color: var(--color-text-secondary)}
.tc-result-empty,
.tc-result-message,
.tc-result-submessage {margin: 8px 0 0;line-height: 1.7}
.tc-result-message {font-size: 14.5px;font-weight: 700;color: #92400e}
.tc-result-submessage {font-size: 12.5px;color: var(--color-text-secondary)}
.tc-result-empty {font-size: 14px;color: var(--color-text-secondary)}
.tc-report-grid {list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(3, 1fr);gap: 10px}
.tc-report-card {min-width: 0}
.tc-report-link {display: block;text-decoration: none;border-radius: var(--radius-sm);overflow: hidden;background: #fff;border: 1px solid var(--color-border);transition: transform 0.12s ease, box-shadow 0.12s ease}
.tc-report-link:hover {transform: translateY(-2px);box-shadow: var(--shadow-md)}
.tc-report-thumb {position: relative;aspect-ratio: 1 / 1;background: var(--color-bg-secondary);display: flex;align-items: center;justify-content: center}
.tc-report-image {width: 100%;height: 100%;object-fit: cover;display: block}
.tc-report-thumb-placeholder {color: var(--color-text-light)}
.tc-report-meta {padding: 7px 9px;display: flex;flex-direction: column;gap: 2px;min-width: 0}
.tc-report-fish {font-size: 12.5px;font-weight: 700;color: var(--color-text-primary);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.tc-report-date {font-size: 11px;color: var(--color-text-muted)}
.tc-signup-cta {margin-top: 22px;padding: 24px 20px;text-align: center;border-radius: var(--radius-lg);background: #fff;border: 1px solid var(--color-border);box-sizing: border-box}
.tc-signup-cta-title {margin: 0 0 6px;font-size: 16px;font-weight: 800;color: var(--color-text-primary)}
.tc-signup-cta-text {margin: 0 0 16px;font-size: 13px;line-height: 1.6;color: var(--color-text-secondary)}
.tc-signup-cta-button {display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 44px;padding: 11px 24px;border-radius: var(--radius-sm);background: var(--color-primary);color: #fff;font-size: 14px;font-weight: 700;text-decoration: none;box-sizing: border-box;transition: background 0.15s ease}
.tc-signup-cta-button:hover {background: var(--color-primary-dark)}
@media (max-width: 480px) {.tc-hero {padding: 32px 16px 48px}
.tc-hero-title {font-size: 22px}
.tc-step-label {display: none}
.tc-step {padding: 6px;gap: 0}
.tc-report-grid {grid-template-columns: repeat(2, 1fr)}}