@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

body { font-family: 'Manrope', system-ui, sans-serif; }
h1, h2, h3, h4, .wordmark, .signal-card h3, .format-step h3, .platform-status-card strong, .workspace-card h2, .admin-access-card h2, .admin-console h2 { font-family: 'Space Grotesk', 'Manrope', system-ui, sans-serif; font-weight: 600; }
h1, h2 { text-wrap: balance; }
.hero h1, .manifesto h2, .format-intro h2, .signals h2, .archive h2, .join-band h2, .identity h2, .platform-hero h1, .registration-layout h1, .admin-intro h1 { font-weight: 600; letter-spacing: -0.075em; }
.hero-description, .manifesto .statement, .identity-head > p, .signals-head > p, .archive .statement, .join-band p, .registration-layout > div > p, .platform-hero p, .admin-intro p { font-weight: 500; }

/* The acronym must always be identified at first sight. */
.wordmark { width: 240px; flex: 0 0 240px; }
.wordmark img { width: 190px; }
.wordmark::after { content: 'GLOBAL DATA AND ARTIFICIAL INTELLIGENCE SOCIETY'; display: block; max-width: 235px; margin-top: 3px; color: var(--muted); font: 8px 'DM Mono', monospace; letter-spacing: .07em; line-height: 1.25; white-space: normal; }
.light .wordmark img { filter: brightness(.28) saturate(.8); }
#public-documents { color: #5d665b; font-size: 14px; line-height: 1.7; }
#public-documents p { margin: 0 0 8px; }
#public-documents a { display: block; color: #244d35; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; margin-top: 7px; }
.document-manager { margin-top: 22px; padding-top: 22px; border-top: 1px solid #d2d3cc; }
.document-manager h3 { margin: 7px 0; }
.document-manager .admin-submission a { display: inline-block; color: #244d35; font-size: 12px; margin-top: 5px; text-decoration: underline; }
.document-row > div { display: grid; gap: 8px; }
.document-row .admin-review-actions { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; }
.document-row .admin-review-actions .button-outline { min-height: 42px; }
.institution-review-row { display: grid; gap: 14px; }
.institution-review-row > div:first-child { display: grid; gap: 5px; }
.institution-review-detail { display: grid; gap: 8px; padding: 16px; background: #e7e6dd; border: 1px solid #c8c6bc; }
.institution-review-detail label { color: #586653; font: 12px 'DM Mono', monospace; text-transform: uppercase; }
.institution-review-detail select.field { appearance: auto; }
.institution-logo-preview { width: 180px; max-height: 90px; object-fit: contain; object-position: left center; padding: 8px; background: #fff; border: 1px solid #c8c6bc; }
.public-institutions { background: #e7e6dd; color: #090a09; }
.public-institution-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 55px; }
.public-institution-card { background: #fff; border: 1px solid #c8c6bc; padding: 20px; }
.public-institution-card img { width: 100%; height: 100px; object-fit: contain; object-position: left center; }
.public-institution-card h3 { margin: 20px 0 8px; font-size: 20px; }
.public-institution-card p { color: #596159; font-size: 14px; line-height: 1.6; margin: 0; }
@media (max-width: 700px) { .public-institution-list { grid-template-columns: 1fr; } }
.document-template-preview { max-height: 260px; overflow: auto; margin: 8px 0 10px; padding: 14px; border: 1px solid #c8cdc2; background: #f7f8f1; color: #394438; white-space: pre-wrap; font: 13px/1.55 'DM Mono', monospace; }
.document-manager > .control-card > .button-outline { justify-self: start; }
.document-content { max-width: 980px; }
.document-content pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 16px/1.75 Manrope, system-ui, sans-serif; color: #333a33; }
.document-content h2, .document-content h3, .document-content h4 { margin: 28px 0 10px; color: #101410; line-height: 1.15; }
.document-content h2 { font-size: 30px; }
.document-content h3 { font-size: 24px; }
.document-content h4 { font-size: 19px; }
.document-content p { margin: 0 0 14px; color: #333a33; font-size: 17px; line-height: 1.7; }
.document-content ul, .document-content ol { margin: 0 0 16px 24px; color: #333a33; font-size: 17px; line-height: 1.7; }
.document-content a { color: #24523b; font-weight: 700; text-decoration: underline; }
.document-content code { padding: 2px 5px; background: #e9ece1; color: #263228; font-family: 'DM Mono', monospace; font-size: .9em; }
.edition-row > div { display: grid; gap: 8px; }
.edition-row .field { max-width: 520px; }
.edition-row .button-outline { justify-self: start; }
.registration-form .form-status { display: grid; gap: 6px; width: 100%; margin-top: 16px; padding: 16px 18px; border: 1px solid #687c5e; background: #1b271b; color: #f3f6e9; font: 15px/1.5 Manrope, system-ui, sans-serif; }
.registration-form .form-status:before { content: 'STATUS DO ENVIO'; color: #d6ff4b; font: 10px 'DM Mono', monospace; letter-spacing: .1em; }
.registration-form .form-status small { color: #c4d0c0; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.registration-form .form-status small b { color: #fff; font-family: 'DM Mono', monospace; font-weight: 500; }
.registration-form .form-status.is-sending { border-color: #a58b3c; background: #2d2918; }
.registration-form .form-status.is-success { border-color: #8eb36f; background: #18311f; }
.registration-form .form-status.is-error { border-color: #cf6b6b; background: #351b1b; color: #fff0f0; }
.registration-form .form-context { display: grid; gap: 8px; margin: 18px 0 22px; padding: 16px 18px; border-left: 4px solid #d6ff4b; background: #171c17; }
.registration-form .form-context strong { display: block; color: #f5f5ed; font: 700 22px/1.1 'Space Grotesk', Manrope, sans-serif; letter-spacing: -.04em; }
.registration-form .form-context span { display: block; color: #b8c4b3; font: 14px/1.55 Manrope, system-ui, sans-serif; }
@media (max-width: 900px) {
  .wordmark { width: 205px; flex-basis: 205px; }
  .wordmark img { width: 165px; }
  .wordmark::after { font-size: 7px; }
}

/* Keep the participant journey readable: the label is not a 36px number column. */
.journey-step { grid-template-columns: minmax(135px, .9fr) minmax(0, 1.1fr); gap: 22px; align-items: center; }
.journey-step b { min-width: 0; font-size: 23px; line-height: 1.1; overflow-wrap: normal; word-break: normal; }
.journey-step small { min-width: 0; margin-top: 0; font-size: 17px; line-height: 1.35; }
@media (max-width: 700px) {
  .journey-step { grid-template-columns: 1fr; gap: 5px; }
  .journey-step small { margin-top: 0; }
}

/* Keep the global header compact and prevent navigation labels from wrapping. */
.header-inner { gap: 28px; }
.site-header .wordmark { width: 215px; flex: 0 0 215px; }
.site-header .wordmark img { width: 155px; }
.site-header .wordmark::after { display: block; max-width: 215px; margin-top: 2px; color: var(--muted); font: 7px 'DM Mono', monospace; letter-spacing: .06em; line-height: 1.2; white-space: nowrap; animation: gdais-subtitle-in .9s ease-out both; }
@keyframes gdais-subtitle-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.site-header .main-nav { min-width: 0; gap: 20px; }
.site-header .main-nav a { white-space: nowrap; }
.site-header .header-right { flex-shrink: 0; }
.site-header .edition-chip { white-space: nowrap; }
@media (max-width: 1100px) {
  .site-header .main-nav { gap: 12px; }
  .site-header .edition-chip { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 700px) {
  .site-header .wordmark { width: 190px; flex-basis: 190px; }
  .site-header .wordmark img { width: 145px; }
  .site-header .wordmark::after { max-width: 190px; font-size: 6px; }
}

/* The eligibility section is dark; its main heading needs the primary light ink. */
.eligibility h2 { color: #f5f5ed !important; }

/* Registration is a light page, so the dark-theme logo and controls need an explicit light-theme treatment. */
.registration-page .site-header .wordmark img { filter: invert(1); }
.registration-page .site-header .icon-control { color: #090a09; }
.registration-page .section-number { color: #587b52; }

/* Prevent the desktop header from colliding at tablet and narrow desktop widths. */
@media (max-width: 900px) {
  .site-header .header-inner { min-height: 78px; height: auto; padding: 12px 0; gap: 12px; flex-wrap: wrap; }
  .site-header .wordmark { width: 160px; flex: 0 0 160px; }
  .site-header .wordmark img { width: 132px; }
  .site-header .main-nav { display: none; order: 5; flex-basis: 100%; flex-direction: column; align-items: flex-start; gap: 14px; padding: 15px 0 5px; border-top: 1px solid var(--line); }
  .site-header .main-nav.open { display: flex; }
  .site-header .header-right { min-width: 0; margin-left: auto; gap: 7px; }
  .site-header .edition-chip { display: none; }
  .site-header .launch-link { display: none; }
  .site-header .menu-button { display: block; margin-left: 0; white-space: nowrap; }
}

/* Authenticated account controls belong in a dedicated security section. */
#security-section[hidden] { display: none !important; }
#auth-card[hidden], .participant-auth .auth-fields[hidden], .participant-auth .auth-actions[hidden] { display: none !important; }
.participant-auth { color: #090a09; }
.participant-auth .auth-feedback[hidden] { display: none !important; }
.participant-auth .auth-feedback { margin: 14px 0 0; padding: 12px 14px; border-left: 4px solid #c62828; background: #fff0ef; color: #a51d1d; font-size: 15px; line-height: 1.45; }
.security-section { display: grid; gap: 18px; margin-bottom: 22px; }
.participant-review-notice { display: grid; gap: 6px; margin-bottom: 22px; padding: 16px 18px; border-left: 4px solid #c58a00; background: #fff3cd; color: #5f4600; }
.participant-review-notice[hidden] { display: none !important; }
.participant-review-notice strong { color: #4d3900; }
.security-section .workspace-copy { color: #5f685f; margin: 0; }
.security-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.auth-choice { display: grid; gap: 24px; padding: 24px 0 2px; border-top: 1px solid var(--line); }
.auth-choice-copy { display: grid; gap: 8px; }
.auth-choice-copy strong { font: 600 30px/1.1 'Space Grotesk', 'Manrope', system-ui, sans-serif; color: #090a09; letter-spacing: -.04em; }
.auth-choice-copy p { margin: 0; max-width: 620px; color: #626861; font-size: 17px; line-height: 1.45; }
.auth-choice-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.auth-option { display: grid; align-content: start; gap: 12px; min-height: 220px; padding: 24px; border: 1px solid var(--line); background: var(--paper); }
.auth-option > span { color: #587b52; font: 500 12px/1.2 'DM Mono', monospace; letter-spacing: .12em; }
.auth-option h3 { margin: 0; color: #090a09; font: 600 32px/1 'Space Grotesk', 'Manrope', system-ui, sans-serif; letter-spacing: -.05em; }
.auth-option p { margin: 0 0 8px; color: #626861; font-size: 16px; line-height: 1.45; }
.auth-option .button { justify-self: start; margin-top: auto; min-height: 48px; }
.auth-option .button-accent { background: #d6ff4b; border-color: #d6ff4b; color: #090a09; }
.auth-option .button-outline { background: #090a09; border-color: #090a09; color: #f5f5ed; }
@media (max-width: 700px) {
  .auth-choice-actions { grid-template-columns: 1fr; }
  .auth-option { min-height: 0; }
}
@media (max-width: 700px) {
  .security-actions { align-items: flex-start; flex-direction: column; }
}
.admin-guidance { margin: 10px 0 0; color: #626861; font-size: 13px; line-height: 1.55; }
.admin-review-row { display: grid; gap: 14px; }
.admin-participant-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; border-left: 4px solid #587b52; background: #f1f0e8; }
.admin-participant-detail > div { display: grid; gap: 4px; }
.admin-participant-detail span, .admin-detail-teams > span { color: #587b52; font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.admin-participant-detail strong { color: #090a09; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.admin-detail-teams { grid-column: 1 / -1; display: grid !important; gap: 5px !important; padding-top: 12px; border-top: 1px solid #d4d2c8; }
.admin-review-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.admin-review-actions .field { min-width: 240px; flex: 1 1 240px; }
@media (max-width: 700px) {
  .admin-review-actions { align-items: stretch; flex-direction: column; }
  .admin-review-actions .field { min-width: 0; }
  .admin-participant-detail { grid-template-columns: 1fr; }
}
.team-invite-box{margin-top:16px;padding:14px;background:#f5f7eb;border:1px solid #c8d29f;display:grid;gap:7px;color:#182118}.team-invite-box>b{font-size:14px}.team-invite-box>span{color:#586258;font-size:12px;line-height:1.5}.pending-invitations{display:grid;gap:4px;border-top:1px solid #d2d8bd;padding-top:10px;margin-top:5px}.pending-invitations span{color:#587b52;font:10px 'DM Mono',monospace;letter-spacing:.08em}.pending-invitations small{color:#586258;font-size:11px}
.final-submission-card{margin-top:24px}.final-submission-card label{display:grid;gap:7px;margin-top:14px;color:#586653;font:12px 'DM Mono',monospace;letter-spacing:.04em;text-transform:uppercase}.final-submission-card .field{margin-top:0}.final-submission-card .consent-line{display:flex;align-items:center;gap:9px;color:#182118;font:600 15px/1.4 'Manrope',system-ui,sans-serif;letter-spacing:0;text-transform:none}.final-submission-card .consent-line input{width:18px;height:18px;accent-color:#090a09}.final-submission-card .save-message{display:block;margin-top:12px}.public-teams{background:#f0efe7}.public-team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-team-card{display:grid;gap:12px;padding:24px;border:1px solid #c8c6bc;background:#fff}.public-team-card h3{margin:0;color:#090a09;font:600 30px/1.05 'Space Grotesk','Manrope',system-ui,sans-serif;letter-spacing:-.04em}.public-team-card p{margin:0;color:#596259;font-size:17px;line-height:1.5}.public-team-meta{color:#587b52;font:12px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.public-team-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.public-team-links a,.final-review-detail a{color:#24523b;font-weight:700;text-decoration:underline}.final-review-row{display:grid;gap:12px}.final-review-detail{display:grid;gap:9px;padding:16px;background:#e7e6dd;border:1px solid #c8c6bc}.final-review-detail .field{margin-top:0}.final-review-detail a{overflow-wrap:anywhere}@media (max-width:700px){.public-team-list{grid-template-columns:1fr}.public-team-card h3{font-size:25px}}
.mackenzie-card{display:none!important}.mackenzie-card.is-public{display:grid!important}

/* Ação principal do cadastro: resposta visual clara ao foco, toque e envio. */
#register-button {
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
#register-button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.42) 48%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .45s ease;
  pointer-events: none;
}
#register-button:not(:disabled):hover {
  transform: translateY(-2px);
  box-shadow: 0 7px 0 #91b52c;
}
#register-button:not(:disabled):hover::after { transform: translateX(120%); }
#register-button:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: 0 2px 0 #91b52c;
}
#register-button:focus-visible {
  outline: 3px solid #ff639c;
  outline-offset: 4px;
}
#register-button:disabled {
  cursor: wait;
  opacity: .72;
}

/* O cabeçalho precisa caber em telas estreitas e em zoom alto. */
@media (max-width:1400px) {
  .site-header .header-inner { gap: 22px; }
  .site-header .main-nav { gap: 14px; min-width: 0; }
  .site-header .main-nav a { font-size: 11px; }
  .site-header .edition-chip { max-width: 245px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .site-header .launch-link { padding: 10px 11px; }
  .event-ribbon-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .event-ribbon-grid > p { grid-column: 1 / -1; }
  .event-ribbon-grid > .event-status { justify-self: start; }
}
@media (max-width:1100px) {
  .site-header .main-nav { display: none; }
  .site-header .menu-button { display: block; margin-left: 0; white-space: nowrap; }
  .site-header .header-right { margin-left: auto; }
}
@media (max-width:700px) {
  .site-header .header-inner { min-height: 72px; height: auto; padding: 12px 0; gap: 10px; }
  .site-header .edition-chip { display: none; }
  .site-header .header-right { gap: 4px; }
}
.kaggle-profile-preview { display: block; margin-top: 5px; color: #586258; font-size: 12px; line-height: 1.45; }
.kaggle-profile-preview a { color: #24523b; text-decoration: underline; overflow-wrap: anywhere; }
.competition-section .section-number { color: #4d704d !important; }
.history-card .history-line { grid-template-columns: 90px 180px minmax(0, 1fr) !important; }
.history-line > b, .history-line > span { white-space: nowrap; }
.history-line p { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .history-card .history-line { grid-template-columns: 70px minmax(0, 1fr) !important; gap: 10px; }
  .history-line p { grid-column: 2; }
}

/* Header guard: long chip text can never overlap the navigation. */
.edition-chip{white-space:nowrap;flex:none}.header-right{flex:none}.main-nav{min-width:0}.main-nav a{white-space:nowrap}
@media(max-width:1320px){.edition-chip{display:none!important}}
