/* Shared product and World Final presentation. Scoring/authorization logic is
   deliberately untouched; event colours are opt-in via data-event-theme. */
:root{--ges-primary:#0f6e56;--ges-primary-deep:#0a5a46;--ges-accent:#d4a029;--ges-surface:#f4f7f6;--ges-ink:#172b32;--ges-radius:12px}
:root[data-event-theme="world-final-2026"]{--ges-primary:#002855;--ges-primary-deep:#001a3a;--ges-accent:#c9a84c;--ges-surface:#f5f7f6;--ges-ink:#152b3e;--green-50:#f5f7f6;--green-100:#c7dfdf;--green-600:#002855;--green-700:#002855;--green-800:#001a3a;--ges-dark-teal:#002855;--ges-mid-teal:#007d79}
html{color-scheme:light}
body{color:var(--ges-ink);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button,a,input,select{touch-action:manipulation}
:focus-visible{outline:3px solid var(--ges-accent);outline-offset:3px}
svg.ges-icon{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em;flex:none}
.ges-event-ribbon{background:var(--ges-primary-deep);color:#fff;padding:10px 16px;font:700 11px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.ges-event-ribbon a{color:#fff;text-decoration:none}
.ges-event-ribbon a:hover{text-decoration:underline}
.ges-event-ribbon strong{color:var(--ges-accent)}
.ges-page-links{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #dce5e9;background:#fff;font:700 12px Montserrat,Arial,sans-serif}
.ges-page-links a{color:var(--ges-primary);text-decoration:none}
.ges-page-links a:hover{text-decoration:underline}
.ges-page-links img{width:110px;height:auto}
.ges-event-intro{padding:17px 20px;color:#fff;background:var(--ges-primary-deep)}
.ges-event-intro:has(img){display:flex;align-items:center;gap:14px}
.ges-event-intro img{width:82px;height:40px;object-fit:contain;flex:none}
.ges-event-intro strong{display:block;font:800 16px Montserrat,Arial,sans-serif}
.ges-event-intro span{font-size:12px;color:#d9e7ef}
.ges-status-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;background:#e8f2f2;color:var(--ges-primary-deep);border-radius:40px;font:700 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.ges-status-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--ges-accent)}
:root[data-event-theme="world-final-2026"] .header,:root[data-event-theme="world-final-2026"] .score-header{background:var(--ges-primary)}
:root[data-event-theme="world-final-2026"] .btn-primary{background:var(--ges-primary)}
:root[data-event-theme="world-final-2026"] .nav-btn.active{color:var(--ges-primary)}
:root[data-event-theme="world-final-2026"] .progress-dot.active{background:var(--ges-accent)}
:root[data-event-theme="world-final-2026"] .welcome-wrap{background:var(--ges-primary-deep)}
:root[data-event-theme="world-final-2026"] .welcome-primary-btn{background:var(--ges-accent);color:var(--ges-primary-deep)}
:root[data-event-theme="world-final-2026"] .welcome-secondary-btn{border-color:#d9e7ef;color:#fff}
#app .card{border:1px solid #dde7e7;box-shadow:0 8px 22px rgba(0,26,58,.06)}
#app .card-title{font-size:16px}
#app .form-input,#app .form-select{min-height:48px}
.bottom-nav{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}
.nav-btn{min-height:48px}
.nav-btn:not(.active){color:#526175}
.nav-icon{display:flex;align-items:center;justify-content:center;height:26px}
.nav-icon svg{width:23px;height:23px}
.nav-label{font-size:12px}
.btn{min-height:48px}
.btn:focus-visible,.nav-btn:focus-visible{outline:3px solid var(--ges-accent);outline-offset:-3px}
.ges-scoring-context{margin:0 14px 16px;padding:16px;border-radius:var(--ges-radius);background:#fff;border:1px solid #dce5e9}
.ges-scoring-context h2{font:800 16px Montserrat,Arial,sans-serif;margin:0 0 5px}
.ges-scoring-context p{font-size:13px;color:#536579;margin:0}
.ges-start-eyebrow{font:700 11px Montserrat,Arial,sans-serif;color:var(--ges-primary);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px}
.ges-start-title{font:800 25px Montserrat,Arial,sans-serif;color:var(--ges-ink);margin:0 0 7px}
.ges-start-intro{font-size:14px;color:#536579;margin-bottom:22px}
.ges-start-foot{margin:0 14px 20px;font-size:12px;color:#536579;text-align:center}
.ges-start-foot a{color:var(--ges-primary);font-weight:700}
.ges-scorer-credit{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px auto 26px;font:700 11px Montserrat,Arial,sans-serif;color:#fff}
.ges-scorer-credit img{width:120px;height:37px;object-fit:contain;background:#fff;border-radius:5px;padding:4px}
.ges-scorer-credit-light{color:#536579;margin-top:0}
.ges-login-context{text-align:center;margin:8px 0 23px}
.ges-login-context strong{display:block;font:800 17px Montserrat,Arial,sans-serif;color:var(--ges-ink)}
.ges-login-context span{display:block;margin-top:5px;font-size:13px;color:#536579}
.ges-login-context a{color:var(--ges-primary);text-decoration:none;font-weight:700}
.ges-login-context a:hover{text-decoration:underline}
.ges-board-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #dce5e9;flex-wrap:wrap}
.ges-board-tools label{display:flex;align-items:center;gap:8px;color:#536579;font:700 12px Montserrat,Arial,sans-serif}
.ges-board-tools select{max-width:min(65vw,330px);min-height:40px;border:1px solid #dce5e9;border-radius:8px;background:#fff;color:var(--ges-ink);padding:6px 9px;font:600 13px Montserrat,Arial,sans-serif}
:root[data-event-theme="world-final-2026"] .lb-table th{background:#eef3f4}
:root[data-event-theme="world-final-2026"] .div-header{color:var(--ges-primary)}
:root[data-event-theme="world-final-2026"] .follow-toggle{background:var(--ges-primary-deep)}
:root[data-event-theme="world-final-2026"] .rotate-bar{background:var(--ges-primary)}
/* Both public pages use the same calm shell. */
body:has(.page-hero) header.site{background:#fff;border-bottom:1px solid #dce5e9}
body:has(.page-hero) .page-hero{background:#002855;color:#fff;padding:43px 0}
body:has(.page-hero) .page-hero h1{color:#fff}
body:has(.page-hero) .accordion-item{border-radius:12px;overflow:hidden;border:1px solid #dce5e9;box-shadow:0 8px 22px rgba(0,26,58,.05)}
body:has(.page-hero) .accordion-row{min-height:64px}
body:has(.page-hero) .accordion-row .icon{display:flex;align-items:center;color:#0f6e56}
body:has(.page-hero) .accordion-row .icon svg{width:23px;height:23px}
.ges-feature-event{margin:28px 0 34px;display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;background:#f5f7f6;border:1px solid #dce5e9;border-radius:14px;overflow:hidden}
.ges-feature-event img{width:100%;height:100%;min-height:150px;object-fit:cover}
.ges-feature-event div{padding:18px 20px 18px 0}
.ges-feature-event span{font:700 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#007d79}
.ges-feature-event h2{font-size:18px;margin:8px 0}
.ges-feature-event p{font-size:13px;color:#536579;margin:0 0 8px}
.ges-feature-event a{font:700 13px Montserrat,Arial,sans-serif;color:#002855;text-decoration:none}
.ges-feature-event a:hover{text-decoration:underline}
.role-card .icon svg,.get-started-content .icon svg{width:29px;height:29px}
@media(max-width:480px){#app .card{margin-left:12px;margin-right:12px}.ges-page-links{font-size:11px}.ges-page-links img{width:90px}}
@media(max-width:560px){.ges-feature-event{grid-template-columns:1fr}.ges-feature-event img{height:145px;min-height:0}.ges-feature-event div{padding:0 20px 22px}}
